/** Parse a spacer tray component. */ void ParseSpacer(const TokenNode *tp, TrayType *tray) { TrayComponentType *cp; int width; int height; char *str; Assert(tp); Assert(tray); /* Get the width. */ str = FindAttribute(tp->attributes, WIDTH_ATTRIBUTE); if(str) { width = ParseUnsigned(tp, str); } else { width = 0; } /* Get the height. */ str = FindAttribute(tp->attributes, HEIGHT_ATTRIBUTE); if(str) { height = ParseUnsigned(tp, str); } else { height = 0; } /* Create the spacer. */ cp = CreateSpacer(width, height); if(JLIKELY(cp)) { AddTrayComponent(tray, cp); } }
int qt_f_FrameHandler(sXformsNode *head,xmlNode *node,struct sCbData **CallBackData,xmlDoc * modelDocPtr, CallBackInterfaceFunction func) { int i = 0, old_row = row; sXformsNode *temp = head; head -> meta_info = strdup("1"); for( i = 0; temp; i++, temp = temp->next) { fprintf(stdout,"\n[%s][%d] HEAD = %s:%s \t\t NODE = %s",__func__,__LINE__,temp->name, temp->type,node->name); xmlNode *itemContent = CreateItemNode(node,0,itoa(row++),int2str[0]); xmlNode *GridLayout = CreateFrame(itemContent,"QGroupBox",temp->name ); temp -> meta_info = strdup("1"); //sPrintsXformsTree(temp); sQtGenerateUIFromTree(temp,GridLayout ,CallBackData,modelDocPtr,func); CreateSpacer(GridLayout,sAppendString("Spacer_",head->name),"Qt::Vertical","20","40", itoa(row),int2str[0] ); } fprintf(stdout,"\n[%s][%d] NUMBER OF CHILDREN %d",__func__,__LINE__,i); row = old_row; }
struct sCbData * sQtGenerateDesignerFile(sXformsNode *head,xmlDoc *modelDocPtr,CallBackInterfaceFunction func ) { xmlDoc *doc = NULL; xmlNode *root_node = NULL; xmlNode *current_node = NULL; /* required for every window */ doc = xmlNewDoc(BAD_CAST"1.0"); // create a new document root_node = xmlNewNode(NULL,BAD_CAST"ui"); // root node CreateNodeAttribute(root_node,"version","4.0"); xmlDocSetRootElement(doc, root_node); // set root node xmlNode *classname = Create1ObjectNode(root_node,"class", "SimpleUiQt"); // create main window xmlNode * classwidget = Create1WidgetNodeWithStringProp(root_node,"classwidget","QWidget","windowTitle",sQT_MAIN_WINDOW_NAME); Create1GeometryProp(classwidget,"0","0",QT_WINDOW_WIDTH, QT_WINDOW_HEIGHT); xmlNode *main_layout = CreateLayout(classwidget,"QVBoxLayout","verticalLayout_2"); xmlNode *ContentItem = CreateItemNode(main_layout,0,0,0); xmlNode *gridLayout = CreateLayout(ContentItem,"QGridLayout","gridLayout_1"); xmlNode *lowerBarItem = CreateItemNode(main_layout,0,0,0); xmlNode *horizontalLayout2 = CreateLayout(lowerBarItem,"QHBoxLayout","horizontalLayout2"); xmlNode *horizontalLayout2Item = CreateItemNode(horizontalLayout2,0,0,0); xmlNode *horizontalLayout = CreateLayout(horizontalLayout2Item,"QHBoxLayout","horizontalLayout"); xmlNode *spacer = CreateSpacer(horizontalLayout,"horizontalSpacer","Qt::Horizontal","40","20", 0,0 ); xmlNode *DoneBtnItem = CreateItemNode(horizontalLayout,0,0,0); xmlNode *DoneBtn = Create1WidgetNodeWithStringProp(DoneBtnItem,sQT_CLOSE_BUTTON,"QPushButton","text","Done"); xmlNode *layoutdefault = CreateXmlNode(NULL,"layoutdefault"); CreateNodeAttribute(layoutdefault,"spacing","6"); CreateNodeAttribute(layoutdefault,"margin","11"); xmlNode *resources = CreateXmlNode(NULL,"resources"); struct sCbData *temp = (struct sCbData *)0; sQtGenerateUIFromTree(head,gridLayout,&temp,modelDocPtr,func); // main content area xmlSaveFormatFileEnc(sQT_UI_FILE, doc, "UTF-8", 1); // save file xmlFreeDoc(doc); // free document xmlCleanupParser(); //clean parse //AppendNode(&temp,"NULL-REFERENCE", "NULL-INITVAL","NULL-VAL",sQT_CLOSE_BUTTON,"QPushButton",modelDocPtr,func); return temp; }