00001 #ifndef _LISTBOX_BASE_H_ 00002 #define _LISTBOX_BASE_H_ 00003 00004 #include "listboxdataitem.h" 00005 00006 namespace WoopsiUI { 00007 00011 class ListBoxBase { 00012 public: 00013 00019 virtual void addOption(const WoopsiString& text, const u32 value) = 0; 00020 00025 virtual void addOption(ListBoxDataItem* option) = 0; 00026 00031 virtual void removeOption(const s32 index) = 0; 00032 00036 virtual void removeAllOptions() = 0; 00037 00047 virtual void addOption(const WoopsiString& text, const u32 value, const u16 normalTextColour, const u16 normalBackColour, const u16 selectedTextColour, const u16 selectedBackColour) = 0; 00048 00054 virtual void selectOption(const s32 index) = 0; 00055 00061 virtual void deselectOption(const s32 index) = 0; 00062 00067 virtual void selectAllOptions() = 0; 00068 00073 virtual void deselectAllOptions() = 0; 00074 00080 virtual const s32 getSelectedIndex() const = 0; 00081 00088 virtual void setSelectedIndex(const s32 index) = 0; 00089 00094 virtual const ListBoxDataItem* getSelectedOption() const = 0; 00095 00100 virtual void setAllowMultipleSelections(const bool allowMultipleSelections) = 0; 00101 00106 virtual const bool allowsMultipleSelections() const = 0; 00107 00112 virtual const ListBoxDataItem* getOption(const s32 index) = 0; 00113 00117 virtual void sort() = 0; 00118 00123 virtual const s32 getOptionCount() const = 0; 00124 00129 virtual const u16 getOptionHeight() const = 0; 00130 00135 virtual void setSortInsertedItems(const bool sortInsertedItems) = 0; 00136 }; 00137 } 00138 00139 #endif