#include <candoc.h>


Public Member Functions | |
| a2dCanvasDocument () | |
| Construct a a2dCanvasDocument to store a complete drawing in. | |
| ~a2dCanvasDocument () | |
| destructor | |
| a2dCanvasDocument (const a2dCanvasDocument &other) | |
| like it to be protected, but this does not work with wxList macros | |
| virtual a2dObject * | Clone (CloneOptions options) const |
| create exact copy | |
| a2dCanvasObject * | GetRootObject () const |
| get the root object, which holds the objects in the document. | |
| void | SetRootObject (a2dCanvasObject *newRoot) |
| set new root object ( may not ne NULL ) | |
| double | GetBboxMinX () |
| get bounding box of document its minimum X | |
| double | GetBboxMinY () |
| get bounding box of document its minimum Y | |
| double | GetBboxMaxX () |
| get bounding box of document its maximum X | |
| double | GetBboxMaxY () |
| get bounding box of document its maximum Y | |
| double | GetBboxWidth () |
| get bounding box of document its width | |
| double | GetBboxHeight () |
| get bounding box of document its height | |
| a2dBoundingBox & | GetBbox () |
| get bounding box of document | |
| void | Prepend (a2dCanvasObject *obj) |
| add at begin an object the root group | |
| void | Append (a2dCanvasObject *obj) |
| add at end an object the root group | |
| void | Insert (size_t before, a2dCanvasObject *obj) |
| insert object at a position in the root group | |
| int | ReleaseChild (a2dCanvasObject *obj, bool backwards=false, bool all=true) |
| release a specific object from the rootobject | |
| bool | ReleaseChildObjects (a2dCanvasObjectFlagsMask mask=a2dCanvasOFlags::ALL) |
| removes and release only from the childobjects the objects with the given mask | |
| void | SetSpecificFlags (bool setOrClear, a2dCanvasObjectFlagsMask which, const wxString &classname=wxT(""), a2dCanvasObjectFlagsMask whichobjects=a2dCanvasOFlags::ALL) |
| set all bit flags in object that or true in mask to true or false | |
| a2dCanvasObject * | Find (a2dCanvasObject *obj) |
| return the object if it is part of the given object or | |
| a2dCanvasObject * | Find (const wxString &objectname, const wxString &classname=wxT(""), wxInt64 id=-1) |
| return the object with (name, classname, id) if it is part of the given object or | |
| void | SetDescription (const wxString &desc) |
| Sets a description of the document. | |
| wxString & | GetDescription () |
| Returns the description of the document. | |
| void | SetLibraryName (const wxString &libraryname) |
| to name the document as a library (independent of a path and filename ) | |
| wxString & | GetLibraryName () |
| Get name the document as a library (independent of a path and filename ). | |
| void | SetVersion (int version) |
| set version of library or document | |
| int | GetVersion () |
| get version of library or document | |
| virtual void | DeleteContents () |
| delete all object in this document (also nested groups etc.) | |
| a2dCanvasCommandProcessor * | GetCanvasCommandProcessor () |
| get a pointer to the command processor | |
| void | CreateCommandProcessor () |
| create the commandprocessor (special designed to work with a2dCanvas code) | |
| bool | AddPendingUpdatesOldNew () |
| adds current and future boundingbox of the objects with pending flag set, to the pendinglist of all a2dCanvasView's | |
| virtual void | UpdateAllViews (a2dView *sender=(a2dView *) NULL, unsigned int hint=a2dCANVIEW_UPDATE_ALL, wxObject *objecthint=(wxObject *) NULL) |
| sent Update events to all a2dView which display or use this document. | |
| virtual void | Freeze () |
| sets all associated view/drawers to Frozen to prevent all drawer activity | |
| virtual void | Thaw (bool update) |
| sets all associated view/drawers to non Frozen to allow all drawer activity | |
| bool | WriteSVG (a2dCanvasView *drawer, const wxString &filename, a2dCanvasObject *top, double Width, double Height, wxString unit) |
| write as SVG to a file starting at given object | |
| virtual a2dDocumentInputStream & | LoadObject (a2dDocumentInputStream &stream, a2dIOHandlerStrIn *handler) |
| load form a file containing the a2dCanvas specific XML called CVG format | |
| void | Load (wxObject *parent, a2dIOHandlerXmlSerIn &parser) |
| used by CVG parser | |
| bool | Load (const wxString &filename, a2dIOHandlerStrIn *handler) |
| load document from a file with the given filename and given parser type | |
| bool | SaveLayers (const wxString &filename) |
| save layer settings to CVG file | |
| bool | LoadLayers (const wxString &filename) |
| load layers from another file | |
| virtual void | UpdateLoadedLayerSetup () |
| Update a loaded layer setup. | |
| a2dDocumentOutputStream & | SaveObject (a2dDocumentOutputStream &stream, a2dIOHandlerStrOut *handler) |
| save as the a2dCanvas specific XML called CVG format | |
| void | Save (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dObjectList *towrite) |
| called from a2dIOHandlerXmlSerOut after a SaveObject. | |
| void | Save (a2dIOHandlerCVGOut &out, a2dCanvasObject *start=0) |
| called from a2dIOHandlerCVGOut after a SaveObject. | |
| bool | Save (const wxString &filename, a2dIOHandlerStrOut *handler) const |
| save document to a file with the given name and given output writer type | |
| void | SetCanvasDocumentRecursive () |
| set a2dCanvasDocument recursive for whole tree | |
| void | Update (a2dCanvasObject::UpdateMode mode) |
| update all pending objects in the document | |
| void | SetLayerSetup (a2dLayers *layersetup) |
| set the layersettings for the canvas. | |
| a2dLayers * | GetLayerSetup () |
| Get the layersettings for the canvas. | |
| void | SetMultiRoot (bool multiRoot=true) |
| Set true if the document read from a file did not have on erootobject but several. | |
| bool | GetMultiRoot () |
| void | SetUpdatesPending (bool onoff) |
| Tells the document that an object has changed. | |
| void | DependencyPending () |
| call DependencyPending on root object and recursive on childs. | |
| bool | GetUpdatesPending () |
| returns true if some objects have changed recently within this document | |
| void | SetIgnorePendingObjects (bool onoff) |
| Switches ignorance of pending objects on and off. | |
| bool | GetIgnorePendingObjects () |
| get setting of ignore pending objects /sa GetUpdatesPending() | |
| double | GetUnitsAccuracy () |
| this is the number that defines the number of decimal places in the fraction | |
| void | SetUnitsAccuracy (double accuracy) |
| this is the number that defines the number of decimal places in the fraction | |
| double | GetUnitsScale () |
| this is the number that defines the physical dimension in meters / inch/ etc. | |
| void | SetUnitsScale (double scale) |
| this is the number that defines the physical dimension in meters / inch/ etc. | |
| double | GetNormalizeScale () |
| Normalize objects ( defined in coordinates -1 to 1 ranges ) will be multiplied by this factor. | |
| void | SetNormalizeScale (double scale) |
| see GetNormalizeScale() | |
| wxString | GetUnits () |
| this string defines the unit e.g. meters / inch/ etc. | |
| void | SetUnits (const wxString &unitString) |
| this string defines the unit e.g. meters / inch/ etc. | |
| void | SetInitialSize (double sizeX, double sizeY) |
| set size for view in userunits, when still empty | |
| double | GetInitialSizeX () |
| get size for view in userunits, when still empty | |
| double | GetInitialSizeY () |
| get size for view in userunits, when still empty | |
| void | SetModificationTime (const wxDateTime &datatime) |
| Sets a time of last modification. | |
| wxDateTime & | GetModificationTime () |
| Returns the time of last modification when the document was saved. | |
| void | SetAccessTime (const wxDateTime &datatime) |
| Sets the time of last access to this doc. | |
| wxDateTime & | GetAccessTime () |
| Returns the time of last access. | |
| wxDateTime & | GetInternalChangedTime () |
| gives time when a change was made to the document which may effect rendering | |
| DECLARE_DYNAMIC_CLASS (a2dCanvasDocument) | |
Public Attributes | |
| wxString | m_libraryname |
| name of library or document | |
| wxString | m_description |
| description for document | |
| int | m_version |
| version of library or document | |
Static Public Attributes | |
| static const wxEventType | sm_layersetupChanged |
| layer info changed id sent around when m_layersetup is changed. | |
Protected Member Functions | |
| void | OnIdle (wxIdleEvent &event) |
| Called by ProcessEvent(wxEvent& event) of document. | |
| void | OnOpenDocument (a2dDocumentEvent &event) |
| uses wxBufferedInputStream instead of a2dDocumentInputStream | |
| void | DoSave (a2dIOHandlerCVGOut &out, a2dCanvasObjectList *towrite) |
| do not use directly, part of CVG format writing | |
Protected Attributes | |
| a2dCanvasObjectPtr | m_rootobject |
| start a2dCanvasObject containing all primitives | |
| a2dSmrtPtr< a2dLayers > | m_layersetup |
| setup for layers in this document | |
| bool | m_multiRoot |
| multi root document | |
| bool | m_updatespending |
| set by object in this a2dCanvasDocument, to tell they have changed and therefore it needs to be rerendered | |
| bool | m_ignorePendingObjects |
| if set ignore all setting for pendingobjects | |
| double | m_units_accuracy |
| how many decimal places in fraction are valid | |
| double | m_units_scale |
| scaling factor (how many "m_units_measure" is one unit) | |
| double | m_normalize_scale |
| normalization factor to scale normalized objects. | |
| wxString | m_units |
| unit (e.g. Meters Inch Microns etc.) | |
| wxString | m_units_measure |
| measuring unit (e.g. Meters Inch Microns etc.) | |
| double | m_initialSizeX |
| for new document views what will be the size in userunits in X | |
| double | m_initialSizeY |
| for new document views what will be the size in userunits in Y | |
| wxDateTime | m_modificationtime |
| last modification time when this document was stored. | |
| wxDateTime | m_accesstime |
| when was the document last accessed. | |
| wxDateTime | m_changedInternalAccesstime |
| gives time when a change was made to the document which may effect rendering | |
Several a2dCanvasView objects can share the same a2dCanvasDocument. The a2dCanvasDocument has one top a2dCanvasObject, called m_rootobject. All other a2dCanvasObject's are added as children to this root object. The docuemnt also contains the layer settings for the canvas objects to be rendered. The a2dCanvasDocument is derived from a2dDocument, and it is used to store a hierarchy of a2dCanvasObject's. The updating of modified a2dCanvasObject's is also organized as part of this class. One can load a canvas document from a file, and save it to a file, in the CVG format. But other formats are possible, via the document its a2dDocumentTemplate and associated a2dIOHandlers.
Rendering a a2dCanvasDocument is started at a given a2dCanvasObject, which needs to be part of the data structure below the a2dCanvasDocument. Since a2dCanvasDocument owns a a2dCanvasObject as root, rendering the complete document will start at the m_rootobject. But any nested child a2dCanvasObject can be used to start rendering, and only that object and it children will be displayed on the a2dCanvasView ( and a2dCanvas which is the display window ). The a2dCanvasObject to be displayed on a certain a2dCanvasView is maintained in the a2dCanvasView object. It can be different for all a2dCanvasView objects sharing the same a2dCanvasDocument.
a2dCanvasDocument senets update events when a2dCanvasObject have changed internal. The a2dView's using the document are intercepting the update events, and react by updating the data that they display. For a a2dCanvasView this means redrawing those parts that have changed.
Any nested child from a a2dCanvasDocument Object can be displayed on several a2dCanvasView Objects at the same time. The child displayed does not have to be the same on each a2dCanvasView. The active a2dCanvasView is used to render and convert coordinates from world to device. So it is important to set the active a2dCanvasView based on the a2dCanvasView that has the focus or is scrolled etc. This is normally done within a2dCanvasView when appropriate.
wxWorldCanvas
Definition at line 98 of file candoc.h.
| a2dCanvasDocument::a2dCanvasDocument | ( | ) |
Construct a a2dCanvasDocument to store a complete drawing in.
This class contains nested a2dCanvasObject's and other drawing object derived from a2dCanvasObject's. The class itself is derived from a2dDocument. All objects are stored are as childs of the m_rootobject. A complete drawing is stored here, and displaying the drawing, is done by setting a pointer to this a2dCanvasDocument for a a2dCanvasView derived class. Every change inside the wxCavasObject's stored inside this class, will report themselfs as pending to an instance of this class. The a2dCanvasView classes, having this instance of a2dCanvasDocument set, will be updated from the document via update events. a2dCanvasObject that are changed or set pending. Those pending objects are reported to the document also. In Idle time the pending objects are redrawn on the a2dCanvasView's that display the document. The same a2dCanvasDocument can be displayed on reveral a2dCanvasView's at the same time. And therefore a pending a2dCanvasObject maybe be (re)displayed on several a2dCanvasView's also. The a2dCanvasObjects stored in a a2dCanvasDocument, will have their m_root member set in order to get to the a2dCanvasDocument in which they are stored. Through the a2dCanvasDocument they will be able to reach the a2dCanvasView class that is currently active. The a2dCanvasView class is set to the document when needed on a higher level. e.g. when rendering a a2dCanvasDocument. This way each a2dCanvasObject stored inside the a2dCanvasDocument, can draw itself on the active a2dCanvasView. The a2dCanvasView in this case can be seen as a sort of drawing context. Indirectly a a2dCanvasView can use a2dCanvas as the window/device to draw up on. Another type of a2dCanvasView can draw to a bitmap, image or printer device.
Definition at line 68 of file candoc.cpp.
| a2dCanvasDocument::a2dCanvasDocument | ( | const a2dCanvasDocument & | other | ) |
like it to be protected, but this does not work with wxList macros
constructor with other document
Definition at line 103 of file candoc.cpp.
| int a2dCanvasDocument::ReleaseChild | ( | a2dCanvasObject * | obj, | |
| bool | backwards = false, |
|||
| bool | all = true | |||
| ) | [inline] |
| bool a2dCanvasDocument::ReleaseChildObjects | ( | a2dCanvasObjectFlagsMask | mask = a2dCanvasOFlags::ALL |
) | [inline] |
| void a2dCanvasDocument::SetSpecificFlags | ( | bool | setOrClear, | |
| a2dCanvasObjectFlagsMask | which, | |||
| const wxString & | classname = wxT(""), |
|||
| a2dCanvasObjectFlagsMask | whichobjects = a2dCanvasOFlags::ALL | |||
| ) |
set all bit flags in object that or true in mask to true or false
set specific flags to true or false, also recursive for children objects
| setOrClear | if true sets the flag to true else to false | |
| which | set only those flags in object to true or false | |
| classname | if not empty, object must have this classname | |
| whichobjects | set flags only for object having this flags set already |
Definition at line 692 of file candoc.cpp.
| a2dCanvasObject * a2dCanvasDocument::Find | ( | a2dCanvasObject * | obj | ) |
return the object if it is part of the given object or
if the given object is part of a childobjects within this object. For child objects this means recursively search for it.
| obj | object to search for |
Definition at line 670 of file candoc.cpp.
| a2dCanvasObject * a2dCanvasDocument::Find | ( | const wxString & | objectname, | |
| const wxString & | classname = wxT(""), |
|||
| wxInt64 | id = -1 | |||
| ) |
return the object with (name, classname, id) if it is part of the given object or
if the given object is part of a recursive childobject within this object. For child objects this means recursively search for it.
| objectname | object with this name to search for. Empty string means ignore this. | |
| classname | object must have this classname. Empty string means ignore this. | |
| id | if a id is given, the object must have with this id ( address as wxInt64 ) |
Definition at line 679 of file candoc.cpp.
| void a2dCanvasDocument::SetDescription | ( | const wxString & | desc | ) | [inline] |
| wxString& a2dCanvasDocument::GetDescription | ( | ) | [inline] |
| bool a2dCanvasDocument::AddPendingUpdatesOldNew | ( | ) |
adds current and future boundingbox of the objects with pending flag set, to the pendinglist of all a2dCanvasView's
which are using this document. The areas will only be updated from the a2dCanvasView's, which are using this document in idle time. It first check's for pending object's stored in this a2dCanvasDocument. If true, it searches those object starting from the displayed showgroup in each drawer, and adds the boundingbox of the current state the object is in, to the update area list of the those a2dCanvasView's If the boundingbox of an object is not available, it will be calcualted at that moment. In Next step the new boundingboxes are calculated for the pending objects and those are also added to the pending arae list's of all a2dCanvasView's. This functions adds areas of all places where this object is rendered also when referenced. In the end, the pending flag in all objects is reset.
AddPendingUpdatesOldNew() makes sure all objects that where pending are processed.
In idle time a2dCanvasView's will only redraw the areas that are damaged because of changes to canvas objects.
Definition at line 733 of file candoc.cpp.
| void a2dCanvasDocument::UpdateAllViews | ( | a2dView * | sender = (a2dView *) NULL, |
|
| unsigned int | hint = a2dCANVIEW_UPDATE_ALL, |
|||
| wxObject * | objecthint = (wxObject *) NULL | |||
| ) | [virtual] |
sent Update events to all a2dView which display or use this document.
Changes in the document are reported by the objects contained in the document, after a change, they set the pending flag of the document and itself. Here the document lets the a2dView's know how the views should be updated. The normal case is Redrawing what is in the old and new boundingbox of each changed object.
The default Updates all a2dCanvasObjects that are pending and adds a redraw area the size of the view to all views, after that the pending object flags are reset. The result is redrawing all a2dCanvasView views in idle time completely.
| sender | which view did calls this fucntion ( Non = NULL ). | |
| hint | will be casted to a2dCanViewUpdateFlags in a2dCanvasView the effect will differ on the hint given. | |
| objecthint | more complex way to deliver hints |
Reimplemented from a2dDocument.
Definition at line 712 of file candoc.cpp.
| bool a2dCanvasDocument::WriteSVG | ( | a2dCanvasView * | drawer, | |
| const wxString & | filename, | |||
| a2dCanvasObject * | top, | |||
| double | Width, | |||
| double | Height, | |||
| wxString | unit | |||
| ) |
write as SVG to a file starting at given object
| drawer | drawing view context | |
| filename | filename of stream to write the SVG content to. | |
| top | start writting at this object. | |
| Width | width in unit will be the physical width of the drawing. | |
| Height | height in unit will be the physical height of the drawing. | |
| unit | Unit of width and height e.g. "cm" "um". |
Definition at line 645 of file candoc.cpp.
| void a2dCanvasDocument::Load | ( | wxObject * | parent, | |
| a2dIOHandlerXmlSerIn & | parser | |||
| ) | [virtual] |
used by CVG parser
Reimplemented from a2dDocument.
Definition at line 393 of file candoc.cpp.
| bool a2dCanvasDocument::LoadLayers | ( | const wxString & | filename | ) |
load layers from another file
Only the layer settings are read from the file and put in place of the current layers settings in the document.
Definition at line 443 of file candoc.cpp.
| void a2dCanvasDocument::UpdateLoadedLayerSetup | ( | ) | [virtual] |
Update a loaded layer setup.
This is called after loading a layer setup. The base class function does nothing. It is usefull to override this to update a loaded layer setup to e.g. a new software version
Definition at line 493 of file candoc.cpp.
| void a2dCanvasDocument::Save | ( | wxObject * | parent, | |
| a2dIOHandlerXmlSerOut & | out, | |||
| a2dObjectList * | towrite | |||
| ) | [virtual] |
called from a2dIOHandlerXmlSerOut after a SaveObject.
| parent | parent object from which Save was called | |
| out | CVG io handler | |
| towrite | object to write later |
Reimplemented from a2dDocument.
Definition at line 596 of file candoc.cpp.
| void a2dCanvasDocument::Save | ( | a2dIOHandlerCVGOut & | out, | |
| a2dCanvasObject * | start = 0 | |||
| ) |
called from a2dIOHandlerCVGOut after a SaveObject.
| out | CVG io handler | |
| start | start wrting from this object |
Definition at line 601 of file candoc.cpp.
| void a2dCanvasDocument::SetLayerSetup | ( | a2dLayers * | layersetup | ) |
set the layersettings for the canvas.
A default Layer Setting is created in the constructor a2dCanvasDocument::a2dCanvasDocument
An example how to set another layer setup
// Clone the current layer setup a2dLayers* docLayers = doc->GetLayerSetup()->Clone( bool deep = true ); // Create a new layer with an index above the predefined layers a2dLayerInfo* lr = new a2dLayerInfo(wxLAYER_USER_FIRST, "MyLayer"); // Set layer available lr->Set_Available(true); // Add layer to to the a2dLayers docLayers->Append(lr); doc->SetLayerSetup(docLayers);
| layersetup | the new layersetup |
Definition at line 232 of file candoc.cpp.
| a2dLayers* a2dCanvasDocument::GetLayerSetup | ( | ) | [inline] |
Get the layersettings for the canvas.
A default Layer Setting is taken from a2dCanvasGlobal.
| void a2dCanvasDocument::SetMultiRoot | ( | bool | multiRoot = true |
) | [inline] |
Set true if the document read from a file did not have on erootobject but several.
Some formats as GDS-II and KEY, can contain many structure, which are not placed in a single parent object. Still in a a2dCanvasDocument they will be placed in the m_rootobject. This flag can be used when writing the data back in the same way, skipping the rootobject if possible.
| bool a2dCanvasDocument::GetMultiRoot | ( | ) | [inline] |
| void a2dCanvasDocument::SetUpdatesPending | ( | bool | onoff | ) |
Tells the document that an object has changed.
If an object has changed and and needs an update, this method informes the document about this. The update of pending objects will be proceed in Idle time.
Definition at line 202 of file candoc.cpp.
| void a2dCanvasDocument::DependencyPending | ( | ) |
call DependencyPending on root object and recursive on childs.
This call is repeated until no more a2dCanvasObject were set pending.
Definition at line 187 of file candoc.cpp.
| void a2dCanvasDocument::SetIgnorePendingObjects | ( | bool | onoff | ) |
Switches ignorance of pending objects on and off.
If set to true pending objects won't be updated. This method is used by several tools (i.e. a2dDragTool) to avoid updates while the tool is working.
| onoff | true to ignore pending objects, else false |
Definition at line 227 of file candoc.cpp.
| double a2dCanvasDocument::GetUnitsAccuracy | ( | ) | [inline] |
this is the number that defines the number of decimal places in the fraction
when writing numbers to a file. When reading a file, this number is set to the accuracy information available in the file. 1/GetUnitsAccuracy() == 100 means 2 decimal places will be written, or the data just read is accurate to this number of decimal places.
| void a2dCanvasDocument::SetUnitsAccuracy | ( | double | accuracy | ) | [inline] |
this is the number that defines the number of decimal places in the fraction
when writing numbers to a file. When reading a file, this number is set to the accuracy information available in the file. 1/GetAccuracyUserUnits() == 100 means 2 decimal places will be written, or the data just read is accurate to this number of decimal places.
| double a2dCanvasDocument::GetUnitsScale | ( | ) | [inline] |
this is the number that defines the physical dimension in meters / inch/ etc.
numbers used for storing length or position or always stored as doubles. The real dimension is: (anynumber) * GetUnitsScale() * GetUnits()
| void a2dCanvasDocument::SetUnitsScale | ( | double | scale | ) | [inline] |
this is the number that defines the physical dimension in meters / inch/ etc.
numbers used for storing length or position or always stored as doubles. The real dimension is: (anynumber) * GetUnitsScale() * GetUnits()
| double a2dCanvasDocument::GetNormalizeScale | ( | ) | [inline] |
Normalize objects ( defined in coordinates -1 to 1 ranges ) will be multiplied by this factor.
Libraries containing object which are defined in normalized coordinates, need to be multiplied by a certain factor before they can be added to a document. This factor defines by how much that should be done. As an example a libary containing arrow objects for placing at the end of a2dEndsLine objects, will use this factor.
| wxString a2dCanvasDocument::GetUnits | ( | ) | [inline] |
this string defines the unit e.g. meters / inch/ etc.
numbers used for storing length or position or always stored as doubles. The real dimension is: (anynumber) * GetUnitsScale() * GetUnits()
conversion to other units is not just simply changing this string. You must Change the SetUnitsScale(double) or really scale the data itself.
| void a2dCanvasDocument::SetUnits | ( | const wxString & | unitString | ) | [inline] |
this string defines the unit e.g. meters / inch/ etc.
numbers used for storing length or position or always stored as doubles. The real dimension is: (anynumber) * GetUnitsScale() * GetUnits()
conversion to other units is not just simply changing this string. You must Change the SetUnitsScale(double) or really scale the data itself.
| void a2dCanvasDocument::SetModificationTime | ( | const wxDateTime & | datatime | ) | [inline] |
| wxDateTime& a2dCanvasDocument::GetModificationTime | ( | ) | [inline] |
| void a2dCanvasDocument::SetAccessTime | ( | const wxDateTime & | datatime | ) | [inline] |
| wxDateTime& a2dCanvasDocument::GetInternalChangedTime | ( | ) | [inline] |
gives time when a change was made to the document which may effect rendering
Comparing this time in a dialogs its own update time, one can easily keep them up to date.
e.g. set in SetUpdatesPending()
| void a2dCanvasDocument::OnIdle | ( | wxIdleEvent & | event | ) | [protected] |
Called by ProcessEvent(wxEvent& event) of document.
Event processing is called by wxView and therefore a2dCanvasView. In a a2dDocumentCommandProcessor controller application wxDocChildFrame and wxDocParentFrame redirect events to wxView and a2dDocumentCommandProcessor. In a non a2dDocumentCommandProcessor the a2dCanvas is calling ProcessEvent(wxEvent& event) of document. Onidle updates all drawers if pending updates are available
Definition at line 698 of file candoc.cpp.
a2dSmrtPtr<a2dLayers> a2dCanvasDocument::m_layersetup [protected] |
wxDateTime a2dCanvasDocument::m_changedInternalAccesstime [protected] |
gives time when a change was made to the document which may effect rendering
e.g. set in SetUpdatesPending()