yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
zeml.cc File Reference
#include "app/gui/zeml.h"
#include "imgui/imgui.h"
#include <cctype>
#include <fstream>
#include <functional>
#include <map>
#include <sstream>
#include <string>
#include <vector>
#include "app/gui/canvas.h"
#include "app/gui/input.h"
#include "app/core/platform/file_path.h"
Include dependency graph for zeml.cc:

Go to the source code of this file.

Namespaces

namespace  yaze
 
namespace  yaze::app
 Main namespace for the ImGui application.
 
namespace  yaze::app::gui
 Graphical User Interface (GUI) components for the application.
 
namespace  yaze::app::gui::zeml
 Zelda Editor Markup Language Functions.
 

Functions

std::vector< Tokenyaze::app::gui::zeml::Tokenize (const std::string &input)
 Tokenize a zeml string.
 
WidgetType yaze::app::gui::zeml::MapType (const std::string &type)
 Map a string to a widget type.
 
Node yaze::app::gui::zeml::ParseNode (const std::vector< Token > &tokens, size_t &index, const std::map< std::string, void * > &data_bindings={}, const std::map< std::string, Node > &definitions={})
 Parse a zeml node.
 
void yaze::app::gui::zeml::ParseFlags (const WidgetType &type, const std::string &flags, WidgetAttributes &attributes)
 
WidgetAttributes yaze::app::gui::zeml::ParseAttributes (const std::vector< Token > &tokens, size_t &index, const WidgetType &type, const std::map< std::string, void * > &data_bindings={})
 ParseNode attributes for a widget.
 
Node yaze::app::gui::zeml::Parse (const std::string &yazon_input, const std::map< std::string, void * > &data_bindings={})
 Parse a zeml string.
 
void yaze::app::gui::zeml::Render (Node &node)
 Render a zeml tree.
 
void yaze::app::gui::zeml::ExecuteActions (const std::vector< Action > &actions, ActionType type)
 Execute actions for a node.
 
void yaze::app::gui::zeml::Bind (Node *node, std::function< void()> callback)
 Bind a callback to a node.
 
void yaze::app::gui::zeml::BindAction (Node *node, ActionType type, std::function< void()> callback)
 Bind an action to a node.
 
void yaze::app::gui::zeml::BindSelectable (Node *node, bool *selected, std::function< void()> callback)
 Bind a selectable node.
 
std::string yaze::app::gui::zeml::LoadFile (const std::string &filename)