From 72b7577583c0bdcc3b2b78687092b448e73a2e98 Mon Sep 17 00:00:00 2001 From: deva Date: Tue, 14 Jun 2011 12:59:50 +0000 Subject: Create screenshots from xml code in the annotations. --- client/docgen/genimage.cc | 107 ++++------------------------------------------ 1 file changed, 9 insertions(+), 98 deletions(-) (limited to 'client/docgen/genimage.cc') diff --git a/client/docgen/genimage.cc b/client/docgen/genimage.cc index f598553..02f1243 100644 --- a/client/docgen/genimage.cc +++ b/client/docgen/genimage.cc @@ -44,110 +44,19 @@ Viewer *viewer = NULL; extern QString output; -void genImage(QString widget) +QString genImage(QString xml, int idx) { QDomDocument node; + node.setContent(xml); - QDomElement elem = node.createElement(widget); - elem.setAttribute("name", widget); - elem.setAttribute("caption", "Caption"); - elem.setAttribute("layout", "vbox"); + QDomElement e = node.documentElement(); - if(widget == "lineedit" || widget == "textedit") { - elem.setAttribute("value", "Some text"); - } - - if(widget == "checkbox" || widget == "checkgroupbox") { - elem.setAttribute("truevalue", "true"); - elem.setAttribute("falsevalue", "false"); - elem.setAttribute("value", "true"); - } - - if(widget == "combobox" || widget == "listbox") { - - if(widget == "listbox") { - QDomElement e = node.createElement("item"); - e.setAttribute("type", "header"); - e.setAttribute("caption", "Header 1"); - e.setAttribute("value", "Header 1"); - elem.appendChild(e); - } - - { - QDomElement e = node.createElement("item"); - e.setAttribute("caption", "List item 1"); - e.setAttribute("value", "item1"); - elem.appendChild(e); - } - { - QDomElement e = node.createElement("item"); - e.setAttribute("caption", "List item 2"); - e.setAttribute("value", "item2"); - elem.appendChild(e); - } - - if(widget == "listbox") { - QDomElement e = node.createElement("item"); - e.setAttribute("type", "separator"); - e.setAttribute("caption", "sep 1"); - e.setAttribute("value", "sep 1"); - elem.appendChild(e); - } - - { - QDomElement e = node.createElement("item"); - e.setAttribute("caption", "List item 3"); - e.setAttribute("value", "item3"); - elem.appendChild(e); - } - - elem.setAttribute("value", "item1"); - } - - if(widget == "altcombobox") { - QDomElement e = node.createElement("altitem"); - e.setAttribute("caption", "Alt item"); - e.setAttribute("value", "altitem"); - e.setAttribute("innerwidget", "altitem"); - elem.appendChild(e); - - QDomElement a = node.createElement("lineedit"); - a.setAttribute("name", "altitem"); - a.setAttribute("value", "Some alt text"); - e.appendChild(a); - - elem.setAttribute("value", "altitem"); - } - - if(widget == "multilist") { - QDomElement a = node.createElement("lineedit"); - a.setAttribute("name", "altitem"); - a.setAttribute("value", "Value ready to be added"); - elem.appendChild(a); - elem.setAttribute("value", "Some value\nAnother value"); - } - - if(widget == "frame" || widget == "checkgroupbox") { - QDomElement e = node.createElement("label"); - e.setAttribute("caption", "Contained widgets."); - elem.appendChild(e); - } - - if(widget == "radiobuttons") { - QDomElement e1 = node.createElement("radiobutton"); - e1.setAttribute("caption", "Radio Button 1"); - elem.appendChild(e1); - - QDomElement e2 = node.createElement("radiobutton"); - e2.setAttribute("caption", "Radio Button 2"); - elem.appendChild(e2); - } - - node.appendChild(elem); + QString imgfile = e.tagName() + QString::number(idx) + ".png"; Window w(node, NULL); - w.setValues(); w.qwidget()->show(); + w.setValues(); + QPixmap pix = QPixmap::grabWidget(w.qwidget(), 0, 0); QImage img = pix.toImage(); QRgb bg = img.pixel(img.width() - 1, img.height() - 1); @@ -176,5 +85,7 @@ void genImage(QString widget) img = img.copy(0,0, crophorz + 12, cropvert + 12); QDir d;d.mkdir(output + "/gfx/"); - img.save(output + "/gfx/" + widget + ".png"); + img.save(output + "/gfx/" + imgfile); + + return imgfile; } -- cgit v1.2.3