コード例 #1
0
ファイル: LightDialog.cpp プロジェクト: chrisglass/ufoai
	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);
	}
コード例 #2
0
ファイル: ox11menu.c プロジェクト: htrb/ngraph-gtk
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;
}
コード例 #3
0
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);
}
コード例 #4
0
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, &currentColor);
	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));
}
コード例 #5
0
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);
}
コード例 #6
0
ファイル: colorsel.c プロジェクト: amery/clip-angelo
/****  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;
}
コード例 #7
0
ファイル: conf.c プロジェクト: erikg/bmud
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;
}
コード例 #8
0
ファイル: ui.c プロジェクト: binarycodes/gcolor3
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;
}
コード例 #9
0
ファイル: color.c プロジェクト: alainrk/NrkNote
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;
}
コード例 #10
0
ファイル: html2.c プロジェクト: Shayan-To/bluefish
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;
}
コード例 #11
0
ファイル: config.c プロジェクト: xdien/my_cproject
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);
}
コード例 #12
0
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);
}
コード例 #13
0
ファイル: rbgtkcolorsel.c プロジェクト: Mazwak/ruby-gnome2
static VALUE
rg_initialize(VALUE self)
{
    RBGTK_INITIALIZE(self, gtk_color_selection_new());
    return Qnil;
}
コード例 #14
0
ファイル: disp.c プロジェクト: pchilds/IS_TIB
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);
}