Home You are here: Home > Support > Reference v1.0

Change language: German

User interface specific features

User interface specific features are also controlled by exom::XmObject class. These features are independent from the user interface subsystem. They give the possibility to control the following features available within the user interface:

  • Defining object functions
  • Handling the execution of functions and changing of object properties
  • Controlling the state of functions and properties
  • Some extensions available for member attributes.

Supported Environments

Every class derived from exom::XmObject have the possibility to declare object functions available within the user interface. To do this your class have to overwrite the method exom::XmObject::manageFcn() and use the context class exom::XmManFcn.

class MyClass : public XmObject
{
    ...
    // --- XmObject ---
    void    manageFcn (XmManFcn& m)
    {
        m.manFcn (myns.FCN_MY_FUNCTION);
    }
};

Supported Operating Systems

Every time the user made an action like executing a command or change an object property in the user interface exom::XmObject::OnAction() will be called. If you overwrite this method in your class, you are able to modify the handling of those actions. The context class exom::XmActionCx contain all information concerned to the action and give different handling possibilities. E.g. exom::XmActionCx::CurID() contain the ID of the used function or attribute.

class MyClass : public XmObject
{
    ...
    // --- XmObject ---
    ARESULT     OnAction    (XmActionCx& ac)
    {
        XMID id = ac.CurID();
        if (myns.FCN_MY_FUNCTION)
        {
        }
        return XmObject::OnAction (ac);
    }
};

User actions always will be made via a dialog in the user interface, which is an instance of exom::XmUIDialog. The counterpart of this dialog within the application can be referenced by exom::XmActionCx::GetDlg().

A user action affecting an atom will set a new value to the concerned atom. The new value is set before travesing the hierachy of the exom::XmObject::OnAction() functions.

A user action concerned to a function have the possibility to pass optional function parameters. These parameters can be retrieved by exom::XmParamAccess which is part of exom::XmActionCx.

Member states

Basic states of member functions and member attributes can be controlled by exom::XmObject::MemberState(). Via the context class exom::XmMemberStateCx you have the possibility to control:
  • enabled/disabled member state
  • member label
  • checked/unchecked member state

class MyClass : public XmObject
{
    ...
    // --- XmObject ---
    void    MemberState (XmMemberStateCx& ms) const
    {
        XMID id = ms.CurID();
        if (id == myns.FCN_MY_FUNCTION)
        {
            ms.SetMemEnabled (false);
        }
        XmObject::MemberState (ms);
    }
};

Member Extensions

Member Extensions are very special extensions for object functions and attributes. They can be handled by the overwriting exom::XmObject::MemberExt(). They may be extended in future. At the moment the following extensions are implemented:

  • combo list for attributes
  • attribute use types


Copyright © 2006 Praetz Software Development - www.exomware.com