68 lines
1.6 KiB
C++
Executable File
68 lines
1.6 KiB
C++
Executable File
//-----------------------------------------------------------------------------
|
|
// Torque Game Engine
|
|
// Copyright (C) GarageGames.com, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef _GUITEXTEDITSLIDERCTRL_H_
|
|
#define _GUITEXTEDITSLIDERCTRL_H_
|
|
|
|
#ifndef _GUITYPES_H_
|
|
#include "gui/core/guiTypes.h"
|
|
#endif
|
|
#ifndef _GUITEXTEDITCTRL_H_
|
|
#include "gui/controls/guiTextEditCtrl.h"
|
|
#endif
|
|
|
|
class GuiTextEditSliderCtrl : public GuiTextEditCtrl
|
|
{
|
|
private:
|
|
typedef GuiTextEditCtrl Parent;
|
|
Point2F mRange;
|
|
F32 mIncAmount;
|
|
F32 mValue;
|
|
F32 mIncCounter;
|
|
F32 mMulInc;
|
|
StringTableEntry mFormat;
|
|
U32 mMouseDownTime;
|
|
// max string len, must be less then or equal to 255
|
|
public:
|
|
enum CtrlArea
|
|
{
|
|
None,
|
|
Slider,
|
|
ArrowUp,
|
|
ArrowDown
|
|
};
|
|
private:
|
|
CtrlArea mTextAreaHit;
|
|
public:
|
|
GuiTextEditSliderCtrl();
|
|
~GuiTextEditSliderCtrl();
|
|
DECLARE_CONOBJECT(GuiTextEditSliderCtrl);
|
|
static void initPersistFields();
|
|
|
|
void getText(char *dest); // dest must be of size
|
|
// StructDes::MAX_STRING_LEN + 1
|
|
|
|
void setText(S32 tag);
|
|
void setText(const char *txt);
|
|
|
|
void setValue();
|
|
void checkRange();
|
|
void checkIncValue();
|
|
void timeInc(U32 elapseTime);
|
|
|
|
bool onKeyDown(const GuiEvent &event);
|
|
void onMouseDown(const GuiEvent &event);
|
|
void onMouseDragged(const GuiEvent &event);
|
|
void onMouseUp(const GuiEvent &event);
|
|
|
|
|
|
void onPreRender();
|
|
void onRender(Point2I offset, const RectI &updateRect);
|
|
|
|
|
|
};
|
|
|
|
#endif //_GUI_TEXTEDIT_CTRL_H
|