static void gtk_color_button_set_property (GObject *object, guint param_id, const GValue *value, GParamSpec *pspec) { GtkColorButton *color_button = GTK_COLOR_BUTTON (object); switch (param_id) { case PROP_USE_ALPHA: gtk_color_button_set_use_alpha (color_button, g_value_get_boolean (value)); break; case PROP_TITLE: gtk_color_button_set_title (color_button, g_value_get_string (value)); break; case PROP_COLOR: gtk_color_button_set_color (color_button, g_value_get_boxed (value)); break; case PROP_ALPHA: gtk_color_button_set_alpha (color_button, g_value_get_uint (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } }
int clip_GTK_COLORBUTTONSETUSEALPHA(ClipMachine * cm) { C_widget *cbtn = _fetch_cw_arg(cm); gboolean alpha = _clip_parl(cm, 2); CHECKCWID(cbtn,GTK_IS_COLOR_BUTTON); CHECKARG(2, LOGICAL_t); gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(cbtn->widget), alpha); return 0; err: return 1; }
GtkWidget * mk_transparency() { GtkWidget *hbox, *hbox2, *label, *frame; ENTER; frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME (frame), GTK_SHADOW_NONE); gtk_container_set_border_width (GTK_CONTAINER (frame), 6); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL (label),"<span weight=\"bold\">Transparency</span>"); gtk_frame_set_label_widget(GTK_FRAME (frame), label); hbox2 = gtk_hbox_new(FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox2), 6); gtk_container_add (GTK_CONTAINER (frame), hbox2); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX (hbox2), hbox, FALSE, TRUE, 0); gtk_widget_set_size_request(hbox, 20, 1); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX (hbox2), hbox, FALSE, TRUE, 0); tr_checkb = gtk_check_button_new_with_label("Enable Transparency"); gtk_widget_show(tr_checkb); gtk_box_pack_start(GTK_BOX (hbox), tr_checkb, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(tr_checkb), "toggled", G_CALLBACK(transparency_toggle), NULL); //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tr_checkb), FALSE); tr_colorl = gtk_label_new("Tint color:"); gtk_misc_set_alignment(GTK_MISC(tr_colorl), 0.0, 0.5); gtk_widget_show(tr_colorl); gtk_box_pack_start(GTK_BOX (hbox), tr_colorl, FALSE, FALSE, 5); //gtk_widget_set_sensitive(tr_colorl, FALSE); tr_colorb = gtk_color_button_new(); gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(tr_colorb), TRUE); gtk_color_button_set_alpha (GTK_COLOR_BUTTON(tr_colorb), 65535/256*125); gtk_box_pack_start(GTK_BOX (hbox), tr_colorb, FALSE, FALSE, 0); //gtk_widget_set_sensitive(tr_colorb, FALSE); RET(frame); }
static void gtk_color_button_set_property (GObject *object, guint param_id, const GValue *value, GParamSpec *pspec) { GtkColorButton *button = GTK_COLOR_BUTTON (object); switch (param_id) { case PROP_USE_ALPHA: gtk_color_button_set_use_alpha (button, g_value_get_boolean (value)); break; case PROP_TITLE: gtk_color_button_set_title (button, g_value_get_string (value)); break; case PROP_COLOR: { GdkColor *color; GdkRGBA rgba; color = g_value_get_boxed (value); rgba.red = color->red / 65535.0; rgba.green = color->green / 65535.0; rgba.blue = color->blue / 65535.0; rgba.alpha = 1.0; gtk_color_button_set_rgba (button, &rgba); } break; case PROP_ALPHA: gtk_color_button_set_alpha (button, g_value_get_uint (value)); break; case PROP_RGBA: gtk_color_button_set_rgba (button, g_value_get_boxed (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } }
GtkWidget * dialog_color_button_in_table(const gchar * color, const gchar * title, GtkWidget * table, guint left_attach, guint right_attach, guint top_attach, guint bottom_attach) { GdkColor gdkcolor; GtkWidget *button; if (color && gdk_color_parse(color, &gdkcolor)) { button = gtk_color_button_new_with_color(&gdkcolor); } else { button = gtk_color_button_new(); gtk_color_button_set_alpha(GTK_COLOR_BUTTON(button), 0); } gtk_color_button_set_title(GTK_COLOR_BUTTON(button), title); gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(button), TRUE); gtk_table_attach(GTK_TABLE(table), button, left_attach, right_attach, top_attach, bottom_attach, GTK_FILL, GTK_SHRINK, 0, 0); return button; }
GtkWidget *setup_colour_editor(string col_name, rgba_t *col, string name) { GtkWidget *hbox = gtk_hbox_new(false, 0); // Label GtkWidget *label = gtk_label_new(name.c_str()); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); // Colour button GtkWidget *c_button = gtk_color_button_new(); gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(c_button), true); gtk_color_button_set_title(GTK_COLOR_BUTTON(c_button), name.c_str()); GdkColor gdk_col; gdk_col.red = col->r * 255; gdk_col.green = col->g * 255; gdk_col.blue = col->b * 255; gtk_color_button_set_color(GTK_COLOR_BUTTON(c_button), &gdk_col); gtk_color_button_set_alpha(GTK_COLOR_BUTTON(c_button), col->a * 255); g_signal_connect(G_OBJECT(c_button), "color-set", G_CALLBACK(colour_changed), col); // Additive checkbox GtkWidget *cbox_add = gtk_check_button_new_with_label("Additive"); g_signal_connect(G_OBJECT(cbox_add), "toggled", G_CALLBACK(additive_toggled), col); if (col->blend == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cbox_add), true); gtk_box_pack_start(GTK_BOX(hbox), label, true, true, 0); gtk_box_pack_start(GTK_BOX(hbox), c_button, false, false, 4); gtk_box_pack_start(GTK_BOX(hbox), cbox_add, false, false, 4); buttons.push_back(c_button); cboxes.push_back(cbox_add); colours.push_back(col); return hbox; }
static void xpad_preferences_init (XpadPreferences *pref) { GtkWidget *hbox, *font_hbox, *vbox; const GdkColor *color; const gchar *fontname; GtkStyle *style; GtkWidget *label, *appearance_frame, *alignment, *appearance_vbox; GtkWidget *options_frame, *options_vbox, *global_vbox; gchar *text; GtkSizeGroup *size_group_labels = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); GtkRequisition req; pref->priv = XPAD_PREFERENCES_GET_PRIVATE (pref); text = g_strconcat ("<b>", _("Appearance"), "</b>", NULL); label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, "label", text, "use-markup", TRUE, "xalign", 0.0, NULL)); g_free (text); appearance_vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, "homogeneous", FALSE, "spacing", 18, NULL)); alignment = gtk_alignment_new (1, 1, 1, 1); g_object_set (G_OBJECT (alignment), "left-padding", 12, "top-padding", 12, "child", appearance_vbox, NULL); appearance_frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, "label-widget", label, "shadow-type", GTK_SHADOW_NONE, "child", alignment, NULL)); pref->priv->textbutton = gtk_color_button_new (); pref->priv->backbutton = gtk_color_button_new (); pref->priv->fontbutton = gtk_font_button_new (); pref->priv->antifontcheck = gtk_radio_button_new_with_mnemonic (NULL, _("Use font from theme")); pref->priv->fontcheck = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (pref->priv->antifontcheck), _("Use this font:")); pref->priv->anticolorcheck = gtk_radio_button_new_with_mnemonic (NULL, _("Use colors from theme")); pref->priv->colorcheck = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (pref->priv->anticolorcheck), _("Use these colors:")); font_hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (font_hbox), pref->priv->fontcheck, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (font_hbox), pref->priv->fontbutton, TRUE, TRUE, 0); pref->priv->colorbox = gtk_vbox_new (FALSE, 6); hbox = gtk_hbox_new (FALSE, 12); label = gtk_label_new_with_mnemonic (_("Background:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_size_group_add_widget (size_group_labels, label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), pref->priv->backbutton, TRUE, TRUE, 0); g_object_set (G_OBJECT (pref->priv->colorbox), "child", hbox, NULL); hbox = gtk_hbox_new (FALSE, 12); label = gtk_label_new_with_mnemonic (_("Foreground:")); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_size_group_add_widget (size_group_labels, label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), pref->priv->textbutton, TRUE, TRUE, 0); g_object_set (G_OBJECT (pref->priv->colorbox), "child", hbox, NULL); alignment = gtk_alignment_new (1, 1, 1, 1); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0); gtk_container_add (GTK_CONTAINER (alignment), pref->priv->colorbox); pref->priv->editcheck = gtk_check_button_new_with_mnemonic (_("_Edit lock")); pref->priv->stickycheck = gtk_check_button_new_with_mnemonic (_("_Pads start on all workspaces")); pref->priv->confirmcheck = gtk_check_button_new_with_mnemonic (_("_Confirm pad deletion")); gtk_dialog_add_button (GTK_DIALOG (pref), "gtk-close", GTK_RESPONSE_CLOSE); gtk_dialog_set_default_response (GTK_DIALOG (pref), GTK_RESPONSE_CLOSE); gtk_dialog_set_has_separator (GTK_DIALOG (pref), FALSE); g_signal_connect (pref, "response", G_CALLBACK (xpad_preferences_response), NULL); gtk_window_set_title (GTK_WINDOW (pref), _("Xpad Preferences")); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (pref->priv->textbutton), FALSE); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (pref->priv->backbutton), xpad_app_get_translucent ()); gtk_color_button_set_title (GTK_COLOR_BUTTON (pref->priv->textbutton), _("Set Foreground Color")); gtk_color_button_set_title (GTK_COLOR_BUTTON (pref->priv->backbutton), _("Set Background Color")); gtk_font_button_set_title (GTK_FONT_BUTTON (pref->priv->fontbutton), _("Set Font")); /* Set current state */ style = gtk_widget_get_default_style (); color = xpad_settings_get_back_color (xpad_settings ()); if (color) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->colorcheck), TRUE); gtk_color_button_set_color (GTK_COLOR_BUTTON (pref->priv->backbutton), color); } else { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->anticolorcheck), TRUE); gtk_widget_set_sensitive (pref->priv->colorbox, FALSE); gtk_color_button_set_color (GTK_COLOR_BUTTON (pref->priv->backbutton), &style->base[GTK_STATE_NORMAL]); } color = xpad_settings_get_text_color (xpad_settings ()); if (color) gtk_color_button_set_color (GTK_COLOR_BUTTON (pref->priv->textbutton), color); else gtk_color_button_set_color (GTK_COLOR_BUTTON (pref->priv->textbutton), &style->text[GTK_STATE_NORMAL]); fontname = xpad_settings_get_fontname (xpad_settings ()); if (fontname) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->fontcheck), TRUE); gtk_font_button_set_font_name (GTK_FONT_BUTTON (pref->priv->fontbutton), fontname); } else { gchar *str; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->antifontcheck), TRUE); gtk_widget_set_sensitive (pref->priv->fontbutton, FALSE); str = pango_font_description_to_string (style->font_desc); gtk_font_button_set_font_name (GTK_FONT_BUTTON (pref->priv->fontbutton), str); g_free (str); } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->editcheck), xpad_settings_get_edit_lock (xpad_settings ())); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->stickycheck), xpad_settings_get_sticky (xpad_settings ())); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->confirmcheck), xpad_settings_get_confirm_destroy (xpad_settings ())); vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), pref->priv->antifontcheck, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), font_hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (appearance_vbox), vbox, FALSE, FALSE, 0); vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), pref->priv->anticolorcheck, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), pref->priv->colorcheck, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (appearance_vbox), vbox, FALSE, FALSE, 0); text = g_strconcat ("<b>", _("Options"), "</b>", NULL); label = GTK_WIDGET (g_object_new (GTK_TYPE_LABEL, "label", text, "use-markup", TRUE, "xalign", 0.0, NULL)); g_free (text); options_vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, "homogeneous", FALSE, "spacing", 6, NULL)); alignment = gtk_alignment_new (1, 1, 1, 1); g_object_set (G_OBJECT (alignment), "left-padding", 12, "top-padding", 12, "child", options_vbox, NULL); options_frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, "label-widget", label, "shadow-type", GTK_SHADOW_NONE, "child", alignment, NULL)); gtk_box_pack_start (GTK_BOX (options_vbox), pref->priv->editcheck, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (options_vbox), pref->priv->stickycheck, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (options_vbox), pref->priv->confirmcheck, FALSE, FALSE, 0); global_vbox = g_object_new (GTK_TYPE_VBOX, "border-width", 6, "homogeneous", FALSE, "spacing", 18, "child", appearance_frame, "child", options_frame, NULL); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (pref)->vbox), global_vbox, FALSE, FALSE, 0); pref->priv->editcheck_handler = g_signal_connect (pref->priv->editcheck, "toggled", G_CALLBACK (change_edit_check), pref); pref->priv->stickycheck_handler = g_signal_connect (pref->priv->stickycheck, "toggled", G_CALLBACK (change_sticky_check), pref); pref->priv->confirmcheck_handler = g_signal_connect (pref->priv->confirmcheck, "toggled", G_CALLBACK (change_confirm_check), pref); pref->priv->colorcheck_handler = g_signal_connect (pref->priv->colorcheck, "toggled", G_CALLBACK (change_color_check), pref); pref->priv->fontcheck_handler = g_signal_connect (pref->priv->fontcheck, "toggled", G_CALLBACK (change_font_check), pref); pref->priv->text_handler = g_signal_connect (pref->priv->textbutton, "color-set", G_CALLBACK (change_text_color), pref); pref->priv->back_handler = g_signal_connect (pref->priv->backbutton, "color-set", G_CALLBACK (change_back_color), pref); pref->priv->font_handler = g_signal_connect (pref->priv->fontbutton, "font-set", G_CALLBACK (change_font_face), pref); pref->priv->notify_font_handler = g_signal_connect_swapped (xpad_settings (), "notify::fontname", G_CALLBACK (notify_fontname), pref); pref->priv->notify_text_handler = g_signal_connect_swapped (xpad_settings (), "notify::text-color", G_CALLBACK (notify_text_color), pref); pref->priv->notify_back_handler = g_signal_connect_swapped (xpad_settings (), "notify::back-color", G_CALLBACK (notify_back_color), pref); pref->priv->notify_sticky_handler = g_signal_connect_swapped (xpad_settings (), "notify::sticky", G_CALLBACK (notify_sticky), pref); pref->priv->notify_edit_handler = g_signal_connect_swapped (xpad_settings (), "notify::edit-lock", G_CALLBACK (notify_edit), pref); pref->priv->notify_confirm_handler = g_signal_connect_swapped (xpad_settings (), "notify::confirm-destroy", G_CALLBACK (notify_confirm), pref); g_object_unref (size_group_labels); gtk_widget_show_all (GTK_DIALOG (pref)->vbox); /* Make window not so squished */ gtk_widget_size_request (GTK_WIDGET (pref), &req); g_object_set (G_OBJECT (pref), "default-width", (gint) (req.height * 0.8), NULL); }
GtkWidget* bimp_resize_gui_new(resize_settings settings) { GtkWidget *gui, *vbox_dimensions, *hbox_padding, *vbox_resolution, *hbox_values, *hbox_quality; GtkWidget *align_manualsize, *align_values, *align_res; GtkWidget *label_width, *label_height, *label_quality, *label_resX, *label_resY, *label_dpi; last_percent_w_value = settings->new_w_pc; last_percent_h_value = settings->new_h_pc; last_pixel_w_value = settings->new_w_px; last_pixel_h_value = settings->new_h_px; gui = gtk_hbox_new(FALSE, 10); // "change dimensions" side vbox_dimensions = gtk_vbox_new(FALSE, 5); radio_size_percent = gtk_radio_button_new_with_label (NULL, _("Set to a percentage of the original")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio_size_percent), (settings->resize_mode == RESIZE_PERCENT)); radio_size_px = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_size_percent), _("Set exact size in pixel")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio_size_px), (settings->resize_mode != RESIZE_PERCENT)); align_manualsize = gtk_alignment_new(0, 0, 0, 0); gtk_alignment_set_padding(GTK_ALIGNMENT(align_manualsize), 0, 5, 20, 0); combo_manualsize = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(combo_manualsize), _("For both dimensions")); gtk_combo_box_append_text(GTK_COMBO_BOX(combo_manualsize), _("Width only")); gtk_combo_box_append_text(GTK_COMBO_BOX(combo_manualsize), _("Height only")); if (settings->resize_mode == RESIZE_PIXEL_WIDTH) gtk_combo_box_set_active(GTK_COMBO_BOX(combo_manualsize), 1); else if (settings->resize_mode == RESIZE_PIXEL_HEIGHT) gtk_combo_box_set_active(GTK_COMBO_BOX(combo_manualsize), 2); else gtk_combo_box_set_active(GTK_COMBO_BOX(combo_manualsize), 0); gtk_container_add(GTK_CONTAINER(align_manualsize), combo_manualsize); GtkWidget* separator1 = gtk_hseparator_new(); radio_stretch_allow = gtk_radio_button_new_with_label (NULL, _("Allow stretching")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio_stretch_allow), (settings->stretch_mode == STRETCH_ALLOW)); radio_stretch_aspect = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_stretch_allow), _("Preserve aspect ratio")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio_stretch_aspect), (settings->stretch_mode == STRETCH_ASPECT)); radio_stretch_padded = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_stretch_allow), _("Fill with padding")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio_stretch_padded), (settings->stretch_mode == STRETCH_PADDED)); chooser_paddingcolor = gtk_color_button_new_with_color(&(settings->padding_color)); gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(chooser_paddingcolor), TRUE); gtk_color_button_set_alpha(GTK_COLOR_BUTTON(chooser_paddingcolor), settings->padding_color_alpha); hbox_padding = gtk_hbox_new(FALSE, 5); GtkWidget* separator2 = gtk_hseparator_new(); align_values = gtk_alignment_new(0.5, 0, 0, 0); gtk_alignment_set_padding(GTK_ALIGNMENT(align_values), 5, 5, 0, 0); hbox_values = gtk_hbox_new(FALSE, 5); label_width = gtk_label_new(g_strconcat(_("Width"), ":", NULL)); spin_width = gtk_spin_button_new(NULL, 1, 0); gtk_widget_set_size_request (spin_width, SPIN_SIZE_W, SPIN_SIZE_H); label_height = gtk_label_new(g_strconcat(_("Height"), ":", NULL)); spin_height = gtk_spin_button_new(NULL, 1, 0); gtk_widget_set_size_request (spin_height, SPIN_SIZE_W, SPIN_SIZE_H); label_unit = gtk_label_new("<unit>"); gtk_widget_set_size_request (label_unit, 25, 25); hbox_quality = gtk_hbox_new(FALSE, 5); label_quality = gtk_label_new(_("Interpolation quality")); combo_quality = gimp_enum_combo_box_new((GType)GIMP_TYPE_INTERPOLATION_TYPE); gimp_int_combo_box_set_active((GimpIntComboBox*)combo_quality, settings->interpolation); GtkWidget* separator3 = gtk_vseparator_new(); // "change resolution" side vbox_resolution = gtk_vbox_new(FALSE, 5); check_resolution = gtk_check_button_new_with_label(_("Change resolution")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_resolution), settings->change_res); align_res = gtk_alignment_new(0.5, 0, 0, 0); gtk_alignment_set_padding(GTK_ALIGNMENT(align_res), 5, 5, 0, 0); hbox_res = gtk_hbox_new(FALSE, 5); label_resX = gtk_label_new(g_strconcat(_("X axis"), ":", NULL)); spin_resX = gtk_spin_button_new(NULL, 1, 0); gtk_widget_set_size_request (spin_resX, SPIN_SIZE_W, SPIN_SIZE_H); gtk_spin_button_configure (GTK_SPIN_BUTTON(spin_resX), GTK_ADJUSTMENT(gtk_adjustment_new (settings->new_res_x, 0.005, 65536.000, 1.000, 1, 0)), 0, 3); label_resY = gtk_label_new(g_strconcat(_("Y axis"), ":", NULL)); spin_resY = gtk_spin_button_new(NULL, 1, 0); gtk_widget_set_size_request (spin_resY, SPIN_SIZE_W, SPIN_SIZE_H); gtk_spin_button_configure (GTK_SPIN_BUTTON(spin_resY), GTK_ADJUSTMENT(gtk_adjustment_new (settings->new_res_y, 0.005, 65536.000, 1.000, 1, 0)), 0, 3); label_dpi = gtk_label_new("dpi"); // pack everything gtk_box_pack_start(GTK_BOX(vbox_dimensions), radio_size_percent, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), radio_size_px, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), align_manualsize, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), separator1, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), radio_stretch_allow, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), radio_stretch_aspect, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_padding), radio_stretch_padded, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_padding), chooser_paddingcolor, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), hbox_padding, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), separator2, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_values), label_width, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_values), spin_width, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_values), label_height, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_values), spin_height, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_values), label_unit, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(align_values), hbox_values); gtk_box_pack_start(GTK_BOX(hbox_quality), label_quality, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_quality), combo_quality, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), align_values, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_dimensions), hbox_quality, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox_resolution), check_resolution, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_res), label_resX, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_res), spin_resX, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_res), label_resY, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_res), spin_resY, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox_res), label_dpi, FALSE, FALSE, 0); gtk_container_add(GTK_CONTAINER(align_res), hbox_res); gtk_box_pack_start(GTK_BOX(vbox_resolution), align_res, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(gui), vbox_dimensions, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(gui), separator3, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(gui), vbox_resolution, FALSE, FALSE, 0); previous_was_percent = FALSE; toggle_units_group(NULL, NULL); toggle_resolution(NULL, NULL); g_signal_connect(G_OBJECT(radio_size_percent), "toggled", G_CALLBACK(toggle_units_group), NULL); g_signal_connect(G_OBJECT(radio_size_px), "toggled", G_CALLBACK(toggle_units_group), NULL); g_signal_connect(G_OBJECT(combo_manualsize), "changed", G_CALLBACK(toggle_units_group), NULL); g_signal_connect(G_OBJECT(radio_stretch_allow), "toggled", G_CALLBACK(toggle_units_group), NULL); g_signal_connect(G_OBJECT(radio_stretch_aspect), "toggled", G_CALLBACK(toggle_units_group), NULL); g_signal_connect(G_OBJECT(radio_stretch_padded), "toggled", G_CALLBACK(toggle_units_group), NULL); g_signal_connect(G_OBJECT(check_resolution), "toggled", G_CALLBACK(toggle_resolution), NULL); return gui; }
void on_button_config (GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *waveform_properties; GtkWidget *config_dialog; GtkWidget *vbox01; GtkWidget *color_label; GtkWidget *color_frame; GtkWidget *color_table; GtkWidget *color_background_label; GtkWidget *background_color; GtkWidget *color_waveform_label; GtkWidget *foreground_color; GtkWidget *color_rms_label; GtkWidget *foreground_rms_color; GtkWidget *color_progressbar_label; GtkWidget *progressbar_color; GtkWidget *downmix_to_mono; GtkWidget *log_scale; GtkWidget *display_rms; GtkWidget *display_ruler; GtkWidget *style_label; GtkWidget *style_frame; GtkWidget *vbox02; GtkWidget *render_method_spikes; GtkWidget *render_method_bars; GtkWidget *shade_waveform; GtkWidget *fill_waveform; GtkWidget *soundcloud_style; GtkWidget *dialog_action_area13; GtkWidget *applybutton1; GtkWidget *cancelbutton1; GtkWidget *okbutton1; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" waveform_properties = gtk_dialog_new (); gtk_window_set_transient_for (GTK_WINDOW (waveform_properties), gtk_widget_get_toplevel(menuitem)); gtk_window_set_title (GTK_WINDOW (waveform_properties), "Waveform Properties"); gtk_window_set_type_hint (GTK_WINDOW (waveform_properties), GDK_WINDOW_TYPE_HINT_DIALOG); config_dialog = gtk_dialog_get_content_area (GTK_DIALOG (waveform_properties)); gtk_widget_show (config_dialog); vbox01 = gtk_vbox_new (FALSE, 8); gtk_widget_show (vbox01); gtk_box_pack_start (GTK_BOX (config_dialog), vbox01, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox01), 12); color_label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (color_label),"<b>Colors</b>"); gtk_widget_show (color_label); color_frame = gtk_frame_new ("Colors"); gtk_frame_set_label_widget ((GtkFrame *)color_frame, color_label); gtk_frame_set_shadow_type ((GtkFrame *)color_frame, GTK_SHADOW_IN); gtk_widget_show (color_frame); gtk_box_pack_start (GTK_BOX (vbox01), color_frame, TRUE, FALSE, 0); color_table = gtk_table_new (2, 4, TRUE); gtk_widget_show (color_table); gtk_container_add (GTK_CONTAINER (color_frame), color_table); gtk_table_set_col_spacings ((GtkTable *) color_table, 8); gtk_container_set_border_width (GTK_CONTAINER (color_table), 6); color_background_label = gtk_label_new ("Background"); gtk_widget_show (color_background_label); gtk_table_attach_defaults ((GtkTable *) color_table, color_background_label, 0,1,0,1); color_waveform_label = gtk_label_new ("Waveform"); gtk_widget_show (color_waveform_label); gtk_table_attach_defaults ((GtkTable *) color_table, color_waveform_label, 1,2,0,1); color_rms_label = gtk_label_new ("RMS"); gtk_widget_show (color_rms_label); gtk_table_attach_defaults ((GtkTable *) color_table, color_rms_label, 2,3,0,1); color_progressbar_label = gtk_label_new ("Progressbar"); gtk_widget_show (color_progressbar_label); gtk_table_attach_defaults ((GtkTable *) color_table, color_progressbar_label, 3,4,0,1); background_color = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)background_color, TRUE); gtk_widget_show (background_color); gtk_table_attach_defaults ((GtkTable *) color_table, background_color, 0,1,1,2); foreground_color = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)foreground_color, TRUE); gtk_widget_show (foreground_color); gtk_table_attach_defaults ((GtkTable *) color_table, foreground_color, 1,2,1,2); foreground_rms_color = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)foreground_rms_color, TRUE); gtk_widget_show (foreground_rms_color); gtk_table_attach_defaults ((GtkTable *) color_table, foreground_rms_color, 2,3,1,2); progressbar_color = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)progressbar_color, TRUE); gtk_widget_show (progressbar_color); gtk_table_attach_defaults ((GtkTable *) color_table, progressbar_color, 3,4,1,2); style_label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (style_label),"<b>Style</b>"); gtk_widget_show (style_label); style_frame = gtk_frame_new ("Style"); gtk_frame_set_label_widget ((GtkFrame *)style_frame, style_label); gtk_frame_set_shadow_type ((GtkFrame *)style_frame, GTK_SHADOW_IN); gtk_widget_show (style_frame); gtk_box_pack_start (GTK_BOX (vbox01), style_frame, FALSE, FALSE, 0); vbox02 = gtk_vbox_new (FALSE, 6); gtk_widget_show (vbox02); gtk_container_add (GTK_CONTAINER (style_frame), vbox02); render_method_spikes = gtk_radio_button_new_with_label (NULL, "Spikes"); gtk_widget_show (render_method_spikes); gtk_box_pack_start (GTK_BOX (vbox02), render_method_spikes, TRUE, TRUE, 0); render_method_bars = gtk_radio_button_new_with_label_from_widget ((GtkRadioButton *)render_method_spikes, "Bars"); gtk_widget_show (render_method_bars); gtk_box_pack_start (GTK_BOX (vbox02), render_method_bars, TRUE, TRUE, 0); fill_waveform = gtk_check_button_new_with_label ("Fill waveform"); gtk_widget_show (fill_waveform); gtk_box_pack_start (GTK_BOX (vbox02), fill_waveform, TRUE, TRUE, 0); soundcloud_style = gtk_check_button_new_with_label ("Soundcloud style"); gtk_widget_show (soundcloud_style); gtk_box_pack_start (GTK_BOX (vbox02), soundcloud_style, TRUE, TRUE, 0); shade_waveform = gtk_check_button_new_with_label ("Shade waveform"); gtk_widget_show (shade_waveform); gtk_box_pack_start (GTK_BOX (vbox02), shade_waveform, TRUE, TRUE, 0); downmix_to_mono = gtk_check_button_new_with_label ("Downmix to mono"); gtk_widget_show (downmix_to_mono); gtk_box_pack_start (GTK_BOX (vbox01), downmix_to_mono, FALSE, FALSE, 0); log_scale = gtk_check_button_new_with_label ("Logarithmic scale"); gtk_widget_show (log_scale); gtk_box_pack_start (GTK_BOX (vbox01), log_scale, FALSE, FALSE, 0); display_rms = gtk_check_button_new_with_label ("Display RMS"); gtk_widget_show (display_rms); gtk_box_pack_start (GTK_BOX (vbox01), display_rms, FALSE, FALSE, 0); display_ruler = gtk_check_button_new_with_label ("Display Ruler"); gtk_widget_show (display_ruler); gtk_box_pack_start (GTK_BOX (vbox01), display_ruler, FALSE, FALSE, 0); dialog_action_area13 = gtk_dialog_get_action_area (GTK_DIALOG (waveform_properties)); gtk_widget_show (dialog_action_area13); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area13), GTK_BUTTONBOX_END); applybutton1 = gtk_button_new_from_stock ("gtk-apply"); gtk_widget_show (applybutton1); gtk_dialog_add_action_widget (GTK_DIALOG (waveform_properties), applybutton1, GTK_RESPONSE_APPLY); gtk_widget_set_can_default (applybutton1, TRUE); cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (waveform_properties), cancelbutton1, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (cancelbutton1, TRUE); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (waveform_properties), okbutton1, GTK_RESPONSE_OK); gtk_widget_set_can_default (okbutton1, TRUE); gtk_color_button_set_color (GTK_COLOR_BUTTON (background_color), &CONFIG_BG_COLOR); gtk_color_button_set_color (GTK_COLOR_BUTTON (foreground_color), &CONFIG_FG_COLOR); gtk_color_button_set_color (GTK_COLOR_BUTTON (progressbar_color), &CONFIG_PB_COLOR); gtk_color_button_set_color (GTK_COLOR_BUTTON (foreground_rms_color), &CONFIG_FG_RMS_COLOR); gtk_color_button_set_alpha (GTK_COLOR_BUTTON (background_color), CONFIG_BG_ALPHA); gtk_color_button_set_alpha (GTK_COLOR_BUTTON (foreground_color), CONFIG_FG_ALPHA); gtk_color_button_set_alpha (GTK_COLOR_BUTTON (progressbar_color), CONFIG_PB_ALPHA); gtk_color_button_set_alpha (GTK_COLOR_BUTTON (foreground_rms_color), CONFIG_FG_RMS_ALPHA); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (downmix_to_mono), CONFIG_MIX_TO_MONO); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (log_scale), CONFIG_LOG_ENABLED); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (display_rms), CONFIG_DISPLAY_RMS); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (display_ruler), CONFIG_DISPLAY_RULER); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (shade_waveform), CONFIG_SHADE_WAVEFORM); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (soundcloud_style), CONFIG_SOUNDCLOUD_STYLE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fill_waveform), CONFIG_FILL_WAVEFORM); gtk_widget_set_sensitive (display_rms, !CONFIG_SOUNDCLOUD_STYLE); switch (CONFIG_RENDER_METHOD) { case SPIKES: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_method_spikes), TRUE); break; case BARS: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_method_bars), TRUE); break; } for (;;) { int response = gtk_dialog_run (GTK_DIALOG (waveform_properties)); if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY) { gtk_color_button_get_color (GTK_COLOR_BUTTON (background_color), &CONFIG_BG_COLOR); gtk_color_button_get_color (GTK_COLOR_BUTTON (foreground_color), &CONFIG_FG_COLOR); gtk_color_button_get_color (GTK_COLOR_BUTTON (progressbar_color), &CONFIG_PB_COLOR); gtk_color_button_get_color (GTK_COLOR_BUTTON (foreground_rms_color), &CONFIG_FG_RMS_COLOR); CONFIG_BG_ALPHA = gtk_color_button_get_alpha (GTK_COLOR_BUTTON (background_color)); CONFIG_FG_ALPHA = gtk_color_button_get_alpha (GTK_COLOR_BUTTON (foreground_color)); CONFIG_PB_ALPHA = gtk_color_button_get_alpha (GTK_COLOR_BUTTON (progressbar_color)); CONFIG_FG_RMS_ALPHA = gtk_color_button_get_alpha (GTK_COLOR_BUTTON (foreground_rms_color)); CONFIG_MIX_TO_MONO = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (downmix_to_mono)); CONFIG_LOG_ENABLED = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (log_scale)); CONFIG_DISPLAY_RMS = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (display_rms)); CONFIG_DISPLAY_RULER = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (display_ruler)); CONFIG_SHADE_WAVEFORM = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (shade_waveform)); CONFIG_SOUNDCLOUD_STYLE = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (soundcloud_style)); CONFIG_FILL_WAVEFORM = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (fill_waveform)); gtk_widget_set_sensitive (display_rms, !CONFIG_SOUNDCLOUD_STYLE); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (render_method_spikes)) == TRUE) { CONFIG_RENDER_METHOD = SPIKES; } else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (render_method_bars)) == TRUE) { CONFIG_RENDER_METHOD = BARS; } save_config (); deadbeef->sendmessage (DB_EV_CONFIGCHANGED, 0, 0, 0); } if (response == GTK_RESPONSE_APPLY) { continue; } break; } gtk_widget_destroy (waveform_properties); #pragma GCC diagnostic pop return; }
/* Plugin configuration function */ static GObject* plugin_configure(XfdashboardPlugin *self, gpointer inUserData) { GtkWidget *layout; GtkWidget *widgetLabel; GtkWidget *widgetValue; XfdashboardClockViewSettings *settings; /* Get settings of plugin */ settings=xfdashboard_clock_view_settings_new(); /* Create layout widget */ layout=gtk_grid_new(); gtk_grid_set_column_spacing(GTK_GRID(layout), 8); /* Add widget to choose hour color */ widgetLabel=gtk_label_new(_("Hour color:")); gtk_widget_set_halign(widgetLabel, GTK_ALIGN_END); gtk_grid_attach(GTK_GRID(layout), widgetLabel, 0, 0, 1, 1); widgetValue=gtk_color_button_new(); #if GTK_CHECK_VERSION(3, 4, 0) gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(widgetValue), TRUE); #else gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(widgetValue), TRUE); #endif gtk_color_button_set_title(GTK_COLOR_BUTTON(widgetValue), _("Choose color for hour hand")); _plugin_configure_setup_color_button(GTK_COLOR_BUTTON(widgetValue), settings, "hour-color"); gtk_grid_attach_next_to(GTK_GRID(layout), widgetValue, widgetLabel, GTK_POS_RIGHT, 1, 1); /* Add widget to choose minute color */ widgetLabel=gtk_label_new(_("Minute color:")); gtk_widget_set_halign(widgetLabel, GTK_ALIGN_END); gtk_grid_attach(GTK_GRID(layout), widgetLabel, 0, 1, 1, 1); widgetValue=gtk_color_button_new(); #if GTK_CHECK_VERSION(3, 4, 0) gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(widgetValue), TRUE); #else gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(widgetValue), TRUE); #endif gtk_color_button_set_title(GTK_COLOR_BUTTON(widgetValue), _("Choose color for minute hand")); _plugin_configure_setup_color_button(GTK_COLOR_BUTTON(widgetValue), settings, "minute-color"); gtk_grid_attach_next_to(GTK_GRID(layout), widgetValue, widgetLabel, GTK_POS_RIGHT, 1, 1); /* Add widget to choose second color */ widgetLabel=gtk_label_new(_("Second color:")); gtk_widget_set_halign(widgetLabel, GTK_ALIGN_END); gtk_grid_attach(GTK_GRID(layout), widgetLabel, 0, 2, 1, 1); widgetValue=gtk_color_button_new(); #if GTK_CHECK_VERSION(3, 4, 0) gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(widgetValue), TRUE); #else gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(widgetValue), TRUE); #endif gtk_color_button_set_title(GTK_COLOR_BUTTON(widgetValue), _("Choose color for second hand")); _plugin_configure_setup_color_button(GTK_COLOR_BUTTON(widgetValue), settings, "second-color"); gtk_grid_attach_next_to(GTK_GRID(layout), widgetValue, widgetLabel, GTK_POS_RIGHT, 1, 1); /* Add widget to choose minute color */ widgetLabel=gtk_label_new(_("Background color:")); gtk_widget_set_halign(widgetLabel, GTK_ALIGN_END); gtk_grid_attach(GTK_GRID(layout), widgetLabel, 0, 3, 1, 1); widgetValue=gtk_color_button_new(); #if GTK_CHECK_VERSION(3, 4, 0) gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(widgetValue), TRUE); #else gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(widgetValue), TRUE); #endif gtk_color_button_set_title(GTK_COLOR_BUTTON(widgetValue), _("Choose color for background of second hand")); _plugin_configure_setup_color_button(GTK_COLOR_BUTTON(widgetValue), settings, "background-color"); gtk_grid_attach_next_to(GTK_GRID(layout), widgetValue, widgetLabel, GTK_POS_RIGHT, 1, 1); /* Release allocated resources */ if(settings) g_object_unref(settings); /* Make all widgets visible */ gtk_widget_show_all(layout); /* Return layout widget containing all other widgets */ return(G_OBJECT(layout)); }
ROIDialog::ROIDialog(MIL_INT MilDisplay):m_MilDisplay(MilDisplay) { GtkWidget *pickerLine; GtkWidget *pickerAnchor; GtkWidget *closeButton; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; MIL_INT linecolor = MdispInquire(m_MilDisplay, M_ROI_LINE_COLOR, M_NULL); MIL_INT anchorcolor= MdispInquire(m_MilDisplay, M_ROI_HANDLE_COLOR, M_NULL); m_LineColor.red = M_RGB888_R(linecolor)<<8; m_LineColor.green = M_RGB888_G(linecolor)<<8; m_LineColor.blue = M_RGB888_B(linecolor)<<8; m_AnchorColor.red = M_RGB888_R(anchorcolor)<<8; m_AnchorColor.green = M_RGB888_G(anchorcolor)<<8; m_AnchorColor.blue = M_RGB888_B(anchorcolor)<<8; m_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(m_window), "ROI Preferences"); gtk_container_set_border_width (GTK_CONTAINER (m_window), 0); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (m_window), vbox); label = gtk_label_new ("Color :"); gtk_container_add (GTK_CONTAINER (vbox), label); hbox = gtk_hbox_new (FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (vbox), hbox); label = gtk_label_new ("Line Color"); gtk_container_add (GTK_CONTAINER (hbox), label); pickerLine = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (pickerLine), TRUE); gtk_container_add (GTK_CONTAINER (hbox), pickerLine); gtk_color_button_set_color(GTK_COLOR_BUTTON(pickerLine),&m_LineColor); hbox = gtk_hbox_new (FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (vbox), hbox); label = gtk_label_new ("Anchor Color"); gtk_container_add (GTK_CONTAINER (hbox), label); pickerAnchor = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (pickerAnchor), TRUE); gtk_container_add (GTK_CONTAINER (hbox), pickerAnchor); gtk_color_button_set_color(GTK_COLOR_BUTTON(pickerAnchor),&m_AnchorColor); closeButton = gtk_button_new_with_label("Close"); gtk_container_add (GTK_CONTAINER (vbox), closeButton); //signals g_signal_connect (closeButton,"clicked",G_CALLBACK(ROIDialog::OnClose),this); g_signal_connect (pickerAnchor,"color-set",G_CALLBACK(ROIDialog::OnROIAnchorColorChange),this); g_signal_connect (pickerLine,"color-set",G_CALLBACK(ROIDialog::OnROILineColorChange),this); g_signal_connect (m_window, "destroy", G_CALLBACK(ROIDialog::OnDestroy), this); }
/** \brief Create and initialise widgets for the sky-at-glance tab. * * The widgets must be preloaded with values from config. If a config value * is NULL, sensible default values, eg. those from defaults.h should * be laoded. */ GtkWidget *sat_pref_sky_at_glance_create () { GtkWidget *table; GtkWidget *label; GtkWidget *vbox; GdkColor col; guint rgb; /* 0xRRGGBB encoded colour */ guint y; dirty = FALSE; reset = FALSE; table = gtk_table_new (16, 5, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 5); gtk_table_set_col_spacings (GTK_TABLE (table), 5); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), _("<b>Time:</b>")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_SHRINK, 0, 0); /* number of hours */ label = gtk_label_new (_("Find and show passes that occur within")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_SHRINK, 0, 0); timesp = gtk_spin_button_new_with_range (1, 24, 1); gtk_widget_set_tooltip_text (timesp, _("The passes shown on the Sky at a Glance chart\n"\ "will begin within this number of hours.")); gtk_spin_button_set_digits (GTK_SPIN_BUTTON (timesp), 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (timesp), TRUE); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (timesp), FALSE); gtk_spin_button_set_value (GTK_SPIN_BUTTON (timesp), sat_cfg_get_int (SAT_CFG_INT_SKYATGL_TIME)); g_signal_connect (G_OBJECT (timesp), "value-changed", G_CALLBACK (spin_changed_cb), NULL); gtk_table_attach (GTK_TABLE (table), timesp, 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new (_("hours")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2, GTK_FILL, GTK_SHRINK, 0, 0); /* separator */ gtk_table_attach (GTK_TABLE (table), gtk_hseparator_new (), 0, 5, 2, 3, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); y = 3; label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), _("<b>Colours:</b>")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, y, y+1, GTK_FILL, GTK_SHRINK, 0, 0); /* colour 1 */ label = gtk_label_new (_("Colour for satellite 1: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, y+1, y+2, GTK_SHRINK, GTK_SHRINK, 0, 0); col1 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col1), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col1), _("Select colour 1")); gtk_table_attach (GTK_TABLE (table), col1, 1, 2, y+1, y+2, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text ( col1, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_01); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col1), &col); g_signal_connect (col1, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 2 */ label = gtk_label_new (_("Colour for satellite 2: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, y+2, y+3, GTK_SHRINK, GTK_SHRINK, 0, 0); col2 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col2), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col1), _("Select colour 2")); gtk_table_attach (GTK_TABLE (table), col2, 1, 2, y+2, y+3, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text ( col2, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_02); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col2), &col); g_signal_connect (col2, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 3 */ label = gtk_label_new (_("Colour for satellite 3: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, y+3, y+4, GTK_SHRINK, GTK_SHRINK, 0, 0); col3 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col3), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col3), _("Select colour 3")); gtk_table_attach (GTK_TABLE (table), col3, 1, 2, y+3, y+4, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col3, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_03); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col3), &col); g_signal_connect (col3, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 4 */ label = gtk_label_new (_("Colour for satellite 4: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, y+4, y+5, GTK_SHRINK, GTK_SHRINK, 0, 0); col4 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col4), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col4), _("Select colour 4")); gtk_table_attach (GTK_TABLE (table), col4, 1, 2, y+4, y+5, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col4, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_04); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col4), &col); g_signal_connect (col4, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 5 */ label = gtk_label_new (_("Colour for satellite 5: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, y+5, y+6, GTK_SHRINK, GTK_SHRINK, 0, 0); col5 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col5), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col5), _("Select colour 5")); gtk_table_attach (GTK_TABLE (table), col5, 1, 2, y+5, y+6, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col5, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_05); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col5), &col); g_signal_connect (col5, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 6 */ label = gtk_label_new (_("Colour for satellite 6: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 3, 4, y+1, y+2, GTK_SHRINK, GTK_SHRINK, 0, 0); col6 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col6), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col6), _("Select colour 6")); gtk_table_attach (GTK_TABLE (table), col6, 4, 5, y+1, y+2, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col6, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_06); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col6), &col); g_signal_connect (col6, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 7 */ label = gtk_label_new (_("Colour for satellite 7: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 3, 4, y+2, y+3, GTK_SHRINK, GTK_SHRINK, 0, 0); col7 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col7), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col7), _("Select colour 7")); gtk_table_attach (GTK_TABLE (table), col7, 4, 5, y+2, y+3, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col7, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_07); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col7), &col); g_signal_connect (col7, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 8 */ label = gtk_label_new (_("Colour for satellite 8: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 3, 4, y+3, y+4, GTK_SHRINK, GTK_SHRINK, 0, 0); col8 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col8), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col8), _("Select colour 8")); gtk_table_attach (GTK_TABLE (table), col8, 4, 5, y+3, y+4, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col8, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_08); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col8), &col); g_signal_connect (col8, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 9 */ label = gtk_label_new (_("Colour for satellite 9: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 3, 4, y+4, y+5, GTK_SHRINK, GTK_SHRINK, 0, 0); col9 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col9), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col9), _("Select colour 9")); gtk_table_attach (GTK_TABLE (table), col9, 4, 5, y+4, y+5, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col9, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_09); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col9), &col); g_signal_connect (col9, "color-set", G_CALLBACK (colour_changed), NULL); /* colour 10 */ label = gtk_label_new (_("Colour for satellite 10: ")); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 3, 4, y+5, y+6, GTK_SHRINK, GTK_SHRINK, 0, 0); col10 = gtk_color_button_new (); gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (col10), FALSE); gtk_color_button_set_title (GTK_COLOR_BUTTON (col10), _("Select colour 10")); gtk_table_attach (GTK_TABLE (table), col10, 4, 5, y+5, y+6, GTK_FILL , GTK_FILL, 0, 0); gtk_widget_set_tooltip_text (col10, _("Click to select a colour")); rgb = sat_cfg_get_int (SAT_CFG_INT_SKYATGL_COL_10); rgb2gdk (rgb, &col); gtk_color_button_set_color (GTK_COLOR_BUTTON (col10), &col); g_signal_connect (col10, "color-set", G_CALLBACK (colour_changed), NULL); /* create vertical box */ vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 20); gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0); /* create RESET button */ create_reset_button (GTK_BOX (vbox)); return vbox; }
static void termomix_color_dialog (GtkWidget *widget, void *data) { GtkWidget *color_dialog; GtkWidget *label1, *label2; GtkWidget *buttonfore, *buttonback; GtkWidget *hbox_fore, *hbox_back; gint response; guint16 backalpha; color_dialog=gtk_dialog_new_with_buttons(gettext("Select color"), GTK_WINDOW(termomix.main_window), GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response(GTK_DIALOG(color_dialog), GTK_RESPONSE_ACCEPT); gtk_window_set_modal(GTK_WINDOW(color_dialog), TRUE); /* Set style */ gchar *css = g_strdup_printf (HIG_DIALOG_CSS); gtk_css_provider_load_from_data(termomix.provider, css, -1, NULL); GtkStyleContext *context = gtk_widget_get_style_context (color_dialog); gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER(termomix.provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_free(css); hbox_fore=gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12); hbox_back=gtk_box_new(FALSE, 12); label1=gtk_label_new(gettext("Select foreground color:")); label2=gtk_label_new(gettext("Select background color:")); buttonfore=gtk_color_button_new_with_color(&termomix.forecolor); buttonback=gtk_color_button_new_with_color(&termomix.backcolor); /* When the times comes (gtk-3.4) */ // buttonfore=gtk_color_button_new_with_rgba(&termomix.forecolor); // buttonback=gtk_color_button_new_with_rgba(&termomix.backcolor);*/ /* This rounding sucks...*/ backalpha = roundf((termomix.opacity_level*65535)/99); if (termomix.has_rgba) { gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(buttonback), TRUE); gtk_color_button_set_alpha(GTK_COLOR_BUTTON(buttonback), backalpha); } gtk_box_pack_start(GTK_BOX(hbox_fore), label1, FALSE, FALSE, 12); gtk_box_pack_end(GTK_BOX(hbox_fore), buttonfore, FALSE, FALSE, 12); gtk_box_pack_start(GTK_BOX(hbox_back), label2, FALSE, FALSE, 12); gtk_box_pack_end(GTK_BOX(hbox_back), buttonback, FALSE, FALSE, 12); gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(color_dialog))), hbox_fore, FALSE, FALSE, 6); gtk_box_pack_end(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(color_dialog))), hbox_back, FALSE, FALSE, 6); gtk_widget_show_all(gtk_dialog_get_content_area(GTK_DIALOG(color_dialog))); response=gtk_dialog_run(GTK_DIALOG(color_dialog)); if (response==GTK_RESPONSE_ACCEPT) { /* TODO: Remove deprecated get_color */ //gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(color_dialog), &termomix.forecolor); //gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(color_dialog), &termomix.backcolor); gtk_color_button_get_color(GTK_COLOR_BUTTON(buttonfore), &termomix.forecolor); gtk_color_button_get_color(GTK_COLOR_BUTTON(buttonback), &termomix.backcolor); if (termomix.has_rgba) { backalpha = gtk_color_button_get_alpha(GTK_COLOR_BUTTON(buttonback)); } if (termomix.has_rgba) { vte_terminal_set_opacity(VTE_TERMINAL (termomix.term->vte), backalpha); } vte_terminal_set_colors(VTE_TERMINAL(termomix.term->vte), &termomix.forecolor, &termomix.backcolor, termomix.palette, PALETTE_SIZE); gchar *cfgtmp; cfgtmp = g_strdup_printf("#%02x%02x%02x", termomix.forecolor.red >>8, termomix.forecolor.green>>8, termomix.forecolor.blue>>8); termomix_set_config_string("forecolor", cfgtmp); g_free(cfgtmp); cfgtmp = g_strdup_printf("#%02x%02x%02x", termomix.backcolor.red >>8, termomix.backcolor.green>>8, termomix.backcolor.blue>>8); termomix_set_config_string("backcolor", cfgtmp); g_free(cfgtmp); termomix.opacity_level= roundf((backalpha*99)/65535); /* Opacity value is between 0 and 99 */ termomix_set_config_integer("opacity_level", termomix.opacity_level); }
GtkWidget *main_window(){ GtkWidget *vbox, *hpane, *vpane, *swin, *vbox2, *stage_width_entry, *stage_height_entry, *rectangle_button; WebKitWebView *web_view; ClutterActor *stage; ClutterColor stage_bg_color = { 128, 128, 128, 255 }, white = { 255, 255, 255, 255 } ; // Create widgets app.window = gtk_window_new(GTK_WINDOW_TOPLEVEL); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); app.menubar = gtk_menu_bar_new(); app.toolbar = gtk_toolbar_new(); hpane = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); vpane = gtk_paned_new(GTK_ORIENTATION_VERTICAL); app.statusbar = gtk_statusbar_new(); app.stage = gtk_clutter_embed_new(); app.notebook = gtk_notebook_new(); web_view= WEBKIT_WEB_VIEW(webkit_web_view_new()); swin = gtk_scrolled_window_new(NULL, NULL); vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); stage_width_entry = gtk_spin_button_new_with_range(0, 9999, 1); stage_height_entry = gtk_spin_button_new_with_range(0, 9999, 1); app.colorpicker = gtk_color_button_new(); app.fileselector = gtk_file_chooser_button_new("Background image", GTK_FILE_CHOOSER_ACTION_OPEN); app.background_repeat_select = gtk_combo_box_text_new(); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(app.background_repeat_select), "no-repeat"); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(app.background_repeat_select), "repeat-x"); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(app.background_repeat_select), "repeat-y"); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(app.background_repeat_select), "repeat-xy"); stage = gtk_clutter_embed_get_stage(GTK_CLUTTER_EMBED(app.stage)); rectangle_button = gtk_button_new_from_stock(GTK_STOCK_NEW); app.mainstage = clutter_rectangle_new_with_color(&white); // Pack widgets gtk_container_add(GTK_CONTAINER(app.window), vbox); gtk_box_pack_start(GTK_BOX(vbox), app.menubar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), app.toolbar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), app.notebook, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), app.statusbar, FALSE, FALSE, 0); gtk_notebook_append_page(GTK_NOTEBOOK(app.notebook), vpane, gtk_label_new("Animator")); gtk_notebook_append_page(GTK_NOTEBOOK(app.notebook), swin, gtk_label_new("Browser")); gtk_notebook_append_page(GTK_NOTEBOOK(app.notebook), gtk_label_new("tbc"), gtk_label_new("Source")); gtk_container_add(GTK_CONTAINER(swin), GTK_WIDGET(web_view)); gtk_paned_pack1(GTK_PANED(vpane), hpane, TRUE, TRUE); gtk_paned_pack2(GTK_PANED(vpane), gtk_label_new("Timeline"), FALSE, TRUE); gtk_paned_pack1(GTK_PANED(hpane), app.stage,TRUE, TRUE); gtk_paned_pack2(GTK_PANED(hpane), vbox2, FALSE, TRUE); gtk_box_pack_start(GTK_BOX(vbox2), stage_width_entry, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox2), stage_height_entry, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox2), app.colorpicker, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox2), app.fileselector, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox2), app.background_repeat_select, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox2), rectangle_button, FALSE, FALSE, 0); //Setup widgets gtk_paned_set_position(GTK_PANED(hpane), 600); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); webkit_web_view_load_uri(web_view, "http://www.webkitgtk.org/"); gtk_widget_set_size_request(app.stage, 800, 600); gtk_paned_set_position(GTK_PANED(hpane), 600); gtk_spin_button_set_value(GTK_SPIN_BUTTON(stage_width_entry), 300); gtk_spin_button_set_value(GTK_SPIN_BUTTON(stage_height_entry), 200); g_object_set_data(G_OBJECT(stage_width_entry), "type", "width"); g_object_set_data(G_OBJECT(stage_height_entry), "type", "height"); clutter_stage_set_user_resizable(CLUTTER_STAGE(stage), FALSE); gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(app.colorpicker), TRUE); gtk_combo_box_set_active(GTK_COMBO_BOX(app.background_repeat_select), 0); clutter_actor_set_background_color(stage, &stage_bg_color); clutter_actor_set_size(app.mainstage, 400, 300); clutter_actor_set_position(app.mainstage, 100, 100); clutter_actor_add_child(stage, app.mainstage); clutter_actor_show(app.mainstage); clutter_actor_show(stage); // Connect signals g_signal_connect(app.fileselector, "file-set", G_CALLBACK(on_file_set), NULL); g_signal_connect(app.window, "destroy", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(stage_width_entry, "value-changed", G_CALLBACK(on_stage_dim_changed), stage); g_signal_connect(stage_height_entry, "value-changed", G_CALLBACK(on_stage_dim_changed), stage); g_signal_connect(rectangle_button, "clicked", G_CALLBACK(on_new_button_clicked), NULL); return (app.window); }
static void on_button_config (GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *spectrogram_properties; GtkWidget *config_dialog; GtkWidget *vbox01; GtkWidget *vbox02; GtkWidget *hbox01; //GtkWidget *hbox02; GtkWidget *hbox03; GtkWidget *color_label; GtkWidget *color_frame; GtkWidget *color_gradient_00; GtkWidget *color_gradient_01; GtkWidget *color_gradient_02; GtkWidget *color_gradient_03; GtkWidget *color_gradient_04; GtkWidget *color_gradient_05; GtkWidget *color_gradient_06; GtkWidget *num_colors_label; GtkWidget *num_colors; GtkWidget *log_scale; GtkWidget *db_range_label0; GtkWidget *db_range; GtkWidget *dialog_action_area13; GtkWidget *applybutton1; GtkWidget *cancelbutton1; GtkWidget *okbutton1; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" spectrogram_properties = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (spectrogram_properties), "Spectrogram Properties"); gtk_window_set_type_hint (GTK_WINDOW (spectrogram_properties), GDK_WINDOW_TYPE_HINT_DIALOG); config_dialog = gtk_dialog_get_content_area (GTK_DIALOG (spectrogram_properties)); gtk_widget_show (config_dialog); hbox01 = gtk_hbox_new (FALSE, 8); gtk_widget_show (hbox01); gtk_box_pack_start (GTK_BOX (config_dialog), hbox01, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox01), 12); color_label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (color_label),"<b>Colors</b>"); gtk_widget_show (color_label); color_frame = gtk_frame_new ("Colors"); gtk_frame_set_label_widget ((GtkFrame *)color_frame, color_label); gtk_frame_set_shadow_type ((GtkFrame *)color_frame, GTK_SHADOW_IN); gtk_widget_show (color_frame); gtk_box_pack_start (GTK_BOX (hbox01), color_frame, TRUE, FALSE, 0); vbox02 = gtk_vbox_new (FALSE, 8); gtk_widget_show (vbox02); gtk_container_add (GTK_CONTAINER (color_frame), vbox02); gtk_container_set_border_width (GTK_CONTAINER (vbox02), 12); num_colors_label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (num_colors_label),"Number of colors:"); gtk_widget_show (num_colors_label); gtk_box_pack_start (GTK_BOX (vbox02), num_colors_label, FALSE, FALSE, 0); num_colors = gtk_spin_button_new_with_range (1,7,1); gtk_widget_show (num_colors); gtk_box_pack_start (GTK_BOX (vbox02), num_colors, FALSE, FALSE, 0); color_gradient_00 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_00, TRUE); gtk_widget_show (color_gradient_00); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_00, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_00, -1, 30); color_gradient_01 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_01, TRUE); gtk_widget_show (color_gradient_01); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_01, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_01, -1, 30); color_gradient_02 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_02, TRUE); gtk_widget_show (color_gradient_02); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_02, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_02, -1, 30); color_gradient_03 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_03, TRUE); gtk_widget_show (color_gradient_03); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_03, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_03, -1, 30); color_gradient_04 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_04, TRUE); gtk_widget_show (color_gradient_04); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_04, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_04, -1, 30); color_gradient_05 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_05, TRUE); gtk_widget_show (color_gradient_05); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_05, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_05, -1, 30); color_gradient_06 = gtk_color_button_new (); gtk_color_button_set_use_alpha ((GtkColorButton *)color_gradient_06, TRUE); gtk_widget_show (color_gradient_06); gtk_box_pack_start (GTK_BOX (vbox02), color_gradient_06, TRUE, FALSE, 0); gtk_widget_set_size_request (color_gradient_06, -1, 30); vbox01 = gtk_vbox_new (FALSE, 8); gtk_widget_show (vbox01); gtk_box_pack_start (GTK_BOX (hbox01), vbox01, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox01), 12); //hbox02 = gtk_hbox_new (FALSE, 8); //gtk_widget_show (hbox02); //gtk_box_pack_start (GTK_BOX (vbox01), hbox02, FALSE, FALSE, 0); //gtk_container_set_border_width (GTK_CONTAINER (hbox01), 12); hbox03 = gtk_hbox_new (FALSE, 8); gtk_widget_show (hbox03); gtk_box_pack_start (GTK_BOX (vbox01), hbox03, FALSE, FALSE, 0); db_range_label0 = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (db_range_label0),"dB range:"); gtk_widget_show (db_range_label0); gtk_box_pack_start (GTK_BOX (hbox03), db_range_label0, FALSE, TRUE, 0); db_range = gtk_spin_button_new_with_range (50,120,10); gtk_widget_show (db_range); gtk_box_pack_start (GTK_BOX (hbox03), db_range, TRUE, TRUE, 0); log_scale = gtk_check_button_new_with_label ("Log scale"); gtk_widget_show (log_scale); gtk_box_pack_start (GTK_BOX (vbox01), log_scale, FALSE, FALSE, 0); dialog_action_area13 = gtk_dialog_get_action_area (GTK_DIALOG (spectrogram_properties)); gtk_widget_show (dialog_action_area13); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area13), GTK_BUTTONBOX_END); applybutton1 = gtk_button_new_from_stock ("gtk-apply"); gtk_widget_show (applybutton1); gtk_dialog_add_action_widget (GTK_DIALOG (spectrogram_properties), applybutton1, GTK_RESPONSE_APPLY); gtk_widget_set_can_default (applybutton1, TRUE); cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (spectrogram_properties), cancelbutton1, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (cancelbutton1, TRUE); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (spectrogram_properties), okbutton1, GTK_RESPONSE_OK); gtk_widget_set_can_default (okbutton1, TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (log_scale), CONFIG_LOG_SCALE); gtk_spin_button_set_value (GTK_SPIN_BUTTON (num_colors), CONFIG_NUM_COLORS); gtk_spin_button_set_value (GTK_SPIN_BUTTON (db_range), CONFIG_DB_RANGE); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_00), &(CONFIG_GRADIENT_COLORS[0])); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_01), &(CONFIG_GRADIENT_COLORS[1])); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_02), &(CONFIG_GRADIENT_COLORS[2])); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_03), &(CONFIG_GRADIENT_COLORS[3])); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_04), &(CONFIG_GRADIENT_COLORS[4])); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_05), &(CONFIG_GRADIENT_COLORS[5])); gtk_color_button_set_color (GTK_COLOR_BUTTON (color_gradient_06), &(CONFIG_GRADIENT_COLORS[6])); switch (CONFIG_NUM_COLORS) { case 1: gtk_widget_hide (color_gradient_01); gtk_widget_hide (color_gradient_02); gtk_widget_hide (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 2: gtk_widget_show (color_gradient_01); gtk_widget_hide (color_gradient_02); gtk_widget_hide (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 3: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_hide (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 4: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 5: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_show (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 6: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_show (color_gradient_04); gtk_widget_show (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 7: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_show (color_gradient_04); gtk_widget_show (color_gradient_05); gtk_widget_show (color_gradient_06); break; } for (;;) { int response = gtk_dialog_run (GTK_DIALOG (spectrogram_properties)); if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY) { gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_00), &CONFIG_GRADIENT_COLORS[0]); gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_01), &CONFIG_GRADIENT_COLORS[1]); gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_02), &CONFIG_GRADIENT_COLORS[2]); gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_03), &CONFIG_GRADIENT_COLORS[3]); gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_04), &CONFIG_GRADIENT_COLORS[4]); gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_05), &CONFIG_GRADIENT_COLORS[5]); gtk_color_button_get_color (GTK_COLOR_BUTTON (color_gradient_06), &CONFIG_GRADIENT_COLORS[6]); CONFIG_LOG_SCALE = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (log_scale)); CONFIG_DB_RANGE = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (db_range)); CONFIG_NUM_COLORS = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (num_colors)); switch (CONFIG_NUM_COLORS) { case 1: gtk_widget_hide (color_gradient_01); gtk_widget_hide (color_gradient_02); gtk_widget_hide (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 2: gtk_widget_show (color_gradient_01); gtk_widget_hide (color_gradient_02); gtk_widget_hide (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 3: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_hide (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 4: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_hide (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 5: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_show (color_gradient_04); gtk_widget_hide (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 6: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_show (color_gradient_04); gtk_widget_show (color_gradient_05); gtk_widget_hide (color_gradient_06); break; case 7: gtk_widget_show (color_gradient_01); gtk_widget_show (color_gradient_02); gtk_widget_show (color_gradient_03); gtk_widget_show (color_gradient_04); gtk_widget_show (color_gradient_05); gtk_widget_show (color_gradient_06); break; } save_config (); deadbeef->sendmessage (DB_EV_CONFIGCHANGED, 0, 0, 0); } if (response == GTK_RESPONSE_APPLY) { continue; } break; } gtk_widget_destroy (spectrogram_properties); #pragma GCC diagnostic pop return; }