Generates C++ ImGui code from widget definitions. More...
#include <widget_code_generator.h>
Static Public Member Functions | |
| static std::string | GeneratePanelDrawMethod (const PanelDesign &design) |
| Generate complete panel Draw() method code. | |
| static std::string | GenerateWidgetCode (const WidgetDefinition &widget, int indent_level=0) |
| Generate code for a single widget. | |
| static std::string | GenerateMemberVariables (const PanelDesign &design) |
| Generate member variable declarations for panel. | |
| static std::string | GenerateInitializationCode (const PanelDesign &design) |
| Generate initialization code for panel constructor. | |
Static Private Member Functions | |
| static std::string | GetIndent (int level) |
| static std::string | EscapeString (const std::string &str) |
| static std::string | GenerateButtonCode (const WidgetDefinition &widget, int indent) |
| static std::string | GenerateTextCode (const WidgetDefinition &widget, int indent) |
| static std::string | GenerateInputCode (const WidgetDefinition &widget, int indent) |
| static std::string | GenerateTableCode (const WidgetDefinition &widget, int indent) |
| static std::string | GenerateCanvasCode (const WidgetDefinition &widget, int indent) |
| static std::string | GenerateContainerCode (const WidgetDefinition &widget, int indent) |
| static std::string | GetVariableName (const WidgetDefinition &widget) |
Generates C++ ImGui code from widget definitions.
Definition at line 17 of file widget_code_generator.h.
|
static |
Generate complete panel Draw() method code.
| design | The panel design |
Definition at line 10 of file widget_code_generator.cc.
References GenerateWidgetCode(), yaze::editor::layout_designer::PanelDesign::panel_id, yaze::editor::layout_designer::PanelDesign::panel_name, and yaze::editor::layout_designer::PanelDesign::widgets.

|
static |
Generate code for a single widget.
| widget | The widget definition |
| indent_level | Indentation level for formatting |
Definition at line 29 of file widget_code_generator.cc.
References yaze::editor::layout_designer::BeginChild, yaze::editor::layout_designer::BeginGroup, yaze::editor::layout_designer::BeginTable, yaze::editor::layout_designer::BulletText, yaze::editor::layout_designer::Button, yaze::editor::layout_designer::Canvas, yaze::editor::layout_designer::Checkbox, yaze::editor::layout_designer::CollapsingHeader, yaze::editor::layout_designer::EndTable, GenerateButtonCode(), GenerateCanvasCode(), GenerateContainerCode(), GenerateInputCode(), GenerateTableCode(), GenerateTextCode(), GetIndent(), yaze::editor::layout_designer::GetWidgetTypeName(), yaze::editor::layout_designer::WidgetDefinition::id, yaze::editor::layout_designer::InputFloat, yaze::editor::layout_designer::InputInt, yaze::editor::layout_designer::InputText, yaze::editor::layout_designer::NewLine, yaze::editor::layout_designer::RadioButton, yaze::editor::layout_designer::WidgetDefinition::same_line, yaze::editor::layout_designer::SameLine, yaze::editor::layout_designer::Separator, yaze::editor::layout_designer::SliderFloat, yaze::editor::layout_designer::SliderInt, yaze::editor::layout_designer::SmallButton, yaze::editor::layout_designer::Spacing, yaze::editor::layout_designer::TabBar, yaze::editor::layout_designer::TableNextColumn, yaze::editor::layout_designer::TableNextRow, yaze::editor::layout_designer::Text, yaze::editor::layout_designer::TextColored, yaze::editor::layout_designer::TextWrapped, yaze::editor::layout_designer::TreeNode, and yaze::editor::layout_designer::WidgetDefinition::type.
Referenced by GeneratePanelDrawMethod(), and GenerateTableCode().
|
static |
Generate member variable declarations for panel.
| design | The panel design |
Definition at line 111 of file widget_code_generator.cc.
References yaze::editor::layout_designer::Checkbox, yaze::editor::layout_designer::ColorEdit, yaze::editor::layout_designer::ColorPicker, yaze::editor::layout_designer::WidgetDefinition::GetProperty(), GetVariableName(), yaze::editor::layout_designer::InputFloat, yaze::editor::layout_designer::InputInt, yaze::editor::layout_designer::InputText, yaze::editor::layout_designer::WidgetProperty::int_value, yaze::editor::layout_designer::SliderFloat, yaze::editor::layout_designer::SliderInt, and yaze::editor::layout_designer::PanelDesign::widgets.
Referenced by yaze::editor::layout_designer::LayoutDesignerWindow::DrawCodePreview().

|
static |
Generate initialization code for panel constructor.
| design | The panel design |
Definition at line 153 of file widget_code_generator.cc.
References yaze::editor::layout_designer::WidgetDefinition::GetProperty(), GetVariableName(), yaze::editor::layout_designer::InputText, and yaze::editor::layout_designer::PanelDesign::widgets.

|
staticprivate |
Definition at line 172 of file widget_code_generator.cc.
Referenced by GenerateButtonCode(), GenerateCanvasCode(), GenerateContainerCode(), GenerateInputCode(), GenerateTableCode(), GenerateTextCode(), and GenerateWidgetCode().
|
staticprivate |
Definition at line 176 of file widget_code_generator.cc.
Referenced by GenerateButtonCode(), GenerateInputCode(), and GenerateTextCode().
|
staticprivate |
Definition at line 180 of file widget_code_generator.cc.
References yaze::editor::layout_designer::WidgetDefinition::callback_name, EscapeString(), GetIndent(), yaze::editor::layout_designer::SmallButton, yaze::editor::layout_designer::WidgetDefinition::tooltip, and yaze::editor::layout_designer::WidgetDefinition::type.
Referenced by GenerateWidgetCode().

|
staticprivate |
Definition at line 219 of file widget_code_generator.cc.
References yaze::editor::layout_designer::BulletText, EscapeString(), GetIndent(), yaze::editor::layout_designer::Text, yaze::editor::layout_designer::TextColored, yaze::editor::layout_designer::TextWrapped, and yaze::editor::layout_designer::WidgetDefinition::type.
Referenced by GenerateWidgetCode().

|
staticprivate |
Definition at line 252 of file widget_code_generator.cc.
References yaze::editor::layout_designer::Checkbox, EscapeString(), GetIndent(), GetVariableName(), yaze::editor::layout_designer::InputInt, yaze::editor::layout_designer::InputText, yaze::editor::layout_designer::SliderInt, and yaze::editor::layout_designer::WidgetDefinition::type.
Referenced by GenerateWidgetCode().

|
staticprivate |
Definition at line 303 of file widget_code_generator.cc.
References yaze::editor::layout_designer::BeginTable, yaze::editor::layout_designer::WidgetDefinition::children, GenerateWidgetCode(), GetIndent(), yaze::editor::layout_designer::TableNextColumn, yaze::editor::layout_designer::TableNextRow, and yaze::editor::layout_designer::WidgetDefinition::type.
Referenced by GenerateWidgetCode().

|
staticprivate |
Definition at line 343 of file widget_code_generator.cc.
References GetIndent().
Referenced by GenerateWidgetCode().

|
staticprivate |
Definition at line 363 of file widget_code_generator.cc.
References GetIndent(), yaze::editor::layout_designer::GetWidgetTypeName(), and yaze::editor::layout_designer::WidgetDefinition::type.
Referenced by GenerateWidgetCode().

|
staticprivate |
Definition at line 375 of file widget_code_generator.cc.
References yaze::editor::layout_designer::WidgetDefinition::id.
Referenced by GenerateInitializationCode(), GenerateInputCode(), and GenerateMemberVariables().