- Main Page
- Classes
- Files

- File List

# scrollinglistbox.h

    00001 #ifndef _SCROLLING_LISTBOX_H_
    00002 #define _SCROLLING_LISTBOX_H_
    00003
    00004 #include "gadget.h"
    00005 #include "listbox.h"
    00006 #include "gadgeteventhandler.h"
    00007 #include "listdata.h"
    00008 #include "listboxdataitem.h"
    00009 #include "gadgetstyle.h"
    00010 #include "listboxbase.h"
    00011
    00012 namespace WoopsiUI {
    00013
    00014         class ScrollbarVertical;
    00015
    00021         class ScrollingListBox : public ListBoxBase, public Gadget, public GadgetEventHandler {
    00022         public:
    00023
    00035                 ScrollingListBox(s16 x, s16 y, u16 width, u16 height, GadgetStyle* style = NULL);
    00036
    00042                 virtual void addOption(const WoopsiString& text, const u32 value);
    00043
    00048                 virtual void addOption(ListBoxDataItem* option);
    00049
    00059                 virtual void addOption(const WoopsiString& text, const u32 value, const u16 normalTextColour, const u16 normalBackColour, const u16 selectedTextColour, const u16 selectedBackColour);
    00060
    00065                 virtual void removeOption(const s32 index);
    00066
    00070                 virtual void removeAllOptions();
    00071
    00077                 virtual inline void selectOption(const s32 index) {
    00078                         _listbox->selectOption(index);
    00079                 };
    00080
    00086                 virtual inline void deselectOption(const s32 index) {
    00087                         _listbox->deselectOption(index);
    00088                 };
    00089
    00094                 virtual inline void selectAllOptions() {
    00095                         _listbox->selectAllOptions();
    00096                 };
    00097
    00102                 virtual inline void deselectAllOptions() {
    00103                         _listbox->deselectAllOptions();
    00104                 };
    00105
    00111                 virtual inline const s32 getSelectedIndex() const {
    00112                         return _listbox->getSelectedIndex();
    00113                 };
    00114
    00121                 virtual inline void setSelectedIndex(const s32 index) {
    00122                         _listbox->setSelectedIndex(index);
    00123                 };
    00124
    00129                 virtual inline const ListBoxDataItem* getSelectedOption() const {
    00130                         return _listbox->getSelectedOption();
    00131                 };
    00132
    00137                 virtual inline void setAllowMultipleSelections(const bool allowMultipleSelections) {
    00138                         _listbox->setAllowMultipleSelections(allowMultipleSelections);
    00139                 };
    00140
    00145                 virtual inline const bool allowsMultipleSelections() const {
    00146                         return _listbox->allowsMultipleSelections();
    00147                 };
    00148
    00152                 virtual inline void resizeCanvas() {
    00153                         _listbox->resizeCanvas();
    00154                 };
    00155
    00160                 virtual inline const ListBoxDataItem* getOption(const s32 index) {
    00161                         return _listbox->getOption(index);
    00162                 };
    00163
    00168                 virtual inline const ListBoxDataItem* getOption(const s32 index) const {
    00169                         return _listbox->getOption(index);
    00170                 };
    00171
    00175                 virtual inline void sort() {
    00176                         _listbox->sort();
    00177                 };
    00178
    00183                 virtual inline const s32 getOptionCount() const {
    00184                         return _listbox->getOptionCount();
    00185                 };
    00186
    00191                 virtual inline const u16 getOptionHeight() const {
    00192                         return _listbox->getOptionHeight();
    00193                 };
    00194
    00199                 virtual void handleValueChangeEvent(const GadgetEventArgs& e);
    00200
    00205                 virtual void handleActionEvent(const GadgetEventArgs& e);
    00206
    00211                 virtual void handleScrollEvent(const GadgetEventArgs& e);
    00212
    00217                 virtual void handleClickEvent(const GadgetEventArgs& e);
    00218
    00223                 virtual void handleDoubleClickEvent(const GadgetEventArgs& e);
    00224
    00230                 virtual void handleReleaseEvent(const GadgetEventArgs& e);
    00231
    00237                 virtual void handleReleaseOutsideEvent(const GadgetEventArgs& e);
    00238
    00243                 virtual void setFont(FontBase* font);
    00244
    00249                 virtual inline void setSortInsertedItems(const bool sortInsertedItems) { _listbox->setSortInsertedItems(sortInsertedItems); };
    00250
    00258                 virtual void getPreferredDimensions(Rect& rect) const;
    00259
    00260         protected:
    00261                 ListBox* _listbox;
    00262                 ScrollbarVertical* _scrollbar;
    00263                 u8 _scrollbarWidth;
    00271                 virtual void drawContents(GraphicsPort* port);
    00272
    00278                 virtual void onResize(u16 width, u16 height);
    00279
    00283                 virtual inline ~ScrollingListBox() { };
    00284
    00288                 inline ScrollingListBox(const ScrollingListBox& scrollingListBox) : Gadget(scrollingListBox) { };
    00289         };
    00290 }
    00291
    00292 #endif