diff options
Diffstat (limited to 'include/IGUIListBox.h')
| -rw-r--r-- | include/IGUIListBox.h | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/include/IGUIListBox.h b/include/IGUIListBox.h new file mode 100644 index 0000000..0af7d7c --- /dev/null +++ b/include/IGUIListBox.h @@ -0,0 +1,138 @@ +// Copyright (C) 2002-2012 Nikolaus Gebhardt
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#ifndef __I_GUI_LIST_BOX_H_INCLUDED__
+#define __I_GUI_LIST_BOX_H_INCLUDED__
+
+#include "IGUIElement.h"
+#include "SColor.h"
+
+namespace irr
+{
+namespace gui
+{
+ class IGUISpriteBank;
+
+ //! Enumeration for listbox colors
+ enum EGUI_LISTBOX_COLOR
+ {
+ //! Color of text
+ EGUI_LBC_TEXT=0,
+ //! Color of selected text
+ EGUI_LBC_TEXT_HIGHLIGHT,
+ //! Color of icon
+ EGUI_LBC_ICON,
+ //! Color of selected icon
+ EGUI_LBC_ICON_HIGHLIGHT,
+ //! Not used, just counts the number of available colors
+ EGUI_LBC_COUNT
+ };
+
+
+ //! Default list box GUI element.
+ /** \par This element can create the following events of type EGUI_EVENT_TYPE:
+ \li EGET_LISTBOX_CHANGED
+ \li EGET_LISTBOX_SELECTED_AGAIN
+ */
+ class IGUIListBox : public IGUIElement
+ {
+ public:
+ //! constructor
+ IGUIListBox(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
+ : IGUIElement(EGUIET_LIST_BOX, environment, parent, id, rectangle) {}
+
+ //! returns amount of list items
+ virtual u32 getItemCount() const = 0;
+
+ //! returns string of a list item. the may id be a value from 0 to itemCount-1
+ virtual const wchar_t* getListItem(u32 id) const = 0;
+
+ //! adds an list item, returns id of item
+ virtual u32 addItem(const wchar_t* text) = 0;
+
+ //! adds an list item with an icon
+ /** \param text Text of list entry
+ \param icon Sprite index of the Icon within the current sprite bank. Set it to -1 if you want no icon
+ \return The id of the new created item */
+ virtual u32 addItem(const wchar_t* text, s32 icon) = 0;
+
+ //! Removes an item from the list
+ virtual void removeItem(u32 index) = 0;
+
+ //! get the the id of the item at the given absolute coordinates
+ /** \return The id of the listitem or -1 when no item is at those coordinates*/
+ virtual s32 getItemAt(s32 xpos, s32 ypos) const = 0;
+
+ //! Returns the icon of an item
+ virtual s32 getIcon(u32 index) const = 0;
+
+ //! Sets the sprite bank which should be used to draw list icons.
+ /** This font is set to the sprite bank of the built-in-font by
+ default. A sprite can be displayed in front of every list item.
+ An icon is an index within the icon sprite bank. Several
+ default icons are available in the skin through getIcon. */
+ virtual void setSpriteBank(IGUISpriteBank* bank) = 0;
+
+ //! clears the list, deletes all items in the listbox
+ virtual void clear() = 0;
+
+ //! returns id of selected item. returns -1 if no item is selected.
+ virtual s32 getSelected() const = 0;
+
+ //! sets the selected item. Set this to -1 if no item should be selected
+ virtual void setSelected(s32 index) = 0;
+
+ //! sets the selected item. Set this to 0 if no item should be selected
+ virtual void setSelected(const wchar_t *item) = 0;
+
+ //! set whether the listbox should scroll to newly selected items
+ virtual void setAutoScrollEnabled(bool scroll) = 0;
+
+ //! returns true if automatic scrolling is enabled, false if not.
+ virtual bool isAutoScrollEnabled() const = 0;
+
+ //! set all item colors at given index to color
+ virtual void setItemOverrideColor(u32 index, video::SColor color) = 0;
+
+ //! set all item colors of specified type at given index to color
+ virtual void setItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType, video::SColor color) = 0;
+
+ //! clear all item colors at index
+ virtual void clearItemOverrideColor(u32 index) = 0;
+
+ //! clear item color at index for given colortype
+ virtual void clearItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) = 0;
+
+ //! has the item at index its color overwritten?
+ virtual bool hasItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
+
+ //! return the overwrite color at given item index.
+ virtual video::SColor getItemOverrideColor(u32 index, EGUI_LISTBOX_COLOR colorType) const = 0;
+
+ //! return the default color which is used for the given colorType
+ virtual video::SColor getItemDefaultColor(EGUI_LISTBOX_COLOR colorType) const = 0;
+
+ //! set the item at the given index
+ virtual void setItem(u32 index, const wchar_t* text, s32 icon) = 0;
+
+ //! Insert the item at the given index
+ /** \return The index on success or -1 on failure. */
+ virtual s32 insertItem(u32 index, const wchar_t* text, s32 icon) = 0;
+
+ //! Swap the items at the given indices
+ virtual void swapItems(u32 index1, u32 index2) = 0;
+
+ //! set global itemHeight
+ virtual void setItemHeight( s32 height ) = 0;
+
+ //! Sets whether to draw the background
+ virtual void setDrawBackground(bool draw) = 0;
+};
+
+
+} // end namespace gui
+} // end namespace irr
+
+#endif
+
|
