yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
widget_code_generator.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_LAYOUT_DESIGNER_WIDGET_CODE_GENERATOR_H_
2#define YAZE_APP_EDITOR_LAYOUT_DESIGNER_WIDGET_CODE_GENERATOR_H_
3
4#include <string>
5#include <vector>
6
8
9namespace yaze {
10namespace editor {
11namespace layout_designer {
12
18 public:
24 static std::string GeneratePanelDrawMethod(const PanelDesign& design);
25
32 static std::string GenerateWidgetCode(const WidgetDefinition& widget,
33 int indent_level = 0);
34
40 static std::string GenerateMemberVariables(const PanelDesign& design);
41
47 static std::string GenerateInitializationCode(const PanelDesign& design);
48
49 private:
50 static std::string GetIndent(int level);
51 static std::string EscapeString(const std::string& str);
52 static std::string GenerateButtonCode(const WidgetDefinition& widget, int indent);
53 static std::string GenerateTextCode(const WidgetDefinition& widget, int indent);
54 static std::string GenerateInputCode(const WidgetDefinition& widget, int indent);
55 static std::string GenerateTableCode(const WidgetDefinition& widget, int indent);
56 static std::string GenerateCanvasCode(const WidgetDefinition& widget, int indent);
57 static std::string GenerateContainerCode(const WidgetDefinition& widget, int indent);
58
59 // Get variable name for widget (e.g., button_clicked_, input_text_buffer_)
60 static std::string GetVariableName(const WidgetDefinition& widget);
61};
62
63} // namespace layout_designer
64} // namespace editor
65} // namespace yaze
66
67#endif // YAZE_APP_EDITOR_LAYOUT_DESIGNER_WIDGET_CODE_GENERATOR_H_
68
Generates C++ ImGui code from widget definitions.
static std::string EscapeString(const std::string &str)
static std::string GenerateWidgetCode(const WidgetDefinition &widget, int indent_level=0)
Generate code for a single widget.
static std::string GenerateButtonCode(const WidgetDefinition &widget, int indent)
static std::string GenerateMemberVariables(const PanelDesign &design)
Generate member variable declarations for panel.
static std::string GenerateTableCode(const WidgetDefinition &widget, int indent)
static std::string GenerateTextCode(const WidgetDefinition &widget, int indent)
static std::string GenerateContainerCode(const WidgetDefinition &widget, int indent)
static std::string GenerateInputCode(const WidgetDefinition &widget, int indent)
static std::string GeneratePanelDrawMethod(const PanelDesign &design)
Generate complete panel Draw() method code.
static std::string GenerateInitializationCode(const PanelDesign &design)
Generate initialization code for panel constructor.
static std::string GenerateCanvasCode(const WidgetDefinition &widget, int indent)
static std::string GetVariableName(const WidgetDefinition &widget)
Complete design definition for a panel's internal layout.
Defines a widget instance in a panel layout.