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
7
#include "
app/editor/layout_designer/widget_definition.h
"
8
9
namespace
yaze
{
10
namespace
editor {
11
namespace
layout_designer {
12
17
class
WidgetCodeGenerator
{
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
yaze::editor::layout_designer::WidgetCodeGenerator
Generates C++ ImGui code from widget definitions.
Definition
widget_code_generator.h:17
yaze::editor::layout_designer::WidgetCodeGenerator::EscapeString
static std::string EscapeString(const std::string &str)
Definition
widget_code_generator.cc:176
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateWidgetCode
static std::string GenerateWidgetCode(const WidgetDefinition &widget, int indent_level=0)
Generate code for a single widget.
Definition
widget_code_generator.cc:29
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateButtonCode
static std::string GenerateButtonCode(const WidgetDefinition &widget, int indent)
Definition
widget_code_generator.cc:180
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateMemberVariables
static std::string GenerateMemberVariables(const PanelDesign &design)
Generate member variable declarations for panel.
Definition
widget_code_generator.cc:111
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateTableCode
static std::string GenerateTableCode(const WidgetDefinition &widget, int indent)
Definition
widget_code_generator.cc:303
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateTextCode
static std::string GenerateTextCode(const WidgetDefinition &widget, int indent)
Definition
widget_code_generator.cc:219
yaze::editor::layout_designer::WidgetCodeGenerator::GetIndent
static std::string GetIndent(int level)
Definition
widget_code_generator.cc:172
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateContainerCode
static std::string GenerateContainerCode(const WidgetDefinition &widget, int indent)
Definition
widget_code_generator.cc:363
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateInputCode
static std::string GenerateInputCode(const WidgetDefinition &widget, int indent)
Definition
widget_code_generator.cc:252
yaze::editor::layout_designer::WidgetCodeGenerator::GeneratePanelDrawMethod
static std::string GeneratePanelDrawMethod(const PanelDesign &design)
Generate complete panel Draw() method code.
Definition
widget_code_generator.cc:10
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateInitializationCode
static std::string GenerateInitializationCode(const PanelDesign &design)
Generate initialization code for panel constructor.
Definition
widget_code_generator.cc:153
yaze::editor::layout_designer::WidgetCodeGenerator::GenerateCanvasCode
static std::string GenerateCanvasCode(const WidgetDefinition &widget, int indent)
Definition
widget_code_generator.cc:343
yaze::editor::layout_designer::WidgetCodeGenerator::GetVariableName
static std::string GetVariableName(const WidgetDefinition &widget)
Definition
widget_code_generator.cc:375
yaze
Definition
application.cc:18
yaze::editor::layout_designer::PanelDesign
Complete design definition for a panel's internal layout.
Definition
widget_definition.h:148
yaze::editor::layout_designer::WidgetDefinition
Defines a widget instance in a panel layout.
Definition
widget_definition.h:111
widget_definition.h
src
app
editor
layout_designer
widget_code_generator.h
Generated by
1.10.0