mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-26 15:03:36 +00:00
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "UIControl.h"
|
|
|
|
class UIControl_BeaconEffectButton : public UIControl {
|
|
private:
|
|
static const int BUTTON_DISABLED = 0;
|
|
static const int BUTTON_ENABLED_UNSELECTED = 1;
|
|
static const int BUTTON_ENABLED_SELECTED = 2;
|
|
static const int BUTTON_PRESSED = 3;
|
|
|
|
enum EState {
|
|
eState_Disabled,
|
|
eState_Enabled_Unselected,
|
|
eState_Enabled_Selected,
|
|
eState_Pressed
|
|
};
|
|
EState m_lastState;
|
|
|
|
int m_data;
|
|
int m_icon;
|
|
bool m_selected;
|
|
bool m_active;
|
|
bool m_focus;
|
|
|
|
IggyName m_funcChangeState, m_funcSetIcon;
|
|
|
|
public:
|
|
UIControl_BeaconEffectButton();
|
|
|
|
virtual bool setupControl(UIScene* scene, IggyValuePath* parent,
|
|
const std::string& controlName);
|
|
|
|
void SetData(int data, int icon, bool active, bool selected);
|
|
int GetData();
|
|
|
|
void SetButtonSelected(bool selected);
|
|
bool IsButtonSelected();
|
|
|
|
void SetButtonActive(bool active);
|
|
|
|
virtual void setFocus(bool focus);
|
|
|
|
void SetIcon(int icon);
|
|
|
|
private:
|
|
void UpdateButtonState();
|
|
}; |