📄 ceguicombobox.h
字号:
void setValidationString(const String& validation_string);
/*!
\brief
Set the current position of the carat.
\param carat_pos
New index for the insert carat relative to the start of the text. If the value specified is greater than the
number of characters in the Editbox, the carat is positioned at the end of the text.
\return
Nothing.
*/
void setCaratIndex(size_t carat_pos);
/*!
\brief
Define the current selection for the Editbox
\param start_pos
Index of the starting point for the selection. If this value is greater than the number of characters in the Editbox, the
selection start will be set to the end of the text.
\param end_pos
Index of the ending point for the selection. If this value is greater than the number of characters in the Editbox, the
selection start will be set to the end of the text.
\return
Nothing.
*/
void setSelection(size_t start_pos, size_t end_pos);
/*!
\brief
set the maximum text length for this Editbox.
\param max_len
The maximum number of code points (characters) that can be entered into this Editbox.
\note
Depending on the validation string set, the actual length of text that can be entered may be less than the value
set here (it will never be more).
\return
Nothing.
*/
void setMaxTextLength(size_t max_len);
/*!
\brief
Activate the edit box component of the Combobox.
\return
Nothing.
*/
void activateEditbox(void);
/*************************************************************************
List Manipulators
*************************************************************************/
/*!
\brief
Remove all items from the list.
Note that this will cause 'AutoDelete' items to be deleted.
*/
void resetList(void);
/*!
\brief
Add the given ListboxItem to the list.
\param item
Pointer to the ListboxItem to be added to the list. Note that it is the passed object that is added to the
list, a copy is not made. If this parameter is NULL, nothing happens.
\return
Nothing.
*/
void addItem(ListboxItem* item);
/*!
\brief
Insert an item into the list box after a specified item already in the list.
Note that if the list is sorted, the item may not end up in the requested position.
\param item
Pointer to the ListboxItem to be inserted. Note that it is the passed object that is added to the
list, a copy is not made. If this parameter is NULL, nothing happens.
\param position
Pointer to a ListboxItem that \a item is to be inserted after. If this parameter is NULL, the item is
inserted at the start of the list.
\return
Nothing.
*/
void insertItem(ListboxItem* item, const ListboxItem* position);
/*!
\brief
Removes the given item from the list box.
\param item
Pointer to the ListboxItem that is to be removed. If \a item is not attached to this list box then nothing
will happen.
\return
Nothing.
*/
void removeItem(const ListboxItem* item);
/*!
\brief
Clear the selected state for all items.
\return
Nothing.
*/
void clearAllSelections(void);
/*!
\brief
Set whether the list should be sorted.
\param setting
true if the list should be sorted, false if the list should not be sorted.
\return
Nothing.
*/
void setSortingEnabled(bool setting);
/*!
\brief
Set whether the vertical scroll bar should always be shown.
\param setting
true if the vertical scroll bar should be shown even when it is not required. false if the vertical
scroll bar should only be shown when it is required.
\return
Nothing.
*/
void setShowVertScrollbar(bool setting);
/*!
\brief
Set whether the horizontal scroll bar should always be shown.
\param setting
true if the horizontal scroll bar should be shown even when it is not required. false if the horizontal
scroll bar should only be shown when it is required.
\return
Nothing.
*/
void setShowHorzScrollbar(bool setting);
/*!
\brief
Set the select state of an attached ListboxItem.
This is the recommended way of selecting and deselecting items attached to a list box as it respects the
multi-select mode setting. It is possible to modify the setting on ListboxItems directly, but that approach
does not respect the settings of the list box.
\param item
The ListboxItem to be affected. This item must be attached to the list box.
\param state
true to select the item, false to de-select the item.
\return
Nothing.
\exception InvalidRequestException thrown if \a item is not attached to this list box.
*/
void setItemSelectState(ListboxItem* item, bool state);
/*!
\brief
Set the select state of an attached ListboxItem.
This is the recommended way of selecting and deselecting items attached to a list box as it respects the
multi-select mode setting. It is possible to modify the setting on ListboxItems directly, but that approach
does not respect the settings of the list box.
\param item_index
The zero based index of the ListboxItem to be affected. This must be a valid index (0 <= index < getItemCount())
\param state
true to select the item, false to de-select the item.
\return
Nothing.
\exception InvalidRequestException thrown if \a item_index is out of range for the list box
*/
void setItemSelectState(size_t item_index, bool state);
/*!
\brief
Causes the list box to update it's internal state after changes have been made to one or more
attached ListboxItem objects.
Client code must call this whenever it has made any changes to ListboxItem objects already attached to the
list box. If you are just adding items, or removed items to update them prior to re-adding them, there is
no need to call this method.
\return
Nothing.
*/
void handleUpdatedListItemData(void);
/*************************************************************************
Construction and Destruction
*************************************************************************/
/*!
\brief
Constructor for Combobox base class
*/
Combobox(const String& type, const String& name);
/*!
\brief
Destructor for Combobox base class
*/
virtual ~Combobox(void);
protected:
/*************************************************************************
Implementation Methods
*************************************************************************/
/*!
\brief
Handler function for button clicks.
*/
bool button_PressHandler(const EventArgs& e);
/*!
\brief
Handler for selections made in the drop-list
*/
bool droplist_SelectionAcceptedHandler(const EventArgs& e);
/*!
\brief
Handler for when drop-list hides itself
*/
bool droplist_HiddenHandler(const EventArgs& e);
/*!
\brief
Mouse button down handler attached to edit box
*/
bool editbox_MouseDownHandler(const EventArgs& e);
/*!
\brief
Return whether this window was inherited from the given class name at some point in the inheritance hierarchy.
\param class_name
The class name that is to be checked.
\return
true if this window was inherited from \a class_name. false if not.
*/
virtual bool testClassName_impl(const String& class_name) const
{
if (class_name=="Combobox") return true;
return Window::testClassName_impl(class_name);
}
/*************************************************************************
Handlers to relay child widget events so they appear to come from us
*************************************************************************/
bool editbox_ReadOnlyChangedHandler(const EventArgs& e);
bool editbox_ValidationStringChangedHandler(const EventArgs& e);
bool editbox_MaximumTextLengthChangedHandler(const EventArgs& e);
bool editbox_TextInvalidatedEventHandler(const EventArgs& e);
bool editbox_InvalidEntryAttemptedHandler(const EventArgs& e);
bool editbox_CaratMovedHandler(const EventArgs& e);
bool editbox_TextSelectionChangedHandler(const EventArgs& e);
bool editbox_EditboxFullEventHandler(const EventArgs& e);
bool editbox_TextAcceptedEventHandler(const EventArgs& e);
bool editbox_TextChangedEventHandler(const EventArgs& e);
bool listbox_ListContentsChangedHandler(const EventArgs& e);
bool listbox_ListSelectionChangedHandler(const EventArgs& e);
bool listbox_SortModeChangedHandler(const EventArgs& e);
bool listbox_VertScrollModeChangedHandler(const EventArgs& e);
bool listbox_HorzScrollModeChangedHandler(const EventArgs& e);
/*************************************************************************
New Events for Combobox
*************************************************************************/
/*!
\brief
Handler called internally when the read only state of the Combobox's Editbox has been changed.
*/
virtual void onReadOnlyChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the Combobox's Editbox validation string has been changed.
*/
virtual void onValidationStringChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the Combobox's Editbox maximum text length is changed.
*/
virtual void onMaximumTextLengthChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the Combobox's Editbox text has been invalidated.
*/
virtual void onTextInvalidatedEvent(WindowEventArgs& e);
/*!
\brief
Handler called internally when an invalid entry was attempted in the Combobox's Editbox.
*/
virtual void onInvalidEntryAttempted(WindowEventArgs& e);
/*!
\brief
Handler called internally when the carat in the Comboxbox's Editbox moves.
*/
virtual void onCaratMoved(WindowEventArgs& e);
/*!
\brief
Handler called internally when the selection within the Combobox's Editbox changes.
*/
virtual void onTextSelectionChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the maximum length is reached for text in the Combobox's Editbox.
*/
virtual void onEditboxFullEvent(WindowEventArgs& e);
/*!
\brief
Handler called internally when the text in the Combobox's Editbox is accepted (by various means).
*/
virtual void onTextAcceptedEvent(WindowEventArgs& e);
/*!
\brief
Handler called internally when the Combobox's Drop-down list contents are changed.
*/
virtual void onListContentsChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the selection within the Combobox's drop-down list changes
(this is not the 'final' accepted selection, just the currently highlighted item).
*/
virtual void onListSelectionChanged(WindowEventArgs& e);
/*!
\brief
Handler called fired internally when the sort mode for the Combobox's drop-down list is changed.
*/
virtual void onSortModeChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the 'force' setting for the vertical scrollbar within the Combobox's
drop-down list is changed.
*/
virtual void onVertScrollbarModeChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the 'force' setting for the horizontal scrollbar within the Combobox's
drop-down list is changed.
*/
virtual void onHorzScrollbarModeChanged(WindowEventArgs& e);
/*!
\brief
Handler called internally when the Combobox's drop-down list has been displayed.
*/
virtual void onDropListDisplayed(WindowEventArgs& e);
/*!
\brief
Handler called internally when the Combobox's drop-down list has been hidden.
*/
virtual void onDroplistRemoved(WindowEventArgs& e);
/*!
\brief
Handler called internally when the user has confirmed a selection within the Combobox's drop-down list.
*/
virtual void onListSelectionAccepted(WindowEventArgs& e);
/*************************************************************************
Overridden Event handlers
*************************************************************************/
virtual void onFontChanged(WindowEventArgs& e);
virtual void onTextChanged(WindowEventArgs& e);
virtual void onActivated(ActivationEventArgs& e);
/*************************************************************************
Implementation Data
*************************************************************************/
bool d_singleClickOperation; //!< true if user can show and select from list in a single click.
private:
/*************************************************************************
Static Properties for this class
*************************************************************************/
static ComboboxProperties::ReadOnly d_readOnlyProperty;
static ComboboxProperties::ValidationString d_validationStringProperty;
static ComboboxProperties::CaratIndex d_caratIndexProperty;
static ComboboxProperties::EditSelectionStart d_selStartProperty;
static ComboboxProperties::EditSelectionLength d_selLengthProperty;
static ComboboxProperties::MaxEditTextLength d_maxTextLengthProperty;
static ComboboxProperties::SortList d_sortProperty;
static ComboboxProperties::ForceVertScrollbar d_forceVertProperty;
static ComboboxProperties::ForceHorzScrollbar d_forceHorzProperty;
static ComboboxProperties::SingleClickMode d_singleClickOperationProperty;
/*************************************************************************
Private methods
*************************************************************************/
void addComboboxProperties(void);
};
} // End of CEGUI namespace section
#if defined(_MSC_VER)
# pragma warning(pop)
#endif
#endif // end of guard _CEGUICombobox_h_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -