00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 00004 00005 #ifndef __I_GUI_COMBO_BOX_H_INCLUDED__ 00006 #define __I_GUI_COMBO_BOX_H_INCLUDED__ 00007 00008 #include "IGUIElement.h" 00009 00010 namespace irr 00011 { 00012 namespace gui 00013 { 00014 00016 00019 class IGUIComboBox : public IGUIElement 00020 { 00021 public: 00022 00024 IGUIComboBox(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle) 00025 : IGUIElement(EGUIET_COMBO_BOX, environment, parent, id, rectangle) {} 00026 00028 virtual u32 getItemCount() const = 0; 00029 00031 virtual const wchar_t* getItem(u32 idx) const = 0; 00032 00034 virtual u32 getItemData(u32 idx) const = 0; 00035 00037 virtual s32 getIndexForItemData(u32 data ) const = 0; 00038 00040 virtual u32 addItem(const wchar_t* text, u32 data = 0) = 0; 00041 00043 00044 virtual void removeItem(u32 idx) = 0; 00045 00047 virtual void clear() = 0; 00048 00050 virtual s32 getSelected() const = 0; 00051 00053 virtual void setSelected(s32 idx) = 0; 00054 00056 00060 virtual void setTextAlignment(EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT vertical) = 0; 00061 00063 virtual void setMaxSelectionRows(u32 max) = 0; 00064 00066 virtual u32 getMaxSelectionRows() const = 0; 00067 }; 00068 00069 00070 } // end namespace gui 00071 } // end namespace irr 00072 00073 #endif 00074