tge/engine/gui/controls/guiTabPageCtrl.h
2017-04-17 06:17:10 -06:00

50 lines
1.9 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Justin DuJardin
// Gui Tab Page Control Class
//-----------------------------------------------------------------------------
#ifndef _GUITABPAGECTRL_H_
#define _GUITABPAGECTRL_H_
#ifndef _GUITEXTCTRL_H_
#include "gui/controls/guiTextCtrl.h"
#endif
class GuiTabPageCtrl : public GuiTextCtrl
{
private:
typedef GuiTextCtrl Parent;
Point2I mMinSize;
S32 mTabIndex;
public:
GuiTabPageCtrl();
DECLARE_CONOBJECT(GuiTabPageCtrl);
static void initPersistFields();
bool onWake(); ///< The page awakens (becomes active)!
void onSleep(); ///< The page sleeps (zzzzZZ - becomes inactive)
GuiControl* findHitControl(const Point2I &pt, S32 initialLayer = -1); ///< Find which control is hit by the mouse starting at a specified layer
void onMouseDown(const GuiEvent &event); ///< Called when a mouseDown event occurs
bool onMouseDownEditor(const GuiEvent &event, Point2I offset ); ///< Called when a mouseDown event occurs and the GUI editor is active
S32 getTabIndex(void) { return mTabIndex; } ///< Get the tab index of this control
//only cycle tabs through the current window, so overwrite the method
GuiControl* findNextTabable(GuiControl *curResponder, bool firstCall = true);
GuiControl* findPrevTabable(GuiControl *curResponder, bool firstCall = true);
bool onKeyDown(const GuiEvent &event); ///< Called when a keyDown event occurs
void selectWindow(void); ///< Select this window
virtual void setText(const char *txt = NULL); ///< Override setText function to signal parent we need to update.
void onRender(Point2I offset, const RectI &updateRect); ///< Called when it's time to render this page to the scene
};
#endif //_GUI_WINDOW_CTRL_H