mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-05-01 11:44:27 +00:00
57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "app/common/UI/Controls/UIControl.h"
|
|
#include "app/common/UI/Controls/UIControl_BeaconEffectButton.h"
|
|
#include "app/common/UI/UIScene.h"
|
|
#include "app/linux/Iggy/include/iggy.h"
|
|
#ifndef _ENABLEIGGY
|
|
#include "app/linux/Stubs/iggy_stubs.h"
|
|
#endif
|
|
#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();
|
|
}; |