metaforce/Runtime/GuiSys/CGuiTableGroup.hpp

57 lines
1.3 KiB
C++
Raw Normal View History

2016-03-10 03:47:37 +00:00
#ifndef __URDE_CGUITABLEGROUP_HPP__
#define __URDE_CGUITABLEGROUP_HPP__
2016-03-11 00:23:16 +00:00
#include "CGuiCompoundWidget.hpp"
2016-03-10 03:47:37 +00:00
namespace urde
{
2016-03-11 00:23:16 +00:00
class CGuiTableGroup : public CGuiCompoundWidget
{
public:
struct SomeState
2016-03-18 02:45:45 +00:00
{
float x0_ = 0.f;
2016-03-18 02:45:45 +00:00
};
2016-03-18 02:45:45 +00:00
private:
SomeState xb8_;
SomeState xbc_;
int xc0_;
int xc4_;
int xc8_;
int xcc_;
bool xd0_;
bool xd1_ = true;
2016-12-14 22:56:59 +00:00
std::function<void(const CGuiTableGroup*)> xd4_doMenuAdvance;
std::function<void(const CGuiTableGroup*)> xec_doMenuCancel;
std::function<void(const CGuiTableGroup*)> x104_doMenuSelChange;
2016-03-18 02:45:45 +00:00
public:
CGuiTableGroup(const CGuiWidgetParms& parms, int, int, bool);
2016-03-18 02:45:45 +00:00
FourCC GetWidgetTypeID() const {return FOURCC('TBGP');}
2016-12-14 22:56:59 +00:00
void SetMenuAdvanceCallback(std::function<void(const CGuiTableGroup*)>&& cb)
{
xd4_doMenuAdvance = std::move(cb);
}
void SetMenuCancelCallback(std::function<void(const CGuiTableGroup*)>&& cb)
{
xec_doMenuCancel = std::move(cb);
}
void SetMenuSelectionChangeCallback(std::function<void(const CGuiTableGroup*)>&& cb)
{
x104_doMenuSelChange = std::move(cb);
}
void SetD1(bool v) { xd1_ = v; }
2016-03-18 02:45:45 +00:00
static CGuiTableGroup* Create(CGuiFrame* frame, CInputStream& in, bool);
2016-03-11 00:23:16 +00:00
};
2016-03-10 03:47:37 +00:00
}
#endif // __URDE_CGUITABLEGROUP_HPP__