|
wxArt2D
|
The a2dViewTemplate class is used to model the relationship between a document class and a view class. More...
#include <docviewref.h>


Public Member Functions | |
| virtual void | DoSave (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite) |
| Save settings. | |
| virtual void | DoLoad (wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts) |
| Load settings. | |
| a2dViewTemplate (const wxString &descr, const wxString &docTypeName, const wxString &viewTypeName, wxClassInfo *viewClassInfo=(wxClassInfo *) NULL, a2dViewConnector *connector=(a2dViewConnector *) NULL, long flags=a2dTemplateFlag::DEFAULT, const wxSize &size=wxSize(0, 0)) | |
| Associate document and view types. They're for identifying what view is associated with what template/document type. More... | |
| ~a2dViewTemplate () | |
| Destructor. | |
| virtual a2dView * | CreateView (a2dDocument *doc, a2dDocumentFlagMask flags=a2dREFDOC_NON) |
| Creates a new view for the given document. More... | |
| wxString | GetDescription () const |
| Returns the text description of this template, as passed to the document template constructor. | |
| void | SetDescription (const wxString &descr) |
| Sets the template description. | |
| wxString | GetViewTypeName () const |
| Returns the view type name, as passed to the document template constructor. | |
| wxString | GetDocumentTypeName () const |
| Returns the document type name, as passed to the document template constructor. | |
| const a2dTemplateFlag & | GetFlags () const |
| Returns the flags, as passed to the document template constructor. | |
| void | SetFlags (a2dTemplateFlagMask flags) |
| Sets the internal document template flags (see the constructor description for more details). | |
| void | SetFlags (a2dTemplateFlag flags) |
| Sets the internal document template flags (see the constructor description for more details). | |
| bool | CheckMask (a2dTemplateFlagMask mask) |
| does template mask match | |
| void | SetVisible (bool value) |
| Returns true if the document template can be shown in user dialogs, false otherwise. | |
| void | SetMarked (bool value) |
| Returns true if the document template is marked , false otherwise. | |
| bool | IsVisible () const |
| Returns true if the document template can be shown in user dialogs, false otherwise. | |
| bool | IsMarked () const |
| Returns true if the document template is marked , false otherwise. | |
| a2dViewConnector * | GetViewConnector () |
| void | SetInitialSize (const wxSize &size) |
| set size to use for new created views | |
| wxSize & | GetInitialSize () |
| Get size used for new created views. | |
| wxPageSetupDialogData * | GetPageSetupData (void) const |
| void | SetPageSetupData (const wxPageSetupDialogData &pageSetupData) |
| void | SetPageSetupData (wxPageSetupDialogData *pageSetupData) |
Public Member Functions inherited from a2dObject | |
| virtual bool | ProcessEvent (wxEvent &event) |
| bool | SearchDynamicEventTable (wxEvent &event) |
| void | Connect (int winid, int lastId, int eventType, wxObjectEventFunction func, wxObject *userData=(wxObject *) NULL, wxEvtHandler *eventSink=(wxEvtHandler *) NULL) |
| bool | Disconnect (int winid, int lastId, wxEventType eventType, wxObjectEventFunction func=NULL, wxObject *userData=(wxObject *) NULL, wxEvtHandler *eventSink=(wxEvtHandler *) NULL) |
| void | ProcessConnectedEvent (wxEvent &event) |
| wxCHECK_VERSION(2,9,0) More... | |
| void | ConnectEvent (wxEventType type, wxEvtHandler *eventSink) |
| bool | DisconnectEvent (wxEventType type, wxEvtHandler *eventSink) |
| bool | DisconnectEventAll (wxEvtHandler *eventSink) |
| Remove all dynamic events in classA, going to classB (eventSink) More... | |
| a2dObject () | |
| constructor | |
| virtual | ~a2dObject () |
| destructor | |
| void | operator= (const a2dObject &other) |
| assignment operator | |
| int | GetOwnedBy () |
| like it to be protected, but this does not work with wxList macros More... | |
| virtual a2dObject * | SetNonDynamic () |
| Call to mark this object as non-dynamic (static/local/auto) More... | |
| void | CheckReferences () |
| Check zero reference count and delete if count is 0. More... | |
| a2dObject * | Clone (CloneOptions options, a2dRefMap *refs=NULL) const |
| create an exact copy of this property | |
| a2dObject (const a2dObject &other, CloneOptions options, a2dRefMap *refs) | |
| virtual wxString | GetName () const |
| Returns the name of this object, if no name is given the internal id will be returned. More... | |
| virtual void | SetName (const wxString &name) |
| Creates the a2dStringProperty PROPID_Name. More... | |
| virtual bool | IsTemporary_DontSave () const |
| Check if this is a temporary object, which should not be saved. | |
| void | SaveAsDocument (a2dIOHandlerXmlSerOut &out) |
| Save this object and all below as an XML document. More... | |
| virtual void | Save (wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dObjectList *towrite) |
| write all needed to an XML type of file called the CVG format More... | |
| void | LoadFromDocument (a2dIOHandlerXmlSerIn &parser) |
| Load this object and all below from an XML document. More... | |
| virtual void | Load (wxObject *parent, a2dIOHandlerXmlSerIn &parser) |
| load object from CVG file More... | |
| wxInt64 | GetUniqueSerializationId () const |
| return a unique id for this object More... | |
| virtual bool | AlwaysWriteSerializationId () const |
| If true, always write an id. More... | |
| virtual bool | LinkReference (a2dObject *other) |
| link a reference in the object to the given value More... | |
| virtual void | ResolveInform () |
| inform an object that reference resolution was done More... | |
| void | Walker (wxObject *parent, a2dWalkerIOHandler &handler) |
| This is used to recursively walk through an object tree. | |
| void | SetCheck (bool check) |
| general flag use at will. More... | |
| bool | GetCheck () const |
| general flag use at will. | |
| void | SetRelease (bool value) |
| set release flag More... | |
| bool | GetRelease () const |
| get release flag More... | |
| a2dAutoZeroPtr< a2dObject > ** | GetAutoZeroPtrList () |
| return the list head pointer for autozero pointers to this object More... | |
| DECLARE_PROPERTIES () | |
| a2dNamedProperty * | GetProperty (const a2dPropertyId *propertyId, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) const |
| get property on this object More... | |
| void | SetProperty (a2dNamedProperty *propertyHolder, a2dPropertyId::SetFlags flags=a2dPropertyId::set_none) |
| Set the property to the this object. More... | |
| void | SetProperty (const a2dNamedProperty &propertyHolder, a2dPropertyId::SetFlags flags=a2dPropertyId::set_none) |
| Set the property to the this object and if enabled, to all childs and object members. More... | |
| virtual a2dNamedProperty * | FindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) |
| Find a dynamic property with given id in the property list. More... | |
| virtual const a2dNamedProperty * | FindProperty (const a2dPropertyId *id, a2dPropertyId::Flags flags=a2dPropertyId::flag_none) const |
| Find a dynamic property with given id in the property list. More... | |
| virtual bool | HasProperty (const a2dPropertyId *id, const wxString &stringvalue=wxEmptyString) const |
| Check if the object has a property with given id and string representation. More... | |
| virtual void | OnPropertyChanged (const a2dPropertyId *id) |
| This function is called after a property changed. More... | |
| virtual bool | EditProperties (const a2dPropertyId *id, bool withUndo=true) |
| edit properties of the object More... | |
| void | TakeOverProperties (a2dObject *from, a2dPropertyIdList *listOfIds) |
| Properties in the id list are taken from the given object, en set to this. More... | |
| wxURI | GetURI () const |
| quick way to get to PROPID_URI property More... | |
| void | SetURI (const wxURI &url) |
| quickly set a property PROPID_URI More... | |
| const a2dNamedPropertyList & | GetPropertyList () const |
| Get the Property List. More... | |
| bool | HasDynamicProperties () const |
| test if there are dynamic properties in the m_propertylist | |
| virtual bool | RemoveProperty (const a2dPropertyId *id, bool all=true) |
| This function is called by a2dPropertyId to remove a property from the list. More... | |
| void | RemoveTemporaryProperties () |
| remove all temporary properties | |
| virtual bool | AddProperty (a2dNamedProperty *property) |
| This function is called by a2dPropertyId to add a property to the list. More... | |
Protected Member Functions | |
| a2dObject * | DoClone (a2dObject::CloneOptions options, a2dRefMap *refs) const |
Protected Member Functions inherited from a2dObject | |
| virtual bool | DoIgnoreIfNotMember (const a2dPropertyId *id) const |
| used to decide if a property shall be ignored, if it is not a member More... | |
| virtual void | DoWalker (wxObject *parent, a2dWalkerIOHandler &handler) |
| iterate over this object and its children More... | |
Protected Attributes | |
| wxSize | m_initialSize |
| size for new view | |
| a2dTemplateFlag | m_flags |
| The flags passed to the constructor. | |
| wxString | m_description |
| A short description of this template. | |
| wxString | m_docTypeName |
| The named type of the document associated with this template. | |
| wxString | m_viewTypeName |
| The named type of the view associated with this template. | |
| wxClassInfo * | m_viewClassInfo |
| For dynamic creation of appropriate instances. | |
| a2dSmrtPtr< a2dViewConnector > | m_connector |
| class used to connect new views with Frames and windows. | |
| wxPageSetupDialogData * | m_pageSetupData |
| this is the printer page setup data for all views with this template | |
Protected Attributes inherited from a2dObject | |
| a2dNamedPropertyList | m_propertylist |
| properties | |
| int | m_refcount |
| how many references to this object do exist | |
| bool | m_check: 1 |
| used for linking multiple referenced objects when serializing | |
| bool | m_release: 1 |
| when set object is treated as being deleted, and wil be deleted in idle time. | |
| bool | m_recursion_active: 1 |
| this is used as a recursion stopper | |
| bool | m_pendingDisconnects: 1 |
| unsigned int | m_iteratorCount |
| a2dAutoZeroPtr< a2dObject > * | m_autozeroptrlist |
| this is a list of all a2dAutoZeroPtr object pointing to this object | |
Friends | |
| class | a2dSmrtPtrBase |
Additional Inherited Members | |
Public Types inherited from a2dObject | |
| enum | CloneOptions { clone_members = 0x00000001, clone_properties = 0x00000002, clone_childs = 0x00000004, clone_unused = 0x00000008, clone_setoriginal = 0x00000010, clone_seteditcopy = 0x00000020, clone_noReference = 0x00000040, clone_noCameleonRef = 0x00000080, clone_toDrag = 0x00000100, clone_flat = 0x00000000, clone_deep = clone_members | clone_properties | clone_childs } |
| options for cloning More... | |
| typedef a2dAutoZeroPtr< a2dObject > | TAutoZeroPtrListClass |
| this is needed inside the smart pointer template code | |
Static Public Attributes inherited from a2dObject | |
| static a2dPropertyIdBool * | PROPID_Check = NULL |
| used for linking multiple referenced objects when serializing | |
| static a2dPropertyIdUri * | PROPID_URI = NULL |
| attach an URL to the object | |
| static a2dPropertyIdString * | PROPID_Name = NULL |
| Name property, to return name of this object. | |
| static a2dPropertyIdVoidPtr * | PROPID_autozeroptrlist = NULL |
| static const a2dSignal | sm_Edit_properties = wxNewId() |
| edit properties event, see EditProperties() | |
Protected Types inherited from a2dObject | |
| enum | { refcount_nondynamic = 0x76543210 } |
| special refcount value for non-dynamic objects | |
The a2dViewTemplate class is used to model the relationship between a document class and a view class.
Next to that, a a2dViewConnector class pointer is used to connect new views and documents into a wxFrame and/or wxWindow. The a2dDocumentCommandProcessor can be used to display a dialog with a list of available a2dViewTemplate's for a certain document type. Using the choosen a2dViewTemplate, this template will then be used to create a view on the document. This happens in CreateView().
When, how and where this new view will be displayed, is up to the a2dViewConnector.
CreateView() sents two events:
The a2dViewConnector derived class often intercepts the event to connect the created a2dView into (newly created or existing) Frames or Windows.
It is possible that newly created view do not need to be plugged into any Window or Frame. Therefore the connector class pointer may be NULL.
Definition at line 2635 of file docviewref.h.
| a2dViewTemplate::a2dViewTemplate | ( | const wxString & | descr, |
| const wxString & | docTypeName, | ||
| const wxString & | viewTypeName, | ||
| wxClassInfo * | viewClassInfo = ( wxClassInfo* ) NULL, |
||
| a2dViewConnector * | connector = ( a2dViewConnector* ) NULL, |
||
| long | flags = a2dTemplateFlag::DEFAULT, |
||
| const wxSize & | size = wxSize( 0, 0 ) |
||
| ) |
Associate document and view types. They're for identifying what view is associated with what template/document type.
Constructor. Create instances dynamically near the start of your application after creating a a2dDocumentCommandProcessor instance, and before doing any document or view operations.
| descr | is a short description of what the template is for. This string will be displayed in the file filter list of Windows file selectors. |
| docTypeName | is a name that should be unique for a given type of document, used for gathering a list of views relevant to a particular document. |
| viewTypeName | is a name that should be unique for a given view. |
| viewClassInfo | is a pointer to the run-time view class information as returned by the CLASSINFO macro, e.g. CLASSINFO(MyViewClass). If this is not supplied, you will need to derive a new a2dDocumentTemplate class and override the CreateView member to return a new view instance on demand. |
| connector | is a pointer to a a2dViewConnector class, which will be used in the default handler for the ::wxEVT_POST_CREATE_VIEW event, OnPostCreateView to redirect the event to the a2dViewConnector class. If NULL the new view is not plugged into anything. |
| flags | is a bit list of the following: - a2dTemplateFlag::VISIBLE The template may be displayed to the user in dialogs. - wxREFTEMPLATE_INVISIBLE The template may not be displayed to the user in dialogs. - a2dTemplateFlag::DEFAULT Defined as a2dTemplateFlag::VISIBLE. |
| size | size sets initial size for views generated from this template |
Definition at line 2009 of file docviewref.cpp.
|
virtual |
Creates a new view for the given document.
Creates a new instance of the associated view class. If you have not supplied a wxClassInfo parameter to the template constructor, you will need to override this function to return an appropriate view instance.
After creating a new view using wxClassInfo two events are generated:
- a2dViewEvent of type ::wxEVT_CREATE_VIEW - a2dViewTemplateEvent of type ::wxEVT_POST_CREATE_VIEW
Definition at line 2087 of file docviewref.cpp.