|
ubit
|
base class of callback objects for firing functions or methods. More...
#include <ucall.hpp>
Public Member Functions | |
| virtual void | operator() (UEvent &)=0 |
| the method that fires callbacks; must be redefined by subclasses. | |
Public Member Functions inherited from ubit::UNode | |
| virtual int | getNodeType () const |
| returns the XML node type. | |
| virtual const UStr & | getNodeName () const |
| return the XML node name. | |
| virtual UStr | getNodeValue () const |
| return the XML node value. | |
| virtual int | getDisplayType () const |
| virtual int | isDisplayable () const |
| virtual UNode * | toNode () |
| dynamic cast: returns this object if it derives from UNode and null otherwise. | |
| virtual const UNode * | toNode () const |
| dynamic cast: returns this object if it derives from UNode and null otherwise. | |
| virtual bool | isChildOf (const UElem &parent, bool indirect=true) const |
| returns true if this object a child of 'parent'. More... | |
| UParentIter | pbegin () const |
| returns an iterator to the beginning of the list of direct parents. More... | |
| UParentIter | pend () const |
| returns an iterator to the end of the parent list ( More... | |
| virtual UParents & | parents () const |
| returns the list of direct parents ( More... | |
| virtual UElem * | getParent (int pos=0) const |
| returns the Nth direct parent. More... | |
| virtual bool | hasSceneGraphParent () const |
| template<class CC > | |
| CC * | findParent () const |
| < this object has at least one parent in the scene graph. More... | |
| virtual int | getBoxParents (std::vector< UBox *> &parvect) const |
| retrieves direct and indirect parents that are boxes. | |
| virtual UBox * | getParent (const UView *) const |
| returns the direct or indirect parent that contains this view. More... | |
| virtual UView * | getParentView (const UView *) const |
| returns the direct or indirect parent's view that contains this view. More... | |
| virtual UBox * | getParent (const UInputEvent &) const |
| virtual UView * | getParentView (const UInputEvent &) const |
| virtual void | removeFromParents (bool update_parents=true) |
| [impl] removes this object from all direct parents. More... | |
| virtual bool | fire (UEvent &) const |
| fires callback functions that match this event. | |
| virtual UNode & | removeAllAttrs (bool autodel=true) |
| removes all attributes (if any, redefined by subclasses). | |
| virtual void | update () |
| updates object graphics. | |
| bool | isAutoUpdate () const |
| return current update policy: see setAutoUpdate(). | |
| UNode & | setAutoUpdate (bool state=true) |
| changes the update policy of this object when its is modified. More... | |
| void | fireParents (const UCond &c, UNode *n) const |
| void | updateAutoParents (const UUpdate &m) |
| virtual void | addChangeCall (UCall &) |
| virtual UElem * | getSubGroup () const |
| void | _addAttr (const UChild &attribute) |
| [impl] to be removed @. | |
| UChildIter | _abegin () const |
| [impl] to be removed @. | |
| UChildIter | _aend () const |
| [impl] to be removed @. | |
Public Member Functions inherited from ubit::UObject | |
| UObject (const UObject &) | |
| UObject & | operator= (const UObject &) |
| virtual const UClass & | getClass () const |
| instance method that returns the metaclass of this object. More... | |
| const UStr & | getClassName () const |
| returns getClass().getName(). | |
| virtual void | error (const char *function_name, const char *format,...) const |
| prints out an error message. More... | |
| virtual void | warning (const char *function_name, const char *format,...) const |
| prints out a warning message: More... | |
| bool | isDeletable () const |
| checks if this object can be destroyed by 'delete'. More... | |
| bool | isConst () const |
| checks whether the content of this object can be modified ( More... | |
| UObject & | setConst () |
| specifies that the content of this object cannot be modified. More... | |
| bool | isAutoUpdate () const |
| return current update policy: More... | |
| UObject & | setAutoUpdate (bool state=true) |
| changes the update policy of this object when its is modified. More... | |
| bool | isIgnoringChangeCallbacks () const |
| return true if change callbacks are fired. | |
| UObject & | ignoreChangeCallbacks (bool state) |
| change callbacks are not fired if argument is true. | |
| virtual UAttr * | toAttr () |
| dynamic cast: returns this object if it derives from UAttr and null otherwise. | |
| virtual const UAttr * | toAttr () const |
| dynamic cast: returns this object if it derives from UAttr and null otherwise. | |
| virtual UElem * | toElem () |
| dynamic cast: returns this object if it derives from UElem and null otherwise. | |
| virtual const UElem * | toElem () const |
| dynamic cast: returns this object if it derives from UElem and null otherwise. | |
| virtual UData * | toData () |
| dynamic cast: returns this object if it derives from UData and null otherwise. | |
| virtual const UData * | toData () const |
| dynamic cast: returns this object if it derives from UData and null otherwise. | |
| virtual UStr * | toStr () |
| dynamic cast: returns this object if it derives from UStr and null otherwise. | |
| virtual const UStr * | toStr () const |
| dynamic cast: returns this object if it derives from UStr and null otherwise. | |
| virtual UBox * | toBox () |
| dynamic cast: returns this object if it derives from UBox and null otherwise. | |
| virtual const UBox * | toBox () const |
| dynamic cast: returns this object if it derives from UBox and null otherwise. | |
| virtual UWin * | toWin () |
| dynamic cast: returns this object if it derives from UWin and null otherwise. | |
| virtual const UWin * | toWin () const |
| dynamic cast: returns this object if it derives from UWin and null otherwise. | |
| virtual UMenu * | toMenu () |
| dynamic cast: returns this object if it derives from UMenu and null otherwise. | |
| virtual const UMenu * | toMenu () const |
| dynamic cast: returns this object if it derives from UMenu and null otherwise. | |
| State | getState () const |
| returns the current object state. | |
| void | setState (State s) |
| changes the object state. | |
| PtrCount | getPtrCount () const |
| [impl] returns the number of uptr<> smart pointers that are pointing to this object. | |
| bool | checkConst () const |
| [impl] produces an error if this object is logically constant ( More... | |
| bool | isDestructed () const |
| [impl] this object has been destructed (but memory has not been freed yet). | |
| bool | isDestructing () const |
| [impl] this object is being destructed (one of its destructors has been called). | |
| void * | operator new (size_t) |
| < [impl] returns true if there is at least one scene graph parent (redefined by UNode). More... | |
| void | operator delete (void *) |
| delete operator is forbidden on instances that derive from UObject. | |
| void | addPtr () const |
| [Impl] a uptr is added to this object. | |
| void | removePtr () const |
| [Impl] a uptr is removed from this object. | |
Protected Member Functions | |
| virtual UCall * | toCall () |
| dynamic cast: returns this object if it derives from UCall and null otherwise. | |
| virtual const UCall * | toCall () const |
| dynamic cast: returns this object if it derives from UCall and null otherwise. | |
| virtual void | addingTo (UChild &, UElem &parent) |
| called when this object is added to a parent. | |
| template<class E > | |
| E * | checkType (UEvent &e) |
| virtual void | wrongEventType (const char *event_name, const char *call_name) |
Protected Member Functions inherited from ubit::UNode | |
| UNode () | |
| constructor, can anly be called by subclasses because UNode is abstract. | |
| virtual | ~UNode () |
| destructor, note that children are recursively destroyed except if pointed elsewhere ( More... | |
| virtual void | removingFrom (UChild &, UElem &parent) |
| called when this object is removed from a parent (SEE DETAILS IF YOU REDEFINE THIS METHOD). More... | |
| virtual void | destructs () |
| unlinks the object from its parents and destroys its children. | |
Additional Inherited Members | |
Public Types inherited from ubit::UNode | |
| enum | NodeType { ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3, CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = 12 } |
| redefines Class() and getClass() methods ( More... | |
| enum | DisplayType { WINLIST =-1, UNDISPLAYBLE =0, ATTRIBUTE, DATA, INLINE, BLOCK, BORDER, HARDWIN, SOFTWIN } |
| Ubit display types. | |
Public Types inherited from ubit::UObject | |
| typedef unsigned char | State |
| typedef short | PtrCount |
Static Public Member Functions inherited from ubit::UObject | |
| static const char * | getVersion () |
| returns the version of the Ubit package. | |
| static const UClass & | Class () |
| class method that returns the metaclass of this class. More... | |
| static UStyle * | createStyle () |
Static Public Attributes inherited from ubit::UObject | |
| static UConst | UCONST |
| UCONST can be given as an argument to some constructors to make the object constant. More... | |
Protected Attributes inherited from ubit::UNode | |
| UParents | _parents |
| UChildren | _attributes |
Protected Attributes inherited from ubit::UObject | |
| PtrCount | ptr_count |
| Modes | omodes |
| State | ostate |
base class of callback objects for firing functions or methods.
UClass is the base class for a family of template subclasses that make it possible to fire functions or methods when a certain condition occurs. These conditions are specified by UOn objects as shown in the examples below:
void foo() {...} class Test {
public:
virtual void doit() {...}
...
};Test* t = new Test();
UButton& btn = ubutton("Press Me" + UOn::action / ucall(foo) // callback function + UOn::mpress / ucall(t, &Test::doit) // callback method of Test );
UOn::action and UOn::mpress are callback conditions while ucall(...) are callback objects (repectively encapsulating a function and an instance method) so that foo() and a->doit() will be called when the corresponding condition is matched for this button (see UOn::action and UOn::mpress for the meaning of these conditions). Note that:
Passing ARGUMENTS to functions and methods:
void foo(double value) {...} class Test {
public:
virtual void doit(int x, int y) {...}
...
};Test* t = new Test();
UButton& btn = ubutton("Press Me" + UOn::action / ucall(0.5, foo) + UOn::mpress / ucall(t, 30, 20, &Test::doit) );
Optional EVENT parameter
event parameters can be superclasses of the event class specified by the UOn condition, but they cannot be sublasses (this will generate an execution error). For instance, UEvent& would be a valid parameter for doit() but UMouseEvent& would not be a valid parameter for foo().
void foo(UEvent& e, double value) {...} class Test {
public:
virtual void doit(UMouseEvent& e, int x, int y) {...}
...
};
Conditionnal attributes
ucheckbox("Red or White"
+ UOn::select / UColor::red
+ UOn::deselect / UColor::white
)
In this case, the color will be red if the checkbox is seledcted and white otherwise.Adding and removing callbacks after widget creation callback objects can be added and removed by using the add(), addAttr(), remove() and removeAttr() methods of the UElem class.
Predefined callback objects
uptr<UDialog> dial =
udialog(...whatever...
+ ubutton( "Close" + ucloseWin() )
);
the "Close" button will close this dialog when activated (e.g. clicked)
ucall() templates
1.8.12