libyui
 
Loading...
Searching...
No Matches
YComboBox Class Referenceabstract

#include <YComboBox.h>

Inheritance diagram for YComboBox:
Collaboration diagram for YComboBox:

Public Member Functions

virtual ~YComboBox ()
 
virtual const char * widgetClass () const
 
bool editable () const
 
std::string value ()
 
void setValue (const std::string &newText)
 
virtual YItemselectedItem ()
 
virtual YItemCollection selectedItems ()
 
virtual void selectItem (YItem *item, bool selected=true)
 
std::string validChars ()
 
virtual void setValidChars (const std::string &validChars)
 
int inputMaxLength () const
 
virtual void setInputMaxLength (int numberOfChars)
 
virtual bool setProperty (const std::string &propertyName, const YPropertyValue &val)
 
virtual YPropertyValue getProperty (const std::string &propertyName)
 
virtual const YPropertySetpropertySet ()
 
const char * userInputProperty ()
 
- Public Member Functions inherited from YSelectionWidget
virtual ~YSelectionWidget ()
 
std::string label () const
 
virtual void setLabel (const std::string &newLabel)
 
virtual void addItem (YItem *item_disown)
 
void addItem (const std::string &itemLabel, bool selected=false)
 
void addItem (const std::string &itemLabel, const std::string &iconName, bool selected=false)
 
virtual void addItems (const YItemCollection &itemCollection)
 
virtual void deleteAllItems ()
 
void setItems (const YItemCollection &itemCollection)
 
YItemIterator itemsBegin ()
 
YItemConstIterator itemsBegin () const
 
YItemIterator itemsEnd ()
 
YItemConstIterator itemsEnd () const
 
bool hasItems () const
 
int itemsCount () const
 
YItemitemAt (int index) const
 
YItemfirstItem () const
 
bool hasSelectedItem ()
 
virtual void setItemStatus (YItem *item, int status)
 
virtual void deselectAllItems ()
 
void setIconBasePath (const std::string &basePath)
 
std::string iconBasePath () const
 
std::string iconFullPath (const std::string &iconName) const
 
std::string iconFullPath (YItem *item) const
 
bool itemsContain (YItem *item) const
 
YItemfindItem (const std::string &itemLabel) const
 
void dumpItems () const
 
bool enforceSingleSelection () const
 
virtual void shortcutChanged ()
 
virtual std::string shortcutString () const
 
virtual void setShortcutString (const std::string &str)
 
- Public Member Functions inherited from YWidget
virtual ~YWidget ()
 
virtual std::string debugLabel () const
 
std::string helpText () const
 
void setHelpText (const std::string &helpText)
 
bool hasChildren () const
 
YWidgetfirstChild () const
 
YWidgetlastChild () const
 
YWidgetListIterator childrenBegin () const
 
YWidgetListIterator childrenEnd () const
 
YWidgetListConstIterator childrenConstBegin () const
 
YWidgetListConstIterator childrenConstEnd () const
 
YWidgetListIterator begin ()
 
YWidgetListIterator end ()
 
int childrenCount () const
 
bool contains (YWidget *child) const
 
virtual void addChild (YWidget *child)
 
virtual void removeChild (YWidget *child)
 
void deleteChildren ()
 
YWidgetparent () const
 
bool hasParent () const
 
void setParent (YWidget *newParent)
 
YDialogfindDialog ()
 
YWidgetfindWidget (YWidgetID *id, bool doThrow=true) const
 
virtual int preferredWidth ()=0
 
virtual int preferredHeight ()=0
 
virtual int preferredSize (YUIDimension dim)
 
virtual void setSize (int newWidth, int newHeight)=0
 
bool isValid () const
 
bool beingDestroyed () const
 
void * widgetRep () const
 
void setWidgetRep (void *toolkitWidgetRep)
 
bool hasId () const
 
YWidgetIDid () const
 
void setId (YWidgetID *newId_disown)
 
virtual void setEnabled (bool enabled=true)
 
void setDisabled ()
 
virtual bool isEnabled () const
 
virtual bool stretchable (YUIDimension dim) const
 
void setStretchable (YUIDimension dim, bool newStretch)
 
void setDefaultStretchable (YUIDimension dim, bool newStretch)
 
virtual int weight (YUIDimension dim)
 
bool hasWeight (YUIDimension dim)
 
void setWeight (YUIDimension dim, int weight)
 
void setNotify (bool notify=true)
 
bool notify () const
 
void setNotifyContextMenu (bool notifyContextMenu=true)
 
bool notifyContextMenu () const
 
bool sendKeyEvents () const
 
void setSendKeyEvents (bool doSend)
 
bool autoShortcut () const
 
void setAutoShortcut (bool _newAutoShortcut)
 
int functionKey () const
 
bool hasFunctionKey () const
 
virtual void setFunctionKey (int fkey_no)
 
virtual bool setKeyboardFocus ()
 
void dumpWidgetTree (int indentationLevel=0)
 
void dumpDialogWidgetTree ()
 
void setChildrenEnabled (bool enabled)
 
virtual void saveUserInput (YMacroRecorder *macroRecorder)
 
void * operator new (size_t size)
 
void operator delete (void *ptr) noexcept
 
virtual void startMultipleChanges ()
 
virtual void doneMultipleChanges ()
 

Protected Member Functions

 YComboBox (YWidget *parent, const std::string &label, bool editable)
 
virtual std::string text ()=0
 
virtual void setText (const std::string &newText)=0
 
- Protected Member Functions inherited from YSelectionWidget
 YSelectionWidget (YWidget *parent, const std::string &label, bool enforceSingleSelection, bool recursiveSelection=false)
 
void setEnforceSingleSelection (bool on)
 
void setEnforceInitialSelection (bool on)
 
bool enforceInitialSelection () const
 
bool recursiveSelection () const
 
YItemfindSelectedItem (YItemConstIterator begin, YItemConstIterator end)
 
void findSelectedItems (YItemCollection &selectedItems, YItemConstIterator begin, YItemConstIterator end)
 
void deselectAllItems (YItemIterator begin, YItemIterator end)
 
YItemfindItem (const std::string &wantedItemLabel, YItemConstIterator begin, YItemConstIterator end) const
 
bool itemsContain (YItem *wantedItem, YItemConstIterator begin, YItemConstIterator end) const
 
- Protected Member Functions inherited from YWidget
 YWidget (YWidget *parent)
 
YWidgetChildrenManagerchildrenManager () const
 
void setChildrenManager (YWidgetChildrenManager *manager)
 
void setBeingDestroyed ()
 
void dumpWidget (YWidget *w, int indentationLevel)
 

Detailed Description

ComboBox (or "drop down box", "drop down selection"); may be editable.

A widget with a drop-down list of predefined values to select from. Optionally, this widget can be created in "editable" mode which means that the user can freely enter any text.

In non-editable mode, a ComboBox works very much like a SelectionBox that uses fewer screen space. In that mode, it is recommended to use selectedItem() to retrieve its current value and selectItem() to set it.

In editable mode, a ComboBox is more like an InputField with a list to pick predefined values from (for less typing). In that mode, it is recommended to use value() and setValue().

In either mode, it might be dangerous to use the iterators the (itemsBegin(), itemsEnd()) the base class (YSelectionWidget) provides to find the currently selected item: The items' "selected" flag may or may not be up to date. YComboBox::selectedItem() makes sure they are up to date.

Constructor & Destructor Documentation

◆ YComboBox()

YComboBox::YComboBox ( YWidget * parent,
const std::string & label,
bool editable )
protected

Constructor.

'editable' means the user can freely enter any value without being restricted to the items of the ComboBox's list.

◆ ~YComboBox()

YComboBox::~YComboBox ( )
virtual

Destructor.

Member Function Documentation

◆ editable()

bool YComboBox::editable ( ) const

Return 'true' if this ComboBox is editable, i.e. if the user can freely enter any value without being restricted to the items of the ComboBox's list.

Notice that this can only be set in the constructor.

◆ getProperty()

YPropertyValue YComboBox::getProperty ( const std::string & propertyName)
virtual

Get a property. Reimplemented from YWidget.

This method may throw YUIPropertyExceptions.

Reimplemented from YWidget.

◆ inputMaxLength()

int YComboBox::inputMaxLength ( ) const

The maximum input length, i.e., the maximum number of characters the user can enter. -1 means no limit.

This is only meaningful for if the ComboBox is editable.

◆ propertySet()

const YPropertySet & YComboBox::propertySet ( )
virtual

Return this class's property set. This also initializes the property upon the first call.

Reimplemented from YWidget.

Reimplemented from YWidget.

◆ selectedItem()

YItem * YComboBox::selectedItem ( )
virtual

Return the (first) selected item or 0 if none is selected or if this ComboBox is editable and the user entered something that does not match any of the ComboBox's list items (in that case, use value() instead).

Reimplemented from YSelectionWidget for better reliability: This will compare an editable ComboBox's user input against the text labels of all items and try to return an item if there is any match.

Reimplemented from YSelectionWidget.

◆ selectedItems()

YItemCollection YComboBox::selectedItems ( )
virtual

Return all selected items.

This is not particularly useful for ComboBoxes since there can be no more than one selected item anyway; * better use selectedItem() or value() instead.

This function does not transfer ownership of those items to the caller, so don't try to delete them!

Reimplemented from YSelectionWidget for better reliability.

Reimplemented from YSelectionWidget.

◆ selectItem()

void YComboBox::selectItem ( YItem * item,
bool selected = true )
virtual

Select or deselect an item. See also setValue().

Reimplemented from YSelectionWidget.

Reimplemented from YSelectionWidget.

◆ setInputMaxLength()

void YComboBox::setInputMaxLength ( int numberOfChars)
virtual

Set the maximum input length, i.e., the maximum number of characters the user can enter. -1 means no limit.

This is only meaningful for if the ComboBox is editable.

Derived classes are free to reimplement this, but they should call this base class method at the end of the overloaded function.

◆ setProperty()

bool YComboBox::setProperty ( const std::string & propertyName,
const YPropertyValue & val )
virtual

Set a property. Reimplemented from YWidget.

This function may throw YUIPropertyExceptions.

This function returns 'true' if the value was successfully set and 'false' if that value requires special handling (not in error cases: those are covered by exceptions).

Reimplemented from YWidget.

◆ setText()

virtual void YComboBox::setText ( const std::string & newText)
protectedpure virtual

Set this ComboBox's current value as text.

Called internally whenever the content is to change programmatically. Don't call setValue() or selectItem() from here.

Derived classes are required to implement this function.

◆ setValidChars()

void YComboBox::setValidChars ( const std::string & validChars)
virtual

Set the valid input characters. No input validation is performed (i.e., the user can enter anything) if this is empty.

This is only meaningful for if the ComboBox is editable.

Derived classes are free to reimplement this, but they should call this base class method at the end of the overloaded function.

◆ setValue()

void YComboBox::setValue ( const std::string & newText)

Set the value of this ComboBox by string: Try to find a list item with that label and select it.

If there is no matching list item, editable ComboBoxes will set their input field to that text. Non-editable ComboBoxes will throw an exception.

See also selectItem().

◆ text()

virtual std::string YComboBox::text ( )
protectedpure virtual

Return this ComboBox's current value as text.

Called internally from value(), selectedItem() and related.

Derived classes are required to implement this function.

◆ userInputProperty()

const char * YComboBox::userInputProperty ( )
inlinevirtual

The name of the widget property that will return user input. Inherited from YWidget.

Reimplemented from YWidget.

◆ validChars()

string YComboBox::validChars ( )

Get the valid input characters. No input validation is performed (i.e., the user can enter anything) if this is empty.

This is only meaningful for if the ComboBox is editable.

◆ value()

string YComboBox::value ( )

Return the value of this ComboBox:

The text of a list item if the user (or the appplication) selected a list item or the content of the ComboBox's input field if the ComboBox is editable and the user (or the application) entered text there.

See also YComboBox::selectedItem().

◆ widgetClass()

virtual const char * YComboBox::widgetClass ( ) const
inlinevirtual

Returns a descriptive name of this widget class for logging, debugging etc.

Reimplemented from YSelectionWidget.


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