Woopsi 1.0
GUI Framework for Nintendo DS Homebrew

listboxbase.h

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 
00050                 virtual void addOption(const WoopsiString& text, const u32 value, const u16 normalTextColour, const u16 normalBackColour, const u16 selectedTextColour, const u16 selectedBackColour) = 0;
00051 
00057                 virtual void selectOption(const s32 index) = 0;
00058 
00064                 virtual void deselectOption(const s32 index) = 0;
00065 
00071                 virtual void selectAllOptions() = 0;
00072 
00077                 virtual void deselectAllOptions() = 0;
00078 
00085                 virtual const s32 getSelectedIndex() const = 0;
00086 
00093                 virtual void setSelectedIndex(const s32 index) = 0;
00094 
00099                 virtual const ListBoxDataItem* getSelectedOption() const = 0;
00100                 
00105                 virtual void setAllowMultipleSelections(const bool allowMultipleSelections) = 0;
00106 
00111                 virtual const bool allowsMultipleSelections() const = 0;
00112 
00117                 virtual const ListBoxDataItem* getOption(const s32 index) = 0;
00118 
00122                 virtual void sort() = 0;
00123 
00128                 virtual const s32 getOptionCount() const = 0;
00129 
00134                 virtual const u16 getOptionHeight() const = 0;
00135 
00141                 virtual void setSortInsertedItems(const bool sortInsertedItems) = 0;
00142 
00146                 virtual ~ListBoxBase() { };
00147         };
00148 }
00149 
00150 #endif