19 #include "xml_parameter_writer.h" 24 namespace ParameterGui
27 : tree_widget(tree_widget)
29 xml.setAutoFormatting(
true);
36 xml.setDevice(device);
37 xml.writeStartDocument();
38 xml.writeStartElement(
"ParameterHandler");
40 for (
int i = 0; i <
tree_widget->topLevelItemCount(); ++i)
43 xml.writeEndDocument() ;
52 QString tag_name =
mangle(item->text(0));
54 xml.writeStartElement(tag_name);
56 if (!item->text(1).isEmpty())
58 xml.writeTextElement(
"value", item->data(1,Qt::EditRole).toString());
59 xml.writeTextElement(
"default_value", item->text(2));
60 xml.writeTextElement(
"documentation", item->text(3));
61 xml.writeTextElement(
"pattern", item->text(4));
62 xml.writeTextElement(
"pattern_description", item->text(5));
65 for (
int i = 0; i < item->childCount(); ++i)
68 xml.writeEndElement();
75 std::string s_temp (s.toStdString());
78 u.reserve (s_temp.size());
80 static const std::string allowed_characters
81 (
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
86 for (
unsigned int i=0; i<s_temp.size(); ++i)
87 if (allowed_characters.find (s_temp[i]) != std::string::npos)
88 u.push_back (s_temp[i]);
92 static const char hex[16]
93 = {
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'a',
'b',
'c',
'd',
'e',
'f'};
94 u.push_back (hex[static_cast<unsigned char>(s_temp[i])/16]);
95 u.push_back (hex[static_cast<unsigned char>(s_temp[i])%16]);
98 QString v (u.c_str());
void write_item(QTreeWidgetItem *item)
XMLParameterWriter(QTreeWidget *tree_widget)
QString mangle(const QString &s)
bool write_xml_file(QIODevice *device)
QTreeWidget * tree_widget