tp/include/JSystem/JStudio/JStudioToolLibrary/controlset.h

64 lines
2.4 KiB
C++

#ifndef JSTUDIOTOOLLIBRARY_CONTROLSET_H
#define JSTUDIOTOOLLIBRARY_CONTROLSET_H
#include "JSystem/JStudio/JStudioToolLibrary/console.h"
namespace JStudioToolLibrary {
struct TControlSet {
struct TControl {
typedef void* (*generateFn)(JORMContext*, TControlSet*, const TControl&);
typedef void* (*replyFn)(const JORPropertyEvent*, TControlSet*, const TControl&);
typedef void* (*updateFn)(TControlSet*, const TControl&);
TControl();
TControl(const char*, generateFn, replyFn, updateFn);
void update(TControlSet*) const;
void reply(const JORPropertyEvent*, TControlSet*) const;
void generate(JORMContext*, TControlSet*) const;
bool isEnd() const;
const char* getLabel() const;
int getID(const TControlSet&) const;
void setStyle(TControlSet*, u32) const;
/* 0x00 */ char* szLabel_;
/* 0x04 */ void* pfnGenerate_;
/* 0x08 */ void* pfnReply_;
/* 0x0C */ void* pfnUpdate_;
};
TControlSet(TConsole*, const TControl*, u32, u32, const u32*);
TConsole* getConsole();
TControl* control_getControl_IDOffset(u32) const;
u32 control_getNumber() const;
void control_generate(JORMContext*);
void control_generate_all(JORMContext*);
void control_generate(JORMContext*, const TControl&);
void control_generate_IDOffset(JORMContext*, const u32*);
void control_generate_IDOffset(JORMContext*, u32);
void control_generate_separator(JORMContext*, TControlSet*, const TControl&);
void control_generate_label(JORMContext*, TControlSet*, const TControl&);
void control_reply(const JORPropertyEvent*);
void control_getControl(u32) const;
u32 control_getIDBegin() const;
void control_toID(const TControl*) const;
u32 control_toID_IDOffset(u32) const;
u32 control_toIDOffset(const TControl&) const;
void control_update_IDOffset(u32);
void control_update(const TControl&);
void control_update_IDOffset(const u32*);
void control_setStyle(const TControl&, u32);
void control_setStyle_IDOffset(u32, u32);
/* 0x00 */ TConsole* pConsole_;
/* 0x04 */ TControl* paoControl_;
/* 0x08 */ u32 uNumber_;
/* 0x0C */ u32 field_0xc;
/* 0x10 */ u32 field_0x10;
};
}
#endif