|
XmObject Class ReferenceInheritance diagram for XmObject:
List of all members.
Detailed Description
Base class for the Object Model of the exom framework to support various features.
To give classes the possibility to be managed by the exom framework, they have to be derived from XmObject. From XmObject derived classes provide the following features.
Basic exom features:
- navigation through object hierarchy in user interface
- editing attributes in user interface
- executing commands (with parameters) in user interface
- recursive text search for member data
- can be filtered in lists
- enable cut/copy/paste/delete by user interface
- can by created in XmArray containers via user interface
- can be moved up/down in XmArray containers via user interface
- can be referenced by unique paths
- can hold sub objects or data in user interface
- support persistence (load/save)
XmObject is a pure interface class. So it contain no data members itself, having the effect to save memory and avoid problems related to construction, destruction and copying them.
More information in section The Object Model.
|
Overridables |
|
virtual | ~XmObject () |
| | virtual d'tor to allow polymorphism.
|
| virtual void | manage (XmMan &m)=0 |
| | Provide the possibility to connect member data and sub objects.
|
| virtual void | manageFcn (XmManFcn &m) |
| | Defines the object functions usable in user interface.
|
| virtual XmArray * | GetArray () |
| | Return an interface pointer to XmArray, if class have container property.
|
| virtual XmSeriExt & | GetSeriExt () |
| | Return the interface to the class, dedicated for read functionality.
|
| virtual XmObject * | CloneObject () const |
| | Method have to create a real copy (clone) using of the object and return it.
|
| virtual ARESULT | OnAction (XmActionCx &ac) |
| | Is called, when processing user action.
|
| virtual void | MemberState (XmMemberStateCx &ms) const |
| | Define the presentation of member data and functions.
|
| virtual void | MemberExt (XmMemberExtCx &me) const |
| | Enable extended features for member data like combobox or use type.
|
| virtual void | ObjSet (XmObjSetCx &os) const |
| | Enable various exom features by setting the corresponding MAN_MODE bits.
|
| virtual void | ObjLook (XmObjLookCx &ol) const |
| | Control the appearance of an object in the user interface.
|
| virtual XMOBJ | ObjectID () const =0 |
| | Return the ID of an object.
|
Public Member Functions |
| XMOBJ | GetObjID () const |
| | Return the ID of an object.
|
Member Function Documentation
| XMOBJ GetObjID |
( |
|
) |
const [inline] |
|
|
|
Return the ID of an object.
Return the ID provided by ObjectID(). |
| virtual void manage |
( |
XmMan & |
m |
) |
[pure virtual] |
|
|
|
Provide the possibility to connect member data and sub objects.
Member data and sub objects can be connected, by calling the corresponding manXxx functions of XmMan.
Implemented in TXmObjectListObject, TXmObjectVectorObject, XmApplication, XmDocument, XmEnumList, XmModuleInfo, XmReferenceList, XmSelectFile, XmUserRequest, CXmFindDlg, CXmFindHandler, CXmListCtrl, CXmNavResult, CXmPageCont, and CXmPropertiesCtrl. |
| virtual void manageFcn |
( |
XmManFcn & |
m |
) |
[inline, virtual] |
|
| virtual XmArray* GetArray |
( |
|
) |
[inline, virtual] |
|
|
|
Return the interface to the class, dedicated for read functionality.
The application can replace the default XmSeriExt instance, to extend the reading process. This may by range checks or additional initialization. |
| virtual XmObject* CloneObject |
( |
|
) |
const [inline, virtual] |
|
|
|
Method have to create a real copy (clone) using of the object and return it.
This method is especially used in containers to clone the container items. A usual implementation looks like:
XmObject* MyClass::
CloneObject () const
{
return new MyClass (*this);
}
|
| virtual void MemberState |
( |
XmMemberStateCx & |
ms |
) |
const [protected, virtual] |
|
|
|
Define the presentation of member data and functions.
Via MemberState() the application has the possibility to control the appearance of member data and functions in user interface, like enabled/disabled, checked/unchecked,... This function is called recursive in the member hierarchy.
Reimplemented in XmApplication, CXmFindHandler, CXmNavResult, and CXmPageCont. |
| virtual void MemberExt |
( |
XmMemberExtCx & |
me |
) |
const [inline, protected, virtual] |
|
|
|
Enable extended features for member data like combobox or use type.
This function is called by the framework, to determine which type of extended functionality should be enabled for a member. Therefore this function will be called with XmMemberExtCx::GetRecallMode() == eRecallBasicExtensions. |
| virtual void ObjSet |
( |
XmObjSetCx & |
os |
) |
const [inline, private, virtual] |
|
|
|
Enable various exom features by setting the corresponding MAN_MODE bits.
By default XmObjSetCx::Enbl is set to MAN_ITEM, which enable all standard exom features, described in description of XmObject. For example, if an object should not support serialization, mask out the serialization bits MAN_SERIALIZE.
Reimplemented in XmDocument. |
| virtual void ObjLook |
( |
XmObjLookCx & |
ol |
) |
const [inline, private, virtual] |
|
|
|
Control the appearance of an object in the user interface.
The interface give to possibility to change the text and icon (id), which represents the object in the user interface. |
| virtual XMOBJ ObjectID |
( |
|
) |
const [private, pure virtual] |
|
|
|
Return the ID of an object.
The ID give the exom framework the possibility to identify a class derived from XmObject. So all classes derived from XmObject should have their own ID.
Implemented in XmApplication, XmDocument, XmEnumList, XmModuleInfo, XmReferenceList, XmSelectFile, XmUserRequest, CXmFindDlg, CXmFindHandler, CXmListCtrl, CXmNavResult, CXmPageCont, and CXmPropertiesCtrl. |
|