ubit
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ubit::UChoice Class Reference

Makes the children of a widget (exclusively) selectable. More...

#include <uchoice.hpp>

Inheritance diagram for ubit::UChoice:
ubit::UAttr ubit::UNode ubit::UObject

Classes

struct  IsSelectable
 

Public Member Functions

 UChoice ()
 create a new UChoice object; More...
 
virtual void clearSelection ()
 deselects the selected object.
 
virtual UBoxgetSelectedItem () const
 returns the current selection; returns null if there is no selection.
 
virtual UBoxsetSelectedItem (UBox &)
 selects and returns this item if it is in the list, returns null otherwise.
 
virtual UBoxsetSelectedItem (UBox *)
 selects this item or clear the selection if this item is null.
 
virtual int getSelectedIndex () const
 returns the index of the selection; returns -1 if there is no selection. More...
 
virtual UBoxsetSelectedIndex (int N)
 selects the Nth selectable object in the list. More...
 
virtual UBoxgetSelectableItem (int N) const
 returns the Nth selectable object. More...
 
virtual UBoxgetSelectableItem (const UStr &s, bool ignore_case=true) const
 returns the 1st selectable object which contains a string equal to 's'. More...
 
virtual void setSelectionRule (IsSelectable &)
 define which objects can be selected in the list. More...
 
virtual void update ()
 updates parents graphics.
 
virtual void putProp (UUpdateContext *, UElem &)
 [impl] changes corresponding value in the UUpdateContext
 
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...
 
- Public Member Functions inherited from ubit::UAttr
 UAttr (UConst)
 
virtual UAttrtoAttr ()
 dynamic cast: returns this object if it derives from UAttr and null otherwise.
 
virtual const UAttrtoAttr () 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 UStrgetNodeName () const
 returns the name of this attribute (calls getName()).
 
virtual UStr getNodeValue () const
 returns the value of this attribute (calls getValue()).
 
virtual const UStrgetName () 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 UAttronChange (UCall &)
 adds a callback that is fired when the value of the property is modified. More...
 
UAttrsetConst ()
 
- Public Member Functions inherited from ubit::UNode
virtual int isDisplayable () const
 
virtual UNodetoNode ()
 dynamic cast: returns this object if it derives from UNode and null otherwise.
 
virtual const UNodetoNode () 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 UParentsparents () const
 returns the list of direct parents ( More...
 
virtual UElemgetParent (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 UBoxgetParent (const UView *) const
 returns the direct or indirect parent that contains this view. More...
 
virtual UViewgetParentView (const UView *) const
 returns the direct or indirect parent's view that contains this view. More...
 
virtual UBoxgetParent (const UInputEvent &) const
 
virtual UViewgetParentView (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 UNoderemoveAllAttrs (bool autodel=true)
 removes all attributes (if any, redefined by subclasses).
 
bool isAutoUpdate () const
 return current update policy: see setAutoUpdate().
 
UNodesetAutoUpdate (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 UElemgetSubGroup () 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 &)
 
UObjectoperator= (const UObject &)
 
virtual const UClassgetClass () const
 instance method that returns the metaclass of this object. More...
 
const UStrgetClassName () 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...
 
UObjectsetConst ()
 specifies that the content of this object cannot be modified. More...
 
bool isAutoUpdate () const
 return current update policy: More...
 
UObjectsetAutoUpdate (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.
 
UObjectignoreChangeCallbacks (bool state)
 change callbacks are not fired if argument is true.
 
virtual UElemtoElem ()
 dynamic cast: returns this object if it derives from UElem and null otherwise.
 
virtual const UElemtoElem () const
 dynamic cast: returns this object if it derives from UElem and null otherwise.
 
virtual UDatatoData ()
 dynamic cast: returns this object if it derives from UData and null otherwise.
 
virtual const UDatatoData () const
 dynamic cast: returns this object if it derives from UData and null otherwise.
 
virtual UStrtoStr ()
 dynamic cast: returns this object if it derives from UStr and null otherwise.
 
virtual const UStrtoStr () const
 dynamic cast: returns this object if it derives from UStr and null otherwise.
 
virtual UCalltoCall ()
 dynamic cast: returns this object if it derives from UCall and null otherwise.
 
virtual const UCalltoCall () const
 dynamic cast: returns this object if it derives from UCall and null otherwise.
 
virtual UBoxtoBox ()
 dynamic cast: returns this object if it derives from UBox and null otherwise.
 
virtual const UBoxtoBox () const
 dynamic cast: returns this object if it derives from UBox and null otherwise.
 
virtual UWintoWin ()
 dynamic cast: returns this object if it derives from UWin and null otherwise.
 
virtual const UWintoWin () const
 dynamic cast: returns this object if it derives from UWin and null otherwise.
 
virtual UMenutoMenu ()
 dynamic cast: returns this object if it derives from UMenu and null otherwise.
 
virtual const UMenutoMenu () 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 void mouseCB (UInputEvent &)
 
virtual void actionCB (UInputEvent *)
 
virtual void changeCB (UInputEvent *)
 
virtual void changed (bool update=true)
 [impl] called when object's content is changed. More...
 
virtual UBoxsetSelectedItemImpl (UBox *item, UInputEvent *)
 
virtual UBoxgetSelectedItemImpl () 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 destructs ()
 unlinks the object from its parents and destroys its children.
 

Protected Attributes

uptr< UCallcallbacks
 
uptr< UBoxcontainer
 
uptr< UElemlast_browsing_group
 
uptr< UElemsel_items
 
IsSelectableis_selectable
 
- Protected Attributes inherited from ubit::UNode
UParents _parents
 
UChildren _attributes
 
- Protected Attributes inherited from ubit::UObject
PtrCount ptr_count
 
Modes omodes
 
State ostate
 

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 UClassClass ()
 class method that returns the metaclass of this class. More...
 
static UStylecreateStyle ()
 
- 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...
 

Detailed Description

Makes the children of a widget (exclusively) selectable.

This object makes the CHILDREN of a widget selectable. It must be added to the chilsd or attribute list of this widget. Selection is exclusive. No child is initially selected. UListbox, UTreebox, UCombobox use an internal UChoice

See also
also: URadioSelect.

Constructor & Destructor Documentation

§ UChoice()

UChoice::UChoice ( )

create a new UChoice object;

See also
also shortcut uchoice().

Member Function Documentation

§ changed()

void UChoice::changed ( bool  update = true)
protectedvirtual

[impl] called when object's content is changed.

This function updates graphics (if 'update' is true) then fires parents' UOn::propChange callbacks

Reimplemented from ubit::UAttr.

§ getSelectableItem() [1/2]

virtual UBox* ubit::UChoice::getSelectableItem ( int  N) const
virtual

returns the Nth selectable object.

the last selectable object is returned if N = -1. NOTE: A list can contain non-selectable objects, which are ignored when counting indexes. Use getChild() to have access to all objects.

§ getSelectableItem() [2/2]

virtual UBox* ubit::UChoice::getSelectableItem ( const UStr s,
bool  ignore_case = true 
) const
virtual

returns the 1st selectable object which contains a string equal to 's'.

this function compares the content of the strings (not their addresses). NOTE: A list can contain non-selectable objects, which are ignored by this function. Use getChild() to have access to all objects.

§ getSelectedIndex()

int UChoice::getSelectedIndex ( ) const
virtual

returns the index of the selection; returns -1 if there is no selection.

NOTE: the returned value is the index among the selectable objects of the list. A list can contain non-selectable objects, which are ignored when counting indexes.

§ removingFrom()

void UChoice::removingFrom ( UChild ,
UElem parent 
)
virtual

called when this object is removed from a parent (SEE DETAILS IF YOU REDEFINE THIS METHOD).

!BEWARE: subclasses that redefine removingFrom() MUST HAVE A DESTRUCTOR that calls destructs().
DETAILS: this is because of a C++ subtletly: as polymorphism is deactivated in destructors, a redefined removingFrom() method won't be called except if destructs() - that calls removingFrom() - is called in the destructor of the class that redefines removingFrom()).

Reimplemented from ubit::UNode.

§ setSelectedIndex()

UBox * UChoice::setSelectedIndex ( int  N)
virtual

selects the Nth selectable object in the list.

the last selectable object is selected if N = -1. The selected object is returned (if any, null is returned otherwise). NOTE: N is the index of the Nth selectable object. A list can contain non-selectable objects, which are ignored when counting indexes.

§ setSelectionRule()

void UChoice::setSelectionRule ( IsSelectable v)
virtual

define which objects can be selected in the list.

by default, ARMable objects that derive from UBox can be selected, such as UItem, UButton ... or any box that has been made armable by adding its setArmable() method.


The documentation for this class was generated from the following files: