GtkWidget* LightDialog::createColorSelector () { _colorSelector = GTK_COLOR_SELECTION(gtk_color_selection_new()); gtk_color_selection_set_has_opacity_control(_colorSelector, FALSE); gtk_color_selection_set_has_palette(_colorSelector, FALSE); return GTK_WIDGET(_colorSelector); }
static void set_palette(void) { GtkWidget *sel; int n; GdkColor *colors; GtkSettings *settings; if (Menulocal.Palette == NULL) { return; } settings = gtk_settings_get_default(); if (settings == NULL) { return; } sel = gtk_color_selection_new(); if (gtk_color_selection_palette_from_string(Menulocal.Palette, &colors, &n)) { g_free(colors); g_object_set(settings, "gtk-color-palette", Menulocal.Palette, NULL); } gtk_widget_destroy(sel); return; }
GtkWidget *roccat_color_selection_dialog_new(GtkWindow *parent) { RoccatColorSelectionDialog *color_selection_dialog; RoccatColorSelectionDialogPrivate *priv; GtkWidget *content_area; color_selection_dialog = g_object_new(ROCCAT_COLOR_SELECTION_DIALOG_TYPE, NULL); priv = color_selection_dialog->priv; gtk_dialog_add_button(GTK_DIALOG(color_selection_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); gtk_dialog_add_button(GTK_DIALOG(color_selection_dialog), GTK_STOCK_OK, GTK_RESPONSE_OK); gtk_window_set_title(GTK_WINDOW(color_selection_dialog), _("Choose color")); gtk_window_set_transient_for(GTK_WINDOW(color_selection_dialog), parent); gtk_window_set_modal(GTK_WINDOW(color_selection_dialog), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(color_selection_dialog), TRUE); priv->multiwidget = ROCCAT_MULTIWIDGET(roccat_multiwidget_new()); priv->palette_selector = ROCCAT_COLOR_PALETTE_SELECTOR(roccat_color_palette_selector_new()); roccat_multiwidget_add(priv->multiwidget, GTK_WIDGET(priv->palette_selector)); g_signal_connect(G_OBJECT(priv->palette_selector), "color-changed", G_CALLBACK(palette_color_changed_cb), color_selection_dialog); priv->custom_selector = GTK_COLOR_SELECTION(gtk_color_selection_new()); roccat_multiwidget_add(priv->multiwidget, GTK_WIDGET(priv->custom_selector)); g_signal_connect(G_OBJECT(priv->custom_selector), "color-changed", G_CALLBACK(custom_color_changed_cb), color_selection_dialog); content_area = gtk_dialog_get_content_area(GTK_DIALOG(color_selection_dialog)); gtk_box_pack_start(GTK_BOX(content_area), GTK_WIDGET(priv->multiwidget), TRUE, TRUE, 0); gtk_widget_show_all(GTK_WIDGET(content_area)); return GTK_WIDGET(color_selection_dialog); }
void ColorOptionView::_createItem() { GdkColor initialColor = convertColor(((ZLColorOptionEntry&)*myOption).initialColor()); GdkColor currentColor = convertColor(((ZLColorOptionEntry&)*myOption).color()); myColorSelection = GTK_COLOR_SELECTION(gtk_color_selection_new()); gtk_color_selection_set_has_opacity_control(myColorSelection, false); gtk_color_selection_set_has_palette(myColorSelection, true); gtk_color_selection_set_current_color(myColorSelection, ¤tColor); gtk_color_selection_set_previous_color(myColorSelection, &initialColor); GtkContainer *container = GTK_CONTAINER(gtk_vbox_new(true, 0)); gtk_container_set_border_width(container, 5); gtk_container_add(container, GTK_WIDGET(myColorSelection)); myHolder.attachWidget(*this, GTK_WIDGET(container)); gtk_widget_show(GTK_WIDGET(container)); }
static void gtk_color_selection_dialog_init (GtkColorSelectionDialog *colorseldiag) { GtkDialog *dialog = GTK_DIALOG (colorseldiag); gtk_dialog_set_has_separator (dialog, FALSE); gtk_container_set_border_width (GTK_CONTAINER (dialog), 5); gtk_box_set_spacing (GTK_BOX (dialog->vbox), 2); /* 2 * 5 + 2 = 12 */ gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area), 5); gtk_box_set_spacing (GTK_BOX (dialog->action_area), 6); colorseldiag->colorsel = gtk_color_selection_new (); gtk_container_set_border_width (GTK_CONTAINER (colorseldiag->colorsel), 5); gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION(colorseldiag->colorsel), FALSE); gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION(colorseldiag->colorsel), FALSE); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (colorseldiag)->vbox), colorseldiag->colorsel); gtk_widget_show (colorseldiag->colorsel); colorseldiag->cancel_button = gtk_dialog_add_button (GTK_DIALOG (colorseldiag), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); colorseldiag->ok_button = gtk_dialog_add_button (GTK_DIALOG (colorseldiag), GTK_STOCK_OK, GTK_RESPONSE_OK); gtk_widget_grab_default (colorseldiag->ok_button); colorseldiag->help_button = gtk_dialog_add_button (GTK_DIALOG (colorseldiag), GTK_STOCK_HELP, GTK_RESPONSE_HELP); gtk_widget_hide (colorseldiag->help_button); gtk_dialog_set_alternative_button_order (GTK_DIALOG (colorseldiag), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, GTK_RESPONSE_HELP, -1); gtk_window_set_title (GTK_WINDOW (colorseldiag), _("Color Selection")); _gtk_dialog_set_ignore_separator (dialog, TRUE); }
/**** Color selection constructor ****/ int clip_GTK_COLORSELECTIONNEW(ClipMachine * ClipMachineMemory) { ClipVar *cv = _clip_spar(ClipMachineMemory, 1); GtkWidget *wid = NULL; C_widget *cwid; CHECKOPT(1, MAP_type_of_ClipVarType); wid = gtk_color_selection_new(); if (!wid) goto err; cwid = _register_widget(ClipMachineMemory, wid, cv); _clip_mclone(ClipMachineMemory, RETPTR(ClipMachineMemory), &cwid->obj); return 0; err: return 1; }
void confcolor (GtkWidget * placeholder, GdkColor * confcol) { gdouble c[3] = { 0, 0, 0 }; /* gint x; */ placeholder = gtk_vbox_new (FALSE, 2); if (blah != NULL) { if (this_panel_cb) this_panel_cb (); gtk_widget_destroy (blah); } c[0] = (gdouble) confcol->red / 65536; c[1] = (gdouble) confcol->green / 65536; c[2] = (gdouble) confcol->blue / 65536; blah = gtk_color_selection_new (); gtk_color_selection_set_color (GTK_COLOR_SELECTION (blah), c); /* for (x = 0; x < 8; ++x) GTK_COLOR_SELECTION (blah)->old_values[x] = GTK_COLOR_SELECTION (blah)->values[x]; */ gtk_widget_show (blah); gtk_box_pack_start (GTK_BOX (placeholder), blah, 0, 0, 2); gtk_widget_show (placeholder); gtk_box_pack_start (GTK_BOX (hbox), placeholder, 0, 0, 2); this_panel_cb = update_color; current = confcol; return; }
GtkWidget* create_window (void) { GtkWidget *window, *box_all, *expander, *expander_box_all, *expander_box_buttons, *separator, *box_buttons, *button_quit, *button_about; GtkTreeViewColumn *column; GtkCellRenderer *renderer; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Gcolor3"); gtk_window_set_default_icon_name ("gcolor2"); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); box_all = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box_all), 5); box_buttons = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box_buttons), 5); color_chooser = gtk_color_selection_new(); expander = gtk_expander_new(_("Show saved colors")); expander_box_all = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); expander_box_buttons = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); button_save = gtk_button_new_from_stock ("gtk-save"); button_delete = gtk_button_new_from_stock ("gtk-delete"); gtk_widget_set_sensitive (button_delete, FALSE); /* setup the tree view widget */ liststore = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); tree = gtk_tree_view_new(); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree), TRUE); gtk_tree_view_set_model (GTK_TREE_VIEW (tree), GTK_TREE_MODEL (liststore)); column = gtk_tree_view_column_new (); gtk_tree_view_column_set_title (column, _("Color")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, "pixbuf", COLOR, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_attributes (column, renderer, "text", COLOR_VALUE, NULL); gtk_tree_view_column_set_sort_column_id (column, COLOR_VALUE); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Name"), renderer, "text", COLOR_NAME, NULL); gtk_tree_view_column_set_sort_column_id (column, COLOR_NAME); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); /* enable searching on Name column */ gtk_tree_view_set_search_column (GTK_TREE_VIEW (tree), COLOR_NAME); /* setup the selection handler */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); button_quit = gtk_button_new_from_stock ("gtk-quit"); button_about = gtk_button_new_from_stock ("gtk-about"); gtk_box_pack_start (GTK_BOX (box_all), color_chooser, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (expander_box_buttons), button_save, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (expander_box_buttons), button_delete, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (expander_box_all), expander_box_buttons, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (expander_box_all), tree, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (expander), expander_box_all); gtk_box_pack_start (GTK_BOX (box_all), expander, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box_all), separator, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (box_buttons), button_quit, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box_buttons), button_about, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (on_list_selection_changed), NULL); g_signal_connect ((gpointer) color_chooser, "color_changed", G_CALLBACK (on_colorselection_color_changed), NULL); g_signal_connect (button_save, "clicked", G_CALLBACK (on_save_button_clicked), NULL); g_signal_connect (button_delete, "clicked", G_CALLBACK (on_delete_button_clicked), NULL); g_signal_connect (button_quit, "clicked", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect (button_about, "clicked", G_CALLBACK (about_dialog_open), NULL); gtk_container_add (GTK_CONTAINER (box_all), box_buttons); gtk_container_add (GTK_CONTAINER (window), box_all); return window; }
GtkWidget * color_create_widget (GtkWidget *dlg) { GtkWidget *w; #if !GTK_CHECK_VERSION(3,0,0) w = gtk_vbox_new (FALSE, 2); #else w = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); #endif color = gtk_color_selection_new (); gtk_widget_set_name (color, "yad-color-widget"); gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (color), settings.show_gtk_palette); if (options.color_data.init_color) { GdkColor c; if (gdk_color_parse (options.color_data.init_color, &c)) gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (color), &c); } gtk_box_pack_start (GTK_BOX (w), color, FALSE, FALSE, 2); if (options.color_data.use_palette) { GtkTreeModel *model; if ((model = create_palette ()) != NULL) { GtkWidget *exp, *sw, *list; GtkCellRenderer *r; GtkTreeViewColumn *col; GtkTreeSelection *sel; /* create expander */ exp = gtk_expander_new (_("Palette")); gtk_expander_set_expanded (GTK_EXPANDER (exp), settings.expand_palette); gtk_container_set_border_width (GTK_CONTAINER (exp), 5); gtk_box_pack_start (GTK_BOX (w), exp, TRUE, TRUE, 2); /* create color list */ sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (exp), sw); list = gtk_tree_view_new_with_model (model); gtk_widget_set_name (list, "yad-color-palette"); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (list), settings.rules_hint); g_object_unref (model); gtk_container_add (GTK_CONTAINER (sw), list); /* add first columns */ col = gtk_tree_view_column_new (); gtk_tree_view_column_set_title (col, _("Color")); /* pixbuf */ r = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (col, r, FALSE); gtk_tree_view_column_set_attributes (col, r, "pixbuf", 0, NULL); /* color value */ r = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start (col, r, TRUE); gtk_tree_view_column_set_attributes (col, r, "text", 1, NULL); gtk_tree_view_column_set_sort_column_id (col, 1); gtk_tree_view_append_column (GTK_TREE_VIEW (list), col); /* add second column */ r = gtk_cell_renderer_text_new (); col = gtk_tree_view_column_new_with_attributes (_("Name"), r, "text", 2, NULL); gtk_tree_view_column_set_sort_column_id (col, 2); gtk_tree_view_append_column (GTK_TREE_VIEW (list), col); /* enable searching on Name column */ gtk_tree_view_set_search_column (GTK_TREE_VIEW (list), 2); /* setup the selection handler */ sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); gtk_tree_selection_set_mode (sel, GTK_SELECTION_SINGLE); g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (palette_changed), NULL); gtk_widget_show_all (exp); } } return w; }
static Tcolsel *colsel_dialog(Tbfwin *bfwin,const gchar *setcolor, gint modal, gint startpos, gint endpos) { Tcolsel *csd; GtkWidget *vbox, *hbox, *but; GdkColor gcolor; const gchar *this_color=setcolor; csd = g_new0(Tcolsel, 1); /* warning: bfwin might be NULL if this dialog is started by return_color() */ csd->bfwin = bfwin; csd->is_modal = modal; csd->startpos = startpos; csd->endpos = endpos; csd->returnval = setcolor ? g_strdup(setcolor) : g_strdup(""); DEBUG_MSG("colsel_dialog, malloced at %p, setcolor=%s\n", csd, setcolor); csd->win = window_full2(_("Bluefish: Select color"), GTK_WIN_POS_CENTER, 12, G_CALLBACK(colsel_destroy_lcb), csd, TRUE, bfwin?bfwin->main_window:NULL); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(csd->win), vbox); csd->csel = gtk_color_selection_new(); gtk_color_selection_set_has_opacity_control(GTK_COLOR_SELECTION(csd->csel), FALSE); if (this_color) { if (gdk_color_parse(this_color, &gcolor)) { gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(csd->csel), &gcolor); } else { this_color=NULL; } } gtk_color_selection_set_has_palette(GTK_COLOR_SELECTION(csd->csel), TRUE); gtk_box_pack_start(GTK_BOX(vbox), csd->csel, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 12); #if GTK_CHECK_VERSION(3,0,0) hbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); #else hbox = gtk_hbutton_box_new(); #endif gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END); gtk_box_set_spacing(GTK_BOX(hbox), 12); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); but = bf_stock_cancel_button(G_CALLBACK(colsel_cancel_clicked_lcb), csd); gtk_box_pack_start(GTK_BOX(hbox), but, TRUE, TRUE, 0); but = bf_stock_ok_button(G_CALLBACK(colsel_ok_clicked_lcb), csd); gtk_window_set_default(GTK_WINDOW(csd->win), but); gtk_box_pack_start(GTK_BOX(hbox), but, TRUE, TRUE, 0); if (bfwin && bfwin->session->colorlist) { GtkSettings* gtksettings; /* Note that this function can only be called when the GtkWidget is attached to a toplevel, since the settings object is specific to a particular GdkScreen. */ gtksettings = gtk_widget_get_settings(GTK_WIDGET(csd->csel)); if (gtksettings) { gchar *strings; DEBUG_MSG("pallette list=%d\n",g_list_length(bfwin->session->colorlist)); bfwin->session->colorlist = limit_stringlist(bfwin->session->colorlist, 20, TRUE); DEBUG_MSG("pallette list=%d\n",g_list_length(bfwin->session->colorlist)); strings = stringlist_to_string(bfwin->session->colorlist, ":"); strings[strlen(strings)-1] = '\0'; /* this property may contain max 20 colors, otherwise gtk will crash */ g_object_set(G_OBJECT(gtksettings), "gtk-color-palette", strings, NULL); g_free(strings); } /* DEBUG_MSG("colsel_dialog, setting palette from %s\n", strings); if (gtk_color_selection_palette_from_string(strings, &gcolorarr, &num)) { DEBUG_MSG("num=%d, gcolorarr=%p\n",num,gcolorarr); } else { DEBUG_MSG("hmm, failed to parse our string :(\n"); } */ } gtk_widget_show_all(csd->win); DEBUG_MSG("colsel_dialog, finished\n"); return csd; }
void bscope_configure (void) { gdouble color[3]; if(configure_win) return; bscope_read_config(); color[0]=((gdouble)(bscope_cfg.color /0x10000))/256; color[1]=((gdouble)((bscope_cfg.color %0x10000)/0x100))/256; color[2]=((gdouble)(bscope_cfg.color %0x100))/256; configure_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width(GTK_CONTAINER(configure_win), 10); gtk_window_set_title(GTK_WINDOW(configure_win), _("Color Entry")); gtk_window_set_policy(GTK_WINDOW(configure_win), FALSE, FALSE, FALSE); gtk_window_set_position(GTK_WINDOW(configure_win), GTK_WIN_POS_MOUSE); gtk_signal_connect(GTK_OBJECT(configure_win), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &configure_win); vbox = gtk_vbox_new(FALSE, 5); options_frame = gtk_frame_new(_("Options:")); gtk_container_set_border_width(GTK_CONTAINER(options_frame), 5); options_vbox = gtk_vbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(options_vbox), 5); options_colorpicker = gtk_color_selection_new(); gtk_color_selection_set_color(GTK_COLOR_SELECTION(options_colorpicker), color); gtk_signal_connect(GTK_OBJECT(options_colorpicker), "color_changed", GTK_SIGNAL_FUNC(color_changed), NULL); gtk_box_pack_start(GTK_BOX(options_vbox), options_colorpicker, FALSE, FALSE, 0); gtk_widget_show(options_colorpicker); gtk_container_add(GTK_CONTAINER(options_frame), options_vbox); gtk_widget_show(options_vbox); gtk_box_pack_start(GTK_BOX(vbox), options_frame, TRUE, TRUE, 0); gtk_widget_show(options_frame); bbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); ok = gtk_button_new_with_label(_("OK")); gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(configure_ok), NULL); GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT); gtk_box_pack_start(GTK_BOX(bbox), ok, TRUE, TRUE, 0); gtk_widget_show(ok); cancel = gtk_button_new_with_label(_("Cancel")); gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(configure_cancel), GUINT_TO_POINTER(bscope_cfg.color)); GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT); gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0); gtk_widget_show(cancel); gtk_widget_show(bbox); gtk_container_add(GTK_CONTAINER(configure_win), vbox); gtk_widget_show(vbox); gtk_widget_show(configure_win); gtk_widget_grab_default(ok); }
GtkWidget * stream_prefs_show(void) { GtkWidget *main_vb, *main_tb, *label, *combo_box; GtkWidget *sample, *colorsel; int width, height, i; const gchar *mt[] = { "Marked packet foreground", /* MFG_IDX 0*/ "Marked packet background", /* MBG_IDX 1*/ "Ignored packet foreground", /* IFG_IDX 2*/ "Ignored packet background", /* IBG_IDX 3*/ "TCP stream client foreground", /* CFG_IDX 4*/ "TCP stream client background", /* CBG_IDX 5*/ "TCP stream server foreground", /* SFG_IDX 6*/ "TCP stream server background" /* SBG_IDX 7*/ }; int mcount = sizeof(mt) / sizeof (gchar *); GtkTextBuffer *buf; GtkTextIter iter; PangoLayout *layout; color_t_to_gdkcolor(&tcolors[MFG_IDX], &prefs.gui_marked_fg); color_t_to_gdkcolor(&tcolors[MBG_IDX], &prefs.gui_marked_bg); color_t_to_gdkcolor(&tcolors[IFG_IDX], &prefs.gui_ignored_fg); color_t_to_gdkcolor(&tcolors[IBG_IDX], &prefs.gui_ignored_bg); color_t_to_gdkcolor(&tcolors[CFG_IDX], &prefs.st_client_fg); color_t_to_gdkcolor(&tcolors[CBG_IDX], &prefs.st_client_bg); color_t_to_gdkcolor(&tcolors[SFG_IDX], &prefs.st_server_fg); color_t_to_gdkcolor(&tcolors[SBG_IDX], &prefs.st_server_bg); curcolor = &tcolors[CFG_IDX]; /* Enclosing containers for each row of widgets */ main_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 5, FALSE); gtk_container_set_border_width(GTK_CONTAINER(main_vb), 5); main_tb = gtk_table_new(3, 3, FALSE); gtk_box_pack_start(GTK_BOX(main_vb), main_tb, FALSE, FALSE, 0); gtk_table_set_row_spacings(GTK_TABLE(main_tb), 10); gtk_table_set_col_spacings(GTK_TABLE(main_tb), 15); gtk_widget_show(main_tb); label = gtk_label_new("Set:"); gtk_misc_set_alignment(GTK_MISC(label), 1.0f, 0.5f); gtk_table_attach_defaults(GTK_TABLE(main_tb), label, 0, 1, 0, 1); gtk_widget_show(label); /* We have to create this now, and configure it below. */ colorsel = gtk_color_selection_new(); combo_box = gtk_combo_box_text_new(); for (i = 0; i < mcount; i++){ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), mt[i]); } gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box), CFG_IDX); g_signal_connect(combo_box, "changed", G_CALLBACK(update_current_color), colorsel); gtk_table_attach(GTK_TABLE(main_tb), combo_box, 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_widget_show(combo_box); sample = gtk_text_view_new(); layout = gtk_widget_create_pango_layout(sample, SAMPLE_SERVER_TEXT); pango_layout_get_pixel_size(layout, &width, &height); g_object_unref(G_OBJECT(layout)); gtk_widget_set_size_request(sample, width, height * 2); gtk_text_view_set_editable(GTK_TEXT_VIEW(sample), FALSE); buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(sample)); gtk_text_buffer_get_start_iter(buf, &iter); gtk_text_buffer_create_tag(buf, "marked", "foreground-gdk", &tcolors[MFG_IDX], "background-gdk", &tcolors[MBG_IDX], NULL); gtk_text_buffer_create_tag(buf, "ignored", "foreground-gdk", &tcolors[IFG_IDX], "background-gdk", &tcolors[IBG_IDX], NULL); gtk_text_buffer_create_tag(buf, "client", "foreground-gdk", &tcolors[CFG_IDX], "background-gdk", &tcolors[CBG_IDX], NULL); gtk_text_buffer_create_tag(buf, "server", "foreground-gdk", &tcolors[SFG_IDX], "background-gdk", &tcolors[SBG_IDX], NULL); gtk_text_buffer_insert_with_tags_by_name(buf, &iter, SAMPLE_MARKED_TEXT, -1, "marked", NULL); gtk_text_buffer_insert_with_tags_by_name(buf, &iter, SAMPLE_IGNORED_TEXT, -1, "ignored", NULL); gtk_text_buffer_insert_with_tags_by_name(buf, &iter, SAMPLE_CLIENT_TEXT, -1, "client", NULL); gtk_text_buffer_insert_with_tags_by_name(buf, &iter, SAMPLE_SERVER_TEXT, -1, "server", NULL); gtk_table_attach_defaults(GTK_TABLE(main_tb), sample, 2, 3, 0, 2); gtk_widget_show(sample); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), curcolor); gtk_table_attach(GTK_TABLE(main_tb), colorsel, 0, 3, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); g_object_set_data(G_OBJECT(colorsel), STREAM_SAMPLE_KEY, sample); g_signal_connect(colorsel, "color-changed", G_CALLBACK(update_text_color), NULL); gtk_widget_show(colorsel); gtk_widget_show(main_vb); return(main_vb); }
static VALUE rg_initialize(VALUE self) { RBGTK_INITIALIZE(self, gtk_color_selection_new()); return Qnil; }
void dpr(GtkWidget *wgt, gpointer dta) { AtkObject *awg, *all; gchar *str; GdkColor cl1, cl2; gdouble iv; gint val; GtkAdjustment *adj; GtkPlot *pt; GtkPlotLinear *plt; GtkWidget *btt, *hbx, *hwn, *lbl, *spr, *tbl, *vbx; guint16 alp, alp2; hwn=gtk_dialog_new_with_buttons(_("Display Properties"), GTK_WINDOW(dta), GTK_DIALOG_DESTROY_WITH_PARENT, NULL); g_signal_connect_swapped(G_OBJECT(hwn), "destroy", G_CALLBACK(gtk_widget_destroy), G_OBJECT(hwn)); btt=gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_widget_show(btt); g_signal_connect_swapped(G_OBJECT(btt), "clicked", G_CALLBACK(gtk_widget_destroy), G_OBJECT(hwn)); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(hwn)->action_area), btt); btt=gtk_button_new_from_stock(GTK_STOCK_APPLY); gtk_widget_show(btt); g_signal_connect(G_OBJECT(btt), "clicked", G_CALLBACK(dpa), NULL); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(hwn)->action_area), btt); nb2=gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(nb2), GTK_POS_TOP); tbl=gtk_table_new(4, 2, FALSE); gtk_widget_show(tbl); plt=GTK_PLOT_LINEAR(pt1); pt=GTK_PLOT(pt1); lbl=gtk_label_new(_("Axis label font:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 1, 2, 0, 1, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); str=pango_font_description_to_string(pt->lfont); bt1=gtk_font_button_new_with_font(str); g_free(str); gtk_font_button_set_show_style(GTK_FONT_BUTTON(bt1), TRUE); gtk_font_button_set_show_size(GTK_FONT_BUTTON(bt1), TRUE); gtk_font_button_set_use_font(GTK_FONT_BUTTON(bt1), TRUE); gtk_font_button_set_use_size(GTK_FONT_BUTTON(bt1), FALSE); gtk_font_button_set_title(GTK_FONT_BUTTON(bt1), _("Font Selection for Axis Labels")); gtk_widget_show(bt1); gtk_table_attach(GTK_TABLE(tbl), bt1, 1, 2, 1, 2, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(bt1); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new(_("Tick label font:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 1, 2, 2, 3, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); str=pango_font_description_to_string(pt->afont); bt2=gtk_font_button_new_with_font(str); g_free(str); gtk_font_button_set_show_style(GTK_FONT_BUTTON(bt2), TRUE); gtk_font_button_set_show_size(GTK_FONT_BUTTON(bt2), TRUE); gtk_font_button_set_use_font(GTK_FONT_BUTTON(bt2), TRUE); gtk_font_button_set_use_size(GTK_FONT_BUTTON(bt2), FALSE); gtk_font_button_set_title(GTK_FONT_BUTTON(bt2), _("Font Selection for Tick Mark Labels")); gtk_widget_show(bt2); gtk_table_attach(GTK_TABLE(tbl), bt2, 1, 2, 3, 4, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(bt2); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new(_("X axis text:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 0, 1, 0, 1, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); en1=gtk_entry_new(); str=g_strdup(plt->xlab); gtk_entry_set_text(GTK_ENTRY(en1), str); g_free(str); gtk_widget_show(en1); gtk_table_attach(GTK_TABLE(tbl), en1, 0, 1, 1, 2, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(en1); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new(_("Y axis text:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 0, 1, 2, 3, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); en2=gtk_entry_new(); str=g_strdup(plt->ylab); gtk_entry_set_text(GTK_ENTRY(en2), str); g_free(str); gtk_widget_show(en2); gtk_table_attach(GTK_TABLE(tbl), en2, 0, 1, 3, 4, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(en2); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new("Index of Plot:"); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 0, 1, 4, 5, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); adj=(GtkAdjustment*) gtk_adjustment_new(0, 0, 1, 1.0, 1.0, 0.0); jix=gtk_spin_button_new(adj, 0, 0); g_signal_connect(G_OBJECT(jix), "value-changed", G_CALLBACK(upj), NULL); gtk_table_attach(GTK_TABLE(tbl), jix, 1, 2, 4, 5, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); gtk_widget_show(jix); awg=gtk_widget_get_accessible(jix); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); vbx=gtk_vbox_new(FALSE, 2); gtk_widget_show(vbx); gtk_box_pack_start(GTK_BOX(vbx), tbl, FALSE, FALSE, 2); spr=gtk_vseparator_new(); gtk_widget_show(spr); cmp=gdk_colormap_get_system(); (cl1.red)=(guint16) (65535*g_array_index((pt->rd), gdouble, 0)); (cl1.green)=(guint16) (65535*g_array_index((pt->gr), gdouble, 0)); (cl1.blue)=(guint16) (65535*g_array_index((pt->bl), gdouble, 0)); alp=(guint16) (65535*g_array_index((pt->al), gdouble, 0)); gdk_colormap_alloc_color(cmp, &cl1, FALSE, TRUE); cs1=gtk_color_selection_new(); gtk_color_selection_set_has_opacity_control(GTK_COLOR_SELECTION(cs1), TRUE); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(cs1), &cl1); gtk_color_selection_set_has_palette(GTK_COLOR_SELECTION(cs1), TRUE); gtk_color_selection_set_current_alpha(GTK_COLOR_SELECTION(cs1), alp); gtk_widget_show(cs1); hbx=gtk_hbox_new(FALSE, 2); gtk_widget_show(hbx); gtk_box_pack_start(GTK_BOX(hbx), vbx, FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(hbx), spr, FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(hbx), cs1, FALSE, FALSE, 2); lbl=gtk_label_new(_("Spectrum")); gtk_notebook_append_page(GTK_NOTEBOOK(nb2), hbx, lbl); tbl=gtk_table_new(4, 2, FALSE); gtk_widget_show(tbl); plt=GTK_PLOT_LINEAR(pt2); pt=GTK_PLOT(pt2); lbl=gtk_label_new(_("Axis label font:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 1, 2, 0, 1, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); str=pango_font_description_to_string(pt->lfont); bt3=gtk_font_button_new_with_font(str); g_free(str); gtk_font_button_set_show_style(GTK_FONT_BUTTON(bt3), TRUE); gtk_font_button_set_show_size(GTK_FONT_BUTTON(bt3), TRUE); gtk_font_button_set_use_font(GTK_FONT_BUTTON(bt3), TRUE); gtk_font_button_set_use_size(GTK_FONT_BUTTON(bt3), FALSE); gtk_font_button_set_title(GTK_FONT_BUTTON(bt3), _("Font Selection for Axis Labels")); gtk_widget_show(bt3); gtk_table_attach(GTK_TABLE(tbl), bt3, 1, 2, 1, 2, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(bt3); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new(_("Tick label font:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 1, 2, 2, 3, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); str=pango_font_description_to_string(pt->afont); bt4=gtk_font_button_new_with_font(str); g_free(str); gtk_font_button_set_show_style(GTK_FONT_BUTTON(bt4), TRUE); gtk_font_button_set_show_size(GTK_FONT_BUTTON(bt4), TRUE); gtk_font_button_set_use_font(GTK_FONT_BUTTON(bt4), TRUE); gtk_font_button_set_use_size(GTK_FONT_BUTTON(bt4), FALSE); gtk_font_button_set_title(GTK_FONT_BUTTON(bt4), _("Font Selection for Tick Mark Labels")); gtk_widget_show(bt4); gtk_table_attach(GTK_TABLE(tbl), bt4, 1, 2, 3, 4, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(bt4); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new(_("X axis text:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 0, 1, 0, 1, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); en3=gtk_entry_new(); str=g_strdup(plt->xlab); gtk_entry_set_text(GTK_ENTRY(en3), str); g_free(str); gtk_widget_show(en3); gtk_table_attach(GTK_TABLE(tbl), en3, 0, 1, 1, 2, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(en3); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new(_("Y axis text:")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 0, 1, 2, 3, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); en4=gtk_entry_new(); str=g_strdup(plt->ylab); gtk_entry_set_text(GTK_ENTRY(en4), str); g_free(str); gtk_widget_show(en4); gtk_table_attach(GTK_TABLE(tbl), en4, 0, 1, 3, 4, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); awg=gtk_widget_get_accessible(en4); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); lbl=gtk_label_new("Index of Plot:"); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(tbl), lbl, 0, 1, 4, 5, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); adj=(GtkAdjustment*) gtk_adjustment_new(0, 0, 1, 1.0, 1.0, 0.0); jix2=gtk_spin_button_new(adj, 0, 0); g_signal_connect(G_OBJECT(jix2), "value-changed", G_CALLBACK(upj2), NULL); gtk_table_attach(GTK_TABLE(tbl), jix2, 1, 2, 4, 5, GTK_FILL|GTK_SHRINK|GTK_EXPAND, GTK_FILL|GTK_SHRINK|GTK_EXPAND, 2, 2); gtk_widget_show(jix2); awg=gtk_widget_get_accessible(jix2); all=gtk_widget_get_accessible(GTK_WIDGET(lbl)); atk_object_add_relationship(all, ATK_RELATION_LABEL_FOR, awg); atk_object_add_relationship(awg, ATK_RELATION_LABELLED_BY, all); vbx=gtk_vbox_new(FALSE, 2); gtk_widget_show(vbx); gtk_box_pack_start(GTK_BOX(vbx), tbl, FALSE, FALSE, 2); spr=gtk_vseparator_new(); gtk_widget_show(spr); cs2=gtk_color_selection_new(); (cl2.red)=(guint16) (65535*g_array_index((pt->rd), gdouble, 0)); (cl2.green)=(guint16) (65535*g_array_index((pt->gr), gdouble, 0)); (cl2.blue)=(guint16) (65535*g_array_index((pt->bl), gdouble, 0)); alp2=(guint16) (65535*g_array_index((pt->al), gdouble, 0)); gdk_colormap_alloc_color(cmp, &cl2, FALSE, TRUE); gtk_color_selection_set_has_opacity_control(GTK_COLOR_SELECTION(cs2), TRUE); gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(cs2), &cl2); gtk_color_selection_set_has_palette(GTK_COLOR_SELECTION(cs2), TRUE); gtk_color_selection_set_current_alpha(GTK_COLOR_SELECTION(cs2), alp2); gtk_widget_show(cs2); hbx=gtk_hbox_new(FALSE, 2); gtk_widget_show(hbx); gtk_box_pack_start(GTK_BOX(hbx), vbx, FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(hbx), spr, FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(hbx), cs2, FALSE, FALSE, 2); lbl=gtk_label_new(_("Spatial Structure")); gtk_notebook_append_page(GTK_NOTEBOOK(nb2), hbx, lbl); val=gtk_notebook_get_current_page(GTK_NOTEBOOK(nbk)); gtk_notebook_set_current_page(GTK_NOTEBOOK(nb2), val); gtk_widget_show(nb2); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(hwn)->vbox), nb2); gtk_widget_show(hwn); }