static void message_clicked_cb(GtkWidget *w, gpointer nul) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *to_entry; GtkWidget *body_entry; GtkWidget *thread_entry; GtkWidget *subject_entry; GtkWidget *label; GtkWidget *type_combo; GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); GtkTextIter iter; GtkTextBuffer *buffer; const char *to, *body, *thread, *subject; char *stanza; int result; GtkWidget *dialog = gtk_dialog_new_with_buttons("<message/>", GTK_WINDOW(console->window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); #if GTK_CHECK_VERSION(2,14,0) vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); #else vbox = GTK_DIALOG(dialog)->vbox; #endif hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("To:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); to_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); type_combo = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "chat"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "headline"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "groupchat"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "normal"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "error"); gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Body:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); body_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (body_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), body_entry, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Subject:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); subject_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (subject_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), subject_entry, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Thread:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); thread_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (thread_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), thread_entry, FALSE, FALSE, 0); gtk_widget_show_all(vbox); result = gtk_dialog_run(GTK_DIALOG(dialog)); if (result != GTK_RESPONSE_ACCEPT) { gtk_widget_destroy(dialog); return; } to = gtk_entry_get_text(GTK_ENTRY(to_entry)); body = gtk_entry_get_text(GTK_ENTRY(body_entry)); thread = gtk_entry_get_text(GTK_ENTRY(thread_entry)); subject = gtk_entry_get_text(GTK_ENTRY(subject_entry)); stanza = g_strdup_printf("<message %s%s%s id='console%x' type='%s'>" "%s%s%s%s%s%s%s%s%s" "</message>", *to ? "to='" : "", *to ? to : "", *to ? "'" : "", g_random_int(), gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)), *body ? "<body>" : "", *body ? body : "", *body ? "</body>" : "", *subject ? "<subject>" : "", *subject ? subject : "", *subject ? "</subject>" : "", *thread ? "<thread>" : "", *thread ? thread : "", *thread ? "</thread>" : ""); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); gtk_text_buffer_set_text(buffer, stanza, -1); gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "</message>") - stanza); gtk_text_buffer_place_cursor(buffer, &iter); g_free(stanza); gtk_widget_destroy(dialog); g_object_unref(sg); }
static gint show_dialog_find_file(gchar *utf8_path, gchar **pattern, gboolean *case_sensitive, gboolean *is_full_path) { gint res; GtkWidget *entry; gchar *selection; GtkSizeGroup *size_group; if (!s_fif_dialog.widget) { GtkWidget *label, *vbox, *ebox; s_fif_dialog.widget = gtk_dialog_new_with_buttons( _("Find File"), GTK_WINDOW(geany->main_widgets->window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); gtk_dialog_add_button(GTK_DIALOG(s_fif_dialog.widget), "gtk-find", GTK_RESPONSE_ACCEPT); gtk_dialog_set_default_response(GTK_DIALOG(s_fif_dialog.widget), GTK_RESPONSE_ACCEPT); vbox = ui_dialog_vbox_new(GTK_DIALOG(s_fif_dialog.widget)); gtk_box_set_spacing(GTK_BOX(vbox), 6); size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); label = gtk_label_new(_("Search for:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(size_group, label); s_fif_dialog.combo = gtk_combo_box_text_new_with_entry(); entry = gtk_bin_get_child(GTK_BIN(s_fif_dialog.combo)); gtk_entry_set_width_chars(GTK_ENTRY(entry), 40); gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); ui_entry_add_clear_icon(GTK_ENTRY(entry)); gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); ebox = gtk_hbox_new(FALSE, 6); gtk_box_pack_start(GTK_BOX(ebox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ebox), s_fif_dialog.combo, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), ebox, TRUE, FALSE, 0); label = gtk_label_new(_("Search inside:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(size_group, label); s_fif_dialog.dir_label = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(s_fif_dialog.dir_label), 0, 0.5); ebox = gtk_hbox_new(FALSE, 6); gtk_box_pack_start(GTK_BOX(ebox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ebox), s_fif_dialog.dir_label, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), ebox, TRUE, FALSE, 0); s_fif_dialog.case_sensitive = gtk_check_button_new_with_mnemonic(_("C_ase sensitive")); gtk_button_set_focus_on_click(GTK_BUTTON(s_fif_dialog.case_sensitive), FALSE); s_fif_dialog.full_path = gtk_check_button_new_with_mnemonic(_("Search in full path")); gtk_button_set_focus_on_click(GTK_BUTTON(s_fif_dialog.full_path), FALSE); gtk_box_pack_start(GTK_BOX(vbox), s_fif_dialog.case_sensitive, TRUE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), s_fif_dialog.full_path, TRUE, FALSE, 0); gtk_widget_show_all(vbox); } if (utf8_path) gtk_label_set_text(GTK_LABEL(s_fif_dialog.dir_label), utf8_path); else gtk_label_set_text(GTK_LABEL(s_fif_dialog.dir_label), _("project or external directory")); entry = gtk_bin_get_child(GTK_BIN(s_fif_dialog.combo)); selection = get_selection(); if (selection) gtk_entry_set_text(GTK_ENTRY(entry), selection); g_free(selection); gtk_widget_grab_focus(entry); res = gtk_dialog_run(GTK_DIALOG(s_fif_dialog.widget)); if (res == GTK_RESPONSE_ACCEPT) { const gchar *str; str = gtk_entry_get_text(GTK_ENTRY(entry)); *pattern = g_strconcat("*", str, "*", NULL); *case_sensitive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(s_fif_dialog.case_sensitive)); *is_full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(s_fif_dialog.full_path)); ui_combo_box_add_to_history(GTK_COMBO_BOX_TEXT(s_fif_dialog.combo), str, 0); } gtk_widget_hide(s_fif_dialog.widget); return res; }
void gui_init(struct dt_iop_module_t *self) { self->gui_data = malloc(sizeof(dt_iop_tonecurve_gui_data_t)); dt_iop_tonecurve_gui_data_t *c = (dt_iop_tonecurve_gui_data_t *)self->gui_data; dt_iop_tonecurve_params_t *p = (dt_iop_tonecurve_params_t *)self->params; for (int ch=0; ch<ch_max; ch++) { c->minmax_curve[ch] = dt_draw_curve_new(0.0, 1.0, p->tonecurve_type[ch]); c->minmax_curve_nodes[ch] = p->tonecurve_nodes[ch]; c->minmax_curve_type[ch] = p->tonecurve_type[ch]; for(int k=0; k<p->tonecurve_nodes[ch]; k++) (void)dt_draw_curve_add_point(c->minmax_curve[ch], p->tonecurve[ch][k].x, p->tonecurve[ch][k].y); } c->channel = ch_L; c->mouse_x = c->mouse_y = -1.0; c->selected = -1; self->widget = gtk_vbox_new(FALSE, DT_BAUHAUS_SPACE); // tabs c->channel_tabs = GTK_NOTEBOOK(gtk_notebook_new()); gtk_notebook_append_page(GTK_NOTEBOOK(c->channel_tabs), GTK_WIDGET(gtk_hbox_new(FALSE,0)), gtk_label_new(_(" L "))); g_object_set(G_OBJECT(gtk_notebook_get_tab_label(c->channel_tabs, gtk_notebook_get_nth_page(c->channel_tabs, -1))), "tooltip-text", _("tonecurve for L channel"), NULL); gtk_notebook_append_page(GTK_NOTEBOOK(c->channel_tabs), GTK_WIDGET(gtk_hbox_new(FALSE,0)), gtk_label_new(_(" a "))); g_object_set(G_OBJECT(gtk_notebook_get_tab_label(c->channel_tabs, gtk_notebook_get_nth_page(c->channel_tabs, -1))), "tooltip-text", _("tonecurve for a channel"), NULL); gtk_notebook_append_page(GTK_NOTEBOOK(c->channel_tabs), GTK_WIDGET(gtk_hbox_new(FALSE,0)), gtk_label_new(_(" b "))); g_object_set(G_OBJECT(gtk_notebook_get_tab_label(c->channel_tabs, gtk_notebook_get_nth_page(c->channel_tabs, -1))), "tooltip-text", _("tonecurve for b channel"), NULL); gtk_widget_show_all(GTK_WIDGET(gtk_notebook_get_nth_page(c->channel_tabs, c->channel))); gtk_notebook_set_current_page(GTK_NOTEBOOK(c->channel_tabs), c->channel); g_object_set(G_OBJECT(c->channel_tabs), "homogeneous", TRUE, (char *)NULL); GtkWidget *tb = dtgtk_togglebutton_new(dtgtk_cairo_paint_colorpicker, CPF_STYLE_FLAT); g_object_set(G_OBJECT(tb), "tooltip-text", _("pick gui color from image"), (char *)NULL); GtkWidget *notebook = gtk_hbox_new(FALSE,0); gtk_box_pack_start(GTK_BOX(notebook), GTK_WIDGET(c->channel_tabs), FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(notebook), GTK_WIDGET(tb), FALSE, FALSE, 0); GtkWidget *vbox = gtk_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(self->widget), vbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(notebook), TRUE, TRUE, 0); g_signal_connect(G_OBJECT(c->channel_tabs), "switch_page", G_CALLBACK (tab_switch), self); c->area = GTK_DRAWING_AREA(gtk_drawing_area_new()); //GtkWidget *asp = gtk_aspect_frame_new(NULL, 0.5, 0.5, 1.0, FALSE);//TRUE); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(c->area), TRUE, TRUE, 0); // gtk_box_pack_start(GTK_BOX(vbox), asp, TRUE, TRUE, 0); // gtk_container_add(GTK_CONTAINER(asp), GTK_WIDGET(c->area)); gtk_drawing_area_size(c->area, 0, 258); g_object_set (GTK_OBJECT(c->area), "tooltip-text", _("double click to reset curve"), (char *)NULL); gtk_widget_add_events(GTK_WIDGET(c->area), GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK); g_signal_connect (G_OBJECT (c->area), "expose-event", G_CALLBACK (dt_iop_tonecurve_expose), self); g_signal_connect (G_OBJECT (c->area), "button-press-event", G_CALLBACK (dt_iop_tonecurve_button_press), self); g_signal_connect (G_OBJECT (c->area), "motion-notify-event", G_CALLBACK (dt_iop_tonecurve_motion_notify), self); g_signal_connect (G_OBJECT (c->area), "leave-notify-event", G_CALLBACK (dt_iop_tonecurve_leave_notify), self); g_signal_connect (G_OBJECT (c->area), "enter-notify-event", G_CALLBACK (dt_iop_tonecurve_enter_notify), self); g_signal_connect (G_OBJECT (c->area), "configure-event", G_CALLBACK (area_resized), self); g_signal_connect (G_OBJECT(tb), "toggled", G_CALLBACK (pick_toggled), self); g_signal_connect (G_OBJECT (c->area), "scroll-event", G_CALLBACK (scrolled), self); c->autoscale_ab = dt_bauhaus_combobox_new(self); dt_bauhaus_widget_set_label(c->autoscale_ab, _("scale chroma")); dt_bauhaus_combobox_add(c->autoscale_ab, _("auto")); dt_bauhaus_combobox_add(c->autoscale_ab, _("manual")); gtk_box_pack_start(GTK_BOX(self->widget), c->autoscale_ab, TRUE, TRUE, 0); g_object_set (GTK_OBJECT(c->autoscale_ab), "tooltip-text", _("if set to auto, a and b curves have no effect and are not displayed. chroma values (a and b) of each pixel are then adjusted based on L curve data."), (char *)NULL); g_signal_connect(G_OBJECT(c->autoscale_ab), "value-changed", G_CALLBACK(autoscale_ab_callback), self); c->sizegroup = GTK_SIZE_GROUP(gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL)); gtk_size_group_add_widget(c->sizegroup, GTK_WIDGET(c->area)); gtk_size_group_add_widget(c->sizegroup, GTK_WIDGET(c->channel_tabs)); }
static void presence_clicked_cb(GtkWidget *w, gpointer nul) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *to_entry; GtkWidget *status_entry; GtkWidget *priority_entry; GtkWidget *label; GtkWidget *show_combo; GtkWidget *type_combo; GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); GtkTextIter iter; GtkTextBuffer *buffer; const char *to, *type, *status, *show, *priority; int result; char *stanza; GtkWidget *dialog = gtk_dialog_new_with_buttons("<presence/>", GTK_WINDOW(console->window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); gtk_dialog_set_default_response (GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); #if GTK_CHECK_VERSION(2,14,0) vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); #else vbox = GTK_DIALOG(dialog)->vbox; #endif hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("To:"); gtk_size_group_add_widget(sg, label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); to_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (to_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), to_entry, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Type:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); type_combo = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "default"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "unavailable"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "subscribe"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "unsubscribe"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "subscribed"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "unsubscribed"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "probe"); gtk_combo_box_append_text(GTK_COMBO_BOX(type_combo), "error"); gtk_combo_box_set_active(GTK_COMBO_BOX(type_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), type_combo, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Show:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); show_combo = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "default"); gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "away"); gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "dnd"); gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "xa"); gtk_combo_box_append_text(GTK_COMBO_BOX(show_combo), "chat"); gtk_combo_box_set_active(GTK_COMBO_BOX(show_combo), 0); gtk_box_pack_start(GTK_BOX(hbox), show_combo, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Status:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); status_entry = gtk_entry_new(); gtk_entry_set_activates_default (GTK_ENTRY (status_entry), TRUE); gtk_box_pack_start(GTK_BOX(hbox), status_entry, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new("Priority:"); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_size_group_add_widget(sg, label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); priority_entry = gtk_spin_button_new_with_range(-128, 127, 1); gtk_spin_button_set_value(GTK_SPIN_BUTTON(priority_entry), 0); gtk_box_pack_start(GTK_BOX(hbox), priority_entry, FALSE, FALSE, 0); gtk_widget_show_all(vbox); result = gtk_dialog_run(GTK_DIALOG(dialog)); if (result != GTK_RESPONSE_ACCEPT) { gtk_widget_destroy(dialog); return; } to = gtk_entry_get_text(GTK_ENTRY(to_entry)); type = gtk_combo_box_get_active_text(GTK_COMBO_BOX(type_combo)); if (purple_strequal(type, "default")) type = ""; show = gtk_combo_box_get_active_text(GTK_COMBO_BOX(show_combo)); if (purple_strequal(show, "default")) show = ""; status = gtk_entry_get_text(GTK_ENTRY(status_entry)); priority = gtk_entry_get_text(GTK_ENTRY(priority_entry)); if (purple_strequal(priority, "0")) priority = ""; stanza = g_strdup_printf("<presence %s%s%s id='console%x' %s%s%s>" "%s%s%s%s%s%s%s%s%s" "</presence>", *to ? "to='" : "", *to ? to : "", *to ? "'" : "", g_random_int(), *type ? "type='" : "", *type ? type : "", *type ? "'" : "", *show ? "<show>" : "", *show ? show : "", *show ? "</show>" : "", *status ? "<status>" : "", *status ? status : "", *status ? "</status>" : "", *priority ? "<priority>" : "", *priority ? priority : "", *priority ? "</priority>" : ""); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(console->entry)); gtk_text_buffer_set_text(buffer, stanza, -1); gtk_text_buffer_get_iter_at_offset(buffer, &iter, strstr(stanza, "</presence>") - stanza); gtk_text_buffer_place_cursor(buffer, &iter); g_free(stanza); gtk_widget_destroy(dialog); g_object_unref(sg); }
static GtkWidget * build_table (GtkWidget *container, GKeyFile *key_file, GtkSizeGroup *label_size_group, GList *entries) { GtkWidget *table; GtkWidget *label; GtkWidget *entry; GList *l; char *val; int i; table = gtk_table_new (g_list_length (entries) + 1, 2, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 12); i = 0; for (l = entries; l; l = l->next) { ItemEntry *item_entry = (ItemEntry *)l->data; char *label_text; label_text = g_strdup_printf ("%s:", item_entry->description); label = gtk_label_new (label_text); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); g_free (label_text); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (label_size_group, label); entry = gtk_entry_new (); if (item_entry->localized) { val = g_key_file_get_locale_string (key_file, MAIN_GROUP, item_entry->field, NULL, NULL); } else { val = g_key_file_get_string (key_file, MAIN_GROUP, item_entry->field, NULL); } item_entry->current_value = g_strdup (val?val:""); gtk_entry_set_text (GTK_ENTRY (entry), item_entry->current_value); g_free (val); gtk_table_attach (GTK_TABLE (table), label, 0, 1, i, i+1, GTK_FILL, GTK_FILL, 0, 0); gtk_table_attach (GTK_TABLE (table), entry, 1, 2, i, i+1, GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); g_signal_connect (entry, "activate", G_CALLBACK (entry_activate_cb), container); g_signal_connect (entry, "focus_out_event", G_CALLBACK (entry_focus_out_cb), container); g_object_set_data_full (G_OBJECT (entry), "item_entry", item_entry, (GDestroyNotify)item_entry_free); if (item_entry->filename) { gtk_drag_dest_set (GTK_WIDGET (entry), GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, target_table, G_N_ELEMENTS (target_table), GDK_ACTION_COPY | GDK_ACTION_MOVE); g_signal_connect (entry, "drag_data_received", G_CALLBACK (fm_ditem_page_url_drag_data_received), entry); } else if (strcmp (item_entry->field, "Exec") == 0) { gtk_drag_dest_set (GTK_WIDGET (entry), GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, target_table, G_N_ELEMENTS (target_table), GDK_ACTION_COPY | GDK_ACTION_MOVE); g_signal_connect (entry, "drag_data_received", G_CALLBACK (fm_ditem_page_exec_drag_data_received), entry); } i++; } /* append dummy row */ label = gtk_label_new (""); gtk_table_attach (GTK_TABLE (table), label, 0, 1, i, i+1, GTK_FILL, GTK_FILL, 0, 0); gtk_size_group_add_widget (label_size_group, label); gtk_widget_show_all (table); return table; }
static void monitor_create_options(Control *control, GtkContainer *container, GtkWidget *done) { t_global_monitor *global; GtkBox *vbox, *global_vbox, *net_hbox; GtkWidget *device_label, *unit_label[SUM], *max_label[SUM]; GtkWidget *sep1, *sep2; GtkBox *update_hbox; GtkWidget *update_label, *update_unit_label; GtkWidget *color_label[SUM]; GtkWidget *align; GtkBox *color_hbox[SUM]; GtkSizeGroup *sg; gint i; gchar buffer[BUFSIZ]; gchar *color_text[] = { N_("Bar color (incoming):"), N_("Bar color (outgoing):") }; gchar *maximum_text_label[] = { N_("Maximum (incoming):"), N_("Maximum (outgoing):") }; sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); global = (t_global_monitor *)control->data; global->opt_dialog = gtk_widget_get_toplevel(done); global_vbox = GTK_BOX(gtk_vbox_new(FALSE, 5)); gtk_container_add(GTK_CONTAINER(container), GTK_WIDGET(global_vbox)); gtk_widget_show_all(GTK_WIDGET(global_vbox)); vbox = GTK_BOX(gtk_vbox_new(FALSE, 5)); gtk_widget_show(GTK_WIDGET(vbox)); global->monitor->opt_vbox = GTK_BOX(gtk_vbox_new(FALSE, 5)); gtk_widget_show(GTK_WIDGET(global->monitor->opt_vbox)); /* Displayed text */ global->monitor->opt_hbox = GTK_BOX(gtk_hbox_new(FALSE, 5)); gtk_widget_show(GTK_WIDGET(global->monitor->opt_hbox)); global->monitor->opt_use_label = gtk_check_button_new_with_mnemonic(_("Text to display:")); gtk_widget_show(global->monitor->opt_use_label); gtk_box_pack_start(GTK_BOX(global->monitor->opt_hbox), GTK_WIDGET(global->monitor->opt_use_label), FALSE, FALSE, 0); gtk_size_group_add_widget(sg, global->monitor->opt_use_label); global->monitor->opt_entry = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(global->monitor->opt_entry), MAX_LENGTH); gtk_entry_set_text(GTK_ENTRY(global->monitor->opt_entry), global->monitor->options.label_text); gtk_widget_show(global->monitor->opt_entry); gtk_box_pack_start(GTK_BOX(global->monitor->opt_hbox), GTK_WIDGET(global->monitor->opt_entry), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(global->monitor->opt_hbox), FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(global->monitor->opt_use_label), global->monitor->options.use_label); gtk_widget_set_sensitive(GTK_WIDGET(global->monitor->opt_entry), global->monitor->options.use_label); /* Network device */ net_hbox = GTK_BOX(gtk_hbox_new(FALSE, 5)); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(net_hbox), FALSE, FALSE, 0); device_label = gtk_label_new(_("Network device:")); gtk_misc_set_alignment(GTK_MISC(device_label), 0, 0.5); gtk_widget_show(GTK_WIDGET(device_label)); gtk_box_pack_start(GTK_BOX(net_hbox), GTK_WIDGET(device_label), FALSE, FALSE, 0); global->monitor->net_entry = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(global->monitor->net_entry), MAX_LENGTH); gtk_entry_set_text(GTK_ENTRY(global->monitor->net_entry), global->monitor->options.network_device); gtk_widget_show(global->monitor->opt_entry); gtk_box_pack_start(GTK_BOX(net_hbox), GTK_WIDGET(global->monitor->net_entry), FALSE, FALSE, 0); gtk_size_group_add_widget(sg, device_label); gtk_widget_show_all(GTK_WIDGET(net_hbox)); /* Update timevalue */ update_hbox = GTK_BOX(gtk_hbox_new(FALSE, 5)); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(update_hbox), FALSE, FALSE, 0); update_label = gtk_label_new(_("Update interval:")); gtk_misc_set_alignment(GTK_MISC(update_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(update_hbox), GTK_WIDGET(update_label), FALSE, FALSE, 0); global->monitor->update_spinner = gtk_spin_button_new_with_range (0.1, 10.0, 0.05); gtk_spin_button_set_digits( GTK_SPIN_BUTTON(global->monitor->update_spinner), 2 ); gtk_spin_button_set_value( GTK_SPIN_BUTTON(global->monitor->update_spinner), global->monitor->options.update_interval / 1000.0 ); gtk_box_pack_start(GTK_BOX(update_hbox), GTK_WIDGET(global->monitor->update_spinner), FALSE, FALSE, 0); update_unit_label = gtk_label_new(_("ms")); gtk_box_pack_start(GTK_BOX(update_hbox), GTK_WIDGET(update_unit_label), FALSE, FALSE, 0); gtk_widget_show_all(GTK_WIDGET(update_hbox)); gtk_size_group_add_widget(sg, update_label); sep1 = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(sep1), FALSE, FALSE, 0); gtk_widget_show(sep1); global->monitor->max_use_label = gtk_check_button_new_with_mnemonic(_("Automatic maximum")); gtk_widget_show(global->monitor->max_use_label); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(global->monitor->max_use_label), FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(global->monitor->max_use_label), global->monitor->options.auto_max); /* Input maximum */ for( i = 0; i < SUM; i++) { global->monitor->max_hbox[i] = GTK_BOX(gtk_hbox_new(FALSE, 5)); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(global->monitor->max_hbox[i]), FALSE, FALSE, 0); max_label[i] = gtk_label_new(_(maximum_text_label[i])); gtk_misc_set_alignment(GTK_MISC(max_label[i]), 0, 0.5); gtk_widget_show(GTK_WIDGET(max_label[i])); gtk_box_pack_start(GTK_BOX(global->monitor->max_hbox[i]), GTK_WIDGET(max_label[i]), FALSE, FALSE, 0); global->monitor->max_entry[i] = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(global->monitor->max_entry[i]), MAX_LENGTH); g_snprintf( buffer, BUFSIZ, "%.2f", global->monitor->options.max[i] / 1024.0 ); gtk_entry_set_text(GTK_ENTRY(global->monitor->max_entry[i]), buffer); gtk_entry_set_width_chars(GTK_ENTRY(global->monitor->max_entry[i]), 7); gtk_widget_show(global->monitor->max_entry[i]); gtk_box_pack_start(GTK_BOX(global->monitor->max_hbox[i]), GTK_WIDGET(global->monitor->max_entry[i]), FALSE, FALSE, 0); unit_label[i] = gtk_label_new(_("kByte/s")); gtk_box_pack_start(GTK_BOX(global->monitor->max_hbox[i]), GTK_WIDGET(unit_label[i]), FALSE, FALSE, 0); gtk_size_group_add_widget(sg, max_label[i]); gtk_widget_show_all(GTK_WIDGET(global->monitor->max_hbox[i])); gtk_widget_set_sensitive(GTK_WIDGET(global->monitor->max_hbox[i]), !(global->monitor->options.auto_max) ); g_signal_connect(GTK_WIDGET(global->monitor->max_entry[i]), "activate", G_CALLBACK(max_label_changed), global); } sep2 = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(sep2), FALSE, FALSE, 0); gtk_widget_show(sep2); /* Color 1 */ for (i = 0; i < SUM; i++) { color_hbox[i] = GTK_BOX(gtk_hbox_new(FALSE, 5)); gtk_widget_show(GTK_WIDGET(color_hbox[i])); gtk_box_pack_start(GTK_BOX(global->monitor->opt_vbox), GTK_WIDGET(color_hbox[i]), FALSE, FALSE, 0); color_label[i] = gtk_label_new(_(color_text[i])); gtk_misc_set_alignment(GTK_MISC(color_label[i]), 0, 0.5); gtk_widget_show(GTK_WIDGET(color_label[i])); gtk_box_pack_start(GTK_BOX(color_hbox[i]), GTK_WIDGET(color_label[i]), FALSE, FALSE, 0); global->monitor->opt_button[i] = gtk_button_new(); global->monitor->opt_da[i] = gtk_drawing_area_new(); gtk_widget_modify_bg(global->monitor->opt_da[i], GTK_STATE_NORMAL, &global->monitor->options.color[i]); gtk_widget_set_size_request(global->monitor->opt_da[i], 64, 12); gtk_container_add(GTK_CONTAINER(global->monitor->opt_button[i]), global->monitor->opt_da[i]); gtk_widget_show(GTK_WIDGET(global->monitor->opt_button[i])); gtk_widget_show(GTK_WIDGET(global->monitor->opt_da[i])); gtk_box_pack_start(GTK_BOX(color_hbox[i]), GTK_WIDGET(global->monitor->opt_button[i]), FALSE, FALSE, 0); gtk_size_group_add_widget(sg, color_label[i]); } gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(global->monitor->opt_vbox), FALSE, FALSE, 0); align = gtk_alignment_new(0, 0, 0, 0); gtk_widget_set_size_request(align, 5, 5); gtk_widget_show(GTK_WIDGET(align)); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(align), FALSE, FALSE, 0); gtk_box_pack_start( GTK_BOX(global_vbox), GTK_WIDGET(vbox), FALSE, FALSE, 0); g_signal_connect(GTK_WIDGET(global->monitor->max_use_label), "toggled", G_CALLBACK(max_label_toggled), global); g_signal_connect(GTK_WIDGET(global->monitor->opt_da[0]), "expose_event", G_CALLBACK(expose_event_cb), NULL); g_signal_connect(GTK_WIDGET(global->monitor->opt_da[1]), "expose_event", G_CALLBACK(expose_event_cb), NULL); g_signal_connect(GTK_WIDGET(global->monitor->opt_button[IN]), "clicked", G_CALLBACK(change_color_in), global); g_signal_connect(GTK_WIDGET(global->monitor->opt_button[OUT]), "clicked", G_CALLBACK(change_color_out), global); g_signal_connect(GTK_WIDGET(global->monitor->opt_use_label), "toggled", G_CALLBACK(label_toggled), global); g_signal_connect(GTK_WIDGET(global->monitor->opt_entry), "activate", G_CALLBACK(label_changed), global); g_signal_connect(GTK_WIDGET(global->monitor->net_entry), "activate", G_CALLBACK(network_changed), global); g_signal_connect(GTK_WIDGET(done), "clicked", G_CALLBACK(monitor_apply_options_cb), global); }
void FormDialog::single_choice (const std::string name, const std::string description, const std::string value, const std::map<std::string, std::string> choices, bool advanced) { GtkWidget *label = NULL; gchar* label_text = NULL; GtkListStore *model = NULL; GtkWidget *widget = NULL; GtkCellRenderer *renderer = NULL; GtkTreeIter iter; SingleChoiceSubmitter *submitter = NULL; grow_fields (advanced); label = gtk_label_new (NULL); gtk_size_group_add_widget (labels_group, label); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); label_text = g_strdup_printf ("<b>%s</b>", description.c_str ()); gtk_label_set_markup_with_mnemonic (GTK_LABEL (label), label_text); g_free (label_text); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_line_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD); model = gtk_list_store_new (SingleChoiceSubmitter::COLUMN_NUMBER, G_TYPE_STRING, G_TYPE_STRING); widget = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "text", SingleChoiceSubmitter::COLUMN_NAME, NULL); for (std::map<std::string, std::string>::const_iterator map_iter = choices.begin (); map_iter != choices.end (); map_iter++) { gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, SingleChoiceSubmitter::COLUMN_VALUE, map_iter->first.c_str (), SingleChoiceSubmitter::COLUMN_NAME, map_iter->second.c_str (), -1); if (map_iter->first == value) gtk_combo_box_set_active_iter (GTK_COMBO_BOX (widget), &iter); } if (advanced) { gtk_table_attach (GTK_TABLE (advanced_fields), label, 0, 1, advanced_rows -1, advanced_rows, (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), 0,0); gtk_table_attach (GTK_TABLE (advanced_fields), widget, 1, 2, advanced_rows -1, advanced_rows, (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), 0,0); } else { gtk_table_attach (GTK_TABLE (fields), label, 0, 1, rows -1, rows, (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), 0,0); gtk_table_attach (GTK_TABLE (fields), widget, 1, 2, rows -1, rows, (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), (GtkAttachOptions) (GTK_FILL|GTK_EXPAND), 0,0); } submitter = new SingleChoiceSubmitter (name, description, choices, advanced, widget); submitters.push_back (submitter); }
int DoLoadPortalFileDialog( GtkWidget *parent ){ GtkWidget *dialog, *vbox, *hbox, *button, *entry, *check2d, *check3d; GtkWidget *content_area, *ok_button, *cancel_button, *change_button; gint response_id; int ret; GtkSizeGroup *size_group; GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT; dialog = gtk_dialog_new_with_buttons( _( "Load .prt" ), NULL, flags, NULL ); gtk_window_set_transient_for( GTK_WINDOW( dialog ), GTK_WINDOW( parent ) ); ok_button = gtk_dialog_add_button( GTK_DIALOG( dialog ), _( "OK" ), GTK_RESPONSE_OK ); cancel_button = gtk_dialog_add_button( GTK_DIALOG( dialog ), _( "Cancel" ), GTK_RESPONSE_CANCEL ); content_area = gtk_dialog_get_content_area( GTK_DIALOG( dialog ) ); vbox = gtk_vbox_new( FALSE, 5 ); gtk_container_add( GTK_CONTAINER( content_area ), vbox ); gtk_container_set_border_width( GTK_CONTAINER( vbox ), 5 ); gtk_widget_show( vbox ); entry = gtk_entry_new(); gtk_editable_set_editable( GTK_EDITABLE( entry ), FALSE ); gtk_box_pack_start( GTK_BOX( vbox ), entry, FALSE, FALSE, 0 ); gtk_widget_show( entry ); hbox = gtk_hbox_new( FALSE, 5 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); check3d = gtk_check_button_new_with_label( _( "Show 3D" ) ); gtk_box_pack_start( GTK_BOX( hbox ), check3d, FALSE, FALSE, 0 ); gtk_widget_show( check3d ); check2d = gtk_check_button_new_with_label( _( "Show 2D" ) ); gtk_box_pack_start( GTK_BOX( hbox ), check2d, FALSE, FALSE, 0 ); gtk_widget_show( check2d ); change_button = button = gtk_button_new_with_label( _( "Change" ) ); gtk_box_pack_end( GTK_BOX( hbox ), button, FALSE, FALSE, 0 ); g_signal_connect( G_OBJECT( button ), "clicked", G_CALLBACK( change_clicked ), parent ); gtk_widget_show( button ); size_group = gtk_size_group_new( GTK_SIZE_GROUP_BOTH ); gtk_size_group_add_widget( size_group, ok_button ); gtk_size_group_add_widget( size_group, cancel_button ); gtk_size_group_add_widget( size_group, change_button ); g_object_unref( size_group ); char *fn = g_FuncTable.m_pfnGetMapName(); strcpy( portals.fn, fn ); fn = strrchr( portals.fn, '.' ); if ( fn != NULL ) { *fn = '\0'; strcat( portals.fn, ".prt" ); } gtk_entry_set_text( GTK_ENTRY( entry ), portals.fn ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( check2d ), portals.show_2d ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( check3d ), portals.show_3d ); response_id = gtk_dialog_run( GTK_DIALOG( dialog ) ); if( response_id == GTK_RESPONSE_OK ) { portals.Purge(); portals.show_3d = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( check3d ) ) ? true : false; portals.show_2d = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( check2d ) ) ? true : false; ret = IDOK; } else { ret = IDCANCEL; } gtk_widget_destroy( dialog ); return ret; }
void stickynotes_applet_init_prefs(void) { stickynotes->builder = gtk_builder_new (); gtk_builder_add_from_file (stickynotes->builder, BUILDER_PATH, NULL); stickynotes->w_prefs = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "preferences_dialog")); stickynotes->w_prefs_width = gtk_spin_button_get_adjustment ( GTK_SPIN_BUTTON (gtk_builder_get_object ( stickynotes->builder, "width_spin"))); stickynotes->w_prefs_height = gtk_spin_button_get_adjustment ( GTK_SPIN_BUTTON (gtk_builder_get_object ( stickynotes->builder, "height_spin"))); stickynotes->w_prefs_color = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "default_color")); stickynotes->w_prefs_font_color = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "prefs_font_color")); stickynotes->w_prefs_sys_color = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "sys_color_check"))->toggle_button); stickynotes->w_prefs_font = GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "default_font")); stickynotes->w_prefs_sys_font = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "sys_font_check"))->toggle_button); stickynotes->w_prefs_sticky = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "sticky_check"))->toggle_button); stickynotes->w_prefs_force = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "force_default_check"))->toggle_button); stickynotes->w_prefs_desktop = GTK_WIDGET (>K_CHECK_BUTTON ( gtk_builder_get_object (stickynotes->builder, "desktop_hide_check"))->toggle_button); g_signal_connect (G_OBJECT (stickynotes->w_prefs), "response", G_CALLBACK (preferences_response_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs), "delete-event", G_CALLBACK (preferences_delete_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_width), "value-changed", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_height), "value-changed", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_sys_color), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT(stickynotes->w_prefs_sys_font), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs_color), "color-set", G_CALLBACK (preferences_color_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs_font_color), "color-set", G_CALLBACK (preferences_color_cb), NULL); g_signal_connect (G_OBJECT (stickynotes->w_prefs_font), "font-set", G_CALLBACK (preferences_font_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_sticky), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_force), "toggled", G_CALLBACK (preferences_save_cb), NULL); g_signal_connect_swapped (G_OBJECT (stickynotes->w_prefs_desktop), "toggled", G_CALLBACK (preferences_save_cb), NULL); { GtkSizeGroup *group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); gtk_size_group_add_widget(group, GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "width_label"))); gtk_size_group_add_widget(group, GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "height_label"))); gtk_size_group_add_widget(group, GTK_WIDGET (gtk_builder_get_object (stickynotes->builder, "prefs_color_label"))); g_object_unref(group); } if (!gconf_client_key_is_writable(stickynotes->gconf, GCONF_PATH "/defaults/width", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "width_label")), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "width_spin")), FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/height", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "height_label")), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "height_spin")), FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/color", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_color_label")), FALSE); gtk_widget_set_sensitive (stickynotes->w_prefs_color, FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/font_color", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_font_color_label")), FALSE); gtk_widget_set_sensitive (stickynotes->w_prefs_font_color, FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/use_system_color", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_sys_color, FALSE); if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/defaults/font", NULL)) { gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object ( stickynotes->builder, "prefs_font_label")), FALSE); gtk_widget_set_sensitive (stickynotes->w_prefs_font, FALSE); } if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/use_system_font", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_sys_font, FALSE); if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/sticky", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_sticky, FALSE); if (!gconf_client_key_is_writable (stickynotes->gconf, GCONF_PATH "/settings/force_default", NULL)) gtk_widget_set_sensitive (stickynotes->w_prefs_force, FALSE); stickynotes_applet_update_prefs(); }
GtkWidget * gimp_text_options_gui (GimpToolOptions *tool_options) { GObject *config = G_OBJECT (tool_options); GimpTextOptions *options = GIMP_TEXT_OPTIONS (tool_options); GtkWidget *main_vbox = gimp_tool_options_gui (tool_options); GtkWidget *table; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *button; GtkWidget *entry; GtkWidget *box; GtkWidget *spinbutton; GtkWidget *combo; GtkSizeGroup *size_group; gint row = 0; hbox = gimp_prop_font_box_new (NULL, GIMP_CONTEXT (tool_options), _("Font"), 2, "font-view-type", "font-view-size"); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); table = gtk_table_new (1, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 2); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (main_vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); entry = gimp_prop_size_entry_new (config, "font-size", FALSE, "font-size-unit", "%p", GIMP_SIZE_ENTRY_UPDATE_SIZE, 72.0); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Size:"), 0.0, 0.5, entry, 2, FALSE); options->size_entry = entry; vbox = gtk_vbox_new (FALSE, 2); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); gtk_widget_show (vbox); button = gimp_prop_check_button_new (config, "use-editor", _("Use editor")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); button = gimp_prop_check_button_new (config, "antialias", _("Antialiasing")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); table = gtk_table_new (6, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 2); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (main_vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); row = 0; size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); button = gimp_prop_enum_combo_box_new (config, "hint-style", -1, -1); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Hinting:"), 0.0, 0.5, button, 1, TRUE); gtk_size_group_add_widget (size_group, button); button = gimp_prop_color_button_new (config, "foreground", _("Text Color"), 40, 24, GIMP_COLOR_AREA_FLAT); gimp_color_panel_set_context (GIMP_COLOR_PANEL (button), GIMP_CONTEXT (options)); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Color:"), 0.0, 0.5, button, 1, TRUE); gtk_size_group_add_widget (size_group, button); box = gimp_prop_enum_stock_box_new (config, "justify", "gtk-justify", 0, 0); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Justify:"), 0.0, 0.5, box, 2, TRUE); gtk_size_group_add_widget (size_group, box); g_object_unref (size_group); spinbutton = gimp_prop_spin_button_new (config, "indent", 1.0, 10.0, 1); gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), 5); gimp_table_attach_stock (GTK_TABLE (table), row++, GTK_STOCK_INDENT, spinbutton, 1, TRUE); spinbutton = gimp_prop_spin_button_new (config, "line-spacing", 1.0, 10.0, 1); gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), 5); gimp_table_attach_stock (GTK_TABLE (table), row++, GIMP_STOCK_LINE_SPACING, spinbutton, 1, TRUE); spinbutton = gimp_prop_spin_button_new (config, "letter-spacing", 1.0, 10.0, 1); gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), 5); gimp_table_attach_stock (GTK_TABLE (table), row++, GIMP_STOCK_LETTER_SPACING, spinbutton, 1, TRUE); combo = gimp_prop_enum_combo_box_new (config, "box-mode", 0, 0); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Box:"), 0.0, 0.5, combo, 1, TRUE); /* Only add the language entry if the iso-codes package is available. */ #ifdef HAVE_ISO_CODES { GtkWidget *label; vbox = gtk_vbox_new (FALSE, 2); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); gtk_widget_show (vbox); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); label = gtk_label_new (_("Language:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); entry = gimp_prop_language_entry_new (config, "language"); gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0); gtk_widget_show (entry); } #endif return main_vbox; }
static void gvc_combo_box_init (GvcComboBox *combo_box) { GtkWidget *frame; GtkWidget *box; GtkWidget *sbox; GtkWidget *ebox; GtkCellRenderer *renderer; combo_box->priv = GVC_COMBO_BOX_GET_PRIVATE (combo_box); combo_box->priv->model = GTK_TREE_MODEL (gtk_list_store_new (NUM_COLS, G_TYPE_STRING, G_TYPE_STRING)); combo_box->priv->label = gtk_label_new (NULL); gtk_misc_set_alignment (GTK_MISC (combo_box->priv->label), 0.0, 0.5); /* frame */ frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); gtk_container_add (GTK_CONTAINER (combo_box), frame); combo_box->priv->drop_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); combo_box->priv->combobox = gtk_combo_box_new_with_model (combo_box->priv->model); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box->priv->combobox), renderer, TRUE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo_box->priv->combobox), renderer, "text", COL_HUMAN_NAME); /* Make sure that the combo box isn't too wide when human names are overly long, * but that we can still read the full length of it */ g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL); gtk_cell_renderer_set_fixed_size (renderer, 5, -1); g_object_set (G_OBJECT (combo_box->priv->combobox), "popup-fixed-width", FALSE, NULL); combo_box->priv->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start (GTK_BOX (box), sbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (sbox), combo_box->priv->label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box), combo_box->priv->combobox, TRUE, TRUE, 0); combo_box->priv->button = gtk_button_new_with_label ("APPLICATION BUG"); gtk_button_set_use_underline (GTK_BUTTON (combo_box->priv->button), TRUE); gtk_widget_set_no_show_all (combo_box->priv->button, TRUE); gtk_box_pack_start (GTK_BOX (box), combo_box->priv->button, FALSE, FALSE, 0); combo_box->priv->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start (GTK_BOX (box), ebox, FALSE, FALSE, 0); if (combo_box->priv->size_group != NULL) { gtk_size_group_add_widget (combo_box->priv->size_group, sbox); if (combo_box->priv->symmetric) { gtk_size_group_add_widget (combo_box->priv->size_group, ebox); } } gtk_container_add (GTK_CONTAINER (frame), combo_box->priv->drop_box); gtk_widget_show_all (frame); gtk_label_set_mnemonic_widget (GTK_LABEL (combo_box->priv->label), combo_box->priv->combobox); g_signal_connect (G_OBJECT (combo_box->priv->combobox), "changed", G_CALLBACK (on_combo_box_changed), combo_box); g_signal_connect (G_OBJECT (combo_box->priv->button), "clicked", G_CALLBACK (on_combo_box_button_clicked), combo_box); }
static void make_dtd_attribute_editor (CongDocument *doc, CongNodePtr node, xmlElementPtr xml_element, CongDialogContent *dialog_content) { xmlAttributePtr attr; CongDialogCategory *category; gchar *category_name; GtkWidget *scrolled_window; GtkWidget *vbox_attributes; GtkSizeGroup *size_group; { gchar *tag_name = cong_util_get_tag_string_for_node_escaped (node); category_name = g_strdup_printf ( _("Attributes for <tt>%s</tt> elements"), tag_name); g_free (tag_name); } category = cong_dialog_content_add_category (dialog_content, category_name); g_free (category_name); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); cong_dialog_category_add_selflabelled_field (category, scrolled_window, TRUE); vbox_attributes = gtk_vbox_new (FALSE, 6); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(scrolled_window), vbox_attributes); size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); for (attr=xml_element->attributes; attr; attr=attr->nexth) { GtkWidget *hbox; GtkWidget *label; GtkWidget *attr_editor = cong_attribute_editor_new (doc, node, attr); gtk_widget_show (attr_editor); hbox = gtk_hbox_new(FALSE, 6); label = gtk_label_new ((const gchar*)attr->name); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_size_group_add_widget(size_group, label); gtk_container_add(GTK_CONTAINER(hbox), label); gtk_container_add(GTK_CONTAINER(hbox), attr_editor); gtk_widget_show (label); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX(vbox_attributes), hbox, FALSE, TRUE, 0); } gtk_widget_show (vbox_attributes); gtk_widget_show (scrolled_window); }
static void jana_gtk_recurrence_init (JanaGtkRecurrence *self) { GtkWidget *label, *hbox, *sub_hbox, *arrow, *button; GtkSizeGroup *size_group; JanaGtkRecurrencePrivate *priv = RECURRENCE_PRIVATE (self); gtk_box_set_spacing (GTK_BOX (self), 6); /* Create preview text-view */ priv->preview_frame = gtk_frame_new (NULL); priv->preview_textview = gtk_text_view_new (); gtk_text_view_set_editable (GTK_TEXT_VIEW ( priv->preview_textview), FALSE); gtk_text_view_set_cursor_visible ( GTK_TEXT_VIEW (priv->preview_textview), FALSE); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (priv->preview_textview), GTK_WRAP_WORD_CHAR); gtk_container_add (GTK_CONTAINER (priv->preview_frame), priv->preview_textview); gtk_box_pack_end (GTK_BOX (self), priv->preview_frame, TRUE, TRUE, 0); gtk_frame_set_shadow_type ( GTK_FRAME (priv->preview_frame), GTK_SHADOW_NONE); gtk_widget_show_all (priv->preview_frame); priv->edit_vbox = gtk_vbox_new (FALSE, 6); size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* 'Repeats' (recurrence type) combo box */ hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("Repeats:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); priv->type_combo = gtk_combo_box_new_text (); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "None"); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "Every day"); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "Every week"); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "Every year"); gtk_combo_box_set_active (GTK_COMBO_BOX (priv->type_combo), 0); gtk_box_pack_start (GTK_BOX (hbox), priv->type_combo, TRUE, TRUE, 0); g_signal_connect (priv->type_combo, "changed", G_CALLBACK (type_combo_changed_cb), self); /* Interval buttons */ sub_hbox = gtk_hbox_new (TRUE, 0); priv->interval_dec_button = gtk_button_new (); arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (priv->interval_dec_button), arrow); gtk_box_pack_start (GTK_BOX (sub_hbox), priv->interval_dec_button, FALSE, TRUE, 0); priv->interval_inc_button = gtk_button_new (); arrow = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (priv->interval_inc_button), arrow); gtk_box_pack_start (GTK_BOX (sub_hbox), priv->interval_inc_button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), sub_hbox, FALSE, TRUE, 0); g_signal_connect (priv->interval_inc_button, "clicked", G_CALLBACK (interval_inc_clicked_cb), self); g_signal_connect (priv->interval_dec_button, "clicked", G_CALLBACK (interval_dec_clicked_cb), self); gtk_widget_show_all (hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), hbox, FALSE, TRUE, 0); /* Weekly recurrence day-chooser */ priv->week_hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("On:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (priv->week_hbox), label, FALSE, TRUE, 0); sub_hbox = gtk_hbox_new (TRUE, 0); /* Weekday toggle widgets */ #define day_toggle_widget(x) \ button = gtk_toggle_button_new_with_label (jana_utils_ab_day (x)); \ gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); \ gtk_box_pack_start (GTK_BOX (sub_hbox), button, TRUE, TRUE, 0); \ priv->week_buttons[x] = GTK_TOGGLE_BUTTON (button); \ g_signal_connect (button, "toggled", \ G_CALLBACK (day##x##_toggled_cb), self) day_toggle_widget(0); day_toggle_widget(1); day_toggle_widget(2); day_toggle_widget(3); day_toggle_widget(4); day_toggle_widget(5); day_toggle_widget(6); gtk_box_pack_start (GTK_BOX (priv->week_hbox), sub_hbox, TRUE, TRUE, 0); gtk_widget_show_all (priv->week_hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), priv->week_hbox, FALSE, TRUE, 0); /* Monthly recurrence by date/day chooser */ priv->month_hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("By:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (priv->month_hbox), label, FALSE, TRUE, 0); sub_hbox = gtk_hbox_new (TRUE, 0); /* By day */ priv->byday_button = GTK_TOGGLE_BUTTON ( gtk_radio_button_new_with_label (NULL, "Day")); gtk_toggle_button_set_mode (priv->byday_button, FALSE); gtk_box_pack_start (GTK_BOX (sub_hbox), GTK_WIDGET ( priv->byday_button), FALSE, TRUE, 0); /* By date */ priv->bydate_button = GTK_TOGGLE_BUTTON ( gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON (priv->byday_button), "Date")); gtk_toggle_button_set_mode (priv->bydate_button, FALSE); g_signal_connect (priv->bydate_button, "toggled", G_CALLBACK (bydate_toggled_cb), self); gtk_box_pack_start (GTK_BOX (sub_hbox), GTK_WIDGET ( priv->bydate_button), FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (priv->month_hbox), sub_hbox, FALSE, TRUE, 0); gtk_widget_show_all (priv->month_hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), priv->month_hbox, FALSE, TRUE, 0); /* Until time editor */ priv->end_hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("Until:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (priv->end_hbox), label, FALSE, TRUE, 0); priv->end_button = gtk_button_new (); hbox = gtk_hbox_new (FALSE, 6); priv->end_label = gtk_label_new (NULL); arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); gtk_box_pack_start (GTK_BOX (hbox), priv->end_label, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (hbox), arrow, FALSE, TRUE, 0); gtk_container_add (GTK_CONTAINER (priv->end_button), hbox); g_signal_connect (priv->end_button, "clicked", G_CALLBACK (end_clicked_cb), self); gtk_box_pack_start (GTK_BOX (priv->end_hbox), priv->end_button, FALSE, TRUE, 0); gtk_widget_show_all (priv->end_hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), priv->end_hbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (self), priv->edit_vbox, FALSE, TRUE, 0); gtk_widget_set_no_show_all (priv->edit_vbox, TRUE); gtk_widget_set_no_show_all (priv->preview_frame, TRUE); refresh (self); }