Irrlicht 3D Engine
IGUITabControl.h
Go to the documentation of this file.
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_TAB_CONTROL_H_INCLUDED__
00006 #define __I_GUI_TAB_CONTROL_H_INCLUDED__
00007 
00008 #include "IGUIElement.h"
00009 #include "SColor.h"
00010 #include "IGUISkin.h"
00011 
00012 namespace irr
00013 {
00014 namespace gui
00015 {
00017 
00018     class IGUITab : public IGUIElement
00019     {
00020     public:
00021 
00023         IGUITab(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
00024             : IGUIElement(EGUIET_TAB, environment, parent, id, rectangle) {}
00025 
00027 
00030         virtual s32 getNumber() const = 0;
00031 
00033         virtual void setDrawBackground(bool draw=true) = 0;
00034 
00036         virtual void setBackgroundColor(video::SColor c) = 0;
00037 
00039         virtual bool isDrawingBackground() const = 0;
00040 
00042         virtual video::SColor getBackgroundColor() const = 0;
00043 
00045         virtual void setTextColor(video::SColor c) = 0;
00046 
00048         virtual video::SColor getTextColor() const = 0;
00049     };
00050 
00052 
00055     class IGUITabControl : public IGUIElement
00056     {
00057     public:
00058 
00060         IGUITabControl(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
00061             : IGUIElement(EGUIET_TAB_CONTROL, environment, parent, id, rectangle) {}
00062 
00064         virtual IGUITab* addTab(const wchar_t* caption, s32 id=-1) = 0;
00065 
00067 
00068         virtual IGUITab* insertTab(s32 idx, const wchar_t* caption, s32 id=-1) = 0;
00069 
00071         virtual void removeTab(s32 idx) = 0;
00072 
00074         virtual void clear() = 0;
00075 
00077         virtual s32 getTabCount() const = 0;
00078 
00080 
00083         virtual IGUITab* getTab(s32 idx) const = 0;
00084 
00086 
00088         virtual bool setActiveTab(s32 idx) = 0;
00089 
00091 
00093         virtual bool setActiveTab(IGUITab *tab) = 0;
00094 
00096         virtual s32 getActiveTab() const = 0;
00097 
00099 
00100         virtual s32 getTabAt(s32 xpos, s32 ypos) const = 0;
00101 
00103         virtual void setTabHeight( s32 height ) = 0;
00104 
00106 
00107         virtual s32 getTabHeight() const = 0;
00108 
00110         virtual void setTabMaxWidth(s32 width ) = 0;
00111 
00113         virtual s32 getTabMaxWidth() const = 0;
00114 
00116 
00117         virtual void setTabVerticalAlignment( gui::EGUI_ALIGNMENT alignment ) = 0;
00118 
00120 
00121         virtual gui::EGUI_ALIGNMENT getTabVerticalAlignment() const = 0;
00122 
00124         virtual void setTabExtraWidth( s32 extraWidth ) = 0;
00125 
00127 
00128         virtual s32 getTabExtraWidth() const = 0;
00129     };
00130 
00131 
00132 } // end namespace gui
00133 } // end namespace irr
00134 
00135 #endif
00136