4jcraft/Minecraft.Client/Platform/Common/UI/UIControl_Base.h

37 lines
984 B
C++

#pragma once
#include "UIControl.h"
#include "UIString.h"
// This class maps to the FJ_Base class in actionscript
class UIControl_Base : public UIControl {
protected:
IggyName m_initFunc;
IggyName m_setLabelFunc;
IggyName m_funcGetLabel;
IggyName m_funcCheckLabelWidths;
bool m_bLabelChanged;
UIString m_label;
public:
UIControl_Base();
virtual bool setupControl(UIScene* scene, IggyValuePath* parent,
const std::string& controlName);
virtual void tick();
virtual void setLabel(UIString label, bool instant = false,
bool force = false);
// virtual void setLabel(std::wstring label, bool instant = false, bool
// force = false) { this->setLabel(UIString::CONSTANT(label), instant,
// force); }
const wchar_t* getLabel();
virtual void setAllPossibleLabels(int labelCount, wchar_t labels[][256]);
int getId() { return m_id; }
virtual bool hasFocus();
};