static int Gtk3Gui_WVSpacer_Setup(GWEN_WIDGET *w) { GtkWidget *g; GWEN_WIDGET *wParent; wParent=GWEN_Widget_Tree_GetParent(w); g=gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); GWEN_Widget_AddFlags(w, GWEN_WIDGET_FLAGS_FILLY); GWEN_Widget_SetImplData(w, GTK3_DIALOG_WIDGET_REAL, (void*) g); GWEN_Widget_SetImplData(w, GTK3_DIALOG_WIDGET_CONTENT, (void*) g); GWEN_Widget_SetSetIntPropertyFn(w, Gtk3Gui_WVSpacer_SetIntProperty); GWEN_Widget_SetGetIntPropertyFn(w, Gtk3Gui_WVSpacer_GetIntProperty); if (wParent) GWEN_Widget_AddChildGuiWidget(wParent, w); return 0; }
int Gtk2Gui_Dialog_SetupTree(GWEN_WIDGET *w) { int rv; switch(GWEN_Widget_GetType(w)) { case GWEN_Widget_TypeDialog: rv=Gtk2Gui_WDialog_Setup(w); break; case GWEN_Widget_TypeLabel: rv=Gtk2Gui_WLabel_Setup(w); break; case GWEN_Widget_TypeGridLayout: rv=Gtk2Gui_WGridLayout_Setup(w); break; case GWEN_Widget_TypeVLayout: rv=Gtk2Gui_WVLayout_Setup(w); break; case GWEN_Widget_TypeHLayout: rv=Gtk2Gui_WHLayout_Setup(w); break; case GWEN_Widget_TypePushButton: rv=Gtk2Gui_WPushButton_Setup(w); break; case GWEN_Widget_TypeLineEdit: rv=Gtk2Gui_WLineEdit_Setup(w); break; case GWEN_Widget_TypeHLine: rv=Gtk2Gui_WHLine_Setup(w); break; case GWEN_Widget_TypeVLine: rv=Gtk2Gui_WVLine_Setup(w); break; case GWEN_Widget_TypeVSpacer: rv=Gtk2Gui_WVSpacer_Setup(w); break; case GWEN_Widget_TypeHSpacer: rv=Gtk2Gui_WHSpacer_Setup(w); break; case GWEN_Widget_TypeComboBox: rv=Gtk2Gui_WComboBox_Setup(w); break; case GWEN_Widget_TypeTextEdit: rv=Gtk2Gui_WTextEdit_Setup(w); break; case GWEN_Widget_TypeWidgetStack: rv=Gtk2Gui_WStack_Setup(w); break; case GWEN_Widget_TypeTabBook: rv=Gtk2Gui_WTabBook_Setup(w); break; case GWEN_Widget_TypeTabPage: /* just re-use vbox */ GWEN_Widget_AddFlags(w, GWEN_WIDGET_FLAGS_FILLX | GWEN_WIDGET_FLAGS_FILLY); rv=Gtk2Gui_WVLayout_Setup(w); break; case GWEN_Widget_TypeGroupBox: rv=Gtk2Gui_WGroupBox_Setup(w); break; case GWEN_Widget_TypeTextBrowser: rv=Gtk2Gui_WTextBrowser_Setup(w); break; case GWEN_Widget_TypeProgressBar: rv=Gtk2Gui_WProgressBar_Setup(w); break; case GWEN_Widget_TypeSpinBox: rv=Gtk2Gui_WSpinBox_Setup(w); break; case GWEN_Widget_TypeListBox: rv=Gtk2Gui_WListBox_Setup(w); break; case GWEN_Widget_TypeCheckBox: rv=Gtk2Gui_WCheckBox_Setup(w); break; case GWEN_Widget_TypeScrollArea: rv=Gtk2Gui_WScrollArea_Setup(w); break; case GWEN_Widget_TypeRadioButton: rv=Gtk2Gui_WRadioButton_Setup(w); break; default: DBG_ERROR(GWEN_LOGDOMAIN, "Unhandled widget type %d", GWEN_Widget_GetType(w)); rv=GWEN_ERROR_INVALID; break; } if (rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)", rv); return rv; } else { GWEN_WIDGET *wChild; /* handle children */ wChild=GWEN_Widget_Tree_GetFirstChild(w); while(wChild) { /* recursion */ rv=Gtk2Gui_Dialog_SetupTree(wChild); if (rv<0) { DBG_INFO(GWEN_LOGDOMAIN, "here (%d)", rv); return rv; } wChild=GWEN_Widget_Tree_GetNext(wChild); } } return 0; }