static VALUE rg_append(int argc, VALUE *argv, VALUE self) { GtkWidget* ret = NULL; VALUE type = Qnil; VALUE widget, stock_id, element_type, text, ttext, ptext, icon, func; if (argc > 0) type = argv[0]; if (NIL_P(type) || TYPE(type) == T_STRING){ rb_scan_args(argc, argv, "05", &text, &ttext, &ptext, &icon, &func); if (NIL_P(func)) func = rb_block_proc(); G_RELATIVE(self, func); ret = gtk_toolbar_append_item(_SELF(self), N_RVAL2CSTR(text), N_RVAL2CSTR(ttext), N_RVAL2CSTR(ptext), N_RVAL2WIDGET(icon), GTK_SIGNAL_FUNC(exec_callback), (gpointer)func); } else if (TYPE(type) == T_FIXNUM) { rb_scan_args(argc, argv, "07", &element_type, &widget, &text, &ttext, &ptext, &icon, &func); if (NIL_P(func)) func = rb_block_proc(); G_RELATIVE(self, func); ret = gtk_toolbar_append_element(_SELF(self), RVAL2GENUM(element_type, GTK_TYPE_TOOLBAR_CHILD_TYPE), N_RVAL2WIDGET(widget), N_RVAL2CSTR(text), N_RVAL2CSTR(ttext), N_RVAL2CSTR(ptext), N_RVAL2WIDGET(icon), GTK_SIGNAL_FUNC(exec_callback), (gpointer)func); if (RVAL2GENUM(element_type, GTK_TYPE_TOOLBAR_CHILD_TYPE) == GTK_TOOLBAR_CHILD_SPACE) ret = NULL; } else if (TYPE(type) == T_SYMBOL) { rb_scan_args(argc, argv, "13", &stock_id, &ttext, &ptext, &func); if (NIL_P(func)) func = rb_block_proc(); G_RELATIVE(self, func); ret = gtk_toolbar_insert_stock(_SELF(self), rb_id2name(SYM2ID(stock_id)), N_RVAL2CSTR(ttext), N_RVAL2CSTR(ptext), GTK_SIGNAL_FUNC(exec_callback), (gpointer)func, -1); } else { rb_scan_args(argc, argv, "12", &widget, &ttext, &ptext); gtk_toolbar_append_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget)), N_RVAL2CSTR(ttext), N_RVAL2CSTR(ptext)); return widget; } return ret ? GOBJ2RVAL(ret) : Qnil; }
void add_toolbar_constructor(MainWindow *mw, LttvToolbarClosure *toolbar_c) { LttvIAttribute *attributes = mw->attributes; LttvAttributeValue value; LttvToolbars * instance_toolbar; lttvwindow_viewer_constructor constructor; GtkWidget * tool_menu_title_menu, *new_widget, *pixmap; GdkPixbuf *pixbuf; gboolean retval; retval= lttv_iattribute_find_by_path(attributes, "viewers/toolbar", LTTV_POINTER, &value); g_assert(retval); if(*(value.v_pointer) == NULL) *(value.v_pointer) = lttv_toolbars_new(); instance_toolbar = (LttvToolbars*)*(value.v_pointer); constructor = toolbar_c->con; tool_menu_title_menu = lookup_widget(mw->mwindow,"MToolbar1"); pixbuf = gdk_pixbuf_new_from_xpm_data((const char**)toolbar_c->pixmap); pixmap = gtk_image_new_from_pixbuf(pixbuf); new_widget = gtk_toolbar_append_element (GTK_TOOLBAR (tool_menu_title_menu), GTK_TOOLBAR_CHILD_BUTTON, NULL, "", toolbar_c->tooltip, NULL, pixmap, NULL, NULL); gtk_label_set_use_underline( GTK_LABEL (((GtkToolbarChild*) ( g_list_last (GTK_TOOLBAR (tool_menu_title_menu)->children)->data))->label), TRUE); gtk_container_set_border_width (GTK_CONTAINER (new_widget), 1); g_signal_connect ((gpointer) new_widget, "clicked", G_CALLBACK (insert_viewer_wrap), constructor); gtk_widget_show (new_widget); lttv_toolbars_add(instance_toolbar, toolbar_c->con, toolbar_c->tooltip, toolbar_c->pixmap, new_widget); }
/*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_create_main(GschemToplevel *w_current) { TOPLEVEL *toplevel = gschem_toplevel_get_toplevel (w_current); GtkPolicyType policy; GtkWidget *main_box=NULL; GtkWidget *menubar=NULL; GtkWidget *toolbar=NULL; GtkWidget *handlebox=NULL; GtkWidget *hscrollbar; GtkWidget *vscrollbar; GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; char *right_button_text; /* used to signify that the window isn't mapped yet */ w_current->window = NULL; w_current->main_window = GTK_WIDGET (gschem_main_window_new ()); gtk_widget_set_name (w_current->main_window, "gschem"); gtk_window_set_policy (GTK_WINDOW (w_current->main_window), TRUE, TRUE, TRUE); /* We want the widgets to flow around the drawing area, so we don't * set a size of the main window. The drawing area's size is fixed, * see below */ /* * normally we let the window manager handle locating and sizing * the window. However, for some batch processing of schematics * (generating a pdf of all schematics for example) we want to * override this. Hence "auto_place_mode". */ if( auto_place_mode ) gtk_widget_set_uposition (w_current->main_window, 10, 10); /* this should work fine */ g_signal_connect (G_OBJECT (w_current->main_window), "delete_event", G_CALLBACK (i_callback_close_wm), w_current); /* Containers first */ main_box = gtk_vbox_new(FALSE, 1); gtk_container_border_width(GTK_CONTAINER(main_box), 0); gtk_container_add(GTK_CONTAINER(w_current->main_window), main_box); menubar = get_main_menu (w_current); if (w_current->handleboxes) { handlebox = gtk_handle_box_new (); gtk_box_pack_start(GTK_BOX(main_box), handlebox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (handlebox), menubar); } else { gtk_box_pack_start(GTK_BOX(main_box), menubar, FALSE, FALSE, 0); } w_current->menubar = menubar; gtk_widget_realize (w_current->main_window); if (w_current->handleboxes && w_current->toolbars) { handlebox = gtk_handle_box_new (); gtk_box_pack_start (GTK_BOX (main_box), handlebox, FALSE, FALSE, 0); } if (w_current->toolbars) { toolbar = gtk_toolbar_new(); gtk_toolbar_set_orientation (GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); if (w_current->handleboxes) { gtk_container_add (GTK_CONTAINER (handlebox), toolbar); } else { gtk_box_pack_start(GTK_BOX(main_box), toolbar, FALSE, FALSE, 0); } gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("New"), _("New file"), "toolbar/new", x_window_stock_pixmap("new", w_current), (GtkSignalFunc) i_callback_toolbar_file_new, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Open"), _("Open file..."), "toolbar/open", x_window_stock_pixmap("open", w_current), (GtkSignalFunc) i_callback_toolbar_file_open, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Save"), _("Save file"), "toolbar/save", x_window_stock_pixmap("save", w_current), (GtkSignalFunc) i_callback_toolbar_file_save, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Undo"), _("Undo last operation"), "toolbar/undo", x_window_stock_pixmap("undo", w_current), (GtkSignalFunc) i_callback_toolbar_edit_undo, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Redo"), _("Redo last undo"), "toolbar/redo", x_window_stock_pixmap("redo", w_current), (GtkSignalFunc) i_callback_toolbar_edit_redo, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); /* not part of any radio button group */ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Component"), _("Add component...\nSelect library and component from list, move the mouse into main window, click to place\nRight mouse button to cancel"), "toolbar/component", x_window_stock_pixmap("insert-symbol", w_current), (GtkSignalFunc) i_callback_toolbar_add_component, w_current); w_current->toolbar_net = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, _("Nets"), _("Add nets mode\nRight mouse button to cancel"), "toolbar/nets", x_window_stock_pixmap("insert-net", w_current), (GtkSignalFunc) i_callback_toolbar_add_net, w_current); w_current->toolbar_bus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, w_current->toolbar_net, _("Bus"), _("Add buses mode\nRight mouse button to cancel"), "toolbar/bus", x_window_stock_pixmap("insert-bus", w_current), (GtkSignalFunc) i_callback_toolbar_add_bus, w_current); /* not part of any radio button group */ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Text"), _("Add Text..."), "toolbar/text", x_window_stock_pixmap("insert-text", w_current), (GtkSignalFunc) i_callback_toolbar_add_text, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); w_current->toolbar_select = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, w_current->toolbar_bus, _("Select"), _("Select mode"), "toolbar/select", x_window_stock_pixmap("select", w_current), (GtkSignalFunc) i_callback_toolbar_edit_select, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_current->toolbar_select), TRUE); } /* Try to create popup menu (appears in right mouse button */ w_current->popup_menu = (GtkWidget *) get_main_popup(w_current); /* Setup a GtkScrolledWindow for the drawing area */ hadjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, toplevel->init_right, 100.0, 100.0, 10.0)); vadjustment = GTK_ADJUSTMENT (gtk_adjustment_new (toplevel->init_bottom, 0.0, toplevel->init_bottom, 100.0, 100.0, 10.0)); w_current->scrolled = gtk_scrolled_window_new (hadjustment, vadjustment); gtk_container_add(GTK_CONTAINER(main_box), w_current->scrolled); x_window_create_drawing(w_current->scrolled, w_current); x_window_setup_draw_events(w_current); policy = (w_current->scrollbars_flag) ? GTK_POLICY_ALWAYS : GTK_POLICY_NEVER; gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w_current->scrolled), policy, policy); hscrollbar = gtk_scrolled_window_get_hscrollbar (GTK_SCROLLED_WINDOW (w_current->scrolled)); gtk_range_set_update_policy (GTK_RANGE (hscrollbar), GTK_UPDATE_CONTINUOUS); vscrollbar = gtk_scrolled_window_get_vscrollbar (GTK_SCROLLED_WINDOW (w_current->scrolled)); gtk_range_set_update_policy (GTK_RANGE (vscrollbar), GTK_UPDATE_CONTINUOUS); /* macro box */ w_current->macro_widget = GTK_WIDGET (g_object_new (GSCHEM_TYPE_MACRO_WIDGET, NULL)); gtk_box_pack_start (GTK_BOX (main_box), w_current->macro_widget, FALSE, FALSE, 0); g_signal_connect (w_current->macro_widget, "response", G_CALLBACK (&x_window_invoke_macro), w_current); /* bottom box */ if (default_third_button == POPUP_ENABLED) { right_button_text = _("Menu/Cancel"); } else { right_button_text = _("Pan/Cancel"); } w_current->bottom_widget = GTK_WIDGET (g_object_new (GSCHEM_TYPE_BOTTOM_WIDGET, "grid-mode", gschem_options_get_grid_mode (w_current->options), "grid-size", gschem_options_get_snap_size (w_current->options), /* x_grid_query_drawn_spacing (w_current), -- occurs before the page is set */ "left-button-text", _("Pick"), "middle-button-text", _("none"), "right-button-text", right_button_text, "snap-mode", gschem_options_get_snap_mode (w_current->options), "snap-size", gschem_options_get_snap_size (w_current->options), "status-text", _("Select Mode"), NULL)); i_update_middle_button (w_current, NULL, NULL); gtk_box_pack_start (GTK_BOX (main_box), w_current->bottom_widget, FALSE, FALSE, 0); gtk_widget_show_all (w_current->main_window); w_current->window = w_current->drawing_area->window; w_current->drawable = w_current->window; x_window_setup_gc(w_current); }
GtkWidget* get_viewer_toolbar(GtkWidget *parent) { GtkWidget *toolbar, *pixmap_wid, *button; GdkPixmap *pixmap; GdkBitmap *mask; GtkStyle *style; gboolean fit_screen; style = gtk_widget_get_style(parent); toolbar = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS); gtk_tooltips_set_colors( GTK_TOOLBAR(toolbar)->tooltips, get_viewer_tooltips_bgcolor(parent->window, gdk_window_get_colormap(parent->window)), &style->fg[GTK_STATE_NORMAL]); gtk_tooltips_set_delay(GTK_TOOLBAR(toolbar)->tooltips, 100); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)browse_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Browse"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_browse), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)fullscreen_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Full screen"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_full_screen), NULL); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)save_image_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); saveimage_button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Save Image"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_save_image), NULL); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)prev_image_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); prev_button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Previous Image"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_prev_image), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)next_image_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); next_button = gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Next Image"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_next_image), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)slideshow_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); slideshow_button = gtk_toolbar_append_element( GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, NULL, _("Stop/Resume Slideshow"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_slideshow_toggled), NULL); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)refresh_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Refresh"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_refresh), NULL); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)screen_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); button = gtk_toolbar_append_element( GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, NULL, _("Fit Screen"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_fitscreen_toggled), NULL); fit_screen = rc_get_boolean("fit_screen"); gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), fit_screen); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)rotate_left_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Rotate -90"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_rotate), (gint *) LEFT); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)rotate_right_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Rotate +90"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_rotate), (gint *) RIGHT); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)right_left_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Reflect Right/Left"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_reflect), (gint *) RIGHTLEFT); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)up_down_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Reflect Up/Down"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(viewer_toolbar_reflect), (gint *) UPDOWN); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar)); pixmap = gdk_pixmap_create_from_xpm_d( parent->window, &mask, &style->bg[GTK_STATE_NORMAL], (gchar **)exit_xpm); pixmap_wid = gtk_pixmap_new(pixmap, mask); gtk_widget_show(pixmap_wid); gtk_toolbar_append_item( GTK_TOOLBAR(toolbar), NULL, _("Exit"), NULL, pixmap_wid, GTK_SIGNAL_FUNC(close_gtksee), NULL); return toolbar; }
static GtkWidget * gtk2perl_toolbar_insert_internal (GtkToolbar * toolbar, SV * type, SV * widget, SV * text, SV * tooltip_text, SV * tooltip_private_text, SV * icon, SV * callback, SV * user_data, SV * position, WhichInsert which, WhichOp op) { GtkWidget * w = NULL; const char * real_tooltip_text = NULL; const char * real_tooltip_private_text = NULL; /* _ornull is not always right for text, but is for the others. */ real_tooltip_text = SvGChar_ornull (tooltip_text); real_tooltip_private_text = SvGChar_ornull (tooltip_private_text); switch (which) { case STOCK: /* stock with NULL text (the stock id) makes no sense, * so let's make sure perl will issue an uninitialized * value warning for undef passed here for text. */ w = gtk_toolbar_insert_stock (toolbar, SvGChar (text), real_tooltip_text, real_tooltip_private_text, NULL, NULL, SvIV (position)); break; case ITEM: { const gchar * real_text = SvGChar_ornull (text); GtkWidget * real_icon = SvGtkWidget_ornull (icon); switch (op) { case PREPEND: w = gtk_toolbar_prepend_item (toolbar, real_text, real_tooltip_text, real_tooltip_private_text, real_icon, NULL, NULL); break; case APPEND: w = gtk_toolbar_append_item (toolbar, real_text, real_tooltip_text, real_tooltip_private_text, real_icon, NULL, NULL); break; case INSERT: w = gtk_toolbar_insert_item (toolbar, real_text, real_tooltip_text, real_tooltip_private_text, real_icon, NULL, NULL, SvIV (position)); break; default: g_assert_not_reached (); } } break; case ELEMENT: { GtkToolbarChildType real_type = SvGtkToolbarChildType(type); const gchar * real_text = SvGChar_ornull (text); GtkWidget * real_widget = SvGtkWidget_ornull (widget); GtkWidget * real_icon = SvGtkWidget_ornull (icon); switch (op) { case PREPEND: w = gtk_toolbar_prepend_element (toolbar, real_type, real_widget, real_text, real_tooltip_text, real_tooltip_private_text, real_icon, NULL, NULL); break; case APPEND: w = gtk_toolbar_append_element (toolbar, real_type, real_widget, real_text, real_tooltip_text, real_tooltip_private_text, real_icon, NULL, NULL); break; case INSERT: w = gtk_toolbar_insert_element (toolbar, real_type, real_widget, real_text, real_tooltip_text, real_tooltip_private_text, real_icon, NULL, NULL, SvIV (position)); break; default: g_assert_not_reached (); } } break; case WIDGET: { w = SvGtkWidget (widget); switch (op) { case PREPEND: gtk_toolbar_prepend_widget (toolbar, w, real_tooltip_text, real_tooltip_private_text); break; case APPEND: gtk_toolbar_append_widget (toolbar, w, real_tooltip_text, real_tooltip_private_text); break; case INSERT: gtk_toolbar_insert_widget (toolbar, w, real_tooltip_text, real_tooltip_private_text, SvIV (position)); break; default: g_assert_not_reached (); } } break; default: g_assert_not_reached (); } if (gperl_sv_is_defined (callback)) gperl_signal_connect (newSVGtkWidget (w), "clicked", callback, user_data, 0); return w; }
/*! \todo Finish function documentation!!! * \brief * \par Function Description * */ void x_window_create_main(GSCHEM_TOPLEVEL *w_current) { TOPLEVEL *toplevel = w_current->toplevel; GtkWidget *label=NULL; GtkWidget *main_box=NULL; GtkWidget *menubar=NULL; GtkWidget *drawbox=NULL; GtkWidget *bottom_box=NULL; GtkWidget *toolbar=NULL; GtkWidget *handlebox=NULL; /* used to signify that the window isn't mapped yet */ w_current->window = NULL; w_current->main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (w_current->main_window, "gschem"); gtk_window_set_policy (GTK_WINDOW (w_current->main_window), TRUE, TRUE, TRUE); /* We want the widgets to flow around the drawing area, so we don't * set a size of the main window. The drawing area's size is fixed, * see below */ /* * normally we let the window manager handle locating and sizing * the window. However, for some batch processing of schematics * (generating a pdf of all schematics for example) we want to * override this. Hence "auto_place_mode". */ if( auto_place_mode ) gtk_widget_set_uposition (w_current->main_window, 10, 10); /* this should work fine */ g_signal_connect (G_OBJECT (w_current->main_window), "delete_event", G_CALLBACK (i_callback_close_wm), w_current); /* Containers first */ main_box = gtk_vbox_new(FALSE, 1); gtk_container_border_width(GTK_CONTAINER(main_box), 0); gtk_container_add(GTK_CONTAINER(w_current->main_window), main_box); menubar = get_main_menu (w_current); if (w_current->handleboxes) { handlebox = gtk_handle_box_new (); gtk_box_pack_start(GTK_BOX(main_box), handlebox, FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (handlebox), menubar); } else { gtk_box_pack_start(GTK_BOX(main_box), menubar, FALSE, FALSE, 0); } w_current->menubar = menubar; gtk_widget_realize (w_current->main_window); if (w_current->handleboxes && w_current->toolbars) { handlebox = gtk_handle_box_new (); gtk_box_pack_start (GTK_BOX (main_box), handlebox, FALSE, FALSE, 0); } if (w_current->toolbars) { toolbar = gtk_toolbar_new(); gtk_toolbar_set_orientation (GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_style (GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); if (w_current->handleboxes) { gtk_container_add (GTK_CONTAINER (handlebox), toolbar); } else { gtk_box_pack_start(GTK_BOX(main_box), toolbar, FALSE, FALSE, 0); } gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("New"), _("New file"), "toolbar/new", x_window_stock_pixmap("new", w_current), (GtkSignalFunc) i_callback_toolbar_file_new, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Open"), _("Open file..."), "toolbar/open", x_window_stock_pixmap("open", w_current), (GtkSignalFunc) i_callback_toolbar_file_open, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Save"), _("Save file"), "toolbar/save", x_window_stock_pixmap("save", w_current), (GtkSignalFunc) i_callback_toolbar_file_save, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Undo"), _("Undo last operation"), "toolbar/undo", x_window_stock_pixmap("undo", w_current), (GtkSignalFunc) i_callback_toolbar_edit_undo, w_current); gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Redo"), _("Redo last undo"), "toolbar/redo", x_window_stock_pixmap("redo", w_current), (GtkSignalFunc) i_callback_toolbar_edit_redo, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); /* not part of any radio button group */ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Component"), _("Add component...\nSelect library and component from list, move the mouse into main window, click to place\nRight mouse button to cancel"), "toolbar/component", x_window_stock_pixmap("comp", w_current), (GtkSignalFunc) i_callback_toolbar_add_component, w_current); w_current->toolbar_net = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, _("Nets"), _("Add nets mode\nRight mouse button to cancel"), "toolbar/nets", x_window_stock_pixmap("net", w_current), (GtkSignalFunc) i_callback_toolbar_add_net, w_current); w_current->toolbar_bus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, w_current->toolbar_net, _("Bus"), _("Add buses mode\nRight mouse button to cancel"), "toolbar/bus", x_window_stock_pixmap("bus", w_current), (GtkSignalFunc) i_callback_toolbar_add_bus, w_current); /* not part of any radio button group */ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), _("Text"), _("Add Text..."), "toolbar/text", x_window_stock_pixmap("text", w_current), (GtkSignalFunc) i_callback_toolbar_add_text, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); w_current->toolbar_select = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, w_current->toolbar_bus, _("Select"), _("Select mode"), "toolbar/select", x_window_stock_pixmap("select", w_current), (GtkSignalFunc) i_callback_toolbar_edit_select, w_current); gtk_toolbar_append_space (GTK_TOOLBAR(toolbar)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_current->toolbar_select), TRUE); } /* Try to create popup menu (appears in right mouse button */ w_current->popup_menu = (GtkWidget *) get_main_popup(w_current); drawbox = gtk_hbox_new(FALSE, 0); gtk_container_border_width(GTK_CONTAINER(drawbox), 0); gtk_container_add(GTK_CONTAINER(main_box), drawbox); x_window_create_drawing(drawbox, w_current); x_window_setup_draw_events(w_current); if (w_current->scrollbars_flag == TRUE) { /* setup scroll bars */ w_current->v_adjustment = GTK_ADJUSTMENT ( gtk_adjustment_new (toplevel->init_bottom, 0.0, toplevel->init_bottom, 100.0, 100.0, 10.0)); w_current->v_scrollbar = gtk_vscrollbar_new (w_current->v_adjustment); gtk_range_set_update_policy (GTK_RANGE (w_current->v_scrollbar), GTK_UPDATE_CONTINUOUS); gtk_box_pack_start (GTK_BOX (drawbox), w_current->v_scrollbar, FALSE, FALSE, 0); g_signal_connect (w_current->v_adjustment, "value_changed", G_CALLBACK (x_event_vschanged), w_current); w_current->h_adjustment = GTK_ADJUSTMENT ( gtk_adjustment_new (0.0, 0.0, toplevel->init_right, 100.0, 100.0, 10.0)); w_current->h_scrollbar = gtk_hscrollbar_new (w_current->h_adjustment); gtk_range_set_update_policy (GTK_RANGE (w_current->h_scrollbar), GTK_UPDATE_CONTINUOUS); gtk_box_pack_start (GTK_BOX (main_box), w_current->h_scrollbar, FALSE, FALSE, 0); g_signal_connect (w_current->h_adjustment, "value_changed", G_CALLBACK (x_event_hschanged), w_current); } /* macro box */ w_current->macro_entry = gtk_entry_new(); g_signal_connect(w_current->macro_entry, "activate", G_CALLBACK(&x_window_invoke_macro), w_current); w_current->macro_box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(w_current->macro_box), w_current->macro_entry, TRUE, TRUE, 2); gtk_container_border_width(GTK_CONTAINER(w_current->macro_box), 1); gtk_box_pack_start (GTK_BOX (main_box), w_current->macro_box, FALSE, FALSE, 0); /* bottom box */ bottom_box = gtk_hbox_new(FALSE, 0); gtk_container_border_width(GTK_CONTAINER(bottom_box), 1); gtk_box_pack_start (GTK_BOX (main_box), bottom_box, FALSE, FALSE, 0); /* label = gtk_label_new ("Mouse buttons:"); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 10); */ label = gtk_label_new (" "); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 2); w_current->left_label = gtk_label_new (_("Pick")); gtk_box_pack_start (GTK_BOX (bottom_box), w_current->left_label, FALSE, FALSE, 0); label = gtk_label_new ("|"); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 5); if (w_current->middle_button == STROKE) { #ifdef HAVE_LIBSTROKE w_current->middle_label = gtk_label_new (_("Stroke")); #else w_current->middle_label = gtk_label_new (_("none")); #endif } else if (w_current->middle_button == ACTION) { w_current->middle_label = gtk_label_new (_("Action")); } else { w_current->middle_label = gtk_label_new (_("Repeat/none")); } gtk_box_pack_start (GTK_BOX (bottom_box), w_current->middle_label, FALSE, FALSE, 0); label = gtk_label_new ("|"); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 5); if (default_third_button == POPUP_ENABLED) { w_current->right_label = gtk_label_new (_("Menu/Cancel")); } else { w_current->right_label = gtk_label_new (_("Pan/Cancel")); } gtk_box_pack_start (GTK_BOX (bottom_box), w_current->right_label, FALSE, FALSE, 0); label = gtk_label_new (" "); gtk_box_pack_start (GTK_BOX (bottom_box), label, FALSE, FALSE, 5); w_current->grid_label = gtk_label_new (" "); gtk_box_pack_start (GTK_BOX (bottom_box), w_current->grid_label, FALSE, FALSE, 10); w_current->status_label = gtk_label_new (_("Select Mode")); gtk_box_pack_end (GTK_BOX (bottom_box), w_current->status_label, FALSE, FALSE, 10); gtk_widget_show_all (w_current->main_window); gtk_widget_hide(w_current->macro_box); w_current->window = w_current->drawing_area->window; w_current->drawable = w_current->window; x_window_setup_gc(w_current); }
GtkWidget *merge_dialog_new (merge_dialog_struct *mrg, gboolean hide_control, GtkWidget *parent_window, gchar *frame_title, gchar *source_title, gchar *result_title, gchar *mix_title) { // Standard controls for merging the source HF with the result of a transformation GtkWidget *frame, *frame2, *vbox, *table, *hbox, *button, *scale, *but1, *but2, *but3, *but4, *but5, *but6; GtkObject *adj; // Titles default to predefined values when NULL if (!source_title) source_title = "Source"; if (!result_title) result_title = "Result"; if (!frame_title) frame_title = "Source & result merge"; if (!mix_title) mix_title = "Mix"; frame = frame_new (frame_title, DEF_PAD*0.5); vbox = gtk_vbox_new(FALSE,DEF_PAD*0.5); mrg->main_box = vbox; gtk_widget_show(vbox); if (hide_control) { frame = define_frame_with_hiding_arrows (frame_title, vbox, parent_window, TRUE); } else { frame = frame_new (frame_title, DEF_PAD*0.5); gtk_container_add(GTK_CONTAINER(frame),vbox); } hbox = gtk_hbox_new(FALSE,DEF_PAD); gtk_widget_show(hbox); define_label_in_box("Mode", hbox, FALSE, FALSE, DEF_PAD *0.5); mrg->op_toolbar = gtk_toolbar_new (); gtk_toolbar_set_orientation(GTK_TOOLBAR(mrg->op_toolbar),GTK_ORIENTATION_HORIZONTAL); gtk_toolbar_set_style(GTK_TOOLBAR(mrg->op_toolbar),GTK_TOOLBAR_TEXT); gtk_widget_show(GTK_WIDGET(mrg->op_toolbar)); but1 = gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON,NULL,"+", _("Add"),NULL,NULL,GTK_SIGNAL_FUNC(merge_add_callb),(gpointer) mrg->content); but2 = gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but1,"-", _("Subtract"),NULL,NULL,GTK_SIGNAL_FUNC(merge_subtract_callb),(gpointer) mrg->content); but3 = gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON,but1,"x", _("Multiply"),NULL,NULL,GTK_SIGNAL_FUNC(merge_multiply_callb),(gpointer) mrg->content); but4 = gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON,but1,_("min"), _("Minimum"),NULL,NULL,GTK_SIGNAL_FUNC(merge_min_callb),(gpointer) mrg->content); but5 = gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON,but1,_("max"), _("Maximum"),NULL,NULL,GTK_SIGNAL_FUNC(merge_max_callb),(gpointer) mrg->content); but6 = gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON,but1,_("alt"), _("Altitude"),NULL,NULL,GTK_SIGNAL_FUNC(merge_altitude_callb),(gpointer) mrg->content); merge_set_op (mrg, mrg->content->merge_op); // XOR doesn't seem interesting enough... // gtk_toolbar_append_element(GTK_TOOLBAR(mrg->op_toolbar), // GTK_TOOLBAR_CHILD_RADIOBUTTON,but1,"^", // _("Exclusive OR (XOR)"),NULL,NULL,GTK_SIGNAL_FUNC(merge_xor_callb),(gpointer) mrg); gtk_box_pack_start(GTK_BOX(hbox),mrg->op_toolbar, TRUE, TRUE, DEF_PAD *0.5); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE,DEF_PAD); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); define_label_in_box(mix_title,hbox,FALSE,FALSE,DEF_PAD); define_label_in_box(source_title, hbox, FALSE, FALSE, 0); adj = gtk_adjustment_new (mrg->content->mix, -100, 100, 1, 1, 0.01); scale = define_scale_in_box(adj,hbox,0, 0); optimize_on_mouse_click (scale, mrg->content->data); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (mix_upd), (gpointer) mrg->content); mrg->adj_mix = adj; define_label_in_box(result_title, hbox,FALSE, FALSE, 0); button = gtk_button_new_with_label ("0"); gtk_signal_connect (GTK_OBJECT (button), "clicked", (GtkSignalFunc) zero_callb, adj); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, DEF_PAD); hbox = gtk_hbox_new(FALSE,DEF_PAD); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); define_label_in_box("Hardness",hbox, FALSE, FALSE, DEF_PAD); adj = gtk_adjustment_new (mrg->content->hardness, 0.0, 1.0, 0.01, 0.01, 0.01); scale = define_scale_in_box(adj,hbox,2,DEF_PAD); optimize_on_mouse_click (scale, mrg->content->data); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (hardness_upd), (gpointer) mrg->content); mrg->adj_hardness = adj; // Display the hardness scale only for altitude merge: gtk_widget_hide (GTK_WIDGET(scale)); gtk_signal_connect (GTK_OBJECT (but1), "clicked", (GtkSignalFunc) hide_callb, scale); gtk_signal_connect (GTK_OBJECT (but2), "clicked", (GtkSignalFunc) hide_callb, scale); gtk_signal_connect (GTK_OBJECT (but3), "clicked", (GtkSignalFunc) hide_callb, scale); gtk_signal_connect (GTK_OBJECT (but4), "clicked", (GtkSignalFunc) hide_callb, scale); gtk_signal_connect (GTK_OBJECT (but5), "clicked", (GtkSignalFunc) hide_callb, scale); gtk_signal_connect (GTK_OBJECT (but6), "clicked", (GtkSignalFunc) show_callb, scale); table = gtk_table_new(2, 3, FALSE); gtk_widget_show(GTK_WIDGET(table)); frame2 = define_frame_with_hiding_arrows ("Brightness",table, parent_window, FALSE); gtk_box_pack_start(GTK_BOX(vbox), frame2, TRUE, TRUE, 0); define_label_in_table(source_title,table,0, 1, 0, 1, DEF_PAD*0.5); adj = gtk_adjustment_new (mrg->content->source_offset, -100, 100, 1, 1, 0.01); scale = define_scale_in_table(adj,table,1, 2, 0, 1, 0, DEF_PAD*0.5); optimize_on_mouse_click (scale, mrg->content->data); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (source_offset_upd), (gpointer) mrg->content); mrg->adj_source_offset = adj; button = define_button_in_table ("0", table, 2, 3, 0, 1, DEF_PAD*0.5); gtk_signal_connect (GTK_OBJECT (button), "clicked", (GtkSignalFunc) zero_callb, adj); define_label_in_table(result_title,table,0, 1, 1, 2, DEF_PAD*0.5); adj = gtk_adjustment_new (mrg->content->result_offset, -100, 100, 1, 1, 0.01); scale = define_scale_in_table(adj,table,1, 2, 1, 2, 0, DEF_PAD*0.5); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (result_offset_upd), (gpointer) mrg->content); optimize_on_mouse_click (scale, mrg->content->data); mrg->adj_result_offset = adj; button = define_button_in_table ("0", table, 2, 3, 1, 2, DEF_PAD*0.5); gtk_signal_connect (GTK_OBJECT (button), "clicked", (GtkSignalFunc) zero_callb, adj); table = gtk_table_new(2, 3, FALSE); gtk_widget_show(GTK_WIDGET(table)); frame2 = define_frame_with_hiding_arrows ("Translate",table, parent_window, FALSE); define_label_in_table("Horizontal",table,0, 1, 0, 1, DEF_PAD); adj = gtk_adjustment_new (mrg->content->x_translate, -100, 100, 1, 1, 0.01); scale = define_scale_in_table(adj,table,1, 2, 0, 1, 0, DEF_PAD); optimize_on_mouse_click (scale, mrg->content->data); mrg->adj_x_translate = adj; gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (merge_x_translate_upd), (gpointer) mrg->content); button = define_button_in_table ("0", table, 2, 3, 0, 1, DEF_PAD*0.5); gtk_signal_connect (GTK_OBJECT (button), "clicked", (GtkSignalFunc) zero_callb, adj); define_label_in_table("Vertical",table,0, 1, 1, 2, DEF_PAD); adj = gtk_adjustment_new (mrg->content->y_translate, -100, 100, 1, 1, 0.01); scale = define_scale_in_table(adj,table,1, 2, 1, 2, 0, DEF_PAD); optimize_on_mouse_click (scale, mrg->content->data); mrg->adj_y_translate = adj; gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (merge_y_translate_upd), (gpointer) mrg->content); button = define_button_in_table ("0", table, 2, 3, 1, 2, DEF_PAD*0.5); gtk_signal_connect (GTK_OBJECT (button), "clicked", (GtkSignalFunc) zero_callb, adj); gtk_box_pack_start(GTK_BOX(vbox), frame2, TRUE, TRUE, 0); return frame ; }
static GtkWidget *_create_toolbar() { GtkWidget *win; GtkWidget *toolbar; GtkWidget *but; win = gtk_window_new(GTK_WINDOW_TOPLEVEL); #ifdef S52_USE_GTK2 toolbar = gtk_toolbar_new(); #else toolbar = gtk_toolbar_new(GTK_ORIENTATION_VERTICAL, GTK_TOOLBAR_TEXT); #endif gtk_container_add(GTK_CONTAINER(win), toolbar); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, "Zoom", "Zoom tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "zoompan"); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but, "Select", "Selection tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "select"); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but, "Draw Points", "Point drawing tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "point"); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but, "Draw Line", "Line drawing tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "line"); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but, "Draw Area", "Area drawing tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "area"); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but, "Edit Node", "Node edit tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "node"); but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, but, "Draw ROI", "ROI drawing tool", NULL, NULL, GTK_SIGNAL_FUNC(_toolbar_callback), (void *) "roi"); /* but = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, "Link", "Link views together", NULL, NULL, GTK_SIGNAL_FUNC(_link_callback), NULL); */ gtk_signal_connect(GTK_OBJECT(win), "delete-event", GTK_SIGNAL_FUNC(gtk_main_quit), NULL); gtk_widget_show(toolbar); gtk_widget_show(win); return win; }
GtkWidget* create_window1 (void) { GtkWidget *window1; GtkWidget *vbox1; GtkWidget *menubar1; GtkWidget *menuitem1; GtkWidget *menu1; GtkWidget *new1; GtkWidget *open1; GtkWidget *save1; GtkWidget *save_as1; GtkWidget *separatormenuitem1; GtkWidget *quit1; GtkWidget *menuitem2; GtkWidget *menu2; GtkWidget *cut1; GtkWidget *copy1; GtkWidget *paste1; GtkWidget *delete1; GtkWidget *menuitem3; GtkWidget *menu3; GtkWidget *menuitem4; GtkWidget *menu4; GtkWidget *about1; GtkWidget *handlebox1; GtkWidget *toolbar1; GtkWidget *tmp_toolbar_icon; GtkWidget *button1; GtkWidget *button2; GtkWidget *button3; GtkWidget *hscale1; GtkWidget *statusbar1; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window1), _("window1")); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (window1), vbox1); menubar1 = gtk_menu_bar_new (); gtk_widget_show (menubar1); gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File")); gtk_widget_show (menuitem1); gtk_container_add (GTK_CONTAINER (menubar1), menuitem1); menu1 = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menu1); new1 = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group); gtk_widget_show (new1); gtk_container_add (GTK_CONTAINER (menu1), new1); open1 = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group); gtk_widget_show (open1); gtk_container_add (GTK_CONTAINER (menu1), open1); save1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group); gtk_widget_show (save1); gtk_container_add (GTK_CONTAINER (menu1), save1); save_as1 = gtk_image_menu_item_new_from_stock ("gtk-save-as", accel_group); gtk_widget_show (save_as1); gtk_container_add (GTK_CONTAINER (menu1), save_as1); separatormenuitem1 = gtk_separator_menu_item_new (); gtk_widget_show (separatormenuitem1); gtk_container_add (GTK_CONTAINER (menu1), separatormenuitem1); gtk_widget_set_sensitive (separatormenuitem1, FALSE); quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); gtk_widget_show (quit1); gtk_container_add (GTK_CONTAINER (menu1), quit1); menuitem2 = gtk_menu_item_new_with_mnemonic (_("_Edit")); gtk_widget_show (menuitem2); gtk_container_add (GTK_CONTAINER (menubar1), menuitem2); menu2 = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem2), menu2); cut1 = gtk_image_menu_item_new_from_stock ("gtk-cut", accel_group); gtk_widget_show (cut1); gtk_container_add (GTK_CONTAINER (menu2), cut1); copy1 = gtk_image_menu_item_new_from_stock ("gtk-copy", accel_group); gtk_widget_show (copy1); gtk_container_add (GTK_CONTAINER (menu2), copy1); paste1 = gtk_image_menu_item_new_from_stock ("gtk-paste", accel_group); gtk_widget_show (paste1); gtk_container_add (GTK_CONTAINER (menu2), paste1); delete1 = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group); gtk_widget_show (delete1); gtk_container_add (GTK_CONTAINER (menu2), delete1); menuitem3 = gtk_menu_item_new_with_mnemonic (_("_View")); gtk_widget_show (menuitem3); gtk_container_add (GTK_CONTAINER (menubar1), menuitem3); menu3 = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem3), menu3); menuitem4 = gtk_menu_item_new_with_mnemonic (_("_Help")); gtk_widget_show (menuitem4); gtk_container_add (GTK_CONTAINER (menubar1), menuitem4); menu4 = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menu4); about1 = gtk_menu_item_new_with_mnemonic (_("_About")); gtk_widget_show (about1); gtk_container_add (GTK_CONTAINER (menu4), about1); handlebox1 = gtk_handle_box_new (); gtk_widget_show (handlebox1); gtk_box_pack_start (GTK_BOX (vbox1), handlebox1, FALSE, TRUE, 0); toolbar1 = gtk_toolbar_new (); gtk_widget_show (toolbar1); gtk_container_add (GTK_CONTAINER (handlebox1), toolbar1); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-open", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button1 = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("button1"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button1); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-cdrom", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button2 = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("button2"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button2); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-refresh", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button3 = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("button3"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button3); hscale1 = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 0, 0, 0))); gtk_widget_show (hscale1); gtk_box_pack_start (GTK_BOX (vbox1), hscale1, TRUE, TRUE, 0); statusbar1 = gtk_statusbar_new (); gtk_widget_show (statusbar1); gtk_box_pack_start (GTK_BOX (vbox1), statusbar1, FALSE, FALSE, 0); g_signal_connect ((gpointer) new1, "activate", G_CALLBACK (on_new1_activate), NULL); g_signal_connect ((gpointer) open1, "activate", G_CALLBACK (on_open1_activate), NULL); g_signal_connect ((gpointer) save1, "activate", G_CALLBACK (on_save1_activate), NULL); g_signal_connect ((gpointer) save_as1, "activate", G_CALLBACK (on_save_as1_activate), NULL); g_signal_connect ((gpointer) quit1, "activate", G_CALLBACK (on_quit1_activate), NULL); g_signal_connect ((gpointer) cut1, "activate", G_CALLBACK (on_cut1_activate), NULL); g_signal_connect ((gpointer) copy1, "activate", G_CALLBACK (on_copy1_activate), NULL); g_signal_connect ((gpointer) paste1, "activate", G_CALLBACK (on_paste1_activate), NULL); g_signal_connect ((gpointer) delete1, "activate", G_CALLBACK (on_delete1_activate), NULL); g_signal_connect ((gpointer) about1, "activate", G_CALLBACK (on_about1_activate), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (window1, window1, "window1"); GLADE_HOOKUP_OBJECT (window1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (window1, menubar1, "menubar1"); GLADE_HOOKUP_OBJECT (window1, menuitem1, "menuitem1"); GLADE_HOOKUP_OBJECT (window1, menu1, "menu1"); GLADE_HOOKUP_OBJECT (window1, new1, "new1"); GLADE_HOOKUP_OBJECT (window1, open1, "open1"); GLADE_HOOKUP_OBJECT (window1, save1, "save1"); GLADE_HOOKUP_OBJECT (window1, save_as1, "save_as1"); GLADE_HOOKUP_OBJECT (window1, separatormenuitem1, "separatormenuitem1"); GLADE_HOOKUP_OBJECT (window1, quit1, "quit1"); GLADE_HOOKUP_OBJECT (window1, menuitem2, "menuitem2"); GLADE_HOOKUP_OBJECT (window1, menu2, "menu2"); GLADE_HOOKUP_OBJECT (window1, cut1, "cut1"); GLADE_HOOKUP_OBJECT (window1, copy1, "copy1"); GLADE_HOOKUP_OBJECT (window1, paste1, "paste1"); GLADE_HOOKUP_OBJECT (window1, delete1, "delete1"); GLADE_HOOKUP_OBJECT (window1, menuitem3, "menuitem3"); GLADE_HOOKUP_OBJECT (window1, menu3, "menu3"); GLADE_HOOKUP_OBJECT (window1, menuitem4, "menuitem4"); GLADE_HOOKUP_OBJECT (window1, menu4, "menu4"); GLADE_HOOKUP_OBJECT (window1, about1, "about1"); GLADE_HOOKUP_OBJECT (window1, handlebox1, "handlebox1"); GLADE_HOOKUP_OBJECT (window1, toolbar1, "toolbar1"); GLADE_HOOKUP_OBJECT (window1, button1, "button1"); GLADE_HOOKUP_OBJECT (window1, button2, "button2"); GLADE_HOOKUP_OBJECT (window1, button3, "button3"); GLADE_HOOKUP_OBJECT (window1, hscale1, "hscale1"); GLADE_HOOKUP_OBJECT (window1, statusbar1, "statusbar1"); gtk_window_add_accel_group (GTK_WINDOW (window1), accel_group); return window1; }
GtkWidget* create_app (void) { GtkWidget *app; GtkWidget *dock1; GtkWidget *toolbar1; GtkWidget *tmp_toolbar_icon; GtkWidget *button_new; GtkWidget *button_open; GtkWidget *button_save; GtkWidget *button_save_as; GtkWidget *hexentry; GtkWidget *button_upload; GtkWidget *radiobutton_spline; GtkWidget *radiobutton_linear; GtkWidget *radiobutton_free; GtkWidget *vbox1; GtkWidget *hbox1; GtkWidget *vbox2; GtkWidget *table1; GtkWidget *label1; GtkWidget *label2; GtkWidget *label3; GtkWidget *label4; GtkWidget *label5; GtkWidget *label6; GtkObject *minx_adj; GtkWidget *minx; GtkWidget *type; GList *type_items = NULL; GtkWidget *typeentry; GtkObject *maxx_adj; GtkWidget *maxx; GtkObject *miny_adj; GtkWidget *miny; GtkObject *maxy_adj; GtkWidget *maxy; GtkObject *count_adj; GtkWidget *count; GtkWidget *label10; GtkWidget *label11; GtkWidget *label12; GtkObject *scale_adj; GtkWidget *scale; GtkObject *base_adj; GtkWidget *base; GtkWidget *label13; GtkWidget *scrolledwindow1; GtkWidget *clist; GtkWidget *label8; GtkWidget *label9; GtkWidget *toolbar2; GtkWidget *list_open; GtkWidget *list_save; GtkWidget *list_add; GtkWidget *list_remove; GtkWidget *list_use; GtkWidget *curve; GtkWidget *appbar1; app = gnome_app_new ("Curvegen", _("PSXDEV Curve Generator")); gtk_object_set_data (GTK_OBJECT (app), "app", app); dock1 = GNOME_APP (app)->dock; gtk_widget_ref (dock1); gtk_object_set_data_full (GTK_OBJECT (app), "dock1", dock1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (dock1); gnome_app_create_menus (GNOME_APP (app), menubar1_uiinfo); gtk_widget_ref (menubar1_uiinfo[0].widget); gtk_object_set_data_full (GTK_OBJECT (app), "file1", menubar1_uiinfo[0].widget, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_ref (file1_menu_uiinfo[0].widget); gtk_object_set_data_full (GTK_OBJECT (app), "exit1", file1_menu_uiinfo[0].widget, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_ref (menubar1_uiinfo[1].widget); gtk_object_set_data_full (GTK_OBJECT (app), "help1", menubar1_uiinfo[1].widget, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_ref (help1_menu_uiinfo[0].widget); gtk_object_set_data_full (GTK_OBJECT (app), "about1", help1_menu_uiinfo[0].widget, (GtkDestroyNotify) gtk_widget_unref); toolbar1 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); gtk_widget_ref (toolbar1); gtk_object_set_data_full (GTK_OBJECT (app), "toolbar1", toolbar1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (toolbar1); gnome_app_add_toolbar (GNOME_APP (app), GTK_TOOLBAR (toolbar1), "toolbar1", GNOME_DOCK_ITEM_BEH_EXCLUSIVE, GNOME_DOCK_TOP, 1, 0, 0); gtk_container_set_border_width (GTK_CONTAINER (toolbar1), 1); gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar1), 16); gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_SPACE_LINE); gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar1), GTK_RELIEF_NONE); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_NEW); button_new = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("New"), _("New File"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (button_new); gtk_object_set_data_full (GTK_OBJECT (app), "button_new", button_new, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button_new); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_OPEN); button_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Open"), _("Open File"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (button_open); gtk_object_set_data_full (GTK_OBJECT (app), "button_open", button_open, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button_open); gtk_widget_set_sensitive (button_open, FALSE); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_SAVE); button_save = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Save"), _("Save File"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (button_save); gtk_object_set_data_full (GTK_OBJECT (app), "button_save", button_save, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button_save); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_SAVE_AS); button_save_as = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Save As"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (button_save_as); gtk_object_set_data_full (GTK_OBJECT (app), "button_save_as", button_save_as, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button_save_as); hexentry = gtk_entry_new (); gtk_widget_ref (hexentry); gtk_object_set_data_full (GTK_OBJECT (app), "hexentry", hexentry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hexentry); gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), hexentry, _("Address of curve in PlayStation memory..."), NULL); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_MAIL_FWD); button_upload = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Upload"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (button_upload); gtk_object_set_data_full (GTK_OBJECT (app), "button_upload", button_upload, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button_upload); gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_CONVERT); radiobutton_spline = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, _("SPLINE"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (radiobutton_spline); gtk_object_set_data_full (GTK_OBJECT (app), "radiobutton_spline", radiobutton_spline, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radiobutton_spline); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radiobutton_spline), FALSE); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_CONVERT); radiobutton_linear = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_RADIOBUTTON, radiobutton_spline, _("LINEAR"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (radiobutton_linear); gtk_object_set_data_full (GTK_OBJECT (app), "radiobutton_linear", radiobutton_linear, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radiobutton_linear); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radiobutton_linear), FALSE); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_CONVERT); radiobutton_free = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_RADIOBUTTON, radiobutton_spline, _("FREE"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (radiobutton_free); gtk_object_set_data_full (GTK_OBJECT (app), "radiobutton_free", radiobutton_free, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radiobutton_free); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (radiobutton_free), FALSE); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_ref (vbox1); gtk_object_set_data_full (GTK_OBJECT (app), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox1); gnome_app_set_contents (GNOME_APP (app), vbox1); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_ref (hbox1); gtk_object_set_data_full (GTK_OBJECT (app), "hbox1", hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_ref (vbox2); gtk_object_set_data_full (GTK_OBJECT (app), "vbox2", vbox2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (hbox1), vbox2, FALSE, TRUE, 0); table1 = gtk_table_new (10, 2, FALSE); gtk_widget_ref (table1); gtk_object_set_data_full (GTK_OBJECT (app), "table1", table1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox2), table1, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table1), 4); gtk_table_set_row_spacings (GTK_TABLE (table1), 1); gtk_table_set_col_spacings (GTK_TABLE (table1), 2); label1 = gtk_label_new (_("Min X")); gtk_widget_ref (label1); gtk_object_set_data_full (GTK_OBJECT (app), "label1", label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label1); gtk_table_attach (GTK_TABLE (table1), label1, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label1), 7.45058e-09, 0.5); label2 = gtk_label_new (_("Max X")); gtk_widget_ref (label2); gtk_object_set_data_full (GTK_OBJECT (app), "label2", label2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label2); gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label2), 7.45058e-09, 0.5); label3 = gtk_label_new (_("Min Y")); gtk_widget_ref (label3); gtk_object_set_data_full (GTK_OBJECT (app), "label3", label3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label3); gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label3), 7.45058e-09, 0.5); label4 = gtk_label_new (_("Max Y")); gtk_widget_ref (label4); gtk_object_set_data_full (GTK_OBJECT (app), "label4", label4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label4), 7.45058e-09, 0.5); label5 = gtk_label_new (_("Count")); gtk_widget_ref (label5); gtk_object_set_data_full (GTK_OBJECT (app), "label5", label5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label5); gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 8, 9, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); label6 = gtk_label_new (_("Type")); gtk_widget_ref (label6); gtk_object_set_data_full (GTK_OBJECT (app), "label6", label6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label6); gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 9, 10, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); minx_adj = gtk_adjustment_new (0, -1e+13, 1e+13, 1, 10, 10); minx = gtk_spin_button_new (GTK_ADJUSTMENT (minx_adj), 1, 4); gtk_widget_ref (minx); gtk_object_set_data_full (GTK_OBJECT (app), "minx", minx, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (minx); gtk_table_attach (GTK_TABLE (table1), minx, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (minx), TRUE); type = gtk_combo_new (); gtk_widget_ref (type); gtk_object_set_data_full (GTK_OBJECT (app), "type", type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (type); gtk_table_attach (GTK_TABLE (table1), type, 1, 2, 9, 10, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_combo_set_value_in_list (GTK_COMBO (type), TRUE, FALSE); gtk_combo_set_use_arrows_always (GTK_COMBO (type), TRUE); type_items = g_list_append (type_items, _("u_char")); type_items = g_list_append (type_items, _("char")); type_items = g_list_append (type_items, _("u_short")); type_items = g_list_append (type_items, _("short")); type_items = g_list_append (type_items, _("u_long")); type_items = g_list_append (type_items, _("long")); type_items = g_list_append (type_items, _("float")); type_items = g_list_append (type_items, _("double")); type_items = g_list_append (type_items, _("fixed (4+12)")); gtk_combo_set_popdown_strings (GTK_COMBO (type), type_items); g_list_free (type_items); typeentry = GTK_COMBO (type)->entry; gtk_widget_ref (typeentry); gtk_object_set_data_full (GTK_OBJECT (app), "typeentry", typeentry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (typeentry); gtk_entry_set_editable (GTK_ENTRY (typeentry), FALSE); gtk_entry_set_text (GTK_ENTRY (typeentry), _("u_char")); maxx_adj = gtk_adjustment_new (1, -1e+13, 1e+13, 1, 10, 10); maxx = gtk_spin_button_new (GTK_ADJUSTMENT (maxx_adj), 1, 4); gtk_widget_ref (maxx); gtk_object_set_data_full (GTK_OBJECT (app), "maxx", maxx, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (maxx); gtk_table_attach (GTK_TABLE (table1), maxx, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (maxx), TRUE); miny_adj = gtk_adjustment_new (0, -1e+13, 1e+13, 1, 10, 10); miny = gtk_spin_button_new (GTK_ADJUSTMENT (miny_adj), 1, 4); gtk_widget_ref (miny); gtk_object_set_data_full (GTK_OBJECT (app), "miny", miny, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (miny); gtk_table_attach (GTK_TABLE (table1), miny, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (miny), TRUE); maxy_adj = gtk_adjustment_new (1, -1e+13, 1e+13, 1, 10, 10); maxy = gtk_spin_button_new (GTK_ADJUSTMENT (maxy_adj), 1, 4); gtk_widget_ref (maxy); gtk_object_set_data_full (GTK_OBJECT (app), "maxy", maxy, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (maxy); gtk_table_attach (GTK_TABLE (table1), maxy, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (maxy), TRUE); count_adj = gtk_adjustment_new (1, 1, 1e+22, 1, 10, 10); count = gtk_spin_button_new (GTK_ADJUSTMENT (count_adj), 1, 0); gtk_widget_ref (count); gtk_object_set_data_full (GTK_OBJECT (app), "count", count, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (count); gtk_table_attach (GTK_TABLE (table1), count, 1, 2, 8, 9, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); label10 = gtk_label_new (_("Curve Interval:")); gtk_widget_ref (label10); gtk_object_set_data_full (GTK_OBJECT (app), "label10", label10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label10); gtk_table_attach (GTK_TABLE (table1), label10, 0, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label10), 7.45058e-09, 0.5); label11 = gtk_label_new (_("Datatype:")); gtk_widget_ref (label11); gtk_object_set_data_full (GTK_OBJECT (app), "label11", label11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label11); gtk_table_attach (GTK_TABLE (table1), label11, 0, 2, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label11), 7.45058e-09, 0.5); label12 = gtk_label_new (_("Scale")); gtk_widget_ref (label12); gtk_object_set_data_full (GTK_OBJECT (app), "label12", label12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label12); gtk_table_attach (GTK_TABLE (table1), label12, 0, 1, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5); scale_adj = gtk_adjustment_new (1, 1, 1e+22, 1, 10, 10); scale = gtk_spin_button_new (GTK_ADJUSTMENT (scale_adj), 1, 0); gtk_widget_ref (scale); gtk_object_set_data_full (GTK_OBJECT (app), "scale", scale, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale); gtk_table_attach (GTK_TABLE (table1), scale, 1, 2, 6, 7, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); base_adj = gtk_adjustment_new (0, 0, 1e+22, 1, 10, 10); base = gtk_spin_button_new (GTK_ADJUSTMENT (base_adj), 1, 0); gtk_widget_ref (base); gtk_object_set_data_full (GTK_OBJECT (app), "base", base, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (base); gtk_table_attach (GTK_TABLE (table1), base, 1, 2, 7, 8, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); label13 = gtk_label_new (_("Base")); gtk_widget_ref (label13); gtk_object_set_data_full (GTK_OBJECT (app), "label13", label13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table1), label13, 0, 1, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_ref (scrolledwindow1); gtk_object_set_data_full (GTK_OBJECT (app), "scrolledwindow1", scrolledwindow1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow1); gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow1, TRUE, TRUE, 0); gtk_widget_set_sensitive (scrolledwindow1, FALSE); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); clist = gtk_clist_new (2); gtk_widget_ref (clist); gtk_object_set_data_full (GTK_OBJECT (app), "clist", clist, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (clist); gtk_container_add (GTK_CONTAINER (scrolledwindow1), clist); gtk_clist_set_column_width (GTK_CLIST (clist), 0, 28); gtk_clist_set_column_width (GTK_CLIST (clist), 1, 80); gtk_clist_column_titles_show (GTK_CLIST (clist)); label8 = gtk_label_new (_("Type")); gtk_widget_ref (label8); gtk_object_set_data_full (GTK_OBJECT (app), "label8", label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label8); gtk_clist_set_column_widget (GTK_CLIST (clist), 0, label8); label9 = gtk_label_new (_("Name")); gtk_widget_ref (label9); gtk_object_set_data_full (GTK_OBJECT (app), "label9", label9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label9); gtk_clist_set_column_widget (GTK_CLIST (clist), 1, label9); toolbar2 = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); gtk_widget_ref (toolbar2); gtk_object_set_data_full (GTK_OBJECT (app), "toolbar2", toolbar2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (toolbar2); gtk_box_pack_start (GTK_BOX (vbox2), toolbar2, FALSE, FALSE, 0); gtk_widget_set_sensitive (toolbar2, FALSE); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_OPEN); list_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Open"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (list_open); gtk_object_set_data_full (GTK_OBJECT (app), "list_open", list_open, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (list_open); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_SAVE); list_save = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Save"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (list_save); gtk_object_set_data_full (GTK_OBJECT (app), "list_save", list_save, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (list_save); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_ADD); list_add = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Add"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (list_add); gtk_object_set_data_full (GTK_OBJECT (app), "list_add", list_add, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (list_add); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_REMOVE); list_remove = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Remove"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (list_remove); gtk_object_set_data_full (GTK_OBJECT (app), "list_remove", list_remove, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (list_remove); tmp_toolbar_icon = gnome_stock_pixmap_widget (app, GNOME_STOCK_PIXMAP_EXEC); list_use = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Use"), NULL, NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref (list_use); gtk_object_set_data_full (GTK_OBJECT (app), "list_use", list_use, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (list_use); curve = gtk_curve_new (); gtk_widget_ref (curve); gtk_object_set_data_full (GTK_OBJECT (app), "curve", curve, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (curve); gtk_box_pack_start (GTK_BOX (hbox1), curve, TRUE, TRUE, 0); gtk_widget_set_usize (curve, 256, 256); gtk_curve_set_range (GTK_CURVE (curve), 0, 1, 0, 1); appbar1 = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER); gtk_widget_ref (appbar1); gtk_object_set_data_full (GTK_OBJECT (app), "appbar1", appbar1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (appbar1); gnome_app_set_statusbar (GNOME_APP (app), appbar1); gtk_signal_connect (GTK_OBJECT (app), "delete_event", GTK_SIGNAL_FUNC (on_app_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (button_new), "clicked", GTK_SIGNAL_FUNC (on_button_new_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button_open), "clicked", GTK_SIGNAL_FUNC (on_button_open_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button_save), "clicked", GTK_SIGNAL_FUNC (on_button_save_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button_save_as), "clicked", GTK_SIGNAL_FUNC (on_button_save_as_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button_upload), "clicked", GTK_SIGNAL_FUNC (on_button_upload_clicked), NULL); gtk_signal_connect (GTK_OBJECT (radiobutton_spline), "clicked", GTK_SIGNAL_FUNC (on_radiobutton_spline_clicked), NULL); gtk_signal_connect (GTK_OBJECT (radiobutton_linear), "clicked", GTK_SIGNAL_FUNC (on_radiobutton_linear_clicked), NULL); gtk_signal_connect (GTK_OBJECT (radiobutton_free), "clicked", GTK_SIGNAL_FUNC (on_radiobutton_free_clicked), NULL); gtk_signal_connect (GTK_OBJECT (minx), "changed", GTK_SIGNAL_FUNC (on_minx_changed), NULL); gtk_signal_connect (GTK_OBJECT (maxx), "changed", GTK_SIGNAL_FUNC (on_maxx_changed), NULL); gtk_signal_connect (GTK_OBJECT (miny), "changed", GTK_SIGNAL_FUNC (on_miny_changed), NULL); gtk_signal_connect (GTK_OBJECT (maxy), "changed", GTK_SIGNAL_FUNC (on_maxy_changed), NULL); gtk_signal_connect (GTK_OBJECT (list_open), "clicked", GTK_SIGNAL_FUNC (on_list_open_clicked), NULL); gtk_signal_connect (GTK_OBJECT (list_save), "clicked", GTK_SIGNAL_FUNC (on_list_save_clicked), NULL); gtk_signal_connect (GTK_OBJECT (list_add), "clicked", GTK_SIGNAL_FUNC (on_list_add_clicked), NULL); gtk_signal_connect (GTK_OBJECT (list_remove), "clicked", GTK_SIGNAL_FUNC (on_list_remove_clicked), NULL); gtk_signal_connect (GTK_OBJECT (list_use), "clicked", GTK_SIGNAL_FUNC (on_list_use_clicked), NULL); return app; }
void create_vector_table_options_dialog (vector_table_options_D *dialog) { GtkWidget *tbl = NULL, *toolbar = NULL, *btn = NULL, *btnBaseRadioSource = NULL ; GtkAccelGroup *accel_group = NULL ; GtkTreeViewColumn *col = NULL ; GtkCellRenderer *cr = NULL ; accel_group = gtk_accel_group_new () ; dialog->dialog = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_modal (GTK_WINDOW (dialog->dialog), TRUE); gtk_window_set_title (GTK_WINDOW (dialog->dialog), _("Vector Table Setup")); gtk_window_set_resizable (GTK_WINDOW (dialog->dialog), TRUE) ; g_object_set_data (G_OBJECT (dialog->dialog), "dialog", dialog) ; tbl = gtk_table_new (2, 1, FALSE) ; gtk_widget_show (tbl) ; gtk_container_add (GTK_CONTAINER (dialog->dialog), tbl) ; toolbar = gtk_toolbar_new () ; gtk_widget_show (toolbar) ; gtk_table_attach (GTK_TABLE (tbl), toolbar, 0, 1, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0) ; gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar), GTK_ORIENTATION_HORIZONTAL) ; gtk_toolbar_set_tooltips (GTK_TOOLBAR (toolbar), TRUE) ; gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH) ; g_object_set_data (G_OBJECT (btn = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Close"), _("Close Window"), _("Close vector table editor."), gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnClose_clicked, NULL)), "dialog", dialog) ; gtk_widget_add_accelerator (btn, "clicked", accel_group, GDK_w, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE) ; gtk_toolbar_append_space (GTK_TOOLBAR (toolbar)) ; #ifdef STDIO_FILEIO dialog->btnOpen = btn = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Open"), _("Open Vector Table"), _("Open and display another vector table."), gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnOpen_clicked, dialog) ; gtk_widget_add_accelerator (btn, "clicked", accel_group, GDK_o, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE) ; dialog->btnSave = btn = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Save"), _("Save Vector Table"), _("Save the displayed vector table."), gtk_image_new_from_stock (GTK_STOCK_SAVE, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnSave_clicked, dialog->dialog) ; gtk_widget_add_accelerator (btn, "clicked", accel_group, GDK_s, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE) ; #endif /* def STDIO_FILEIO */ gtk_toolbar_append_space (GTK_TOOLBAR (toolbar)) ; g_object_set_data (G_OBJECT ( dialog->tbtnExhaustive = btnBaseRadioSource = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, _("Exhaustive"), _("Exhaustive Verification"), _("Attempt all possible inputs."), gtk_image_new_from_stock (GTK_STOCK_YES, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnSimType_clicked, dialog)), "sim_type", (gpointer)EXHAUSTIVE_VERIFICATION) ; g_object_set_data (G_OBJECT ( dialog->tbtnVT = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, btnBaseRadioSource, _("Vector Table"), _("Vector Table Simulation"), _("Create a sequence of inputs."), gtk_image_new_from_stock (GTK_STOCK_NO, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnSimType_clicked, dialog)), "sim_type", (gpointer)VECTOR_TABLE) ; dialog->tblVT = gtk_table_new (1, 2, FALSE) ; gtk_widget_show (dialog->tblVT) ; gtk_table_attach (GTK_TABLE (tbl), dialog->tblVT, 0, 1, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0) ; toolbar = gtk_toolbar_new () ; gtk_widget_show (toolbar) ; gtk_table_attach (GTK_TABLE (dialog->tblVT), toolbar, 0, 1, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0) ; gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar), GTK_ORIENTATION_VERTICAL) ; gtk_toolbar_set_tooltips (GTK_TOOLBAR (toolbar), TRUE) ; gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_ICONS) ; dialog->btnAdd = btn = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Add"), _("Add Vector"), _("Apend a vector to the end of the table."), gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnAdd_clicked, dialog->dialog) ; dialog->btnInsert = btn = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Insert Before"), _("Insert Vector Before"), _("Insert vector before the selected one."), gtk_image_new_from_stock (QCAD_STOCK_INSERT_COL_BEFORE, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnAdd_clicked, dialog->dialog) ; dialog->btnDelete = btn = gtk_toolbar_append_element ( GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Delete Vector"), _("Delete Vector"), _("Insert the selected vector."), gtk_image_new_from_stock (GTK_STOCK_DELETE, GTK_ICON_SIZE_LARGE_TOOLBAR), (GCallback)vector_table_options_dialog_btnDelete_clicked, dialog->dialog) ; dialog->sw = qcad_tree_view_container_new () ; gtk_widget_show (dialog->sw) ; gtk_table_attach (GTK_TABLE (dialog->tblVT), dialog->sw, 1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 2, 2) ; gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (dialog->sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC) ; gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (dialog->sw), GTK_SHADOW_IN) ; dialog->tv = create_bus_layout_tree_view (TRUE, _("Inputs"), GTK_SELECTION_SINGLE) ; gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->tv), col = gtk_tree_view_column_new ()) ; gtk_tree_view_column_set_title (col, _("Active")) ; gtk_tree_view_column_pack_start (col, cr = dialog->crActive = gtk_cell_renderer_toggle_new (), TRUE) ; gtk_tree_view_column_add_attribute (col, cr, "active", VECTOR_TABLE_MODEL_COLUMN_ACTIVE) ; g_object_set (G_OBJECT (cr), "activatable", TRUE, NULL) ; gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cr), TRUE) ; gtk_widget_show (dialog->tv) ; gtk_container_add (GTK_CONTAINER (dialog->sw), dialog->tv) ; qcad_tree_view_container_freeze_columns (QCAD_TREE_VIEW_CONTAINER (dialog->sw), 2) ; g_signal_connect (G_OBJECT (dialog->tv), "style-set", (GCallback)tree_view_style_set, NULL) ; g_signal_connect (G_OBJECT (cr), "toggled", (GCallback)vt_model_active_toggled, dialog->tv) ; g_signal_connect (G_OBJECT (dialog->dialog), "delete-event", (GCallback)vector_table_options_dialog_btnClose_clicked, NULL) ; gtk_window_add_accel_group (GTK_WINDOW (dialog->dialog), accel_group) ; }
static DebugWindow * debug_window_new(void) { DebugWindow *win; GtkWidget *vbox; GtkWidget *toolbar; GtkWidget *sw; GtkWidget *button; GtkWidget *image; int width, height; win = g_new0(DebugWindow, 1); width = gaim_prefs_get_int("/gaim/gtk/debug/width"); height = gaim_prefs_get_int("/gaim/gtk/debug/height"); GAIM_DIALOG(win->window); gaim_debug(GAIM_DEBUG_INFO, "gtkdebug", "Setting dimensions to %d, %d\n", width, height); gtk_window_set_default_size(GTK_WINDOW(win->window), width, height); gtk_window_set_role(GTK_WINDOW(win->window), "debug"); gtk_window_set_title(GTK_WINDOW(win->window), _("Debug Window")); g_signal_connect(G_OBJECT(win->window), "delete_event", G_CALLBACK(debug_window_destroy), NULL); g_signal_connect(G_OBJECT(win->window), "configure_event", G_CALLBACK(configure_cb), win); /* Setup the vbox */ vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(win->window), vbox); if (gaim_prefs_get_bool("/gaim/gtk/debug/toolbar")) { /* Setup our top button bar thingie. */ toolbar = gtk_toolbar_new(); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ); gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar), GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); /* Find button */ gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar), GTK_STOCK_FIND, NULL, NULL, G_CALLBACK(find_cb), win, -1); /* Save */ gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar), GTK_STOCK_SAVE, NULL, NULL, G_CALLBACK(save_cb), win, -1); /* Clear button */ gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar), GTK_STOCK_CLEAR, NULL, NULL, G_CALLBACK(clear_cb), win, -1); gtk_toolbar_insert_space(GTK_TOOLBAR(toolbar), -1); /* Pause */ image = gtk_image_new_from_stock(GAIM_STOCK_PAUSE, GTK_ICON_SIZE_MENU); button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, _("Pause"), NULL, NULL, image, G_CALLBACK(pause_cb), win); /* Timestamps */ button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, _("Timestamps"), NULL, NULL, NULL, G_CALLBACK(timestamps_cb), win); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), gaim_prefs_get_bool("/gaim/gtk/debug/timestamps")); win->timestamps_handle = gaim_prefs_connect_callback("/gaim/gtk/debug/timestamps", timestamps_pref_cb, button); } /* Now our scrolled window... */ sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); /* ... which has a gtkimhtml in it. */ win->text = gtk_imhtml_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(sw), win->text); /* Pack it in... Not like that, sicko. */ gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); gtk_widget_show_all(win->window); return win; }
GtkWidget *create_main_toolbar(GtkWidget *parent, MainToolbar *toolbar) { GtkWidget *toolbar1; GtkWidget *toolbar_newf; GtkWidget *toolbar_open; GtkWidget *toolbar_save; GtkWidget *toolbar_zplus; GtkWidget *toolbar_yplus; GtkWidget *toolbar_yminus; GtkWidget *toolbar_xplus; GtkWidget *toolbar_xminus; GtkWidget *toolbar_iso; GtkWidget *toolbar_target; GtkWidget *toolbar_abox; GtkWidget *toolbar_apyr; GtkWidget *toolbar_atel; GtkWidget *toolbar_alnk; GtkWidget *toolbar_abas; GtkWidget *toolbar_slider; GtkTooltips *tooltips; GtkWidget *tmp_toolbar_icon; GtkAdjustment *sa; tooltips = gtk_tooltips_new(); toolbar1 = gtk_toolbar_new(); gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar1), GTK_ORIENTATION_HORIZONTAL); gtk_widget_ref(toolbar1); gtk_widget_show(toolbar1); tmp_toolbar_icon = gtk_image_new_from_stock(GTK_STOCK_NEW, GTK_ICON_SIZE_SMALL_TOOLBAR); toolbar_newf = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Create a new BZFlag world"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_newf); gtk_widget_show(toolbar_newf); tmp_toolbar_icon = gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_SMALL_TOOLBAR); toolbar_open = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Open a BZFlag world"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_open); gtk_widget_show(toolbar_open); tmp_toolbar_icon = gtk_image_new_from_stock(GTK_STOCK_SAVE, GTK_ICON_SIZE_SMALL_TOOLBAR); toolbar_save = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Save the current world"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_save); gtk_widget_show(toolbar_save); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar1)); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::zplus_xpm); toolbar_zplus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("View from above"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_zplus); gtk_widget_show(toolbar_zplus); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar1)); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::yplus_xpm); toolbar_yplus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("View from +Y"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_yplus); gtk_widget_show(toolbar_yplus); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::yminus_xpm); toolbar_yminus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("View from -Y"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_yminus); gtk_widget_show(toolbar_yminus); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar1)); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::xplus_xpm); toolbar_xplus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("View from +X"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_xplus); gtk_widget_show(toolbar_xplus); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::xminus_xpm); toolbar_xminus = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("View from -X"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_xminus); gtk_widget_show(toolbar_xminus); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar1)); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::iso_xpm); toolbar_iso = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Isometric view"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_iso); gtk_widget_show(toolbar_iso); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar1)); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::target_xpm); toolbar_target = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Center view on (0, 0, 0)"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_target); gtk_widget_show(toolbar_target); gtk_toolbar_append_space(GTK_TOOLBAR(toolbar1)); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::addbox_xpm); toolbar_abox = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Add a box"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_abox); gtk_widget_show(toolbar_abox); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::addpyr_xpm); toolbar_apyr = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Add a pyramid"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_apyr); gtk_widget_show(toolbar_apyr); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::addtele_xpm); toolbar_atel = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Add a teleporter"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_atel); gtk_widget_show(toolbar_atel); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::addlink_xpm); toolbar_alnk = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Add a link"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_alnk); gtk_widget_show(toolbar_alnk); tmp_toolbar_icon = gnome_pixmap_new_from_xpm_d(TB::addbase_xpm); toolbar_abas = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, _("Add a base"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_ref(toolbar_abas); gtk_widget_show(toolbar_abas); sa = GTK_ADJUSTMENT(gtk_adjustment_new(100.0, 0.0, 100.0, 1.0, 10.0, 0.0)); toolbar_slider = gtk_hscale_new(sa); gtk_widget_set_size_request(toolbar_slider, 75, -1); gtk_scale_set_draw_value(GTK_SCALE(toolbar_slider), FALSE); gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar1), toolbar_slider, NULL, NULL); gtk_tooltips_set_tip(GTK_TOOLTIPS(tooltips), toolbar_slider, _("Transparency"), NULL); gtk_widget_ref(toolbar_slider); gtk_widget_show(toolbar_slider); gtk_signal_connect(GTK_OBJECT(toolbar_newf), "clicked", GTK_SIGNAL_FUNC(CB::MW::newf), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_open), "clicked", GTK_SIGNAL_FUNC(CB::MW::open), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_save), "clicked", GTK_SIGNAL_FUNC(CB::MW::save), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_zplus), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_zplus), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_yplus), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_yplus), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_yminus), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_yminus), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_xplus), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_xplus), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_xminus), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_xminus), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_iso), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_iso), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_target), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_target), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_abox), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_addbox), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_apyr), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_addpyr), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_atel), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_addtel), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_alnk), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_addlnk), NULL); gtk_signal_connect(GTK_OBJECT(toolbar_abas), "clicked", GTK_SIGNAL_FUNC(CB::MW::tb_addbas), NULL); gtk_signal_connect(GTK_OBJECT(sa), "value_changed", GTK_SIGNAL_FUNC(CB::MW::tb_trans), NULL); gtk_signal_connect(GTK_OBJECT(sa), "changed", GTK_SIGNAL_FUNC(CB::MW::tb_trans), NULL); toolbar->toolbar = toolbar1; toolbar->newf = toolbar_newf; toolbar->open = toolbar_open; toolbar->save = toolbar_save; toolbar->zplus = toolbar_zplus; toolbar->yplus = toolbar_yplus; toolbar->yminus = toolbar_yminus; toolbar->xplus = toolbar_xplus; toolbar->xminus = toolbar_xminus; toolbar->iso = toolbar_iso; toolbar->target = toolbar_target; toolbar->abox = toolbar_abox; toolbar->apyr = toolbar_apyr; toolbar->atel = toolbar_atel; toolbar->alnk = toolbar_alnk; toolbar->abas = toolbar_abas; toolbar->slider = toolbar_slider; return toolbar1; }
GtkWidget* create_gifmain (void) { GtkWidget *toolbar; GtkWidget *tmp_toolbar_icon; GtkWidget *butConnect,*butAdd, *butConf, *butOffline; GtkWidget *appbar; char pathname[MAX_PATH_LENGTH]; gifmain = gnome_app_new ("gchat", "gchat"); gtk_window_set_position (GTK_WINDOW (gifmain), GTK_WIN_POS_CENTER); gtk_window_set_default_size (GTK_WINDOW (gifmain), 205, 400); strcpy(pathname,COMMON_PATH_PREFIX); strcat(pathname,"client/pixmaps/icon.png"); gtk_window_set_icon(GTK_WINDOW(gifmain), create_pixbuf(pathname)); gnome_app_create_menus (GNOME_APP (gifmain), menubar_uiinfo); gtk_widget_set_sensitive (conn_menu_uiinfo[1].widget, FALSE); gtk_widget_set_sensitive (mnuContacts_menu_uiinfo[0].widget, FALSE); gtk_widget_set_sensitive (mnuContacts_menu_uiinfo[1].widget, FALSE); gtk_widget_set_sensitive (mnuContacts_menu_uiinfo[3].widget, FALSE); toolbar = gtk_toolbar_new (); gtk_widget_show (toolbar); gnome_app_add_toolbar (GNOME_APP (gifmain), GTK_TOOLBAR (toolbar), "toolbar", BONOBO_DOCK_ITEM_BEH_EXCLUSIVE, BONOBO_DOCK_TOP, 1, 0, 0); gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-jump-to", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar))); butConnect = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("C_onn"), _("Connect to the server"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar)->children)->data))->label), TRUE); gtk_widget_show (butConnect); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-add", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar))); butAdd = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("_Add"), _("Add new contacts"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar)->children)->data))->label), TRUE); gtk_widget_show (butAdd); gtk_widget_set_sensitive (butAdd, FALSE); tmp_toolbar_icon = gtk_image_new_from_stock ("gnome-stock-scores", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar))); butConf = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Con_f"), _("Make a conference"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar)->children)->data))->label), TRUE); gtk_widget_show (butConf); gtk_widget_set_sensitive (butConf, FALSE); tmp_toolbar_icon = gtk_image_new_from_stock ("gnome-stock-mail", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar))); butOffline = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_BUTTON, NULL, _("Off_line"), _("View offline messages"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar)->children)->data))->label), TRUE); gtk_widget_show (butOffline); gtk_widget_set_sensitive (butOffline, FALSE); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow1); gnome_app_set_contents (GNOME_APP (gifmain), scrolledwindow1); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); appbar = gnome_appbar_new (TRUE, TRUE, GNOME_PREFERENCES_NEVER); gtk_widget_show (appbar); gnome_app_set_statusbar (GNOME_APP (gifmain), appbar); gnome_app_install_menu_hints (GNOME_APP (gifmain), menubar_uiinfo); gtk_widget_show(gifmain); gtk_signal_connect (GTK_OBJECT (butConnect), "clicked", G_CALLBACK (on_Connect), NULL); gtk_signal_connect (GTK_OBJECT (butAdd), "clicked", G_CALLBACK (on_Add), NULL); gtk_signal_connect (GTK_OBJECT (butConf), "clicked", G_CALLBACK (on_butConf_clicked), NULL); gtk_signal_connect (GTK_OBJECT (butOffline), "clicked", G_CALLBACK (on_Offline), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (gifmain, gifmain, "gifmain"); GLADE_HOOKUP_OBJECT (gifmain, menubar_uiinfo[0].widget, "conn"); GLADE_HOOKUP_OBJECT (gifmain, conn_menu_uiinfo[0].widget, "mnuConnect"); GLADE_HOOKUP_OBJECT (gifmain, conn_menu_uiinfo[1].widget, "mnuDisconect"); GLADE_HOOKUP_OBJECT (gifmain, conn_menu_uiinfo[2].widget, "separator1"); GLADE_HOOKUP_OBJECT (gifmain, conn_menu_uiinfo[3].widget, "mnuQuit"); GLADE_HOOKUP_OBJECT (gifmain, menubar_uiinfo[1].widget, "mnuContacts"); GLADE_HOOKUP_OBJECT (gifmain, mnuContacts_menu_uiinfo[0].widget, "mnuAdd"); GLADE_HOOKUP_OBJECT (gifmain, mnuContacts_menu_uiinfo[1].widget, "mnuDelete"); GLADE_HOOKUP_OBJECT (gifmain, mnuContacts_menu_uiinfo[2].widget, "separator2"); GLADE_HOOKUP_OBJECT (gifmain, mnuContacts_menu_uiinfo[3].widget, "mnuOffline"); GLADE_HOOKUP_OBJECT (gifmain, menubar_uiinfo[2].widget, "mnuHelp"); GLADE_HOOKUP_OBJECT (gifmain, mnuHelp_menu_uiinfo[0].widget, "mnuAbout"); GLADE_HOOKUP_OBJECT (gifmain, toolbar, "toolbar"); GLADE_HOOKUP_OBJECT (gifmain, butConnect, "butConnect"); GLADE_HOOKUP_OBJECT (gifmain, butAdd, "butAdd"); GLADE_HOOKUP_OBJECT (gifmain, butConf, "butConf"); GLADE_HOOKUP_OBJECT (gifmain, butOffline, "butOffline"); GLADE_HOOKUP_OBJECT (gifmain, scrolledwindow1, "scrolledwindow1"); GLADE_HOOKUP_OBJECT (gifmain, appbar, "appbar"); return gifmain; }