2026-03-01 12:16:08 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "UIControl.h"
|
2026-03-03 03:04:10 +08:00
|
|
|
#include "UIString.h"
|
2026-03-01 12:16:08 +08:00
|
|
|
|
|
|
|
|
// 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;
|
2026-03-03 03:04:10 +08:00
|
|
|
UIString m_label;
|
|
|
|
|
|
2026-03-01 12:16:08 +08:00
|
|
|
public:
|
|
|
|
|
UIControl_Base();
|
|
|
|
|
|
|
|
|
|
virtual bool setupControl(UIScene *scene, IggyValuePath *parent, const string &controlName);
|
|
|
|
|
|
|
|
|
|
virtual void tick();
|
|
|
|
|
|
2026-03-03 03:04:10 +08:00
|
|
|
virtual void setLabel(UIString label, bool instant = false, bool force = false);
|
|
|
|
|
//virtual void setLabel(wstring label, bool instant = false, bool force = false) { this->setLabel(UIString::CONSTANT(label), instant, force); }
|
|
|
|
|
|
2026-03-01 12:16:08 +08:00
|
|
|
const wchar_t* getLabel();
|
|
|
|
|
virtual void setAllPossibleLabels(int labelCount, wchar_t labels[][256]);
|
|
|
|
|
int getId() { return m_id; }
|
|
|
|
|
|
|
|
|
|
virtual bool hasFocus();
|
|
|
|
|
};
|