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

72 lines
1.7 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Torque Engine
//
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _GUIBUTTONBASECTRL_H_
#define _GUIBUTTONBASECTRL_H_
#ifndef _GUICONTROL_H_
#include "gui/core/guiControl.h"
#endif
// all the button functionality is moving into buttonBase
// thus, all subclasses will just be rendering classes,
// and radios and check boxes can be done using pushbuttons
// or bitmap buttons.
class GuiButtonBaseCtrl : public GuiControl
{
typedef GuiControl Parent;
protected:
StringTableEntry mButtonText;
StringTableEntry mButtonTextID;
bool mDepressed;
bool mMouseOver;
bool mStateOn;
S32 mButtonType;
S32 mRadioGroup;
public:
enum {
ButtonTypePush,
ButtonTypeCheck,
ButtonTypeRadio,
};
GuiButtonBaseCtrl();
bool onWake();
DECLARE_CONOBJECT(GuiButtonBaseCtrl);
static void initPersistFields();
void setText(const char *text);
void setTextID(S32 id);
void setTextID(const char *id);
const char *getText();
void setStateOn( bool bStateOn );
void acceleratorKeyPress(U32 index);
void acceleratorKeyRelease(U32 index);
void onMouseDown(const GuiEvent &);
void onMouseUp(const GuiEvent &);
void onRightMouseUp(const GuiEvent &);
void onMouseEnter(const GuiEvent &);
void onMouseLeave(const GuiEvent &);
bool onKeyDown(const GuiEvent &event);
bool onKeyUp(const GuiEvent &event);
void setScriptValue(const char *value);
const char *getScriptValue();
void onMessage(GuiControl *,S32 msg);
void onAction();
};
#endif