GtkWidget * gog_barcol_plot_pref (GogBarColPlot *barcol, GOCmdContext *cc) { GtkWidget *w; GtkBuilder *gui = go_gtk_builder_load ("res:go:plot_barcol/gog-barcol-prefs.ui", GETTEXT_PACKAGE, cc); if (gui == NULL) return NULL; w = go_gtk_builder_get_widget (gui, "gap_spinner"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), barcol->gap_percentage); g_signal_connect (G_OBJECT (gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (w))), "value_changed", G_CALLBACK (cb_gap_changed), barcol); w = go_gtk_builder_get_widget (gui, "overlap_spinner"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), barcol->overlap_percentage); g_signal_connect (G_OBJECT (gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (w))), "value_changed", G_CALLBACK (cb_overlap_changed), barcol); w = go_gtk_builder_get_widget (gui, "before-grid"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), (GOG_PLOT (barcol))->rendering_order == GOG_PLOT_RENDERING_BEFORE_GRID); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (display_before_grid_cb), barcol); w = GTK_WIDGET (g_object_ref (gtk_builder_get_object (gui, "gog-barcol-prefs"))); g_object_unref (gui); return w; }
/** * go_gtk_builder_load_internal: * @uifile: the name of the file load * @domain: the translation domain * @gcc: #GOCmdContext * * Simple utility to open ui files * * Since: 0.9.6 * Returns: (transfer full): a new #GtkBuilder or NULL * * Variant of go_gtk_builder_new that searchs goffice directories * for files. * @uifile should be one of these: * * res:NAME -- data from resource manager * data:DATA -- data right here * filename -- data from local file * * Data may be compressed, regardless of source. **/ GtkBuilder * go_gtk_builder_load_internal (char const *uifile, char const *domain, GOCmdContext *gcc) { char *f; GtkBuilder *res; if (g_path_is_absolute (uifile) || strncmp (uifile, "res:", 4) == 0 || strncmp (uifile, "data:", 5) == 0) return go_gtk_builder_load (uifile, domain, gcc); f = g_build_filename (go_sys_data_dir (), "ui", uifile, NULL); res = go_gtk_builder_load (f, domain, gcc); g_free (f); return res; }
GtkWidget * gog_bubble_plot_pref (GogBubblePlot *bubble, GOCmdContext *cc) { GtkWidget *w; GtkBuilder *gui = go_gtk_builder_load ("res:go:plot_xy/gog-bubble-prefs.ui", GETTEXT_PACKAGE, cc); if (gui == NULL) return NULL; w = go_gtk_builder_get_widget (gui, "area"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), bubble->size_as_area); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_type_changed), bubble); w = go_gtk_builder_get_widget (gui, "diameter"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), !bubble->size_as_area); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_type_changed), bubble); w = go_gtk_builder_get_widget (gui, "vary_style_by_element"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), bubble->base.base.vary_style_by_element); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_style_changed), bubble); w = go_gtk_builder_get_widget (gui, "3d"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), bubble->in_3d); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_3d_changed), bubble); /* TODO Add support for 3D bubbles. Hide the button for now. */ gtk_widget_hide (w); w = go_gtk_builder_get_widget (gui, "scale"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), bubble->bubble_scale * 100.); g_signal_connect (G_OBJECT (gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (w))), "value_changed", G_CALLBACK (cb_scale_changed), bubble); w = go_gtk_builder_get_widget (gui, "show_negative_values"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), bubble->show_negatives); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_negatives_changed), bubble); w = GTK_WIDGET (g_object_ref (gtk_builder_get_object (gui, "gog-bubble-prefs"))); g_object_unref (gui); return w; }
static void gog_xy_dropbar_populate_editor (GogObject *obj, GOEditor *editor, GogDataAllocator *dalloc, GOCmdContext *cc) { #ifdef GOFFICE_WITH_GTK GogXYDropBarPlot *dropbar = GOG_XY_DROPBAR_PLOT (obj); GtkBuilder *gui = go_gtk_builder_load ("res:go:plot_xy/gog-xy-dropbar-prefs.ui", GETTEXT_PACKAGE, cc); if (gui != NULL) { GtkWidget *w = go_gtk_builder_get_widget (gui, "before-grid"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), (GOG_PLOT (obj))->rendering_order == GOG_PLOT_RENDERING_BEFORE_GRID); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (display_before_grid_cb), obj); w = go_gtk_builder_get_widget (gui, "horizontal"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), dropbar->horizontal); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (horizontal_cb), obj); w = go_gtk_builder_get_widget (gui, "width-btn"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), dropbar->width); g_signal_connect (G_OBJECT (w), "value_changed", G_CALLBACK (value_changed_cb), obj); w = go_gtk_builder_get_widget (gui, "gog-xy-dropbar-prefs"); go_editor_add_page (editor, w, _("Properties")); g_object_unref (gui); } #endif gog_xy_dropbar_parent_klass->populate_editor (obj, editor, dalloc, cc); };
/** * go_gtk_builder_new: * @uifile: the name of the file load * @domain: the translation domain * @gcc: #GOCmdContext * * Simple utility to open ui files * * Deprecated: 0.9.6, use go_gtk_builder_load(). * Returns: (transfer full): a new #GtkBuilder or NULL * * @uifile should be one of these: * * res:NAME -- data from resource manager * data:DATA -- data right here * filename -- data from local file * * Data may be compressed, regardless of source. **/ GtkBuilder * go_gtk_builder_new (char const *uifile, char const *domain, GOCmdContext *gcc) { return go_gtk_builder_load (uifile, domain, gcc); }
GtkWidget * gog_xyz_surface_plot_pref (GogXYZPlot *plot, GogDataAllocator *dalloc, GOCmdContext *cc) { GogDataset *set = GOG_DATASET (plot); XYZSurfPrefsState *state; GtkWidget *w, *grid; GtkBuilder *gui = go_gtk_builder_load ("res:go:plot_surface/gog-xyz-surface-prefs.ui", GETTEXT_PACKAGE, cc); if (gui == NULL) return NULL; state = g_new (XYZSurfPrefsState, 1); state->plot = plot; state->x_spin = w = go_gtk_builder_get_widget (gui, "columns_spinner"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), plot->columns); g_signal_connect (G_OBJECT (gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (w))), "value_changed", G_CALLBACK (cb_columns_changed), plot); state->x_label = go_gtk_builder_get_widget (gui, "cols-nb-lbl"); grid = go_gtk_builder_get_widget (gui, "gog-xyz-surface-prefs"); state->x_entry = GTK_WIDGET (gog_data_allocator_editor (dalloc, set, 0, GOG_DATA_VECTOR)); gtk_widget_show_all (state->x_entry); gtk_widget_set_margin_left (state->x_entry, 12); gtk_grid_attach (GTK_GRID (grid), state->x_entry, 0, 2, 3, 1); w = go_gtk_builder_get_widget (gui, "preset-cols-btn"); if (!state->plot->auto_x) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), TRUE); gtk_widget_hide (state->x_spin); gtk_widget_hide (state->x_label); } else gtk_widget_hide (state->x_entry); w = go_gtk_builder_get_widget (gui, "calc-cols-btn"); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_cols_toggled), state); state->y_spin = w = go_gtk_builder_get_widget (gui, "rows_spinner"); gtk_spin_button_set_value (GTK_SPIN_BUTTON (w), plot->rows); g_signal_connect (G_OBJECT (gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (w))), "value_changed", G_CALLBACK (cb_rows_changed), plot); state->y_label = go_gtk_builder_get_widget (gui, "rows-nb-lbl"); state->y_entry = GTK_WIDGET (gog_data_allocator_editor (dalloc, set, 1, GOG_DATA_VECTOR)); gtk_widget_show_all (state->y_entry); gtk_widget_set_margin_left (state->y_entry, 12); gtk_grid_attach (GTK_GRID (grid), state->y_entry, 0, 5, 3, 1); w = go_gtk_builder_get_widget (gui, "preset-rows-btn"); if (!state->plot->auto_y) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), TRUE); gtk_widget_hide (state->y_spin); gtk_widget_hide (state->y_label); } else gtk_widget_hide (state->y_entry); w = go_gtk_builder_get_widget (gui, "calc-rows-btn"); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_rows_toggled), state); w = go_gtk_builder_get_widget (gui, "missing-as-btn"); if (GOG_PLOT (plot)->desc.series.num_dim == 2) { gboolean as_density; gtk_widget_hide (w); gtk_widget_hide (go_gtk_builder_get_widget (gui, "missing-lbl")); w = gtk_check_button_new_with_label (_("Display population density")); gtk_container_add (GTK_CONTAINER (grid), w); gtk_widget_show (w); g_object_get (plot, "as-density", &as_density, NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), as_density); g_signal_connect (G_OBJECT (w), "toggled", G_CALLBACK (cb_as_density_toggled), state); } else { char const *missing; g_object_get (plot, "missing-as", &missing, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (w), missing_as_value (missing)); g_signal_connect (G_OBJECT (w), "changed", G_CALLBACK (cb_missing_as_changed), state); } w = GTK_WIDGET (g_object_ref (grid)); g_object_set_data_full (G_OBJECT (w), "state", state, g_free); g_object_unref (gui); return w; }