|
ubit
|
Base class for attributes. More...
#include <uattr.hpp>
Public Member Functions | |
| UAttr (UConst) | |
| 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 int | getDisplayType () const |
| virtual int | getNodeType () const |
| returns the XML node type. | |
| virtual const UStr & | getNodeName () const |
| returns the name of this attribute (calls getName()). | |
| virtual UStr | getNodeValue () const |
| returns the value of this attribute (calls getValue()). | |
| virtual const UStr & | getName () const |
| returns the name of this attribute. | |
| virtual bool | getValue (UStr &value) const |
| gets the value of this attribute. More... | |
| virtual void | setValue (const UStr &value) |
| changes the value of this attribute does nothing if not applicable for a given subclass. | |
| virtual void | initNode (UDoc *, UElem *parent) |
| called when the document is created. | |
| virtual UAttr & | onChange (UCall &) |
| adds a callback that is fired when the value of the property is modified. More... | |
| UAttr & | setConst () |
| virtual void | update () |
| updates parents graphics. | |
| virtual void | changed (bool update=true) |
| [impl] called when object's content is changed. More... | |
| virtual void | putProp (UUpdateContext *, UElem &) |
| [impl] changes corresponding value in the UUpdateContext | |
Public Member Functions inherited from ubit::UNode | |
| 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). | |
| 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 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 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 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. | |
Friends | |
| class | UBox |
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 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 | addingTo (UChild &, UElem &parent) |
| called when this object is added to a parent. | |
| 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. | |
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 for attributes.
attributes specify the layout, the geometry, the color, the font... of elements that derive from UBox (some attributes also apply on UElem elements, as explained in the doc of these properties).
they can be added to the attribute list of one or several containers by using UElem::addAttr(). They can also be inserted in the beginning of their child list, before any viewable child (that is to say a child that derive from UElem or UData). Certains properties (mainly UFont and UColor) can be inserted anywhere in the child list and take effect of the following children.
attributes update their parents automatically when they are modified. All parents that share the same property are thus automatically synchronized.
attributes can have callback functions that are fired when their value is changed (see an example below). Property parents can also be notified when attribute values are modified by using the UOn::propChange condition (see below).
class Demo { public: void colorCB(UColor* c); void boxCB(UEvent& e); .... };
Demo* d = new Demo();
UColor& color = ucolor(255, 0, 0); // shorcut for: *new UColor(...)
// d->colorCB(&color) will be called when the color is changed color.onChange(ucall(d, &color, &Demo::colorCB));
UBox& btn = ubutton("Click Me"); // shorcut for: *new UButton(...)
btn.addAttr(color); // adds color to the attribute list
// the content of UColor::blue (which is a predefined value) is copied // into the content of the color object (note that color is not a pointer // but a reference)
color = UColor::blue; // fires colorCB
Alternatively, we could insert color at the beginning of the child list:
UBox& btn = ubutton(color + "Click Me"); // btn.addAttr(color); useless: color is in the child list!
Finally,
UBox& btn = ubutton(color + "Click Me" + UOn::propChange / ucall(d, &Demo::boxCB));
will call d->boxCB(event) when the value of any property of btn is changed. In this case, color is the only property, and boxCB is fired when color is modified. The UEvent& argument of boxCB() makes it possible to retrieve the color property as follows:
void Demo::boxCB(UEvent& e) {
UColor* c = null;
if (e.getTarget()) c = dynamic_cast<UColor*>(e.getTarget());
....
}
Note that we could have use the same technique to retrieve the color property in colorCB(), instead of giving color as an argument to this function
|
virtual |
[impl] called when object's content is changed.
This function updates graphics (if 'update' is true) then fires parents' UOn::propChange callbacks
Reimplemented in ubit::URadioSelect, and ubit::UChoice.
|
virtual |
gets the value of this attribute.
return false if this attribute has no value. Stores it in argument 'value' otherwise,
Reimplemented in ubit::UHtmlValign, ubit::UHtmlAlign, ubit::UHtmlFontSize, ubit::UHtmlFontFace, ubit::UHtmlBorder, ubit::UHtmlBgcolor, ubit::UHtmlColor, ubit::UHtmlStyle, and ubit::UHtmlAttribute.
adds a callback that is fired when the value of the property is modified.
1.8.12