36 namespace pugi {
class xml_node; }
111 typedef std::pair<std::string,std::string>
KeyValue;
119 void grabArgs(
const pugi::xml_node &n);
148 DynamicGUI(
const std::string &cfgFileName=
"", QWidget *parent=0);
155 void initialize(
const std::string &cfgXMLString);
158 void load(
const std::string &cfgFileName);
175 static void traverse_tree(
const pugi::xml_node &n,
int level,
utils::SmartPtr< Node > NodePtr
SmartPtr typedef.
Definition: DynamicGUI.h:110
qt::GUI parsedGUI
corresponding parse (but not created) GUI instance
Definition: DynamicGUI.h:129
utils::SmartPtr< ParseTree > ParseTreePtr
pointer typedef
Definition: DynamicGUI.h:143
friend std::ostream & operator<<(std::ostream &s, const DynamicGUI::Node &n)
ostream operator for the node class
undocument this line if you encounter any issues!
Definition: Any.h:37
Class interface for un-copyable classes.
Definition: Uncopyable.h:64
void release()
internally releases everything
Main Class of ICL's GUI creation framework.
Definition: GUI.h:60
DynamicGUI(const std::string &cfgFileName="", QWidget *parent=0)
creates a new DynamicGUI instance from a given XML-description filename
bool hasHandle() const
returns whether a handle was given (e.g. is part of args)
static void create_gui(Node &n)
internal GUI-creation method
std::string directArgs
direct, e.g. component specific arguments
Definition: DynamicGUI.h:131
ParseTreePtr getParseTree()
returns the internal parse-tree representation
Special GUI implementation that allows for defining the GUI layout in an XML-file.
Definition: DynamicGUI.h:89
NodePtr parent
parent container component (or null for the top-level component)
Definition: DynamicGUI.h:127
internal xml-parsing node class
Definition: DynamicGUI.h:109
void initialize(const std::string &cfgXMLString)
intialize DynamicGUI instance from given XML-string
utils::SmartPtr< Node > NodePtr
typedef for node-pointers
Definition: DynamicGUI.h:141
void initInternal(pugi::xml_node &root)
internally used initialization method
std::string getHandleName() const
returns the handle (if there is one)
Node(const std::string &name="", NodePtr parent=NodePtr(), int level=0)
Node ParseTree
A tree is simply the root-node.
Definition: DynamicGUI.h:142
std::vector< KeyValue > args
general arguments, such as handle, label or minsize
Definition: DynamicGUI.h:132
std::pair< std::string, std::string > KeyValue
KeyValue pair class.
Definition: DynamicGUI.h:111
int level
hierarchy containment level of this component
Definition: DynamicGUI.h:128
void grabArgs(const pugi::xml_node &n)
internal utility methods
void load(const std::string &cfgFileName)
intialize DynamicGUI instance from given XML-file
std::string name
component type (e.g. 'slider', or 'combo' or 'image')
Definition: DynamicGUI.h:126
bool isContainer() const
dedicated method to distinguish containers
static void traverse_tree(const pugi::xml_node &n, int level, utils::SmartPtr< DynamicGUI::Node > target)
internal tree-traversal method
std::vector< NodePtr > children
all child-components (for containers only)
Definition: DynamicGUI.h:133
NodePtr appendChild(const std::string &name, NodePtr parent, int level)
internally used appending of children
Data * m_data
internal data pointer
Definition: DynamicGUI.h:91