|
ubit
|
Button widget. More...
#include <uinteractors.hpp>
Public Types | |
| enum | ButtonType { AUTO, NORMAL, MENU, BAR, TAB } |
Public Types inherited from ubit::UElem | |
| enum | { REMOVE_FROM_PARENTS = -1 } |
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 |
Public Member Functions | |
| UButton (UArgs arglist=UArgs::none) | |
| creates a standard push button. | |
| UButton (int button_style, UArgs arglist=UArgs::none) | |
| creates a push button wich the specified 'button_style'. | |
Public Member Functions inherited from ubit::UBox | |
| UBox (UArgs args=UArgs::none) | |
| creates a new UBox; The argument can either be a single object pointer or reference, or a list of object pointers or references separated by + operators, example: More... | |
| virtual | ~UBox () |
| recursive destructor. More... | |
| 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 int | getDisplayType () const |
| void | repaint () |
| void | update () |
| updates object graphics. | |
| virtual void | update (const UUpdate &update_options, UDisp *=null) |
| indicates that the layout and/or the paint of this object will be updated. More... | |
| virtual void | doUpdate (const UUpdate &, UDisp *=null) |
| updates the layout and/or the paint of this object right now. More... | |
| virtual int | getViewCount () const |
| returns the number of views of this box. | |
| virtual int | getViews (std::vector< UView *> &) const |
| returns the views of this box (see DETAILS). More... | |
| virtual UView * | getView (int n=0) const |
| returns the Nth view of this box (see DETAILS). More... | |
| virtual UView * | getView (const UInputEvent &) const |
| returns the view of this box that contains the event location. | |
| virtual UView * | getView (UWin &, const UPoint &pos_in_win, UDisp *=null) const |
| returns the view of this box that contains this point in this window. | |
| virtual UView * | getViewContaining (const UView &child_view) const |
| returns the view of this box that contains 'child_view'. More... | |
| virtual UView * | getFirstViewInside (const UView &parent_view) const |
| returns the first box view that is contained in 'parent_view'. More... | |
| virtual int | retrieveRelatedViews (std::vector< UView *> &collating_vector) const |
| virtual UView * | getViewInImpl (UView *parent_view) |
| virtual UView * | getViewInImpl (UView *parent_view, UDimension &) |
| void | setViewModes (int view_modes, bool) |
Public Member Functions inherited from ubit::UElem | |
| UElem (UArgs node_arglist=UArgs::none) | |
| creates a new UElem; The argument can either be a single object pointer or reference, or a list of object pointers or references separated by + operators, example: More... | |
| virtual | ~UElem () |
| destructor, note that children are recursively destroyed except if pointed elsewhere ( More... | |
| virtual void | destructs () |
| unlinks the object from its parents and destroys its children. | |
| 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. | |
| const UStyle & | getStyle (UUpdateContext *) const |
| virtual function that returns the style of this object. More... | |
| virtual int | getNodeType () const |
| returns the XML node type. | |
| virtual const UStr & | getNodeName () const |
| return the XML node name (which is the class name). | |
| virtual void | initNode (UDoc *context) |
| initialises the XML context of this node. | |
| UElem & | setAttr (UNode &attribute) |
| adds or replaces this attribute in the ATTRIBUTE list. More... | |
| UElem & | addAttr (const UArgs &attributes) |
| adds one or several attributes (deriving from UAttr) to the ATTRIBUTE list. More... | |
| UElem & | removeAttr (UNode &attribute, bool auto_delete=true) |
| removes/deletes an attribute (and its descendants) from the ATTRIBUTE list. More... | |
| UElem & | removeAllAttrs (bool auto_delete=true) |
| removes/deletes all attributes (and their descendants) in the ATTRIBUTE list. More... | |
| bool | getAttrValue (UStr &value, const UStr &attr_name) const |
| retrieves the value of the attribute which class name is 'attr_name'. More... | |
| UAttr * | getAttr (const UStr &attr_name) const |
| returns the attribute node which class name is 'attr_name'. More... | |
| template<class ATTR > | |
| ATTR * | getAttr () const |
| retrieves the attribute node that derives from the "ATTR" C++ class. More... | |
| template<class ATTR > | |
| ATTR & | obtainAttr () |
| retrieves or creates the element's attribute that derives from the "ATTR" C++ class. More... | |
| virtual bool | isParentOf (const UNode &possible_child) const |
| returns true if this object a direct or indirect parent of 'child'. | |
| UElem & | add (const UArgs &children) |
| adds one or several objects to the end of the CHILD list of this element. More... | |
| UElem & | add (const UArgs &children, int position) |
| adds one or several objects in the CHILD list before this position. More... | |
| UElem & | add (const UArgs &children, UChildIter iterator) |
| adds one or several objects in the CHILD list before this iterator. More... | |
| virtual UElem & | addImpl (const UArgs &nodes, UChildIter pos, UChildren &in_list) |
| virtual bool | addImpl1 (const UChild &node, UChildIter pos, UChildren &in_list) |
| UElem & | remove (UNode &child, bool auto_delete=true) |
| removes/deletes a child (and its descendants) from the CHILD list. More... | |
| UElem & | remove (int pos, bool auto_delete=true) |
| removes/deletes a child (and its descendants) at this position in the CHILD list. More... | |
| UElem & | remove (UChildIter pos, bool auto_delete=true) |
| removes/deletes a child (and its descendants) at this position in the CHILD list. More... | |
| UElem & | removeAll (bool auto_delete=true) |
| removes/deletes all children (and their descendants) in the CHILD list. More... | |
| virtual UElem & | removeImpl (UChildIter begin, int N, bool autodel, UChildren &in_list) |
| virtual bool | removeImpl1 (UChildIter pos, int auto_delete, UChildren &in_list) |
| UChildren & | getChildren () const |
| int | getChildCount () const |
| UChildIter | child (int pos) const |
| UNode * | getChild (int pos) const |
| returns an iterator pointing to the child at this position. More... | |
| UChildIter | cbegin () const |
| returns the child at this position. More... | |
| UChildIter | cend () const |
| returns a forward iterator pointing to the end of the child list ( More... | |
| UChildReverseIter | crbegin () const |
| returns a reverse iterator pointing to the beginning of the child list ( More... | |
| UChildReverseIter | crend () const |
| returns a reverse iterator pionting to the end of the child list ( More... | |
| virtual UStr | retrieveText (bool recursive=true) const |
| collates and returns the text that is enclosed in this object. More... | |
| virtual void | retrieveText (UStr &string, bool recursive=true) const |
| collates and returns the text that is enclosed in this object. More... | |
| virtual bool | isShown () const |
| returns true if this object is shown. More... | |
| bool | isShowable () const |
| returns true if this object can be shown. More... | |
| void | setShowable (bool s) const |
| synonym for show(bool). | |
| virtual void | show (bool=true) |
| shows/hides this object. More... | |
| void | repaint () |
| indicates that this object will be repainted (when the main loop becomes idle). | |
| void | update () |
| indicates that this object will be layed out and repainted (when the main loop becomes idle). | |
| void | doUpdate () |
| UElem & | ignoreEvents (bool state=true) |
| if arg is true, this element and (its children) ignore events. More... | |
| UElem & | catchEvents (const UChild &condition_callback_expr) |
| catches certain events before they reach the object's children. More... | |
| UElem & | observeChildrenEvents (const UChild &condition_callback_expr) |
| observe events that occur in children. More... | |
| bool | isIgnoringEvents () const |
| returns true if events are ignored by this object; | |
| bool | hasCallback (long callback_id) const |
| true if thie object has such a callback. | |
| virtual bool | fire (UEvent &) const |
| fires callback functions that match this event. | |
| UElem & | enable (bool state=true) |
| shortcut for setEnabled(bool state = true). | |
| virtual UElem & | setEnabled (bool state=true, bool call_callbacks=true) |
| specifies whether this object is enabled. More... | |
| bool | isEnabled () const |
| returns true if this object is currently enabled; More... | |
| virtual UElem & | setSelected (bool state=true, bool call_callbacks=true) |
| specifies whether this object is selected. More... | |
| bool | isSelected () const |
| bool | isSelectable () const |
| UElem & | setSelectable (bool state=true) |
| bool | isArmed () const |
| bool | isArmable () const |
| specifies whether this object can be armed. More... | |
| UElem & | setArmable (bool state=true) |
| UElem & | setAutoRepeat (bool state=true) |
| bool | isAutoRepeat () const |
| bool | isCrossable () const |
| UElem & | setCrossable (bool state=true) |
| UElem & | setBrowsable (bool=true) |
| bool | isBrowsable () const |
| bool | isDragged () const |
| bool | isDraggable () const |
| UElem & | setDraggable (bool=true) |
| bool | isDroppable () const |
| UElem & | setDroppable (bool=true) |
| bool | isTextEditable () const |
| bool | isFloating () const |
| bool | isVertical () const |
| bool | isWidthResizable () const |
| bool | isHeightResizable () const |
| virtual bool | isSubWin () const |
| void | disableMenuClosing (bool s=true) |
| this object and its children wont close menus when clicked if argument is true. | |
| bool | isMenuClosingDisabled () const |
| true if this object and its children do not close menus when clicked. | |
| bool | isBrowsingGroup () |
| virtual UChildren & | children () const |
| virtual UChildren & | attributes () const |
| UChildIter | abegin () const |
| UChildIter | aend () const |
| UObject::State | getInterState () const |
| void | setInterState (UObject::State) |
| virtual const UStr * | getTextSeparator () const |
| returns the text separator used by retrieveText() for separating enclosed children | |
| virtual void | highlight (bool state) |
| UElem & | _setArmableAndSelectable (bool state) |
| virtual void | keyPressBehavior (UKeyEvent &) |
| virtual void | keyReleaseBehavior (UKeyEvent &) |
| virtual void | enterBehavior (UInputEvent &, bool is_browing) |
| virtual void | leaveBehavior (UInputEvent &, bool is_browing) |
| virtual void | armBehavior (UInputEvent &, bool is_browing) |
| virtual void | disarmBehavior (UInputEvent &, bool is_browing) |
| virtual void | actionBehavior (UInputEvent &) |
Public Member Functions inherited from ubit::UNode | |
| virtual UStr | getNodeValue () const |
| return the XML node value. | |
| 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... | |
| 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 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 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. | |
Static Public Member Functions | |
| static UStyle * | createStyle () |
Static Public Member Functions inherited from ubit::UBox | |
| static UStyle * | createStyle () |
| static function that returns the style of this class (see details!). More... | |
Static Public Member Functions inherited from ubit::UElem | |
| static UStyle * | createStyle () |
| static function that returns the style of this class. More... | |
| static void | closeWin (UInputEvent &, int status) |
| closes the first window (UDialog, UMenu...) that contains this element. More... | |
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 () |
Friends | |
| class | UButtonStyle |
Additional Inherited Members | |
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::UBox | |
| virtual void | addViewImpl (UView *) |
| virtual void | initView (UView *parent_view) |
| virtual void | initChildViews (UElem *) |
| virtual void | deleteViewsInside (const std::vector< UView *> &parent_views) |
Protected Member Functions inherited from ubit::UElem | |
| virtual int | _getTextLength (bool recursive) const |
| virtual char * | _getTextData (char *ptr, bool recursive) const |
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... | |
Protected Attributes inherited from ubit::UBox | |
| UView * | views |
Protected Attributes inherited from ubit::UElem | |
| Modes | emodes |
| long | callback_mask |
| UChildren | _children |
Protected Attributes inherited from ubit::UNode | |
| UParents | _parents |
| UChildren | _attributes |
Protected Attributes inherited from ubit::UObject | |
| PtrCount | ptr_count |
| Modes | omodes |
| State | ostate |
Button widget.
A UButton is similar to a UButton except that:
As other widgets, a button can contain any combination of text, images and other widgets and its look can be changed by adding appropriate UAttr(s) (for specifying a specific UBackground, UAlpha, UPadding, UBorder, etc.)
CALLBACKS: Any UBox callback can be added to a textfield (see UOn and UCall). However, the most useful callback conditions for this widget are:
struct Demo { void saveFile(); };
Demo* d = new Demo(); UBox& b = ubutton(UPix::diskette + " Save" + UOn::action / ucall(d, &Demo::saveFile) + utip("Saves the current file"));
ubutton(...) is a shortcut for *new UButton(...)
saveFile() is an instance methods of class Demo. It will called when the button is activated (i.e. clicked). Note that 'd' must be given as the first argument of ucall() as saveFile() instance methods of 'd'. ucall() also offers many other possibilities, such as passing arguments to instance methods or calling static or non-member functions. See UCall for details.
UOn::action can be omitted, because it is the default callback condition for this widget: ucall(...) alone is thus identical to: UOn::action / ucall(...)
saveFile() could have an optional UEvent argument (see UTextfield as an example) or some specific arguments given bu ucall (see UCall)
utip(..) adds a tool tip to this button that will show the corresponding message (utip() can in fact be added to any Ubit widget)
IMPLICIT CALLBACKS: special rules applies when a UDialog or a UMenu is a direct child of a button: these widgets are then automatically opened when the button is (respectively) clicked or pressed.
1.8.12