WrDialog * do_dialog (wr_huesat_val_t *cuvals) { WrDialog *wcd; GtkWidget *vbox; GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *frame1; GtkWidget *hbox1; GtkWidget *vbox1; GtkWidget *label1; GSList *vbox1_group = NULL; GtkWidget *radiobutton1; GtkWidget *radiobutton2; GtkWidget *radiobutton3; GtkWidget *radiobutton4; GtkWidget *radiobutton5; GtkWidget *radiobutton6; GtkWidget *radiobutton7; GtkWidget *table1; GtkWidget *label2; GtkWidget *label3; GtkWidget *label4; GtkObject *spinbutton_sat_adj; GtkWidget *spinbutton_sat; GtkObject *spinbutton_light_adj; GtkWidget *spinbutton_light; GtkObject *spinbutton_hue_adj; GtkWidget *spinbutton_hue; GtkWidget *dialog_action_area1; /* Init UI */ gimp_ui_init ("wr_curves", FALSE); /* The dialog1 */ wcd = g_malloc (sizeof (WrDialog)); wcd->run = FALSE; wcd->vals = cuvals; /* The dialog1 and main vbox */ dialog1 = gimp_dialog_new (_("Hue-Saturation"), "hue_saturation_wrapper", NULL, 0, gimp_standard_help_func, PLUG_IN_HELP_ID, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); wcd->shell = dialog1; /* * g_object_set_data (G_OBJECT (dialog1), "dialog1", dialog1); * gtk_window_set_title (GTK_WINDOW (dialog1), _("dialog1")); */ g_signal_connect (G_OBJECT (dialog1), "response", G_CALLBACK (wr_huesat_response), wcd); /* the vbox */ vbox = gtk_vbox_new (FALSE, 2); gtk_container_set_border_width (GTK_CONTAINER (vbox), 2); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog1)->vbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; g_object_set_data (G_OBJECT (dialog1), "dialog_vbox1", dialog_vbox1); gtk_widget_show (dialog_vbox1); /* the frame */ frame1 = gimp_frame_new (_("Hue / Lightness / Saturation Adjustments ")); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), frame1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame1), 2); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (frame1), hbox1); gtk_container_set_border_width (GTK_CONTAINER (hbox1), 4); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 0); /* Hue Mode the label */ label1 = gtk_label_new (_("Hue Mode:")); gtk_widget_show (label1); gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5); /* Hue Mode the radio buttons */ radiobutton1 = gtk_radio_button_new_with_label (vbox1_group, _("Master")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1)); gtk_widget_show (radiobutton1); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton1, FALSE, FALSE, 0); radiobutton2 = gtk_radio_button_new_with_label (vbox1_group, _("Red")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton2)); gtk_widget_show (radiobutton2); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton2, FALSE, FALSE, 0); radiobutton3 = gtk_radio_button_new_with_label (vbox1_group, _("Yellow")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton3)); gtk_widget_show (radiobutton3); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton3, FALSE, FALSE, 0); radiobutton4 = gtk_radio_button_new_with_label (vbox1_group, _("Green")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton4)); gtk_widget_show (radiobutton4); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton4, FALSE, FALSE, 0); radiobutton5 = gtk_radio_button_new_with_label (vbox1_group, _("Cyan")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton5)); gtk_widget_show (radiobutton5); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton5, FALSE, FALSE, 0); radiobutton6 = gtk_radio_button_new_with_label (vbox1_group, _("Blue")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton6)); gtk_widget_show (radiobutton6); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton6, FALSE, FALSE, 0); radiobutton7 = gtk_radio_button_new_with_label (vbox1_group, _("Magenta")); vbox1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton7)); gtk_widget_show (radiobutton7); gtk_box_pack_start (GTK_BOX (vbox1), radiobutton7, FALSE, FALSE, 0); /* table1 for spinbuttons */ table1 = gtk_table_new (4, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (hbox1), table1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table1), 4); label2 = gtk_label_new (_("Hue:")); gtk_widget_show (label2); gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); label3 = gtk_label_new (_("Lightness:")); gtk_widget_show (label3); gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); label4 = gtk_label_new (_("Saturation:")); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); spinbutton_sat_adj = gtk_adjustment_new (0, -100, 100, 1, 10, 0); spinbutton_sat = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_sat_adj), 1, 0); gtk_widget_show (spinbutton_sat); gtk_table_attach (GTK_TABLE (table1), spinbutton_sat, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); spinbutton_light_adj = gtk_adjustment_new (0, -100, 100, 1, 10, 0); spinbutton_light = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_light_adj), 1, 0); gtk_widget_show (spinbutton_light); gtk_table_attach (GTK_TABLE (table1), spinbutton_light, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); spinbutton_hue_adj = gtk_adjustment_new (0, -180, 180, 1, 10, 0); spinbutton_hue = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_hue_adj), 1, 0); gtk_widget_show (spinbutton_hue); gtk_table_attach (GTK_TABLE (table1), spinbutton_hue, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 10); wcd->radio_master = radiobutton1; wcd->radio_red = radiobutton2; wcd->radio_yellow = radiobutton3; wcd->radio_green = radiobutton4; wcd->radio_cyan = radiobutton5; wcd->radio_blue = radiobutton6; wcd->radio_magenta = radiobutton7; /* signals */ g_signal_connect (G_OBJECT (wcd->radio_master), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (wcd->radio_red), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (wcd->radio_yellow), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (wcd->radio_green), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (wcd->radio_cyan), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (wcd->radio_blue), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (wcd->radio_magenta), "clicked", G_CALLBACK (radio_callback), wcd); g_signal_connect (G_OBJECT (spinbutton_hue_adj), "value_changed", G_CALLBACK (gimp_double_adjustment_update), &cuvals->hue_offset); g_signal_connect (G_OBJECT (spinbutton_light_adj), "value_changed", G_CALLBACK (gimp_double_adjustment_update), &cuvals->lightness); g_signal_connect (G_OBJECT (spinbutton_sat_adj), "value_changed", G_CALLBACK (gimp_double_adjustment_update), &cuvals->saturation); gtk_widget_show (dialog1); gtk_main (); gdk_flush (); return wcd; }
static void saa_solid_manager_init (SaaSolidManager * mgr) { GtkWidget * but_numero, * but_wythoff, * but_filename; GtkWidget * image1, * image2, * image3; GtkObject * sbut_numero_adj; const gchar * filename_path; gtk_table_resize(GTK_TABLE(mgr), 3, 5); gtk_table_set_homogeneous(GTK_TABLE(mgr), FALSE); gtk_table_set_row_spacings (GTK_TABLE (mgr), 5); gtk_table_set_col_spacings (GTK_TABLE (mgr), 5); gtk_container_set_border_width (GTK_CONTAINER (mgr), 5); // Numero mgr->radio_numero = gtk_radio_button_new_with_label_from_widget (NULL, _("Number:")); gtk_widget_set_name(mgr->radio_numero, "numero-rad"); gtk_widget_show (mgr->radio_numero); gtk_table_attach (GTK_TABLE (mgr), mgr->radio_numero, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); sbut_numero_adj = gtk_adjustment_new (1, 1, 80, 1, 10, 0); mgr->spin_numero = gtk_spin_button_new (GTK_ADJUSTMENT (sbut_numero_adj), 1, 0); gtk_widget_set_name(mgr->spin_numero, "numero-ent"); gtk_widget_show (mgr->spin_numero); gtk_table_attach (GTK_TABLE (mgr), mgr->spin_numero, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (mgr->spin_numero), TRUE); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (mgr->spin_numero), TRUE); but_numero = gtk_button_new (); gtk_widget_set_name(but_numero, "numero-btn"); gtk_widget_show (but_numero); gtk_table_attach (GTK_TABLE (mgr), but_numero, 2, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0); image1 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image1); gtk_container_add (GTK_CONTAINER (but_numero), image1); // Wythoff mgr->radio_wythoff = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (mgr->radio_numero), _("Wythoff symbol:")); gtk_widget_set_name(mgr->radio_wythoff, "wythoff-rad"); gtk_widget_show (mgr->radio_wythoff); gtk_table_attach (GTK_TABLE (mgr), mgr->radio_wythoff, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); mgr->entry_wythoff = gtk_entry_new (); gtk_widget_set_name(mgr->entry_wythoff, "wythoff-ent"); gtk_widget_show (mgr->entry_wythoff); gtk_table_attach (GTK_TABLE (mgr), mgr->entry_wythoff, 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); gtk_entry_set_has_frame (GTK_ENTRY (mgr->entry_wythoff), FALSE); but_wythoff = gtk_button_new (); gtk_widget_set_name(but_wythoff, "wythoff-btn"); gtk_widget_show (but_wythoff); gtk_table_attach (GTK_TABLE (mgr), but_wythoff, 2, 3, 1, 2, GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); image2 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image2); gtk_container_add (GTK_CONTAINER (but_wythoff), image2); // Dual mgr->but_dual = gtk_toggle_button_new_with_mnemonic (_("Dual")); gtk_widget_set_name(mgr->but_dual, "numero-wythoff-dual-btn"); gtk_widget_show (mgr->but_dual); gtk_table_attach (GTK_TABLE (mgr), mgr->but_dual, 3, 4, 0, 2, GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); // Filename mgr->radio_filename = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (mgr->radio_wythoff), _("File:")); gtk_widget_set_name(mgr->radio_filename, "filename-rad"); gtk_widget_show (mgr->radio_filename); gtk_table_attach (GTK_TABLE (mgr), mgr->radio_filename, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0); mgr->but_filename = gtk_file_chooser_button_new (_("Load a solid"), GTK_FILE_CHOOSER_ACTION_OPEN); gtk_widget_set_name(mgr->but_filename, "filename-but"); gtk_widget_show (mgr->but_filename); gtk_table_attach (GTK_TABLE (mgr), mgr->but_filename, 1, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0); filename_path = g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(mgr->but_filename), filename_path); but_filename = gtk_button_new (); gtk_widget_set_name(but_filename, "filename-btn"); gtk_widget_show (but_filename); gtk_table_attach (GTK_TABLE (mgr), but_filename, 2, 3, 2, 3, GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); image3 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image3); gtk_container_add (GTK_CONTAINER (but_filename), image3); // Nom mgr->label_nom = gtk_label_new (""); gtk_widget_set_name(mgr->label_nom, "numero-wythoff-filename-lbl"); gtk_widget_show (mgr->label_nom); gtk_table_attach (GTK_TABLE (mgr), mgr->label_nom, 0, 4, 4, 5, GTK_FILL, GTK_FILL, 0, 0); gtk_label_set_justify (GTK_LABEL (mgr->label_nom), GTK_JUSTIFY_CENTER); g_signal_connect_swapped ((gpointer) mgr->radio_numero, "toggled", G_CALLBACK (saa_solid_manager_radio_numero_toggled), mgr); g_signal_connect_swapped ((gpointer) mgr->radio_wythoff, "toggled", G_CALLBACK (saa_solid_manager_radio_wythoff_toggled), mgr); g_signal_connect_swapped ((gpointer) mgr->radio_filename, "toggled", G_CALLBACK (saa_solid_manager_radio_filename_toggled), mgr); g_signal_connect_swapped ((gpointer) but_numero, "clicked", G_CALLBACK (saa_solid_manager_numero_changed), mgr); g_signal_connect_swapped ((gpointer) but_wythoff, "clicked", G_CALLBACK (saa_solid_manager_wythoff_changed), mgr); g_signal_connect_swapped ((gpointer) but_filename, "clicked", G_CALLBACK (saa_solid_manager_filename_changed), mgr); g_signal_connect_swapped ((gpointer) mgr->but_dual, "toggled", G_CALLBACK (saa_solid_manager_dual_toggled), mgr); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mgr->radio_wythoff), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mgr->radio_numero), TRUE); }
GtkWidget* create_dbgopt_dbox (void) { GtkWidget *dbgopt_dbox; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *frame2; GtkWidget *hbox3; GtkWidget *label3; GtkObject *spinbutton1_adj; GtkWidget *spinbutton1; GtkWidget *label4; GtkWidget *frame3; GtkWidget *hbox4; GtkWidget *label5; GtkObject *spinbutton2_adj; GtkWidget *spinbutton2; GtkWidget *label6; GtkWidget *frame4; GtkWidget *hbox5; GtkWidget *label7; GtkObject *spinbutton3_adj; GtkWidget *spinbutton3; GtkWidget *label8; GtkWidget *dialog_action_area1; GtkWidget *hbuttonbox1; GtkWidget *ok_button; GtkWidget *hbox2; GtkWidget *pixmap2; guint label2_key; GtkWidget *label2; GtkWidget *cancel_button; GtkWidget *hbox1; GtkWidget *pixmap1; guint label1_key; GtkWidget *label1; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); dbgopt_dbox = gtk_dialog_new (); gtk_object_set_data (GTK_OBJECT (dbgopt_dbox), "dbgopt_dbox", dbgopt_dbox); gtk_window_set_title (GTK_WINDOW (dbgopt_dbox), _("Advanced settings")); gtk_window_set_position (GTK_WINDOW (dbgopt_dbox), GTK_WIN_POS_CENTER); gtk_window_set_policy (GTK_WINDOW (dbgopt_dbox), TRUE, FALSE, TRUE); dialog_vbox1 = GTK_DIALOG (dbgopt_dbox)->vbox; gtk_object_set_data (GTK_OBJECT (dbgopt_dbox), "dialog_vbox1", dialog_vbox1); gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (TRUE, 0); gtk_widget_ref (vbox1); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); frame2 = gtk_frame_new (_("Dissasembly window")); gtk_widget_ref (frame2); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "frame2", frame2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame2); gtk_box_pack_start (GTK_BOX (vbox1), frame2, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame2), 5); hbox3 = gtk_hbox_new (TRUE, 0); gtk_widget_ref (hbox3); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "hbox3", hbox3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox3); gtk_container_add (GTK_CONTAINER (frame2), hbox3); gtk_container_set_border_width (GTK_CONTAINER (hbox3), 5); label3 = gtk_label_new (_("Size:")); gtk_widget_ref (label3); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label3", label3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label3); gtk_box_pack_start (GTK_BOX (hbox3), label3, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label3), 5, 0); spinbutton1_adj = gtk_adjustment_new (20, 1, 100, 1, 10, 10); spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 0); gtk_widget_ref (spinbutton1); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "spinbutton1", spinbutton1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton1); gtk_box_pack_start (GTK_BOX (hbox3), spinbutton1, FALSE, TRUE, 0); label4 = gtk_label_new (_("lines")); gtk_widget_ref (label4); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label4", label4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label4); gtk_box_pack_start (GTK_BOX (hbox3), label4, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label4), 5, 0); frame3 = gtk_frame_new (_("Memory window")); gtk_widget_ref (frame3); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "frame3", frame3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame3); gtk_box_pack_start (GTK_BOX (vbox1), frame3, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame3), 5); hbox4 = gtk_hbox_new (TRUE, 0); gtk_widget_ref (hbox4); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "hbox4", hbox4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox4); gtk_container_add (GTK_CONTAINER (frame3), hbox4); gtk_container_set_border_width (GTK_CONTAINER (hbox4), 5); label5 = gtk_label_new (_("Size:")); gtk_widget_ref (label5); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label5", label5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label5); gtk_box_pack_start (GTK_BOX (hbox4), label5, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label5), 5, 0); spinbutton2_adj = gtk_adjustment_new (20, 1, 100, 1, 10, 10); spinbutton2 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton2_adj), 1, 0); gtk_widget_ref (spinbutton2); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "spinbutton2", spinbutton2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton2); gtk_box_pack_start (GTK_BOX (hbox4), spinbutton2, FALSE, TRUE, 0); label6 = gtk_label_new (_("lines")); gtk_widget_ref (label6); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label6", label6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label6); gtk_box_pack_start (GTK_BOX (hbox4), label6, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label6), 5, 0); frame4 = gtk_frame_new (_("Stack window")); gtk_widget_ref (frame4); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "frame4", frame4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame4); gtk_box_pack_start (GTK_BOX (vbox1), frame4, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame4), 5); hbox5 = gtk_hbox_new (TRUE, 0); gtk_widget_ref (hbox5); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "hbox5", hbox5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox5); gtk_container_add (GTK_CONTAINER (frame4), hbox5); gtk_container_set_border_width (GTK_CONTAINER (hbox5), 5); label7 = gtk_label_new (_("Size:")); gtk_widget_ref (label7); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label7", label7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label7); gtk_box_pack_start (GTK_BOX (hbox5), label7, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label7), 5, 0); spinbutton3_adj = gtk_adjustment_new (10, 1, 50, 1, 10, 10); spinbutton3 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton3_adj), 1, 0); gtk_widget_ref (spinbutton3); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "spinbutton3", spinbutton3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton3); gtk_box_pack_start (GTK_BOX (hbox5), spinbutton3, FALSE, TRUE, 0); label8 = gtk_label_new (_("lines")); gtk_widget_ref (label8); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label8", label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label8); gtk_box_pack_start (GTK_BOX (hbox5), label8, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label8), 5, 0); dialog_action_area1 = GTK_DIALOG (dbgopt_dbox)->action_area; gtk_object_set_data (GTK_OBJECT (dbgopt_dbox), "dialog_action_area1", dialog_action_area1); gtk_widget_show (dialog_action_area1); gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 10); hbuttonbox1 = gtk_hbutton_box_new (); gtk_widget_ref (hbuttonbox1); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "hbuttonbox1", hbuttonbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbuttonbox1); gtk_box_pack_start (GTK_BOX (dialog_action_area1), hbuttonbox1, TRUE, TRUE, 0); ok_button = gtk_button_new (); gtk_widget_ref (ok_button); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "ok_button", ok_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok_button); gtk_container_add (GTK_CONTAINER (hbuttonbox1), ok_button); GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (ok_button, "clicked", accel_group, GDK_Return, 0, GTK_ACCEL_VISIBLE); hbox2 = gtk_hbox_new (FALSE, 0); gtk_widget_ref (hbox2); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "hbox2", hbox2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox2); gtk_container_add (GTK_CONTAINER (ok_button), hbox2); pixmap2 = create_pixmap (dbgopt_dbox, "yes.xpm"); gtk_widget_ref (pixmap2); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "pixmap2", pixmap2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pixmap2); gtk_box_pack_start (GTK_BOX (hbox2), pixmap2, TRUE, TRUE, 0); label2 = gtk_label_new (""); label2_key = gtk_label_parse_uline (GTK_LABEL (label2), _("_OK")); gtk_widget_ref (label2); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label2", label2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label2); gtk_box_pack_start (GTK_BOX (hbox2), label2, TRUE, TRUE, 0); gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label2), 5, 0); cancel_button = gtk_button_new (); gtk_widget_ref (cancel_button); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "cancel_button", cancel_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel_button); gtk_container_add (GTK_CONTAINER (hbuttonbox1), cancel_button); GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel_button, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_ref (hbox1); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "hbox1", hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox1); gtk_container_add (GTK_CONTAINER (cancel_button), hbox1); pixmap1 = create_pixmap (dbgopt_dbox, "no.xpm"); gtk_widget_ref (pixmap1); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "pixmap1", pixmap1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pixmap1); gtk_box_pack_start (GTK_BOX (hbox1), pixmap1, TRUE, TRUE, 0); label1 = gtk_label_new (""); label1_key = gtk_label_parse_uline (GTK_LABEL (label1), _("_Cancel")); gtk_widget_ref (label1); gtk_object_set_data_full (GTK_OBJECT (dbgopt_dbox), "label1", label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label1); gtk_box_pack_start (GTK_BOX (hbox1), label1, TRUE, TRUE, 0); gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label1), 5, 0); gtk_signal_connect (GTK_OBJECT (dbgopt_dbox), "destroy", GTK_SIGNAL_FUNC (on_dbgopt_dbox_destroy), dbgopt_dbox); gtk_signal_connect (GTK_OBJECT (spinbutton1), "changed", GTK_SIGNAL_FUNC (on_dbgopt_spinbutton1_changed), spinbutton1); gtk_signal_connect (GTK_OBJECT (spinbutton2), "changed", GTK_SIGNAL_FUNC (on_dbgopt_spinbutton2_changed), spinbutton2); gtk_signal_connect (GTK_OBJECT (spinbutton3), "changed", GTK_SIGNAL_FUNC (on_dbgopt_spinbutton3_changed), spinbutton3); gtk_signal_connect (GTK_OBJECT (ok_button), "clicked", GTK_SIGNAL_FUNC (on_dbgopt_ok_button_clicked), dbgopt_dbox); gtk_signal_connect (GTK_OBJECT (cancel_button), "clicked", GTK_SIGNAL_FUNC (on_dbgopt_cancel_button_clicked), dbgopt_dbox); gtk_widget_add_accelerator (ok_button, "clicked", accel_group, label2_key, GDK_MOD1_MASK, 0); gtk_widget_add_accelerator (cancel_button, "clicked", accel_group, label1_key, GDK_MOD1_MASK, 0); gtk_window_add_accel_group (GTK_WINDOW (dbgopt_dbox), accel_group); return dbgopt_dbox; }
static GtkWidget * prefs_get_property_widget(DiaPrefData *data) { GtkWidget *widget = NULL; GtkAdjustment *adj; switch(data->type) { case PREF_BOOLEAN: widget = gtk_toggle_button_new_with_label (_("No")); g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (prefs_boolean_toggle), NULL); break; case PREF_INT: adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, G_MININT, G_MAXINT, 1.0, 10.0, 0)); widget = gtk_spin_button_new (adj, 1.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE); gtk_widget_set_size_request (widget, 80, -1); break; case PREF_UINT: adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, G_MAXINT, 1.0, 10.0, 0)); widget = gtk_spin_button_new (adj, 1.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE); gtk_widget_set_size_request (widget, 80, -1); break; case PREF_REAL: adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, G_MINFLOAT, G_MAXFLOAT, 1.0, 10.0, 0)); widget = gtk_spin_button_new (adj, 1.0, 3); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE); gtk_widget_set_size_request (widget, 80, -1); break; case PREF_UREAL: adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, G_MAXFLOAT, 1.0, 10.0, 0 )); widget = gtk_spin_button_new (adj, 1.0, 3); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(widget), TRUE); gtk_widget_set_size_request (widget, 80, -1); break; case PREF_COLOUR: widget = dia_color_selector_new(); break; case PREF_STRING: widget = gtk_entry_new(); break; case PREF_CHOICE: { GList *names; #if GTK_CHECK_VERSION(2,24,0) widget = gtk_combo_box_text_new (); #else widget = gtk_combo_box_new_text (); #endif for (names = (data->choice_list_function)(data); names != NULL; names = g_list_next(names)) { #if GTK_CHECK_VERSION(2,24,0) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), (gchar *)names->data); #else gtk_combo_box_append_text (GTK_COMBO_BOX (widget), (gchar *)names->data); #endif } break; } case PREF_NONE: case PREF_END_GROUP: widget = NULL; break; } if (widget != NULL) gtk_widget_show(widget); return widget; }
/* Almost straigh out of glade2 */ GtkWidget* create_dialog1 (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *table1; GtkWidget *label1; GtkWidget *label2; GtkWidget *label3; GtkWidget *label4; GtkWidget *hbox1; GtkWidget *label_sub; GtkWidget *button_sub; GtkWidget *image1; GtkWidget *hbox2; GtkWidget *label_font; GtkWidget *button_font; GtkWidget *image2; GtkWidget *optionmenu1; GtkWidget *menu1; GtkWidget *enc_ascii; /* GtkWidget *enc_8859; GtkWidget *ebc_cyrillic; GtkWidget *enc_german; */ GtkObject *spinbutton_fontsize_adj; GtkWidget *spinbutton_fontsize; GtkWidget *label5; GtkWidget *button_color; GtkWidget *hbox3; GtkWidget *drawingarea1; GtkWidget *vscale1; GtkWidget *dialog_action_area1; GtkWidget *cancelbutton1; GtkWidget *applybutton1; GtkWidget *okbutton1; dialog1 = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dialog1), _("Subtitle selector")); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); table1 = gtk_table_new (5, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox1), table1, TRUE, TRUE, 0); label1 = gtk_label_new (_("Subtitle file ")); gtk_widget_show (label1); gtk_table_attach (GTK_TABLE (table1), label1, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5); label2 = gtk_label_new (_("Font (TTF)")); gtk_widget_show (label2); gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); label3 = gtk_label_new (_("Encoding ")); gtk_widget_show (label3); gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); label4 = gtk_label_new (_("Font Size")); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_table_attach (GTK_TABLE (table1), hbox1, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label_sub = gtk_label_new (_("sub")); gtk_widget_show (label_sub); gtk_box_pack_start (GTK_BOX (hbox1), label_sub, TRUE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_sub), GTK_JUSTIFY_LEFT); button_sub = gtk_button_new (); gtk_widget_show (button_sub); gtk_box_pack_start (GTK_BOX (hbox1), button_sub, FALSE, FALSE, 0); image1 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image1); gtk_container_add (GTK_CONTAINER (button_sub), image1); hbox2 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox2); gtk_table_attach (GTK_TABLE (table1), hbox2, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label_font = gtk_label_new (_("font")); gtk_widget_show (label_font); gtk_box_pack_start (GTK_BOX (hbox2), label_font, TRUE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_font), GTK_JUSTIFY_LEFT); button_font = gtk_button_new (); gtk_widget_show (button_font); gtk_box_pack_start (GTK_BOX (hbox2), button_font, FALSE, FALSE, 0); image2 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image2); gtk_container_add (GTK_CONTAINER (button_font), image2); optionmenu1 = gtk_option_menu_new (); gtk_widget_show (optionmenu1); gtk_table_attach (GTK_TABLE (table1), optionmenu1, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); menu1 = gtk_menu_new (); enc_ascii = gtk_menu_item_new_with_mnemonic (_("Ascii")); gtk_widget_show (enc_ascii); gtk_container_add (GTK_CONTAINER (menu1), enc_ascii); /* enc_8859 = gtk_menu_item_new_with_mnemonic (_("Iso 8859-1 (Czech...)")); gtk_widget_show (enc_8859); gtk_container_add (GTK_CONTAINER (menu1), enc_8859); ebc_cyrillic = gtk_menu_item_new_with_mnemonic (_("Cyrillic")); gtk_widget_show (ebc_cyrillic); gtk_container_add (GTK_CONTAINER (menu1), ebc_cyrillic); enc_german = gtk_menu_item_new_with_mnemonic (_("German")); gtk_widget_show (enc_german); gtk_container_add (GTK_CONTAINER (menu1), enc_german); */ gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu1), menu1); spinbutton_fontsize_adj = gtk_adjustment_new (26, 8, 100, 1, 10, 10); spinbutton_fontsize = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_fontsize_adj), 1, 0); gtk_widget_show (spinbutton_fontsize); gtk_table_attach (GTK_TABLE (table1), spinbutton_fontsize, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_fontsize), TRUE); label5 = gtk_label_new (_("Select color")); gtk_widget_show (label5); gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); button_color = gtk_button_new_with_mnemonic (_("Select")); gtk_widget_show (button_color); gtk_table_attach (GTK_TABLE (table1), button_color, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); hbox3 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox3); gtk_box_pack_start (GTK_BOX (vbox1), hbox3, TRUE, TRUE, 0); drawingarea1 = gtk_drawing_area_new (); gtk_widget_show (drawingarea1); gtk_box_pack_start (GTK_BOX (hbox3), drawingarea1, TRUE, TRUE, 0); gtk_widget_set_size_request (drawingarea1, 352, 288); vscale1 = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 1, 576, 1, 1, 1))); gtk_widget_show (vscale1); gtk_box_pack_start (GTK_BOX (hbox3), vscale1, FALSE, TRUE, 0); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), cancelbutton1, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT); applybutton1 = gtk_button_new_from_stock ("gtk-apply"); gtk_widget_show (applybutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), applybutton1, GTK_RESPONSE_APPLY); GTK_WIDGET_SET_FLAGS (applybutton1, GTK_CAN_DEFAULT); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), okbutton1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (dialog1, table1, "table1"); GLADE_HOOKUP_OBJECT (dialog1, label1, "label1"); GLADE_HOOKUP_OBJECT (dialog1, label2, "label2"); GLADE_HOOKUP_OBJECT (dialog1, label3, "label3"); GLADE_HOOKUP_OBJECT (dialog1, label4, "label4"); GLADE_HOOKUP_OBJECT (dialog1, hbox1, "hbox1"); GLADE_HOOKUP_OBJECT (dialog1, label_sub, "label_sub"); GLADE_HOOKUP_OBJECT (dialog1, button_sub, "button_sub"); GLADE_HOOKUP_OBJECT (dialog1, image1, "image1"); GLADE_HOOKUP_OBJECT (dialog1, hbox2, "hbox2"); GLADE_HOOKUP_OBJECT (dialog1, label_font, "label_font"); GLADE_HOOKUP_OBJECT (dialog1, button_font, "button_font"); GLADE_HOOKUP_OBJECT (dialog1, image2, "image2"); GLADE_HOOKUP_OBJECT (dialog1, optionmenu1, "optionmenu1"); GLADE_HOOKUP_OBJECT (dialog1, menu1, "menu1"); GLADE_HOOKUP_OBJECT (dialog1, enc_ascii, "enc_ascii"); /* GLADE_HOOKUP_OBJECT (dialog1, enc_8859, "enc_8859"); GLADE_HOOKUP_OBJECT (dialog1, ebc_cyrillic, "ebc_cyrillic"); GLADE_HOOKUP_OBJECT (dialog1, enc_german, "enc_german"); */ GLADE_HOOKUP_OBJECT (dialog1, spinbutton_fontsize, "spinbutton_fontsize"); GLADE_HOOKUP_OBJECT (dialog1, label5, "label5"); GLADE_HOOKUP_OBJECT (dialog1, button_color, "button_color"); GLADE_HOOKUP_OBJECT (dialog1, hbox3, "hbox3"); GLADE_HOOKUP_OBJECT (dialog1, drawingarea1, "drawingarea1"); GLADE_HOOKUP_OBJECT (dialog1, vscale1, "vscale1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, cancelbutton1, "cancelbutton1"); GLADE_HOOKUP_OBJECT (dialog1, applybutton1, "applybutton1"); GLADE_HOOKUP_OBJECT (dialog1, okbutton1, "okbutton1"); return dialog1; }
void sndstretch_config(void) { GtkWidget * vbox; GtkWidget * speed_scale, * pitch_scale, * scale_scale; GtkWidget * speed_spin, * pitch_spin, * scale_spin; GtkWidget * speed_hbox, * pitch_hbox, * scale_hbox, * opt_hbox; GtkWidget * speed_frame, * pitch_frame, * scale_frame, * opt_frame; GtkWidget * logohbox; GtkWidget * logobutton; GtkWidget * volume_toggle; GtkWidget * overlap_toggle; if (sndstretch_config_dialog != NULL) return; sndstretch_config_dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_type_hint(GTK_WINDOW(sndstretch_config_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_widget_show(sndstretch_config_dialog); GtkWidget * logo = gtk_image_new_from_pixbuf (gdk_pixbuf_new_from_xpm_data ((const gchar * *) sndstretch_xmms_logo_xpm)); logobutton = gtk_button_new(); gtk_button_set_relief(GTK_BUTTON(logobutton), GTK_RELIEF_NONE); gtk_container_add(GTK_CONTAINER(logobutton), logo); g_signal_connect (logobutton, "clicked", (GCallback) sndstretch_config_logobutton_cb, NULL); gtk_widget_set_can_default (logobutton, TRUE); logohbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0); // to make it rightbound gtk_box_pack_end(GTK_BOX(logohbox), logobutton, FALSE, TRUE, 4); SS.speed_adj = (GtkAdjustment *) gtk_adjustment_new (100 * log (SS.speed) / log (2), -100, 100 + 10, 2, 10, 0); SS.pitch_adj = (GtkAdjustment *) gtk_adjustment_new (120 * log (SS.pitch) / log (2), -120, 120 + 10, 2, 10, 0); SS.scale_adj = (GtkAdjustment *) gtk_adjustment_new (100 * log (SS.scale) / log (2), -100, 100 + 10, 2, 10, 0); volume_toggle = gtk_check_button_new_with_label(_("Volume corr.")); overlap_toggle = gtk_check_button_new_with_label(_("Short Overlap")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(volume_toggle), SS.volume_corr ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(overlap_toggle), SS.short_overlap ); g_signal_connect (SS.speed_adj, "value-changed", (GCallback) speed_change_cb, NULL); g_signal_connect (SS.pitch_adj, "value-changed", (GCallback) pitch_change_cb, NULL); g_signal_connect (SS.scale_adj, "value-changed", (GCallback) scale_change_cb, NULL); g_signal_connect (volume_toggle, "toggled", (GCallback) volume_toggle_cb, NULL); g_signal_connect (overlap_toggle, "toggled", (GCallback) overlap_toggle_cb, NULL); speed_scale = gtk_scale_new(GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT(SS.speed_adj)); pitch_scale = gtk_scale_new(GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT(SS.pitch_adj)); scale_scale = gtk_scale_new(GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT(SS.scale_adj)); gtk_scale_set_draw_value (GTK_SCALE(speed_scale),FALSE); gtk_scale_set_draw_value (GTK_SCALE(pitch_scale),FALSE); gtk_scale_set_draw_value (GTK_SCALE(scale_scale),FALSE); speed_spin = gtk_spin_button_new(GTK_ADJUSTMENT(SS.speed_adj),1.0,2); pitch_spin = gtk_spin_button_new(GTK_ADJUSTMENT(SS.pitch_adj),1.0,2); scale_spin = gtk_spin_button_new(GTK_ADJUSTMENT(SS.scale_adj),1.0,2); gtk_entry_set_max_length (GTK_ENTRY(pitch_spin),7); gtk_entry_set_max_length (GTK_ENTRY(speed_spin),7); gtk_entry_set_max_length (GTK_ENTRY(scale_spin),7); speed_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); pitch_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); scale_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); opt_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); gtk_container_set_border_width(GTK_CONTAINER(speed_hbox), 3); gtk_container_set_border_width(GTK_CONTAINER(pitch_hbox), 3); gtk_container_set_border_width(GTK_CONTAINER(scale_hbox), 3); gtk_container_set_border_width(GTK_CONTAINER(opt_hbox), 3); gtk_box_pack_start(GTK_BOX(speed_hbox), speed_spin, FALSE, TRUE, 5); gtk_box_pack_start(GTK_BOX(speed_hbox), speed_scale, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(pitch_hbox), pitch_spin, FALSE, TRUE, 5); gtk_box_pack_start(GTK_BOX(pitch_hbox), pitch_scale, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(scale_hbox), scale_spin, FALSE, TRUE, 5); gtk_box_pack_start(GTK_BOX(scale_hbox), scale_scale, TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(opt_hbox), volume_toggle, FALSE, TRUE, 5); gtk_box_pack_start(GTK_BOX(opt_hbox), overlap_toggle,TRUE, TRUE, 5); speed_frame = gtk_frame_new(_("Speed")); pitch_frame = gtk_frame_new(_("Pitch")); scale_frame = gtk_frame_new(_("Scale")); opt_frame = gtk_frame_new(_("Options")); gtk_container_add(GTK_CONTAINER(speed_frame), speed_hbox); gtk_container_add(GTK_CONTAINER(pitch_frame), pitch_hbox); gtk_container_add(GTK_CONTAINER(scale_frame), scale_hbox); gtk_container_add(GTK_CONTAINER(opt_frame), opt_hbox); gtk_container_set_border_width(GTK_CONTAINER(speed_frame), 5); gtk_container_set_border_width(GTK_CONTAINER(pitch_frame), 5); gtk_container_set_border_width(GTK_CONTAINER(scale_frame), 5); gtk_container_set_border_width(GTK_CONTAINER(opt_frame), 5); vbox=gtk_box_new(GTK_ORIENTATION_VERTICAL,0); gtk_box_pack_start(GTK_BOX(vbox), pitch_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), speed_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), scale_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), opt_frame, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), logohbox, FALSE, TRUE, 0); g_signal_connect (sndstretch_config_dialog, "destroy", (GCallback) sndstretch_config_destroy_cb, NULL); gtk_window_set_title(GTK_WINDOW(sndstretch_config_dialog), _("SndStretch - Configuration")); gtk_container_add(GTK_CONTAINER(sndstretch_config_dialog), vbox); gtk_widget_grab_default(logobutton); gtk_widget_show_all(sndstretch_config_dialog); }
GtkWidget *a_uibuilder_new_widget ( VikLayerParam *param, VikLayerParamData data ) { // Perform pre conversion if necessary VikLayerParamData vlpd = data; if ( param->convert_to_display ) vlpd = param->convert_to_display ( data ); GtkWidget *rv = NULL; switch ( param->widget_type ) { case VIK_LAYER_WIDGET_COLOR: if ( param->type == VIK_LAYER_PARAM_COLOR ) rv = gtk_color_button_new_with_color ( &(vlpd.c) ); break; case VIK_LAYER_WIDGET_CHECKBUTTON: if ( param->type == VIK_LAYER_PARAM_BOOLEAN ) { //rv = gtk_check_button_new_with_label ( //param->title ); rv = gtk_check_button_new (); if ( vlpd.b ) gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(rv), TRUE ); } break; case VIK_LAYER_WIDGET_COMBOBOX: if ( param->type == VIK_LAYER_PARAM_UINT && param->widget_data ) { /* Build a simple combobox */ gchar **pstr = param->widget_data; rv = vik_combo_box_text_new (); while ( *pstr ) vik_combo_box_text_append ( rv, *(pstr++) ); if ( param->extra_widget_data ) /* map of alternate uint values for options */ { /* Set the effective default value */ int i; for ( i = 0; ((const char **)param->widget_data)[i]; i++ ) if ( ((guint *)param->extra_widget_data)[i] == vlpd.u ) { /* Match default value */ gtk_combo_box_set_active ( GTK_COMBO_BOX(rv), i ); break; } } else gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), vlpd.u ); } else if ( param->type == VIK_LAYER_PARAM_STRING && param->widget_data && !param->extra_widget_data ) { /* Build a combobox with editable text */ gchar **pstr = param->widget_data; #if GTK_CHECK_VERSION (2, 24, 0) rv = gtk_combo_box_text_new_with_entry (); #else rv = gtk_combo_box_entry_new_text (); #endif if ( vlpd.s ) vik_combo_box_text_append ( rv, vlpd.s ); while ( *pstr ) vik_combo_box_text_append ( rv, *(pstr++) ); if ( vlpd.s ) gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 ); } else if ( param->type == VIK_LAYER_PARAM_STRING && param->widget_data && param->extra_widget_data) { /* Build a combobox with fixed selections without editable text */ gchar **pstr = param->widget_data; rv = GTK_WIDGET ( vik_combo_box_text_new () ); while ( *pstr ) vik_combo_box_text_append ( rv, *(pstr++) ); if ( vlpd.s ) { /* Set the effective default value */ /* In case of value does not exist, set the first value */ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 ); int i; for ( i = 0; ((const char **)param->widget_data)[i]; i++ ) if ( strcmp(((const char **)param->extra_widget_data)[i], vlpd.s) == 0 ) { /* Match default value */ gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), i ); break; } } else gtk_combo_box_set_active ( GTK_COMBO_BOX ( rv ), 0 ); } break; case VIK_LAYER_WIDGET_RADIOGROUP: /* widget_data and extra_widget_data are GList */ if ( param->type == VIK_LAYER_PARAM_UINT && param->widget_data ) { rv = vik_radio_group_new ( param->widget_data ); if ( param->extra_widget_data ) /* map of alternate uint values for options */ { int i; int nb_elem = g_list_length(param->widget_data); for ( i = 0; i < nb_elem; i++ ) if ( GPOINTER_TO_UINT ( g_list_nth_data(param->extra_widget_data, i) ) == vlpd.u ) { vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), i ); break; } } else if ( vlpd.u ) /* zero is already default */ vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), vlpd.u ); } break; case VIK_LAYER_WIDGET_RADIOGROUP_STATIC: if ( param->type == VIK_LAYER_PARAM_UINT && param->widget_data ) { rv = vik_radio_group_new_static ( (const gchar **) param->widget_data ); if ( param->extra_widget_data ) /* map of alternate uint values for options */ { int i; for ( i = 0; ((const char **)param->widget_data)[i]; i++ ) if ( ((guint *)param->extra_widget_data)[i] == vlpd.u ) { vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), i ); break; } } else if ( vlpd.u ) /* zero is already default */ vik_radio_group_set_selected ( VIK_RADIO_GROUP(rv), vlpd.u ); } break; case VIK_LAYER_WIDGET_SPINBUTTON: if ( (param->type == VIK_LAYER_PARAM_DOUBLE || param->type == VIK_LAYER_PARAM_UINT || param->type == VIK_LAYER_PARAM_INT) && param->widget_data ) { gdouble init_val = (param->type == VIK_LAYER_PARAM_DOUBLE) ? vlpd.d : (param->type == VIK_LAYER_PARAM_UINT ? vlpd.u : vlpd.i); VikLayerParamScale *scale = (VikLayerParamScale *) param->widget_data; rv = gtk_spin_button_new ( GTK_ADJUSTMENT(gtk_adjustment_new( init_val, scale->min, scale->max, scale->step, scale->step, 0 )), scale->step, scale->digits ); } break; case VIK_LAYER_WIDGET_ENTRY: if ( param->type == VIK_LAYER_PARAM_STRING ) { rv = gtk_entry_new (); if ( vlpd.s ) gtk_entry_set_text ( GTK_ENTRY(rv), vlpd.s ); } break; case VIK_LAYER_WIDGET_PASSWORD: if ( param->type == VIK_LAYER_PARAM_STRING ) { rv = gtk_entry_new (); gtk_entry_set_visibility ( GTK_ENTRY(rv), FALSE ); if ( vlpd.s ) gtk_entry_set_text ( GTK_ENTRY(rv), vlpd.s ); gtk_widget_set_tooltip_text ( GTK_WIDGET(rv), _("Take care that this password will be stored clearly in a plain file.") ); } break; case VIK_LAYER_WIDGET_FILEENTRY: if ( param->type == VIK_LAYER_PARAM_STRING ) { rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_OPEN, GPOINTER_TO_INT(param->widget_data), NULL, NULL); if ( vlpd.s ) vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s ); } break; case VIK_LAYER_WIDGET_FOLDERENTRY: if ( param->type == VIK_LAYER_PARAM_STRING ) { rv = vik_file_entry_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, VF_FILTER_NONE, NULL, NULL); if ( vlpd.s ) vik_file_entry_set_filename ( VIK_FILE_ENTRY(rv), vlpd.s ); } break; case VIK_LAYER_WIDGET_FILELIST: if ( param->type == VIK_LAYER_PARAM_STRING_LIST ) { rv = vik_file_list_new ( _(param->title), NULL ); vik_file_list_set_files ( VIK_FILE_LIST(rv), vlpd.sl ); } break; case VIK_LAYER_WIDGET_HSCALE: if ( (param->type == VIK_LAYER_PARAM_DOUBLE || param->type == VIK_LAYER_PARAM_UINT || param->type == VIK_LAYER_PARAM_INT) && param->widget_data ) { gdouble init_val = (param->type == VIK_LAYER_PARAM_DOUBLE) ? vlpd.d : (param->type == VIK_LAYER_PARAM_UINT ? vlpd.u : vlpd.i); VikLayerParamScale *scale = (VikLayerParamScale *) param->widget_data; rv = gtk_hscale_new_with_range ( scale->min, scale->max, scale->step ); gtk_scale_set_digits ( GTK_SCALE(rv), scale->digits ); gtk_range_set_value ( GTK_RANGE(rv), init_val ); } case VIK_LAYER_WIDGET_BUTTON: if ( param->type == VIK_LAYER_PARAM_PTR && param->widget_data ) { rv = gtk_button_new_with_label ( param->widget_data ); g_signal_connect ( G_OBJECT(rv), "clicked", G_CALLBACK (vlpd.ptr), param->extra_widget_data ); } break; default: break; } if ( rv && !gtk_widget_get_tooltip_text ( rv ) ) { if ( param->tooltip ) gtk_widget_set_tooltip_text ( rv, _(param->tooltip) ); } return rv; }
static void oss_make_config_widgets (oss_driver *d) { GtkWidget *thing, *mainbox, *box2, *box3; static const char *resolutionlabels[] = { "8 bits", "16 bits", NULL }; static const char *channelslabels[] = { "Mono", "Stereo", NULL }; static const char *mixfreqlabels[] = { "8000", "16000", "22050", "44100", NULL }; d->configwidget = mainbox = gtk_vbox_new(FALSE, 2); thing = gtk_label_new(_("These changes won't take effect until you restart playing.")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(mainbox), thing, FALSE, TRUE, 0); thing = gtk_hseparator_new(); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(mainbox), thing, FALSE, TRUE, 0); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Output device (e.g. '/dev/dsp'):")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); thing = gtk_entry_new_with_max_length(126); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); gtk_entry_set_text(GTK_ENTRY(thing), d->p_devdsp); g_signal_connect_after(thing, "changed", G_CALLBACK(oss_devdsp_changed), d); d->prefs_devdsp_w = thing; box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Resolution:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); make_radio_group_full(resolutionlabels, box2, d->prefs_resolution_w, FALSE, TRUE, (void(*)())prefs_resolution_changed, d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Channels:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); make_radio_group_full(channelslabels, box2, d->prefs_channels_w, FALSE, TRUE, (void(*)())prefs_channels_changed, d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Frequency [Hz]:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); make_radio_group_full(mixfreqlabels, box2, d->prefs_mixfreq_w, FALSE, TRUE, (void(*)())prefs_mixfreq_changed, d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Buffer Size:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); box3 = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(box2), box3, FALSE, TRUE, 0); gtk_widget_show(box3); d->bufsizespin_w = thing = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(5.0, 5.0, 15.0, 1.0, 1.0, 0.0)), 0, 0); gtk_box_pack_start(GTK_BOX(box3), thing, FALSE, TRUE, 0); gtk_widget_show(thing); g_signal_connect(thing, "value-changed", G_CALLBACK(prefs_fragsize_changed), d); d->bufsizelabel_w = thing = gtk_label_new(""); gtk_box_pack_start(GTK_BOX(box3), thing, FALSE, TRUE, 0); gtk_widget_show(thing); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); add_empty_hbox(box2); d->estimatelabel_w = thing = gtk_label_new(""); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); gtk_widget_show(thing); add_empty_hbox(box2); prefs_init_from_structure(d); }
int main( int argc, char *argv[] ) { GtkWidget *window; GtkWidget *frame; GtkWidget *hbox; GtkWidget *main_vbox; GtkWidget *vbox; GtkWidget *vbox2; GtkWidget *spinner2; GtkWidget *spinner; GtkWidget *button; GtkWidget *label; GtkWidget *val_label; GtkAdjustment *adj; //初始化 gtk_set_locale(); gtk_init(&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_window_set_title (GTK_WINDOW (window), "Spin Button"); main_vbox = gtk_vbox_new (FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame = gtk_frame_new ("Not accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); //年月日按钮 hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("日:"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (1.0, 1.0, 31.0, 1.0, 5.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_shadow_type (GTK_SPIN_BUTTON (spinner), GTK_SHADOW_OUT); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("月:"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *)gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, 5.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_shadow_type (GTK_SPIN_BUTTON (spinner), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("年:"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (1998.0, 0.0, 2100.0, 1.0, 100.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), FALSE); gtk_spin_button_set_shadow_type (GTK_SPIN_BUTTON (spinner), GTK_SHADOW_IN); gtk_widget_set_usize (spinner, 55, 0); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); frame = gtk_frame_new ("加速的"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("数值 :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0); spinner1 = gtk_spin_button_new (adj, 1.0, 2); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); gtk_widget_set_usize (spinner1, 100, 0); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("数字 :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (2, 1, 5, 1, 1, 0); spinner2 = gtk_spin_button_new (adj, 0.0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner2), TRUE); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (change_digits), (gpointer) spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("设为0.5步长"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_snap), spinner1); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); button = gtk_check_button_new_with_label ("只输入数字模式"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_numeric), spinner1); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); val_label = gtk_label_new (""); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("整数值"); gtk_object_set_user_data (GTK_OBJECT (button), val_label); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (get_value), GINT_TO_POINTER (1)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); button = gtk_button_new_with_label ("小数值"); gtk_object_set_user_data (GTK_OBJECT (button), val_label); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (get_value), GINT_TO_POINTER (2)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); gtk_box_pack_start (GTK_BOX (vbox), val_label, TRUE, TRUE, 0); gtk_label_set_text (GTK_LABEL (val_label), "0"); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("关闭"); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); gtk_widget_show_all (window); gtk_main (); return(0); }
DateWidget::DateWidget(guint32 * seconds_since_epoch, bool showtime) /* By default this dialog shows the calendar only. If showtime is true it shows the time also. */ { // Store and initialize variabeles. my_seconds_since_epoch = seconds_since_epoch; setting_date_time = false; // Shortcuts. Shortcuts shortcuts(0); hbox = gtk_hbox_new(FALSE, 10); gtk_widget_show(hbox); vbox2 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox2); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0); label_date = gtk_label_new(_("Date")); gtk_widget_show(label_date); gtk_box_pack_start(GTK_BOX(vbox2), label_date, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_date), 0, 0.5); shortcuts.label(label_date); calendar1 = gtk_calendar_new(); gtk_widget_show(calendar1); gtk_box_pack_start(GTK_BOX(vbox2), calendar1, TRUE, TRUE, 0); gtk_calendar_display_options(GTK_CALENDAR(calendar1), GtkCalendarDisplayOptions(GTK_CALENDAR_SHOW_HEADING | GTK_CALENDAR_SHOW_DAY_NAMES | GTK_CALENDAR_SHOW_WEEK_NUMBERS)); label_time = NULL; if (showtime) { vseparator1 = gtk_vseparator_new(); gtk_widget_show(vseparator1); gtk_box_pack_start(GTK_BOX(hbox), vseparator1, TRUE, TRUE, 0); vbox1 = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(hbox), vbox1, TRUE, TRUE, 0); label_time = gtk_label_new(_("Time")); gtk_widget_show(label_time); gtk_box_pack_start(GTK_BOX(vbox1), label_time, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_time), 0, 0.5); table1 = gtk_table_new(3, 2, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(vbox1), table1, FALSE, FALSE, 0); gtk_table_set_row_spacings(GTK_TABLE(table1), 8); gtk_table_set_col_spacings(GTK_TABLE(table1), 8); label_hour = gtk_label_new(_("Hour")); gtk_widget_show(label_hour); gtk_table_attach(GTK_TABLE(table1), label_hour, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_hour), 1, 0.5); shortcuts.label(label_hour); label_minute = gtk_label_new(_("Minute")); gtk_widget_show(label_minute); gtk_table_attach(GTK_TABLE(table1), label_minute, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_minute), 1, 0.5); shortcuts.label(label_minute); label_second = gtk_label_new(_("Second")); gtk_widget_show(label_second); gtk_table_attach(GTK_TABLE(table1), label_second, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_second), 1, 0.5); shortcuts.label(label_second); spinbutton_minute_adj = gtk_adjustment_new(0, 0, 59, 1, 10, 0); spinbutton_minute = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_minute_adj), 1, 0); gtk_widget_show(spinbutton_minute); gtk_table_attach(GTK_TABLE(table1), spinbutton_minute, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spinbutton_minute), TRUE); spinbutton_second_adj = gtk_adjustment_new(0, 0, 59, 1, 10, 0); spinbutton_second = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_second_adj), 1, 0); gtk_widget_show(spinbutton_second); gtk_table_attach(GTK_TABLE(table1), spinbutton_second, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spinbutton_second), TRUE); spinbutton_hour_adj = gtk_adjustment_new(0, 0, 23, 1, 10, 0); spinbutton_hour = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_hour_adj), 1, 0); gtk_widget_show(spinbutton_hour); gtk_table_attach(GTK_TABLE(table1), spinbutton_hour, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spinbutton_hour), TRUE); } shortcuts.process(); g_signal_connect ((gpointer) calendar1, "day_selected", G_CALLBACK (on_calendar_changed), gpointer(this)); if (showtime) { g_signal_connect ((gpointer) spinbutton_minute, "changed", G_CALLBACK (on_spinbutton_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_minute, "value_changed", G_CALLBACK (on_spinbutton_value_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_second, "changed", G_CALLBACK (on_spinbutton_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_second, "value_changed", G_CALLBACK (on_spinbutton_value_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_hour, "changed", G_CALLBACK (on_spinbutton_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_hour, "value_changed", G_CALLBACK (on_spinbutton_value_changed), gpointer(this)); } gtk_label_set_mnemonic_widget(GTK_LABEL(label_date), calendar1); if (showtime) { gtk_label_set_mnemonic_widget(GTK_LABEL(label_hour), spinbutton_hour); gtk_label_set_mnemonic_widget(GTK_LABEL(label_minute), spinbutton_minute); gtk_label_set_mnemonic_widget(GTK_LABEL(label_second), spinbutton_second); } // Set the date and optionally the time. set_date (); }
SpinButton::SpinButton(Adjustment adjustment, double climb_rate, std::size_t digits) : SpinButton( GTK_SPIN_BUTTON(gtk_spin_button_new(adjustment, climb_rate, digits))) {}
static void gimp_palette_editor_init (GimpPaletteEditor *editor) { GimpDataEditor *data_editor = GIMP_DATA_EDITOR (editor); GtkWidget *hbox; GtkWidget *label; GtkWidget *spinbutton; editor->zoom_factor = 1.0; editor->col_width = 0; editor->last_width = 0; editor->columns = COLUMNS; data_editor->view = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_size_request (data_editor->view, -1, PREVIEW_HEIGHT); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data_editor->view), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (editor), data_editor->view, TRUE, TRUE, 0); gtk_widget_show (data_editor->view); editor->view = gimp_view_new_full_by_types (NULL, GIMP_TYPE_PALETTE_VIEW, GIMP_TYPE_PALETTE, PREVIEW_WIDTH, PREVIEW_HEIGHT, 0, FALSE, TRUE, FALSE); gimp_view_renderer_palette_set_cell_size (GIMP_VIEW_RENDERER_PALETTE (GIMP_VIEW (editor->view)->renderer), -1); gimp_view_renderer_palette_set_draw_grid (GIMP_VIEW_RENDERER_PALETTE (GIMP_VIEW (editor->view)->renderer), TRUE); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (data_editor->view), editor->view); gtk_widget_show (editor->view); g_signal_connect (gtk_widget_get_parent (editor->view), "size-allocate", G_CALLBACK (palette_editor_viewport_size_allocate), editor); g_signal_connect (editor->view, "entry-clicked", G_CALLBACK (palette_editor_entry_clicked), editor); g_signal_connect (editor->view, "entry-selected", G_CALLBACK (palette_editor_entry_selected), editor); g_signal_connect (editor->view, "entry-activated", G_CALLBACK (palette_editor_entry_activated), editor); g_signal_connect (editor->view, "entry-context", G_CALLBACK (palette_editor_entry_context), editor); g_signal_connect (editor->view, "color-dropped", G_CALLBACK (palette_editor_color_dropped), editor); gimp_dnd_viewable_dest_add (editor->view, GIMP_TYPE_PALETTE, palette_editor_drop_palette, editor); gimp_dnd_viewable_dest_add (gtk_widget_get_parent (editor->view), GIMP_TYPE_PALETTE, palette_editor_drop_palette, editor); gimp_dnd_color_dest_add (gtk_widget_get_parent (editor->view), palette_editor_drop_color, editor); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_box_pack_start (GTK_BOX (editor), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); /* The color name entry */ editor->color_name = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (hbox), editor->color_name, TRUE, TRUE, 0); gtk_entry_set_text (GTK_ENTRY (editor->color_name), _("Undefined")); gtk_editable_set_editable (GTK_EDITABLE (editor->color_name), FALSE); gtk_widget_show (editor->color_name); g_signal_connect (editor->color_name, "changed", G_CALLBACK (palette_editor_color_name_changed), editor); label = gtk_label_new (_("Columns:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); editor->columns_adj = (GtkAdjustment *) gtk_adjustment_new (0, 0, 64, 1, 4, 0); spinbutton = gtk_spin_button_new (editor->columns_adj, 1.0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spinbutton, FALSE, FALSE, 0); gtk_widget_show (spinbutton); g_signal_connect (editor->columns_adj, "value-changed", G_CALLBACK (palette_editor_columns_changed), editor); }
GtkWidget* create_particle_dialog (void) { GtkWidget *particle_dialog; GtkWidget *dialogVbox; GtkWidget *dialogHbox; GtkWidget *allButButtonsHbox; GtkWidget *settingsOuterHbox; GtkWidget *settingsOuterVbox; GtkWidget *minAreaHbox; GtkWidget *minAreaLabel; GtkObject *minAreaSpinButton_adj; GtkWidget *minAreaSpinButton; GtkWidget *maxAreaHbox; GtkWidget *maxAreaLabel; GtkObject *maxAreaSpinButton_adj; GtkWidget *maxAreaSpinButton; GtkWidget *aboveCropSeparator; GtkWidget *leftCropHbox; GtkWidget *leftCropLabel; GtkObject *leftCropSpinButton_adj; GtkWidget *leftCropSpinButton; GtkWidget *rightCropHbox; GtkWidget *rightCropLabel; GtkObject *rightCropSpinButton_adj; GtkWidget *rightCropSpinButton; GtkWidget *topCropHbox; GtkWidget *topCropLabel; GtkObject *topCropSpinButton_adj; GtkWidget *topCropSpinButton; GtkWidget *bottomCropHbox; GtkWidget *bottomCropLabel; GtkObject *bottomCropSpinButton_adj; GtkWidget *bottomCropSpinButton; GtkWidget *belowCropSeparator; GtkWidget *outputFormatHbox; GtkWidget *outputFormatLabel; GtkWidget *outputFormatMenu; GtkWidget *outputFileHbox; GtkWidget *outputFileLabel; GtkWidget *outputFileEntry; GtkWidget *outputFileBrowseButton; GtkWidget *cameraNumberHbox; GtkWidget *cameraNumberLabel; GtkObject *cameraNumberSpinButton_adj; GtkWidget *cameraNumberSpinButton; GtkWidget *debugHbox; GtkWidget *debugLabel; GtkObject *debugSpinButton_adj; GtkWidget *debugSpinButton; GtkWidget *previewVboxOuter; GtkWidget *previewFrame; GtkWidget *previewAlignment; GtkWidget *previewVbox; GtkWidget *previewControlHbox; GtkWidget *previewOutputMenu; GtkWidget *previewSlider; GtkWidget *previewVideo; GtkWidget *previewLabel; GtkWidget *dialogButtonBox; GtkWidget *cancelButton; GtkWidget *okButton; particle_dialog = gtk_dialog_new (); // NO NEED TO "FIX" THAT _("...")!! // see handy macro near top of file. gtk_window_set_title (GTK_WINDOW (particle_dialog), _("Particle Detection")); gtk_window_set_type_hint (GTK_WINDOW (particle_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialogVbox = GTK_DIALOG (particle_dialog)->vbox; gtk_widget_show (dialogVbox); dialogHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (dialogHbox); gtk_box_pack_start (GTK_BOX (dialogVbox), dialogHbox, TRUE, TRUE, 0); allButButtonsHbox = gtk_hbox_new (FALSE, 12); gtk_widget_show (allButButtonsHbox); gtk_box_pack_start (GTK_BOX (dialogHbox), allButButtonsHbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (allButButtonsHbox), 8); settingsOuterHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (settingsOuterHbox); gtk_box_pack_start (GTK_BOX (allButButtonsHbox), settingsOuterHbox, FALSE, TRUE, 0); settingsOuterVbox = gtk_vbox_new (FALSE, 12); gtk_widget_show (settingsOuterVbox); gtk_box_pack_start (GTK_BOX (settingsOuterHbox), settingsOuterVbox, FALSE, TRUE, 0); minAreaHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (minAreaHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), minAreaHbox, FALSE, TRUE, 0); minAreaLabel = gtk_label_new_with_mnemonic (_("Mi_nimum area for a particle to be detected: ")); gtk_widget_show (minAreaLabel); gtk_box_pack_start (GTK_BOX (minAreaHbox), minAreaLabel, FALSE, FALSE, 0); minAreaSpinButton_adj = gtk_adjustment_new (5, 1, 999999, 1, 1, 0); minAreaSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (minAreaSpinButton_adj), 1, 0); gtk_widget_show (minAreaSpinButton); gtk_box_pack_start (GTK_BOX (minAreaHbox), minAreaSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (minAreaSpinButton), TRUE); maxAreaHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (maxAreaHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), maxAreaHbox, FALSE, TRUE, 0); maxAreaLabel = gtk_label_new_with_mnemonic (_("Ma_ximum area for a particle to be detected: ")); gtk_widget_show (maxAreaLabel); gtk_box_pack_start (GTK_BOX (maxAreaHbox), maxAreaLabel, FALSE, FALSE, 0); maxAreaSpinButton_adj = gtk_adjustment_new (50000, 1, 999999, 1, 1, 0); maxAreaSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (maxAreaSpinButton_adj), 1, 0); gtk_widget_show (maxAreaSpinButton); gtk_box_pack_start (GTK_BOX (maxAreaHbox), maxAreaSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (maxAreaSpinButton), TRUE); aboveCropSeparator = gtk_hseparator_new (); gtk_widget_show (aboveCropSeparator); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), aboveCropSeparator, FALSE, TRUE, 0); leftCropHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (leftCropHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), leftCropHbox, FALSE, TRUE, 0); leftCropLabel = gtk_label_new_with_mnemonic (_("_Left side crop (ignore this many pixels on the left): ")); gtk_widget_show (leftCropLabel); gtk_box_pack_start (GTK_BOX (leftCropHbox), leftCropLabel, FALSE, FALSE, 0); leftCropSpinButton_adj = gtk_adjustment_new (0, 0, 2048, 1, 1, 0); leftCropSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (leftCropSpinButton_adj), 1, 0); gtk_widget_show (leftCropSpinButton); gtk_box_pack_start (GTK_BOX (leftCropHbox), leftCropSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (leftCropSpinButton), TRUE); rightCropHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (rightCropHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), rightCropHbox, FALSE, TRUE, 0); rightCropLabel = gtk_label_new_with_mnemonic (_("_Right side crop (ignore this many pixels on the right): ")); gtk_widget_show (rightCropLabel); gtk_box_pack_start (GTK_BOX (rightCropHbox), rightCropLabel, FALSE, FALSE, 0); rightCropSpinButton_adj = gtk_adjustment_new (0, 0, 2048, 1, 1, 0); rightCropSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (rightCropSpinButton_adj), 1, 0); gtk_widget_show (rightCropSpinButton); gtk_box_pack_start (GTK_BOX (rightCropHbox), rightCropSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (rightCropSpinButton), TRUE); topCropHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (topCropHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), topCropHbox, FALSE, TRUE, 0); topCropLabel = gtk_label_new_with_mnemonic (_("_Top crop (ignore this many pixels on the top): ")); gtk_widget_show (topCropLabel); gtk_box_pack_start (GTK_BOX (topCropHbox), topCropLabel, FALSE, FALSE, 0); topCropSpinButton_adj = gtk_adjustment_new (0, 0, 2048, 1, 1, 0); topCropSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (topCropSpinButton_adj), 1, 0); gtk_widget_show (topCropSpinButton); gtk_box_pack_start (GTK_BOX (topCropHbox), topCropSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (topCropSpinButton), TRUE); bottomCropHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (bottomCropHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), bottomCropHbox, FALSE, TRUE, 0); bottomCropLabel = gtk_label_new_with_mnemonic (_("_Bottom crop (ignore this many pixels on the bottom): ")); gtk_widget_show (bottomCropLabel); gtk_box_pack_start (GTK_BOX (bottomCropHbox), bottomCropLabel, FALSE, FALSE, 0); bottomCropSpinButton_adj = gtk_adjustment_new (0, 0, 2048, 1, 1, 0); bottomCropSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (bottomCropSpinButton_adj), 1, 0); gtk_widget_show (bottomCropSpinButton); gtk_box_pack_start (GTK_BOX (bottomCropHbox), bottomCropSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (bottomCropSpinButton), TRUE); belowCropSeparator = gtk_hseparator_new (); gtk_widget_show (belowCropSeparator); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), belowCropSeparator, FALSE, TRUE, 0); outputFormatHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (outputFormatHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), outputFormatHbox, FALSE, TRUE, 0); outputFormatLabel = gtk_label_new_with_mnemonic (_("Output _Format: ")); gtk_widget_show (outputFormatLabel); gtk_box_pack_start (GTK_BOX (outputFormatHbox), outputFormatLabel, FALSE, FALSE, 0); outputFormatMenu = gtk_combo_box_new_text (); gtk_widget_show (outputFormatMenu); gtk_box_pack_start (GTK_BOX (outputFormatHbox), outputFormatMenu, TRUE, TRUE, 0); outputFileHbox = gtk_hbox_new (FALSE, 5); gtk_widget_show (outputFileHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), outputFileHbox, FALSE, TRUE, 0); outputFileLabel = gtk_label_new_with_mnemonic (_("_Output File:")); gtk_widget_show (outputFileLabel); gtk_box_pack_start (GTK_BOX (outputFileHbox), outputFileLabel, FALSE, FALSE, 0); outputFileEntry = gtk_entry_new (); gtk_widget_show (outputFileEntry); gtk_box_pack_start (GTK_BOX (outputFileHbox), outputFileEntry, TRUE, TRUE, 0); gtk_entry_set_invisible_char (GTK_ENTRY (outputFileEntry), 8226); gtk_entry_set_width_chars (GTK_ENTRY (outputFileEntry), 40); outputFileBrowseButton = gtk_button_new_with_mnemonic (_("_Browse...")); gtk_widget_show (outputFileBrowseButton); gtk_box_pack_start (GTK_BOX (outputFileHbox), outputFileBrowseButton, FALSE, FALSE, 0); cameraNumberHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (cameraNumberHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), cameraNumberHbox, FALSE, TRUE, 0); cameraNumberLabel = gtk_label_new_with_mnemonic (_("_Camera Number for output file: ")); gtk_widget_show (cameraNumberLabel); gtk_box_pack_start (GTK_BOX (cameraNumberHbox), cameraNumberLabel, FALSE, FALSE, 0); cameraNumberSpinButton_adj = gtk_adjustment_new (1, 0, 99999, 1, 1, 0); cameraNumberSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (cameraNumberSpinButton_adj), 1, 0); gtk_widget_show (cameraNumberSpinButton); gtk_box_pack_start (GTK_BOX (cameraNumberHbox), cameraNumberSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (cameraNumberSpinButton), TRUE); debugHbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (debugHbox); gtk_box_pack_start (GTK_BOX (settingsOuterVbox), debugHbox, FALSE, TRUE, 0); debugLabel = gtk_label_new_with_mnemonic (_("_Debugging settings (bits): ")); gtk_widget_show (debugLabel); gtk_box_pack_start (GTK_BOX (debugHbox), debugLabel, FALSE, FALSE, 0); debugSpinButton_adj = gtk_adjustment_new (0, 0, 16777215, 1, 10, 0); debugSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (debugSpinButton_adj), 1, 0); gtk_widget_show (debugSpinButton); gtk_box_pack_start (GTK_BOX (debugHbox), debugSpinButton, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (debugSpinButton), TRUE); previewVboxOuter = gtk_vbox_new (FALSE, 0); gtk_widget_show (previewVboxOuter); gtk_box_pack_start (GTK_BOX (allButButtonsHbox), previewVboxOuter, TRUE, TRUE, 0); previewFrame = gtk_frame_new (NULL); gtk_widget_show (previewFrame); gtk_box_pack_start (GTK_BOX (previewVboxOuter), previewFrame, FALSE, TRUE, 0); previewAlignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (previewAlignment); gtk_container_add (GTK_CONTAINER (previewFrame), previewAlignment); gtk_alignment_set_padding (GTK_ALIGNMENT (previewAlignment), 0, 8, 6, 8); previewVbox = gtk_vbox_new (FALSE, 5); gtk_widget_show (previewVbox); gtk_container_add (GTK_CONTAINER (previewAlignment), previewVbox); previewControlHbox = gtk_hbox_new (FALSE, 5); gtk_widget_show (previewControlHbox); gtk_box_pack_start (GTK_BOX (previewVbox), previewControlHbox, TRUE, TRUE, 0); previewOutputMenu = gtk_combo_box_new_text (); gtk_widget_show (previewOutputMenu); gtk_box_pack_start (GTK_BOX (previewControlHbox), previewOutputMenu, FALSE, TRUE, 0); previewSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 99, 1, 1, 0))); gtk_widget_show (previewSlider); gtk_box_pack_start (GTK_BOX (previewControlHbox), previewSlider, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (previewSlider), 0); previewVideo = gtk_drawing_area_new (); gtk_widget_show (previewVideo); gtk_box_pack_start (GTK_BOX (previewVbox), previewVideo, TRUE, TRUE, 0); gtk_widget_set_size_request (previewVideo, 30, 30); gtk_widget_set_events (previewVideo, GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK); previewLabel = gtk_label_new (_("Preview")); gtk_widget_show (previewLabel); gtk_frame_set_label_widget (GTK_FRAME (previewFrame), previewLabel); dialogButtonBox = GTK_DIALOG (particle_dialog)->action_area; gtk_widget_show (dialogButtonBox); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialogButtonBox), GTK_BUTTONBOX_END); cancelButton = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelButton); gtk_dialog_add_action_widget (GTK_DIALOG (particle_dialog), cancelButton, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancelButton, GTK_CAN_DEFAULT); okButton = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okButton); gtk_dialog_add_action_widget (GTK_DIALOG (particle_dialog), okButton, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (okButton, GTK_CAN_DEFAULT); gtk_label_set_mnemonic_widget (GTK_LABEL (minAreaLabel), minAreaSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (maxAreaLabel), maxAreaSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (leftCropLabel), leftCropSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (rightCropLabel), rightCropSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (topCropLabel), topCropSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (bottomCropLabel), bottomCropSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (outputFileLabel), outputFileEntry); gtk_label_set_mnemonic_widget (GTK_LABEL (cameraNumberLabel), cameraNumberSpinButton); gtk_label_set_mnemonic_widget (GTK_LABEL (debugLabel), debugSpinButton); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (particle_dialog, particle_dialog, "particle_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (particle_dialog, dialogVbox, "dialogVbox"); GLADE_HOOKUP_OBJECT (particle_dialog, dialogHbox, "dialogHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, allButButtonsHbox, "allButButtonsHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, settingsOuterHbox, "settingsOuterHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, settingsOuterVbox, "settingsOuterVbox"); GLADE_HOOKUP_OBJECT (particle_dialog, minAreaHbox, "minAreaHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, minAreaLabel, "minAreaLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, minAreaSpinButton, "minAreaSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, maxAreaHbox, "maxAreaHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, maxAreaLabel, "maxAreaLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, maxAreaSpinButton, "maxAreaSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, aboveCropSeparator, "aboveCropSeparator"); GLADE_HOOKUP_OBJECT (particle_dialog, leftCropHbox, "leftCropHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, leftCropLabel, "leftCropLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, leftCropSpinButton, "leftCropSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, rightCropHbox, "rightCropHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, rightCropLabel, "rightCropLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, rightCropSpinButton, "rightCropSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, topCropHbox, "topCropHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, topCropLabel, "topCropLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, topCropSpinButton, "topCropSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, bottomCropHbox, "bottomCropHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, bottomCropLabel, "bottomCropLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, bottomCropSpinButton, "bottomCropSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, belowCropSeparator, "belowCropSeparator"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFormatHbox, "outputFormatHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFormatLabel, "outputFormatLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFormatMenu, "outputFormatMenu"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFileHbox, "outputFileHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFileLabel, "outputFileLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFileEntry, "outputFileEntry"); GLADE_HOOKUP_OBJECT (particle_dialog, outputFileBrowseButton, "outputFileBrowseButton"); GLADE_HOOKUP_OBJECT (particle_dialog, cameraNumberHbox, "cameraNumberHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, cameraNumberLabel, "cameraNumberLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, cameraNumberSpinButton, "cameraNumberSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, debugHbox, "debugHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, debugLabel, "debugLabel"); GLADE_HOOKUP_OBJECT (particle_dialog, debugSpinButton, "debugSpinButton"); GLADE_HOOKUP_OBJECT (particle_dialog, previewVboxOuter, "previewVboxOuter"); GLADE_HOOKUP_OBJECT (particle_dialog, previewFrame, "previewFrame"); GLADE_HOOKUP_OBJECT (particle_dialog, previewAlignment, "previewAlignment"); GLADE_HOOKUP_OBJECT (particle_dialog, previewVbox, "previewVbox"); GLADE_HOOKUP_OBJECT (particle_dialog, previewControlHbox, "previewControlHbox"); GLADE_HOOKUP_OBJECT (particle_dialog, previewOutputMenu, "previewOutputMenu"); GLADE_HOOKUP_OBJECT (particle_dialog, previewSlider, "previewSlider"); GLADE_HOOKUP_OBJECT (particle_dialog, previewVideo, "previewVideo"); GLADE_HOOKUP_OBJECT (particle_dialog, previewLabel, "previewLabel"); GLADE_HOOKUP_OBJECT_NO_REF (particle_dialog, dialogButtonBox, "dialogButtonBox"); GLADE_HOOKUP_OBJECT (particle_dialog, cancelButton, "cancelButton"); GLADE_HOOKUP_OBJECT (particle_dialog, okButton, "okButton"); return particle_dialog; }
gint register_action() { GtkWidget *window; GtkWidget *label; GtkWidget *entry_nickname, *entry_password, *entry_password2; GtkWidget *button, *button_male, *button_female; GtkWidget *spinner_year, *spinner_month, *spinner_day; GtkWidget *table; GSList *group; GtkAdjustment *adj; GtkWidget *image; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "注册"); g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (close_current_window), window); gtk_container_set_border_width (GTK_CONTAINER (window), 20); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); table = gtk_table_new (8, 17, TRUE); gtk_table_set_row_spacing(GTK_TABLE (table), 0, 5 ); gtk_table_set_row_spacing(GTK_TABLE (table), 1, 5 ); gtk_table_set_row_spacing(GTK_TABLE (table), 2, 5 ); gtk_table_set_row_spacing(GTK_TABLE (table), 3, 5 ); gtk_container_add (GTK_CONTAINER (window), table); image = gtk_image_new(); gtk_image_set_from_file(GTK_IMAGE(image),"aaa.png"); gtk_table_attach_defaults (GTK_TABLE (table), image, 0, 4, 0, 10); label = gtk_label_new ("昵称:"); gtk_table_attach_defaults (GTK_TABLE (table), label, 4, 7, 0, 1); gtk_misc_set_alignment(GTK_MISC (label), 1, 0.5); gtk_widget_show (label); label = gtk_label_new ("密码:"); gtk_table_attach_defaults (GTK_TABLE (table), label, 4, 7, 1, 2); gtk_misc_set_alignment(GTK_MISC (label), 1, 0.5); gtk_widget_show (label); label = gtk_label_new ("确认密码:"); gtk_table_attach_defaults (GTK_TABLE (table), label, 4, 7, 2, 3); gtk_misc_set_alignment(GTK_MISC (label), 1, 0.5); gtk_widget_show (label); label = gtk_label_new ("性别:"); gtk_table_attach_defaults (GTK_TABLE (table), label, 4, 7, 3, 4); gtk_misc_set_alignment(GTK_MISC (label), 1, 0.5); gtk_widget_show (label); label = gtk_label_new ("生日:"); gtk_table_attach_defaults (GTK_TABLE (table), label, 4, 7, 4, 5); gtk_misc_set_alignment(GTK_MISC (label), 1, 0.5); gtk_widget_show (label); entry_nickname = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (entry_nickname), 20); g_signal_connect (G_OBJECT (entry_nickname), "activate",G_CALLBACK (enter_nickname), entry_nickname); gtk_entry_set_text (GTK_ENTRY (entry_nickname), ""); gtk_editable_select_region (GTK_EDITABLE (entry_nickname),0, GTK_ENTRY (entry_nickname)->text_length); gtk_table_attach_defaults (GTK_TABLE (table), entry_nickname, 7,13, 0, 1); gtk_widget_show (entry_nickname); entry_password = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (entry_password), 50); gtk_entry_set_text (GTK_ENTRY (entry_password), ""); gtk_editable_select_region (GTK_EDITABLE (entry_password),0, GTK_ENTRY (entry_password)->text_length); gtk_entry_set_visibility (GTK_ENTRY (entry_password),FALSE);// 是否***输出 gtk_table_attach_defaults (GTK_TABLE (table), entry_password, 7,13, 1, 2); gtk_widget_show (entry_password); entry_password2 = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (entry_password2), 50); gtk_entry_set_text (GTK_ENTRY (entry_password2), ""); gtk_editable_select_region (GTK_EDITABLE (entry_password2),0, GTK_ENTRY (entry_password2)->text_length); gtk_entry_set_visibility (GTK_ENTRY (entry_password2),FALSE);// 是否***输出 gtk_table_attach_defaults (GTK_TABLE (table), entry_password2, 7,13, 2, 3); gtk_widget_show (entry_password2); button_male = gtk_radio_button_new_with_label (NULL, "男"); gtk_table_attach_defaults (GTK_TABLE (table), button_male, 7,10, 3, 4); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button_male), TRUE); gtk_widget_show (button_male); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button_male)); button_female = gtk_radio_button_new_with_label (group, "女"); gtk_table_attach_defaults (GTK_TABLE (table), button_female,10,13, 3, 4); gtk_widget_show (button_female); label = gtk_label_new ("日:"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label,11,13, 4, 5); adj = (GtkAdjustment *) gtk_adjustment_new (1.0, 1.0, 31.0, 1.0, 5.0, 0.0); spinner_day = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON (spinner_day), TRUE ); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner_day), TRUE); gtk_table_attach_defaults (GTK_TABLE (table), spinner_day,11,13, 5, 6); label = gtk_label_new ("月:"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 9,11, 4, 5); adj = (GtkAdjustment *) gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, 5.0, 0.0); spinner_month = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON (spinner_month), TRUE ); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner_month), TRUE); gtk_table_attach_defaults (GTK_TABLE (table), spinner_month, 9,11, 5, 6); label = gtk_label_new ("年:"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 7, 9, 4, 5); adj = (GtkAdjustment *) gtk_adjustment_new (1950.0, 0.0, 2012.0, 1.0, 100.0, 0.0); spinner_year = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON (spinner_year), TRUE ); gtk_spin_button_set_value(GTK_SPIN_BUTTON (spinner_year), 1993.0 ); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner_year), FALSE); gtk_table_attach_defaults (GTK_TABLE (table), spinner_year, 7, 9, 5, 6); gtk_widget_set_size_request (spinner_year, 55, -1); button = gtk_button_new_with_label ("立即注册"); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (toggle_button_callback),GTK_TOGGLE_BUTTON(button_male)); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (return_year), spinner_year); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (return_month), spinner_month); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (return_day), spinner_day); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (enter_nickname), entry_nickname); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (enter_password), entry_password); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (enter_password2), entry_password2); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (checkpassword), table); //g_signal_connect_swapped (G_OBJECT (button), "clicked", //G_CALLBACK (delete_event), window); gtk_table_attach_defaults (GTK_TABLE (table), button, 7,13, 7, 9); gtk_widget_show_all (window); gtk_main (); //if ( nickname != '\0' && password != '\0' ) //{ struct reg *send_info; send_info=(struct reg *)malloc(sizeof(struct reg)); set_register(send_info); printf("%d\n",send_info->photo); send_reg(send_info, "10.3.2.126"); rec_reg(send_info); if (send_info->id != 0) { printf("%d\n",send_info->id); GtkWidget *window2; GtkWidget *table2; GtkWidget *button2; GtkWidget *label2; gchar* id_char; id_char=malloc(sizeof(char)*20); sprintf(id_char, "%d", send_info->id); window2= gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window2),GTK_WIN_POS_CENTER); table2 = gtk_table_new (6, 4, TRUE); gtk_container_add (GTK_CONTAINER (window2), table2); gtk_widget_show(table2); label2 = gtk_label_new ("你的帐号是:"); gtk_table_attach_defaults (GTK_TABLE (table2), label2, 1, 3, 1, 2); gtk_misc_set_alignment(GTK_MISC (label2), 1, 0.5); gtk_widget_show (label2); label2 = gtk_label_new (id_char); gtk_table_attach_defaults (GTK_TABLE (table2), label2, 1, 3, 2, 3); gtk_label_set_selectable(GTK_LABEL(label2), TRUE); gtk_misc_set_alignment(GTK_MISC (label2), 0.5, 0.5); gtk_widget_show (label2); button2 = gtk_button_new_with_label ("立即登录"); gtk_table_attach_defaults (GTK_TABLE (table2), button2, 1, 3, 3, 4); g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (close_current_window), window2); g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (close_current_window), window); gtk_widget_show (button2); gtk_widget_show (window2); gtk_main (); } else { GtkWidget *window3; GtkWidget *table3; GtkWidget *button3; GtkWidget *label3; window3= gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window3),GTK_WIN_POS_CENTER); table3 = gtk_table_new (6, 4, TRUE); gtk_container_add (GTK_CONTAINER (window3), table3); gtk_widget_show(table3); label3 = gtk_label_new ("注册失败"); gtk_table_attach_defaults (GTK_TABLE (table3), label3, 1, 3, 1,3 ); gtk_misc_set_alignment(GTK_MISC (label3), 0.5, 0.5); gtk_widget_show (label3); button3 = gtk_button_new_with_label ("重新注册"); gtk_table_attach_defaults (GTK_TABLE (table3), button3, 1, 3, 3, 4); g_signal_connect (G_OBJECT (button3), "clicked", G_CALLBACK (close_current_window), window3); g_signal_connect (G_OBJECT (button3), "clicked", G_CALLBACK (close_current_window), window); gtk_widget_show (button3); gtk_widget_show (window3); gtk_main (); //} } /* else { gtk_main_quit(); } */ return 0; }
static void spamassassin_create_widget_func(PrefsPage * _page, GtkWindow * window, gpointer data) { struct SpamAssassinPage *page = (struct SpamAssassinPage *) _page; SpamAssassinConfig *config; guint i, active; GtkWidget *vbox1, *vbox2; GtkWidget *frame_transport, *table_transport, *vbox_transport; GtkWidget *hbox_spamd, *hbox_max_size, *hbox_timeout; GtkWidget *hbox_process_emails, *hbox_save_spam; GtkWidget *hbox_mark_as_read, *hbox_whitelist; GtkWidget *whitelist_ab_checkbtn; GtkWidget *whitelist_ab_folder_combo; GtkWidget *whitelist_ab_select_btn; GtkWidget *enable_sa_checkbtn; GtkWidget *transport_label; GtkWidget *transport_optmenu; GtkWidget *user_label; GtkWidget *user_entry; GtkWidget *spamd_label; GtkWidget *spamd_hostname_entry; GtkWidget *spamd_colon_label; GtkAdjustment *spamd_port_spinbtn_adj; GtkWidget *spamd_port_spinbtn; GtkWidget *spamd_socket_entry; GtkWidget *max_size_label; GtkAdjustment *max_size_spinbtn_adj; GtkWidget *max_size_spinbtn; GtkWidget *max_size_kb_label; GtkWidget *timeout_label; GtkAdjustment *timeout_spinbtn_adj; GtkWidget *timeout_spinbtn; GtkWidget *timeout_seconds_label; GtkWidget *process_emails_checkbtn; GtkWidget *save_spam_checkbtn; GtkWidget *save_spam_folder_entry; GtkWidget *save_spam_folder_select; GtkWidget *mark_as_read_checkbtn; GtkListStore *store; GtkCellRenderer *renderer; GtkTreeIter iter; vbox1 = gtk_vbox_new (FALSE, VSPACING); gtk_widget_show (vbox1); gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER); vbox2 = gtk_vbox_new (FALSE, 4); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, FALSE, 0); enable_sa_checkbtn = gtk_check_button_new_with_label(_("Enable SpamAssassin plugin")); gtk_widget_show(enable_sa_checkbtn); gtk_box_pack_start(GTK_BOX(vbox2), enable_sa_checkbtn, TRUE, TRUE, 0); vbox_transport = gtkut_get_options_frame(vbox2, &frame_transport, _("Transport")); table_transport = gtk_table_new (3, 3, FALSE); gtk_widget_show (table_transport); gtk_box_pack_start(GTK_BOX(vbox_transport), table_transport, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table_transport), 4); gtk_table_set_col_spacings (GTK_TABLE (table_transport), 8); transport_label = gtk_label_new(_("Type of transport")); gtk_widget_show(transport_label); gtk_table_attach (GTK_TABLE (table_transport), transport_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify(GTK_LABEL(transport_label), GTK_JUSTIFY_RIGHT); gtk_misc_set_alignment(GTK_MISC(transport_label), 1, 0.5); store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_POINTER); transport_optmenu = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(transport_optmenu), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(transport_optmenu), renderer, "text", 0, NULL); gtk_widget_show(transport_optmenu); gtk_table_attach (GTK_TABLE (table_transport), transport_optmenu, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); user_label = gtk_label_new(_("User")); gtk_widget_show(user_label); gtk_table_attach (GTK_TABLE (table_transport), user_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify(GTK_LABEL(user_label), GTK_JUSTIFY_RIGHT); gtk_misc_set_alignment(GTK_MISC(user_label), 1, 0.5); user_entry = gtk_entry_new(); gtk_widget_show(user_entry); gtk_table_attach (GTK_TABLE (table_transport), user_entry, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); CLAWS_SET_TIP(user_entry, _("User to use with spamd server")); spamd_label = gtk_label_new(_("spamd")); gtk_widget_show(spamd_label); gtk_table_attach (GTK_TABLE (table_transport), spamd_label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify(GTK_LABEL(spamd_label), GTK_JUSTIFY_RIGHT); gtk_misc_set_alignment(GTK_MISC(spamd_label), 1, 0.5); hbox_spamd = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_spamd); gtk_table_attach (GTK_TABLE (table_transport), hbox_spamd, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); spamd_hostname_entry = gtk_entry_new(); gtk_widget_show(spamd_hostname_entry); gtk_box_pack_start(GTK_BOX(hbox_spamd), spamd_hostname_entry, TRUE, TRUE, 0); CLAWS_SET_TIP(spamd_hostname_entry, _("Hostname or IP address of spamd server")); spamd_colon_label = gtk_label_new(":"); gtk_widget_show(spamd_colon_label); gtk_box_pack_start(GTK_BOX(hbox_spamd), spamd_colon_label, FALSE, FALSE, 0); spamd_port_spinbtn_adj = GTK_ADJUSTMENT(gtk_adjustment_new(783, 1, 65535, 1, 10, 0)); spamd_port_spinbtn = gtk_spin_button_new(GTK_ADJUSTMENT(spamd_port_spinbtn_adj), 1, 0); gtk_widget_show(spamd_port_spinbtn); gtk_box_pack_start(GTK_BOX(hbox_spamd), spamd_port_spinbtn, FALSE, FALSE, 0); CLAWS_SET_TIP(spamd_port_spinbtn, _("Port of spamd server")); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spamd_port_spinbtn), TRUE); spamd_socket_entry = gtk_entry_new(); gtk_widget_show(spamd_socket_entry); gtk_box_pack_start(GTK_BOX(hbox_spamd), spamd_socket_entry, TRUE, TRUE, 0); CLAWS_SET_TIP(spamd_socket_entry, _("Path of Unix socket")); hbox_max_size = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_max_size); gtk_box_pack_start (GTK_BOX (vbox2), hbox_max_size, TRUE, TRUE, 0); max_size_label = gtk_label_new(_("Maximum size")); gtk_widget_show(max_size_label); gtk_box_pack_start(GTK_BOX(hbox_max_size), max_size_label, FALSE, FALSE, 0); max_size_spinbtn_adj = GTK_ADJUSTMENT(gtk_adjustment_new(250, 0, 10000, 10, 10, 0)); max_size_spinbtn = gtk_spin_button_new(GTK_ADJUSTMENT(max_size_spinbtn_adj), 1, 0); gtk_widget_show(max_size_spinbtn); gtk_box_pack_start(GTK_BOX(hbox_max_size), max_size_spinbtn, FALSE, FALSE, 0); CLAWS_SET_TIP(max_size_spinbtn, _("Messages larger than this will not be checked")); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(max_size_spinbtn), TRUE); max_size_kb_label = gtk_label_new(_("KB")); gtk_widget_show(max_size_kb_label); gtk_box_pack_start(GTK_BOX(hbox_max_size), max_size_kb_label, FALSE, FALSE, 0); hbox_timeout = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_timeout); gtk_box_pack_start (GTK_BOX (vbox2), hbox_timeout, TRUE, TRUE, 0); timeout_label = gtk_label_new(_("Timeout")); gtk_widget_show(timeout_label); gtk_box_pack_start(GTK_BOX(hbox_timeout), timeout_label, FALSE, FALSE, 0); timeout_spinbtn_adj = GTK_ADJUSTMENT(gtk_adjustment_new(60, 0, 10000, 10, 10, 0)); timeout_spinbtn = gtk_spin_button_new(GTK_ADJUSTMENT(timeout_spinbtn_adj), 1, 0); gtk_widget_show(timeout_spinbtn); gtk_box_pack_start(GTK_BOX(hbox_timeout), timeout_spinbtn, FALSE, FALSE, 0); CLAWS_SET_TIP(timeout_spinbtn, _("Maximum time allowed for checking. If the check takes longer " "it will be aborted.")); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(timeout_spinbtn), TRUE); timeout_seconds_label = gtk_label_new(_("seconds")); gtk_widget_show(timeout_seconds_label); gtk_box_pack_start(GTK_BOX(hbox_timeout), timeout_seconds_label, FALSE, FALSE, 0); hbox_process_emails = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_process_emails); gtk_box_pack_start (GTK_BOX (vbox2), hbox_process_emails, TRUE, TRUE, 0); process_emails_checkbtn = gtk_check_button_new_with_label( _("Process messages on receiving")); gtk_widget_show(process_emails_checkbtn); gtk_box_pack_start(GTK_BOX(hbox_process_emails), process_emails_checkbtn, TRUE, TRUE, 0); hbox_save_spam = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_save_spam); gtk_box_pack_start (GTK_BOX (vbox2), hbox_save_spam, TRUE, TRUE, 0); save_spam_checkbtn = gtk_check_button_new_with_label(_("Save spam in")); gtk_widget_show(save_spam_checkbtn); gtk_box_pack_start(GTK_BOX(hbox_save_spam), save_spam_checkbtn, FALSE, FALSE, 0); save_spam_folder_entry = gtk_entry_new(); gtk_widget_show (save_spam_folder_entry); gtk_box_pack_start (GTK_BOX (hbox_save_spam), save_spam_folder_entry, TRUE, TRUE, 0); CLAWS_SET_TIP(save_spam_folder_entry, _("Folder for storing identified spam. Leave empty to use the trash folder.")); save_spam_folder_select = gtkut_get_browse_directory_btn(_("_Browse")); gtk_widget_show (save_spam_folder_select); gtk_box_pack_start (GTK_BOX (hbox_save_spam), save_spam_folder_select, FALSE, FALSE, 0); CLAWS_SET_TIP(save_spam_folder_select, _("Click this button to select a folder for storing spam")); hbox_mark_as_read = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_mark_as_read); gtk_box_pack_start (GTK_BOX (vbox2), hbox_mark_as_read, TRUE, TRUE, 0); mark_as_read_checkbtn = gtk_check_button_new_with_label( _("Mark spam as read")); gtk_widget_show(mark_as_read_checkbtn); gtk_box_pack_start(GTK_BOX(hbox_mark_as_read), mark_as_read_checkbtn, TRUE, TRUE, 0); hbox_whitelist = gtk_hbox_new(FALSE, 8); gtk_widget_show(hbox_whitelist); gtk_box_pack_start (GTK_BOX (vbox2), hbox_whitelist, TRUE, TRUE, 0); whitelist_ab_checkbtn = gtk_check_button_new_with_label(_("Whitelist senders found in address book/folder")); gtk_widget_show(whitelist_ab_checkbtn); gtk_box_pack_start(GTK_BOX(hbox_whitelist), whitelist_ab_checkbtn, FALSE, FALSE, 0); CLAWS_SET_TIP(whitelist_ab_checkbtn, _("Messages coming from your address book contacts will be received in the normal folder even if detected as spam")); whitelist_ab_folder_combo = combobox_text_new(TRUE, _("Any"), NULL); gtk_widget_set_size_request(whitelist_ab_folder_combo, 100, -1); gtk_box_pack_start (GTK_BOX (hbox_whitelist), whitelist_ab_folder_combo, TRUE, TRUE, 0); whitelist_ab_select_btn = gtk_button_new_with_label(_("Select...")); gtk_widget_show (whitelist_ab_select_btn); gtk_box_pack_start (GTK_BOX (hbox_whitelist), whitelist_ab_select_btn, FALSE, FALSE, 0); CLAWS_SET_TIP(whitelist_ab_select_btn, _("Click this button to select a book or folder in the address book")); SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, frame_transport); SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_max_size); SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_timeout); SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_save_spam); SET_TOGGLE_SENSITIVITY(save_spam_checkbtn, save_spam_folder_entry); SET_TOGGLE_SENSITIVITY(save_spam_checkbtn, save_spam_folder_select); SET_TOGGLE_SENSITIVITY(enable_sa_checkbtn, hbox_process_emails); SET_TOGGLE_SENSITIVITY(save_spam_checkbtn, mark_as_read_checkbtn); SET_TOGGLE_SENSITIVITY(whitelist_ab_checkbtn, whitelist_ab_folder_combo); #ifndef USE_NEW_ADDRBOOK SET_TOGGLE_SENSITIVITY(whitelist_ab_checkbtn, whitelist_ab_select_btn); #endif config = spamassassin_get_config(); g_signal_connect(G_OBJECT(save_spam_folder_select), "clicked", G_CALLBACK(foldersel_cb), page); #ifndef USE_NEW_ADDRBOOK g_signal_connect(G_OBJECT (whitelist_ab_select_btn), "clicked", G_CALLBACK(spamassassin_whitelist_ab_select_cb), page); #else gtk_widget_set_sensitive(GTK_WIDGET(whitelist_ab_select_btn), FALSE); #endif gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enable_sa_checkbtn), config->enable); if (config->username != NULL) gtk_entry_set_text(GTK_ENTRY(user_entry), config->username); if (config->hostname != NULL) gtk_entry_set_text(GTK_ENTRY(spamd_hostname_entry), config->hostname); if (config->socket != NULL) gtk_entry_set_text(GTK_ENTRY(spamd_socket_entry), config->socket); if (config->whitelist_ab_folder != NULL) { /* translate "Any" (stored UNtranslated) */ if (strcasecmp(config->whitelist_ab_folder, "Any") == 0) gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))), config->whitelist_ab_folder); else /* backward compatibility (when translated "Any" was stored) */ if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))), config->whitelist_ab_folder); else gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))), config->whitelist_ab_folder); } gtk_spin_button_set_value(GTK_SPIN_BUTTON(spamd_port_spinbtn), (float) config->port); gtk_spin_button_set_value(GTK_SPIN_BUTTON(max_size_spinbtn), (float) config->max_size); gtk_spin_button_set_value(GTK_SPIN_BUTTON(timeout_spinbtn), (float) config->timeout); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(process_emails_checkbtn), config->process_emails); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(save_spam_checkbtn), config->receive_spam); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(whitelist_ab_checkbtn), config->whitelist_ab); if (config->save_folder != NULL) gtk_entry_set_text(GTK_ENTRY(save_spam_folder_entry), config->save_folder); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mark_as_read_checkbtn), config->mark_as_read); page->enable_sa_checkbtn = enable_sa_checkbtn; page->transport_label = transport_label; page->transport_optmenu = transport_optmenu; page->username = user_entry; page->hostname = spamd_hostname_entry; page->colon = spamd_colon_label; page->port = spamd_port_spinbtn; page->socket = spamd_socket_entry; page->max_size = max_size_spinbtn; page->timeout = timeout_spinbtn; page->process_emails = process_emails_checkbtn; page->receive_spam = save_spam_checkbtn; page->save_folder = save_spam_folder_entry; page->save_folder_select = save_spam_folder_select; page->mark_as_read = mark_as_read_checkbtn; page->whitelist_ab = whitelist_ab_checkbtn; page->whitelist_ab_folder_combo = whitelist_ab_folder_combo; active = 0; for (i = 0; i < (sizeof(transports) / sizeof(struct Transport)); i++) { gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, gettext(transports[i].name), 1, &transports[i], -1); if (config->transport == transports[i].transport) { show_transport(page, &transports[i]); active = i; } else if (config->transport == SPAMASSASSIN_DISABLED && transports[i].transport == SPAMASSASSIN_TRANSPORT_LOCALHOST) { show_transport(page, &transports[i]); active = i; /* and disable via new way */ config->enable = FALSE; gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(enable_sa_checkbtn), config->enable); } } gtk_combo_box_set_active(GTK_COMBO_BOX(transport_optmenu), active); g_signal_connect(G_OBJECT(transport_optmenu), "changed", G_CALLBACK(transport_sel_cb), page); page->page.widget = vbox1; }
static void dt_time_edit_window(GtkWidget *button, cbdata *cbd) { GtkWidget *hbox = cbd->hbox; GtkWidget *inputbox = dt_time_retrieve_inputbox(hbox); GtkWidget *editwindow, *main_vbox, *calendar, *w; GtkWidget *hbox2, *button2; GtkAdjustment *adj; char titlebuffer[1024]; /* FIXME: fixed buffer length */ struct tm tm; int y, m, d, offset; int ofs_h, ofs_m, ofs_sign; time_t t; struct tm *l; gchar *content; #if ! defined(HAVE_TM_GMTOFF) && defined(HAVE_TIMEZONE) extern long timezone; #endif time(&t); l = localtime(&t); /* implicitly calls tzset() for us */ y = l->tm_year + 1900; m = l->tm_mon + 1; d = l->tm_mday; #ifdef HAVE_TM_GMTOFF ofs_sign = l->TM_GMTOFF < 0 ? 1 : -1; ofs_m = (l->TM_GMTOFF > 0 ? l->TM_GMTOFF : -l->TM_GMTOFF) / 60; ofs_h = ofs_m / 60; ofs_m = ofs_m % 60; #else /* HAVE_TM_GMTOFF */ # ifdef HAVE_TIMEZONE ofs_sign = timezone > 0 ? 1 : -1; ofs_m = (timezone > 0 ? timezone : -timezone) / 60; ofs_h = ofs_m / 60; ofs_m = ofs_m % 60; /* extern long timezone does not take DST into account */ if (l->tm_isdst) { ofs_h++; } # else /* HAVE_TIMEZONE */ ofs_h = ofs_m = 0; # endif /* HAVE_TIMEZONE */ #endif /* HAVE_TM_GMTOFF */ /* NOTE: generalizedTime includes offset relative to GMT while the timezone variable hold seconds west of GMT */ offset = -ofs_sign * (100 * ofs_h + ofs_m); #ifdef GTK_WINDOW_DIALOG editwindow = gtk_window_new(GTK_WINDOW_DIALOG); #else editwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); #endif cbd->editwindow = editwindow; g_snprintf(titlebuffer, sizeof(titlebuffer), _("%s: choose date and time"), cbd->form->attrname); gtk_window_set_title(GTK_WINDOW(editwindow), titlebuffer); gtk_window_set_policy(GTK_WINDOW(editwindow), TRUE, TRUE, FALSE); main_vbox = gtk_vbox_new(FALSE, 0); gtk_container_border_width(GTK_CONTAINER(main_vbox), 5); gtk_widget_show(main_vbox); gtk_container_add(GTK_CONTAINER(editwindow), main_vbox); calendar = gtk_calendar_new(); gtk_box_pack_start(GTK_BOX(main_vbox), calendar, TRUE, TRUE, 0); gtk_widget_show(calendar); gtk_object_set_data(GTK_OBJECT(editwindow), "calendar", calendar); content = gtk_editable_get_chars(GTK_EDITABLE(inputbox), 0, -1); if (content) { int n = parse_time(content, &tm, &offset); /* printf("n=%d\n", n); */ if (n >= 1) y = tm.tm_year + 1900; if (n >= 2) m = tm.tm_mon + 1; if (n >= 3) d = tm.tm_mday; g_free(content); } gtk_calendar_select_month(GTK_CALENDAR(calendar), m - 1, y); gtk_calendar_select_day(GTK_CALENDAR(calendar), d); hbox2 = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(main_vbox), hbox2, TRUE, TRUE, 5); gtk_widget_show(hbox2); w = gtk_label_new(_("Time [hh:mm:ss]")); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, TRUE, 0); gtk_widget_show(w); w = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 23.0, 1.0, 1.0, 1.0)), 1.0, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), tm.tm_hour); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, FALSE, 10); gtk_widget_show(w); gtk_object_set_data(GTK_OBJECT(editwindow), "hour", w); w = gtk_label_new(_(":")); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, TRUE, 0); gtk_widget_show(w); w = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 59.0, 1.0, 1.0, 1.0)), 1.0, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), tm.tm_min); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, FALSE, 10); gtk_widget_show(w); gtk_object_set_data(GTK_OBJECT(editwindow), "minute", w); w = gtk_label_new(_(":")); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, TRUE, 0); gtk_widget_show(w); w = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 59.0, 1.0, 1.0, 1.0)), 1.0, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), tm.tm_sec); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, FALSE, 10); gtk_widget_show(w); gtk_object_set_data(GTK_OBJECT(editwindow), "second", w); hbox2 = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(main_vbox), hbox2, TRUE, TRUE, 0); gtk_widget_show(hbox2); w = gtk_label_new(_("Timezone (Offset) [+-hhmm]")); gtk_box_pack_start(GTK_BOX(hbox2), w, FALSE, TRUE, 0); gtk_widget_show(w); adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, -1259.0, 1259.0, 100.0, 100.0, 100.0)); w = gtk_spin_button_new(adj, 100.0, 0); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(w), FALSE); gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), offset); g_signal_connect(adj, "value-changed", G_CALLBACK(tz_value_changed_callback), w); gtk_box_pack_start(GTK_BOX(hbox2), w, TRUE, TRUE, 10); gtk_widget_show(w); gtk_object_set_data(GTK_OBJECT(editwindow), "timezone", w); hbox2 = gtk_hbutton_box_new(); gtk_box_pack_start(GTK_BOX(main_vbox), hbox2, FALSE, TRUE, 5); gtk_widget_show(hbox2); button2 = gtk_button_new_from_stock(GTK_STOCK_OK); gtk_widget_show(button2); g_signal_connect(button2, "clicked", G_CALLBACK(dt_time_ok_callback), cbd); gtk_box_pack_start(GTK_BOX(hbox2), button2, FALSE, TRUE, 0); GTK_WIDGET_SET_FLAGS(button2, GTK_CAN_DEFAULT); gtk_widget_grab_default(button2); button2 = gtk_button_new_from_stock(GTK_STOCK_CANCEL); gtk_box_pack_end(GTK_BOX(hbox2), button2, FALSE, TRUE, 0); g_signal_connect_swapped(button2, "clicked", G_CALLBACK(gtk_widget_destroy), editwindow); gtk_widget_show(button2); gtk_widget_show(editwindow); }
void rssyl_gtk_prop(RFolderItem *ritem) { MainWindow *mainwin = mainwindow_get_mainwindow(); RFeedProp *feedprop; GtkWidget *vbox, *urllabel, *urlframe, *urlalign, *table, *label, *inner_vbox, *auth_hbox, *auth_user_label, *auth_pass_label, *hsep, *sep, *bbox, *cancel_button, *cancel_align, *cancel_hbox, *cancel_image, *cancel_label, *ok_button, *ok_align, *ok_hbox, *ok_image, *ok_label, *trim_button, *silent_update_label; GtkObject *adj; gint refresh; gint row = 0; g_return_if_fail(ritem != NULL); feedprop = g_new0(RFeedProp, 1); /**** Create required widgets ****/ /* Window */ feedprop->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* URL entry */ feedprop->url = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(feedprop->url), ritem->url); /* URL auth type combo */ #if !GTK_CHECK_VERSION(2, 24, 0) feedprop->auth_type = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(feedprop->auth_type), #else feedprop->auth_type = gtk_combo_box_text_new(); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(feedprop->auth_type), #endif _("No authentication")); #if !GTK_CHECK_VERSION(2, 24, 0) gtk_combo_box_append_text(GTK_COMBO_BOX(feedprop->auth_type), #else gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(feedprop->auth_type), #endif _("HTTP Basic authentication")); gtk_combo_box_set_active(GTK_COMBO_BOX(feedprop->auth_type), ritem->auth->type); /* Auth username */ feedprop->auth_username = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(feedprop->auth_username), ritem->auth->username); /* Auth password */ feedprop->auth_password = gtk_entry_new(); gtk_entry_set_visibility(GTK_ENTRY(feedprop->auth_password), FALSE); gtk_entry_set_text(GTK_ENTRY(feedprop->auth_password), ritem->auth->password); /* "Use default refresh interval" checkbutton */ feedprop->default_refresh_interval = gtk_check_button_new_with_mnemonic( _("Use default refresh interval")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(feedprop->default_refresh_interval), ritem->default_refresh_interval); if( ritem->refresh_interval >= 0 && !ritem->default_refresh_interval ) refresh = ritem->refresh_interval; else refresh = rssyl_prefs_get()->refresh; /* "Keep old items" checkbutton */ feedprop->keep_old = gtk_check_button_new_with_mnemonic( _("Keep old items")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(feedprop->keep_old), ritem->keep_old); /* "Trim" button */ trim_button = gtk_button_new_with_mnemonic(_("_Trim")); gtk_widget_set_tooltip_text(trim_button, _("Update feed, deleting items which are no longer in the source feed")); feedprop->fetch_comments = gtk_check_button_new_with_mnemonic( _("Fetch comments if possible")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(feedprop->fetch_comments), ritem->fetch_comments); /* Fetch comments max age spinbutton */ adj = gtk_adjustment_new(ritem->fetch_comments_max_age, -1, 100000, 1, 10, 0); feedprop->fetch_comments_max_age = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); /* Refresh interval spinbutton */ adj = gtk_adjustment_new(refresh, 0, 100000, 10, 100, 0); feedprop->refresh_interval = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); /* Silent update - combobox */ #if !GTK_CHECK_VERSION(2, 24, 0) feedprop->silent_update = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(feedprop->silent_update), #else feedprop->silent_update = gtk_combo_box_text_new(); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(feedprop->silent_update), #endif _("Always mark as new")); #if !GTK_CHECK_VERSION(2, 24, 0) gtk_combo_box_append_text(GTK_COMBO_BOX(feedprop->silent_update), #else gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(feedprop->silent_update), #endif _("If only its text changed")); #if !GTK_CHECK_VERSION(2, 24, 0) gtk_combo_box_append_text(GTK_COMBO_BOX(feedprop->silent_update), #else gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(feedprop->silent_update), #endif _("Never mark as new")); gtk_combo_box_set_active(GTK_COMBO_BOX(feedprop->silent_update), ritem->silent_update); feedprop->write_heading = gtk_check_button_new_with_mnemonic( _("Add item title to top of message")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(feedprop->write_heading), ritem->write_heading); /* Ignore title rename - checkbox */ feedprop->ignore_title_rename = gtk_check_button_new_with_mnemonic( _("Ignore title rename")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(feedprop->ignore_title_rename), ritem->ignore_title_rename); gtk_widget_set_tooltip_text(feedprop->ignore_title_rename, _("Enable this to keep current folder name, even if feed author changes title of the feed.")); /* Verify SSL peer certificate */ feedprop->ssl_verify_peer = gtk_check_button_new_with_label( _("Verify SSL certificate validity")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(feedprop->ssl_verify_peer), ritem->ssl_verify_peer); /* === Now pack all the widgets */ vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(feedprop->window), vbox); /* URL frame */ urlframe = gtk_frame_new(NULL); gtk_container_set_border_width(GTK_CONTAINER(urlframe), 5); gtk_frame_set_label_align(GTK_FRAME(urlframe), 0.05, 0.5); gtk_frame_set_shadow_type(GTK_FRAME(urlframe), GTK_SHADOW_ETCHED_OUT); gtk_box_pack_start(GTK_BOX(vbox), urlframe, FALSE, FALSE, 0); /* Label for URL frame */ urllabel = gtk_label_new(_("<b>Source URL:</b>")); gtk_label_set_use_markup(GTK_LABEL(urllabel), TRUE); gtk_misc_set_padding(GTK_MISC(urllabel), 5, 0); gtk_frame_set_label_widget(GTK_FRAME(urlframe), urllabel); /* URL entry (+ alignment in frame) */ urlalign = gtk_alignment_new(0, 0.5, 1, 1); gtk_alignment_set_padding(GTK_ALIGNMENT(urlalign), 5, 5, 5, 5); gtk_container_add(GTK_CONTAINER(urlframe), urlalign); inner_vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(inner_vbox), feedprop->url, FALSE, FALSE, 0); gtk_entry_set_activates_default(GTK_ENTRY(feedprop->url), TRUE); gtk_container_add(GTK_CONTAINER(urlalign), inner_vbox); /* Auth combo + user (label + entry) + pass (label + entry) */ auth_hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(auth_hbox), feedprop->auth_type, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(feedprop->auth_type), "changed", G_CALLBACK(rssyl_feedprop_auth_type_changed_cb), (gpointer) feedprop); g_signal_emit_by_name(G_OBJECT(feedprop->auth_type), "changed"); auth_user_label = gtk_label_new(_("User name")); gtk_box_pack_start(GTK_BOX(auth_hbox), auth_user_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(auth_hbox), feedprop->auth_username, FALSE, FALSE, 0); auth_pass_label = gtk_label_new(_("Password")); gtk_box_pack_start(GTK_BOX(auth_hbox), auth_pass_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(auth_hbox), feedprop->auth_password, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(inner_vbox), auth_hbox, FALSE, FALSE, 0); /* Table for remaining properties */ table = gtk_table_new(11, 2, FALSE); gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); /* Fetch comments - checkbutton */ gtk_table_attach(GTK_TABLE(table), feedprop->fetch_comments, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 0); g_signal_connect(G_OBJECT(feedprop->fetch_comments), "toggled", G_CALLBACK(rssyl_feedprop_togglebutton_toggled_cb), (gpointer)feedprop); row++; /* Fetch comments max age - label */ label = gtk_label_new(_("<b>Fetch comments on posts aged less than:</b>\n" "<small>(In days; set to -1 to fetch all comments)</small>")); gtk_label_set_use_markup(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); /* Fetch comments max age - spinbutton */ gtk_widget_set_sensitive(feedprop->fetch_comments_max_age, ritem->fetch_comments); gtk_table_attach(GTK_TABLE(table), feedprop->fetch_comments_max_age, 1, 2, row, row+1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 10, 5); row++; /* Separator below comments max age */ hsep = gtk_hseparator_new(); gtk_widget_set_size_request(hsep, -1, 10); gtk_table_attach(GTK_TABLE(table), hsep, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); row++; /* Keep old items - checkbutton */ gtk_table_attach(GTK_TABLE(table), feedprop->keep_old, 0, 1, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 0); /* 'Trim' - button */ gtk_table_attach(GTK_TABLE(table), trim_button, 1, 2, row, row+1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 10, 0); g_signal_connect(G_OBJECT(trim_button), "clicked", G_CALLBACK(rssyl_props_trim_cb), ritem); row++; hsep = gtk_hseparator_new(); gtk_widget_set_size_request(hsep, -1, 10); gtk_table_attach(GTK_TABLE(table), hsep, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); row++; /* Use default refresh interval - checkbutton */ gtk_table_attach(GTK_TABLE(table), feedprop->default_refresh_interval, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 0); g_signal_connect(G_OBJECT(feedprop->default_refresh_interval), "toggled", G_CALLBACK(rssyl_feedprop_togglebutton_toggled_cb), (gpointer)feedprop); row++; /* Refresh interval - label */ label = gtk_label_new(_("<b>Refresh interval in minutes:</b>\n" "<small>(Set to 0 to disable automatic refreshing for this feed)" "</small>")); gtk_label_set_use_markup(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); /* Refresh interval - spinbutton */ gtk_widget_set_sensitive(feedprop->refresh_interval, !ritem->default_refresh_interval); gtk_table_attach(GTK_TABLE(table), feedprop->refresh_interval, 1, 2, row, row+1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 10, 5); row++; hsep = gtk_hseparator_new(); gtk_widget_set_size_request(hsep, -1, 10); gtk_table_attach(GTK_TABLE(table), hsep, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); row++; /* Silent update - label */ silent_update_label = gtk_label_new(_("<b>If an item changes, do not mark it as new:</b>")); gtk_label_set_use_markup(GTK_LABEL(silent_update_label), TRUE); gtk_misc_set_alignment(GTK_MISC(silent_update_label), 0, 0.5); gtk_table_attach(GTK_TABLE(table), silent_update_label, 0, 1, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); gtk_table_attach(GTK_TABLE(table), feedprop->silent_update, 1, 2, row, row+1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 10, 5); row++; hsep = gtk_hseparator_new(); gtk_widget_set_size_request(hsep, -1, 10); gtk_table_attach(GTK_TABLE(table), hsep, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 5); row++; /* Write heading - checkbox */ gtk_table_attach(GTK_TABLE(table), feedprop->write_heading, 0, 2, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 0); row++; /* Ignore title rename - checkbutton */ gtk_table_attach(GTK_TABLE(table), feedprop->ignore_title_rename, 0, 1, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 0); row++; /* Verify SSL peer certificate - checkbutton */ gtk_table_attach(GTK_TABLE(table), feedprop->ssl_verify_peer, 0, 1, row, row+1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 10, 0); row++; /* Separator above the button box */ sep = gtk_hseparator_new(); gtk_widget_set_size_request(sep, -1, 10); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); /* Buttonbox */ bbox = gtk_hbutton_box_new(); gtk_container_set_border_width(GTK_CONTAINER(bbox), 5); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); gtk_box_set_spacing(GTK_BOX(bbox), 5); gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); /* Cancel button */ cancel_button = gtk_button_new(); gtk_container_add(GTK_CONTAINER(bbox), cancel_button); cancel_align = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_container_add(GTK_CONTAINER(cancel_button), cancel_align); cancel_hbox = gtk_hbox_new(FALSE, 2); gtk_container_add(GTK_CONTAINER(cancel_align), cancel_hbox); cancel_image = gtk_image_new_from_stock(GTK_STOCK_CANCEL, GTK_ICON_SIZE_BUTTON); gtk_box_pack_start(GTK_BOX(cancel_hbox), cancel_image, FALSE, FALSE, 0); cancel_label = gtk_label_new_with_mnemonic(_("_Cancel")); gtk_box_pack_end(GTK_BOX(cancel_hbox), cancel_label, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(cancel_button), "clicked", G_CALLBACK(rssyl_props_cancel_cb), ritem); /* OK button */ ok_button = gtk_button_new(); gtk_container_add(GTK_CONTAINER(bbox), ok_button); GTK_WIDGET_SET_FLAGS(ok_button, GTK_CAN_DEFAULT ); ok_align = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_container_add(GTK_CONTAINER(ok_button), ok_align); ok_hbox = gtk_hbox_new(FALSE, 2); gtk_container_add(GTK_CONTAINER(ok_align), ok_hbox); ok_image = gtk_image_new_from_stock(GTK_STOCK_OK, GTK_ICON_SIZE_BUTTON); gtk_box_pack_start(GTK_BOX(ok_hbox), ok_image, FALSE, FALSE, 0); ok_label = gtk_label_new_with_mnemonic(_("_OK")); gtk_box_pack_end(GTK_BOX(ok_hbox), ok_label, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(ok_button), "clicked", G_CALLBACK(rssyl_props_ok_cb), ritem); /* Set some misc. stuff */ gtk_window_set_title(GTK_WINDOW(feedprop->window), g_strdup(_("Set feed properties")) ); gtk_window_set_modal(GTK_WINDOW(feedprop->window), TRUE); gtk_window_set_transient_for(GTK_WINDOW(feedprop->window), GTK_WINDOW(mainwin->window) ); /* Attach callbacks to handle Enter and Escape keys */ g_signal_connect(G_OBJECT(feedprop->window), "key_press_event", G_CALLBACK(rssyl_props_key_press_cb), ritem); /* ...and voila! */ gtk_widget_show_all(feedprop->window); gtk_widget_grab_default(ok_button); /* Unselect the text in URL entry */ gtk_editable_select_region(GTK_EDITABLE(feedprop->url), 0, 0); ritem->feedprop = feedprop; }
GtkWidget * yank_app_new(EYank *yank) { yank_preferences *prefs; static GtkTargetEntry drop_types[] = { { "text/uri-list", 0, 1 }, }; static gint n_drop_types = sizeof (drop_types)/sizeof (drop_types [0]); gchar *treetitle[] = { _("NoteTree"), NULL }; gchar *todotitles[] = { _("Deadline"), _("Priority"), _("Complete"), _("Title"), NULL }; GtkWidget *app; GtkWidget *scrolledwindow1; GtkWidget *scrolledwindow2; GtkWidget *scrolledwindow3; GtkWidget *hbox; GtkWidget *hbox3; GtkWidget *vbox; GtkWidget *label; GdkFont *font; GtkObject *prio_adjust; /* gint got_crash; */ GtkWidget *b_toggle_ext_flags; GtkWidget *hbox_ext_flags; GtkWidget *hpaned; hpaned = app = yank->priv->hpaned; yank_main_app(app); sp->edit_tree = NULL; sp->title_entry =NULL; sp->todo_check =NULL; sp->prio_entry =NULL; sp->de_deadline =NULL; sp->ad_complete =NULL; sp->tlabel_created =NULL; sp->tlabel_changed =NULL; sp->label_changes =NULL; sp->tlabel_expire =NULL; sp->note_id_entry =NULL; sp->text_entry =NULL; sp->note_tree =NULL; sp->b_ok =NULL; sp->b_apply =NULL; sp->b_cancel =NULL; sp->todolist =NULL; sp->notebook =NULL; sp->status =NULL; sp->prio_date_box =NULL; sp->edit_tree=NULL; yank_root_win(GTK_WINDOW(app)); /* * main tree */ scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* gtk_widget_show will be called later */ /* gtk_container_add(GTK_CONTAINER(hpaned), scrolledwindow1); */ e_paned_add1(E_PANED(hpaned), scrolledwindow1); sp->note_tree = gtk_ctree_new_with_titles(1, 0, treetitle); gtk_widget_show(sp->note_tree); gtk_container_add(GTK_CONTAINER(scrolledwindow1), sp->note_tree); gtk_clist_set_column_width(GTK_CLIST(sp->note_tree), 0, 80); gtk_clist_set_column_auto_resize(GTK_CLIST(sp->note_tree), 0, TRUE); gtk_clist_set_row_height(GTK_CLIST(sp->note_tree), 19); gtk_clist_set_selection_mode(GTK_CLIST(sp->note_tree), GTK_SELECTION_EXTENDED); gtk_clist_set_reorderable(GTK_CLIST(sp->note_tree), TRUE); gtk_clist_set_use_drag_icons(GTK_CLIST(sp->note_tree), TRUE); gtk_clist_column_titles_show(GTK_CLIST(sp->note_tree)); gtk_signal_connect(GTK_OBJECT(sp->note_tree), "tree_select_row", GTK_SIGNAL_FUNC (note_tree_row_selected), NULL); gtk_signal_connect(GTK_OBJECT(sp->note_tree), "tree_unselect_row", GTK_SIGNAL_FUNC (note_tree_row_unselected), NULL); gtk_signal_connect(GTK_OBJECT(sp->note_tree), "click_column", GTK_SIGNAL_FUNC (cb_note_tree_col_selected), NULL); gtk_signal_connect(GTK_OBJECT(sp->note_tree), "drag_data_received", GTK_SIGNAL_FUNC(cb_note_tree_reordered), NULL); /* * FIXME: * dnd on the note-tree disables reordering of notes by dnd */ /* gtk_signal_connect(GTK_OBJECT(sp->note_tree), "drag_data_received", */ /* GTK_SIGNAL_FUNC(cb_note_tree_drop), NULL); */ /* gtk_drag_dest_set(sp->note_tree, GTK_DEST_DEFAULT_MOTION | */ /* GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, */ /* drop_types, n_drop_types, GDK_ACTION_COPY); */ sp->notebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(sp->notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(sp->notebook), FALSE); gtk_widget_show(sp->notebook); /* gtk_container_add(GTK_CONTAINER(hpaned), sp->notebook); */ e_paned_add2(E_PANED(hpaned), sp->notebook); /* * todo-list */ scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show(scrolledwindow2); gtk_container_add(GTK_CONTAINER(sp->notebook), scrolledwindow2); sp->todolist = gtk_clist_new_with_titles(4, todotitles); gtk_signal_connect(GTK_OBJECT(sp->todolist), "select_row", GTK_SIGNAL_FUNC (cb_todo_row_selected), NULL); gtk_signal_connect(GTK_OBJECT(sp->todolist), "click_column", GTK_SIGNAL_FUNC (cb_todo_col_selected), NULL); gtk_signal_connect(GTK_OBJECT(sp->todolist), "drag_data_received", GTK_SIGNAL_FUNC(cb_todo_list_drop), NULL); gtk_drag_dest_set(sp->todolist, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, drop_types, n_drop_types, GDK_ACTION_COPY); gtk_widget_show(sp->todolist); gtk_container_add(GTK_CONTAINER(scrolledwindow2), sp->todolist); gtk_clist_column_titles_show(GTK_CLIST(sp->todolist)); gtk_clist_set_column_auto_resize(GTK_CLIST(sp->todolist), 0 , TRUE); gtk_clist_set_column_auto_resize(GTK_CLIST(sp->todolist), 3 , TRUE); gtk_clist_set_column_justification(GTK_CLIST(sp->todolist), 1, GTK_JUSTIFY_RIGHT); gtk_clist_set_column_justification(GTK_CLIST(sp->todolist), 2, GTK_JUSTIFY_RIGHT); /* * text/ data */ vbox = gtk_vbox_new(FALSE, 3); gtk_widget_show(vbox); gtk_container_add(GTK_CONTAINER (sp->notebook), vbox); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3); sp->prio_date_box = gtk_vbox_new(FALSE, 3); gtk_widget_show(sp->prio_date_box); gtk_box_pack_start(GTK_BOX(vbox), sp->prio_date_box, FALSE, FALSE, 0); hbox_ext_flags = gui_ext_flags(); gtk_box_pack_start(GTK_BOX(vbox), hbox_ext_flags, FALSE, FALSE, 3); label = gtk_label_new(_("Title:")); font = gtk_widget_get_style(label)->font; gtk_widget_set_usize(label, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); sp->title_entry = gtk_entry_new(); gtk_widget_set_usize(sp->title_entry, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(sp->title_entry); gtk_box_pack_start(GTK_BOX(hbox), sp->title_entry, TRUE, TRUE, 5); sp->todo_check = gtk_check_button_new_with_label(_("Done")); gtk_widget_set_usize(sp->todo_check, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(sp->todo_check); gtk_box_pack_start(GTK_BOX(hbox), sp->todo_check, FALSE, FALSE, 5); /* * button for extra flags& data */ b_toggle_ext_flags = gtk_button_new(); { GtkWidget *p_up; GtkWidget *p_down; GtkWidget *box; box = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(b_toggle_ext_flags), box); gtk_widget_show(box); p_up = gnome_stock_pixmap_widget_at_size( GTK_WIDGET(yank_root_win(NULL)), GNOME_STOCK_BUTTON_UP, 12, 14); p_down = gnome_stock_pixmap_widget_at_size( GTK_WIDGET(yank_root_win(NULL)), GNOME_STOCK_BUTTON_DOWN, 12, 14); gtk_widget_hide(p_up); gtk_widget_show(p_down); gtk_container_add(GTK_CONTAINER(box), p_up); gtk_container_add(GTK_CONTAINER(box), p_down); gtk_object_set_data(GTK_OBJECT(b_toggle_ext_flags), "up", p_up); gtk_object_set_data(GTK_OBJECT(b_toggle_ext_flags), "down", p_down); } gtk_widget_show(b_toggle_ext_flags); gtk_box_pack_start(GTK_BOX(hbox), b_toggle_ext_flags, FALSE, FALSE, 5); gtk_signal_connect(GTK_OBJECT(b_toggle_ext_flags), "clicked", GTK_SIGNAL_FUNC(cb_toggle_ext_flags), hbox_ext_flags); /* * deadline/ prio/ complete */ { GtkWidget *prio_hbox1; GtkWidget *prio_hbox2; GtkWidget *sc_complete; prio_hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_show(prio_hbox1); gtk_box_pack_start(GTK_BOX(sp->prio_date_box), prio_hbox1, FALSE, FALSE, 0); prio_hbox2 = gtk_hbox_new(FALSE, 0); gtk_widget_show(prio_hbox2); gtk_box_pack_start(GTK_BOX(sp->prio_date_box), prio_hbox2, FALSE, FALSE, 0); label = gtk_label_new(_("Deadline:")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(prio_hbox1), label, FALSE, FALSE, 5); sp->de_deadline = gnome_date_edit_new(0, 1, 1); gnome_date_edit_set_popup_range(GNOME_DATE_EDIT(sp->de_deadline), 0, 23); gtk_widget_set_sensitive(GNOME_DATE_EDIT(sp->de_deadline)->date_entry, FALSE); gtk_widget_set_sensitive(GNOME_DATE_EDIT(sp->de_deadline)->time_entry, FALSE); gtk_widget_show(sp->de_deadline); gtk_box_pack_start(GTK_BOX(prio_hbox1), sp->de_deadline, FALSE, FALSE, 0); label = gtk_label_new(_("Priority:")); gtk_widget_set_usize(label, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(prio_hbox1), label, FALSE, FALSE, 5); prio_adjust = gtk_adjustment_new(0, 0, 9999, 1, 10, 10); sp->prio_entry = gtk_spin_button_new(GTK_ADJUSTMENT(prio_adjust), 1, 0); /* NOTE: this is note 100% ok */ gtk_widget_set_usize(GTK_WIDGET(sp->prio_entry), gdk_string_width(font, "999999") + 10, gdk_string_height(font, "W") + 10); gtk_widget_show(sp->prio_entry); gtk_box_pack_start(GTK_BOX(prio_hbox1), sp->prio_entry, FALSE, FALSE, 0); label = gtk_label_new(_("Complete:")); gtk_widget_set_usize(label, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(prio_hbox2), label, FALSE, FALSE, 5); sp->ad_complete = gtk_adjustment_new(0, 0, 101, 1, 1, 1); sc_complete = gtk_hscale_new(GTK_ADJUSTMENT(sp->ad_complete)); gtk_scale_set_digits(GTK_SCALE(sc_complete), 0); gtk_scale_set_value_pos(GTK_SCALE(sc_complete), GTK_POS_LEFT); gtk_widget_show(sc_complete); gtk_box_pack_start(GTK_BOX(prio_hbox2), sc_complete, TRUE, TRUE, 5); label = gtk_label_new(_("%")); gtk_widget_set_usize(label, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(prio_hbox2), label, FALSE, FALSE, 5); } /* * additional note data */ sp->note_id_entry = gtk_entry_new(); /* gtk_widget_show(sp->note_id_entry); */ gtk_widget_hide(sp->note_id_entry); gtk_box_pack_start(GTK_BOX(hbox), sp->note_id_entry, FALSE, FALSE, 5); /* * note text */ scrolledwindow3 = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show(scrolledwindow3); gtk_box_pack_start(GTK_BOX(vbox), scrolledwindow3, TRUE, TRUE, 0); sp->text_entry = gtk_text_new(NULL, NULL); gtk_text_set_editable(GTK_TEXT(sp->text_entry), TRUE); gtk_widget_show(sp->text_entry); gtk_container_add(GTK_CONTAINER(scrolledwindow3), sp->text_entry); /* text dnd */ gtk_signal_connect(GTK_OBJECT(sp->text_entry), "drag_data_received", GTK_SIGNAL_FUNC(cb_text_entry_drop), NULL); gtk_drag_dest_set(sp->text_entry, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, drop_types, n_drop_types, GDK_ACTION_COPY); hbox3 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox3); gtk_box_pack_start(GTK_BOX(vbox), hbox3, FALSE, FALSE, 3); sp->b_ok = gnome_stock_button(GNOME_STOCK_BUTTON_OK); gtk_widget_show(sp->b_ok); gtk_box_pack_start(GTK_BOX(hbox3), sp->b_ok, TRUE, FALSE, 5); gtk_signal_connect(GTK_OBJECT(sp->b_ok), "clicked", GTK_SIGNAL_FUNC(cb_b_ok), NULL); sp->b_apply = gnome_stock_button(GNOME_STOCK_BUTTON_APPLY); gtk_widget_show(sp->b_apply); gtk_box_pack_start(GTK_BOX(hbox3), sp->b_apply, TRUE, FALSE, 5); gtk_signal_connect(GTK_OBJECT(sp->b_apply), "clicked", GTK_SIGNAL_FUNC(cb_b_apply), NULL); sp->b_cancel = gnome_stock_button(GNOME_STOCK_BUTTON_CANCEL); gtk_widget_show(sp->b_cancel); gtk_box_pack_start(GTK_BOX(hbox3), sp->b_cancel, TRUE, FALSE, 5); gtk_signal_connect(GTK_OBJECT(sp->b_cancel), "clicked", GTK_SIGNAL_FUNC(cb_b_cancel), NULL); /* * a bit suboptimal */ gtk_signal_connect(GTK_OBJECT(sp->title_entry), "changed", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->de_deadline), "date-changed", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->de_deadline), "time-changed", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->tlabel_expire), "time_changed", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->prio_entry), "changed", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->ad_complete), "value_changed", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->ad_complete), "value_changed", GTK_SIGNAL_FUNC(cb_complete_updates_done), sp->todo_check); gtk_signal_connect(GTK_OBJECT(sp->todo_check), "toggled", GTK_SIGNAL_FUNC(note_changed), NULL); gtk_signal_connect(GTK_OBJECT(sp->text_entry), "changed", GTK_SIGNAL_FUNC(note_changed), NULL); /* * keyboard-control */ gtk_signal_connect(GTK_OBJECT(sp->title_entry), "activate", GTK_SIGNAL_FUNC(cb_finished_note), NULL); gtk_signal_connect(GTK_OBJECT(sp->text_entry), "activate", GTK_SIGNAL_FUNC(cb_finished_note), NULL); /* * create pixmaps */ pix_text_xpm = gnome_pixmap_new_from_xpm_d(text_xpm); gtk_widget_show(pix_text_xpm); pix_box_xpm = gnome_pixmap_new_from_xpm_d(box_xpm); gtk_widget_show(pix_box_xpm); pix_box2_xpm = gnome_pixmap_new_from_xpm_d(box2_xpm); gtk_widget_show(pix_box2_xpm); pix_circle_xpm = gnome_pixmap_new_from_xpm_d(circle_xpm); gtk_widget_show(pix_circle_xpm); pix_circle2_xpm = gnome_pixmap_new_from_xpm_d(circle2_xpm); gtk_widget_show(pix_circle2_xpm); /* * menus */ /* gnome_app_set_contents(GNOME_APP(app), hpaned); */ /* sp->status = gnome_appbar_new(FALSE, TRUE, GNOME_PREFERENCES_USER); */ /* gnome_app_set_statusbar(GNOME_APP(app), sp->status); */ /* yank_install_menus_and_toolbar(app); */ yank_tree_item_context_menu(sp->note_tree); yank_todo_item_context_menu(sp->todolist); yank_text_item_context_menu(sp->title_entry); yank_text_item_context_menu(sp->text_entry); /* gtk_signal_connect(GTK_OBJECT(app), "delete_event", */ /* GTK_SIGNAL_FUNC(cb_delete_event), NULL); */ /* * initialize preferences * also preloads plugins */ load_preferences(); prefs = get_preferences(); gtk_text_set_word_wrap(GTK_TEXT(sp->text_entry), prefs->wordwrap); gtk_text_set_line_wrap(GTK_TEXT(sp->text_entry), prefs->linewrap); /* if (prefs->yank_width * prefs->yank_height) */ /* { */ /* gtk_window_set_default_size(GTK_WINDOW(app), prefs->yank_width, */ /* prefs->yank_height); */ /* } */ /* else */ /* { */ /* gtk_window_set_default_size(GTK_WINDOW(app), 600, 400); */ /* } */ if (prefs->use_custom_font) { if (prefs->note_font) { set_note_font_str(prefs->note_font); } if (prefs->note_tree_font) { set_note_tree_font_str(prefs->note_tree_font); } if (prefs->todolist_font) { set_todolist_font_str(prefs->todolist_font); } } else { set_default_font(); } /* * parse geometry if given */ /* if (geometry != NULL) */ /* { */ /* gint x, y, w, h; */ /* if (gnome_parse_geometry(geometry, &x, &y, &w, &h )) */ /* { */ /* if (x != -1) */ /* { */ /* gtk_widget_set_uposition(app, x, y); */ /* } */ /* */ /* if (w != -1) */ /* { */ /* gtk_window_set_default_size(GTK_WINDOW(app), w, h); */ /* } */ /* } */ /* else */ /* { */ /* g_error(_("Could not parse geometry string `%s'"), geometry); */ /* } */ /* } */ /* */ /* if (prefs->note_tree_width) */ /* { */ /* gtk_widget_set_usize(scrolledwindow1, prefs->note_tree_width, -1); */ /* } */ /* else */ /* { */ /* gtk_widget_set_usize(scrolledwindow1, 200, -1); */ /* } */ /* gtk_widget_show(scrolledwindow1); */ /* * try to read files from killed sessions */ /* got_crash = get_crash_file(); */ /* * load file from the command-line */ /* if (file != NULL && ! got_crash) */ /* { */ /* load_notes_from_cli((gchar *)file, GTK_CTREE(sp->note_tree), NULL); */ /* } */ /* * read default file */ /* if (file == NULL && ! got_crash) */ /* { */ /* get_def_file(); */ /* } */ /* * register some signal-handlers */ /* if (signal(SIGTERM, handle_sigterm) == SIG_ERR) */ /* { */ /* g_warning("Can't handle SIGTERM"); */ /* } */ /* if (signal(SIGCHLD, handle_sigchild) == SIG_ERR) */ /* { */ /* g_warning("Can't handle SIGCHILD"); */ /* } */ /* if (signal(SIGPIPE, handle_sigpipe) == SIG_ERR) */ /* { */ /* g_warning("Can't handle SIGPIPE"); */ /* } */ /* * init autosave */ /* if (prefs->auto_save_minutes) */ /* { */ /* autosave_notes(NULL); */ /* } */ return (hpaned); }
void SurfaceDlg::BuildDialog() { GtkWidget *dlg, *vbox, *hbox2, *frame, *table, *label; GtkWidget *button, *entry, *spin; dlg = m_pWidget; load_window_pos( dlg, g_PrefsDlg.mWindowInfo.posSurfaceWnd ); gtk_window_set_title( GTK_WINDOW( dlg ), _( "Surface inspector" ) ); //g_signal_connect (G_OBJECT (dlg), "delete_event", G_CALLBACK (OnCancel), NULL); // we catch 'Enter' and interpret is as OnDone gtk_signal_connect( GTK_OBJECT( dlg ), "key_press_event", GTK_SIGNAL_FUNC( OnDialogKey ), NULL ); gtk_window_set_transient_for( GTK_WINDOW( dlg ), GTK_WINDOW( g_pParentWnd->m_pWidget ) ); // replaced by only the vbox: vbox = gtk_vbox_new( FALSE, 5 ); gtk_widget_show( vbox ); gtk_container_add( GTK_CONTAINER( dlg ), vbox ); gtk_container_set_border_width( GTK_CONTAINER( vbox ), 5 ); hbox2 = gtk_hbox_new( FALSE, 5 ); gtk_widget_show( hbox2 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox2, FALSE, TRUE, 0 ); label = gtk_label_new( _( "Texture" ) ); gtk_widget_show( label ); gtk_box_pack_start( GTK_BOX( hbox2 ), label, FALSE, TRUE, 0 ); entry = gtk_entry_new(); gtk_signal_connect( GTK_OBJECT( entry ), "key_press_event", GTK_SIGNAL_FUNC( OnTextureKey ), NULL ); gtk_widget_show( entry ); gtk_box_pack_start( GTK_BOX( hbox2 ), entry, TRUE, TRUE, 0 ); g_object_set_data( G_OBJECT( m_pWidget ), "texture", entry ); // table = gtk_table_new (5, 4, FALSE); table = gtk_table_new( 6, 4, FALSE ); gtk_widget_show( table ); gtk_box_pack_start( GTK_BOX( vbox ), table, FALSE, TRUE, 0 ); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); label = gtk_label_new( _( "Horizontal shift" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0, -8192, 8192, 2, 8, 0 ) ), 0, 0 ); g_object_set_data( G_OBJECT( dlg ), "hshift", spin ); gtk_signal_connect( GTK_OBJECT( gtk_spin_button_get_adjustment( GTK_SPIN_BUTTON( spin ) ) ), "value_changed", GTK_SIGNAL_FUNC( OnUpdate ), NULL ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 1, 2, 0, 1, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); label = gtk_label_new( _( "Step" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 2, 3, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); entry = gtk_entry_new(); g_object_set_data( G_OBJECT( dlg ), "hshift_inc", entry ); gtk_signal_connect( GTK_OBJECT( entry ), "changed", GTK_SIGNAL_FUNC( OnIncrementChanged ), NULL ); gtk_widget_show( entry ); gtk_table_attach( GTK_TABLE( table ), entry, 3, 4, 0, 1, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( entry, 50, -2 ); label = gtk_label_new( _( "Vertical shift" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 1, 2, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0, -8192, 8192, 2, 8, 0 ) ), 0, 0 ); g_object_set_data( G_OBJECT( dlg ), "vshift", spin ); gtk_signal_connect( GTK_OBJECT( gtk_spin_button_get_adjustment( GTK_SPIN_BUTTON( spin ) ) ), "value_changed", GTK_SIGNAL_FUNC( OnUpdate ), NULL ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 1, 2, 1, 2, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); label = gtk_label_new( _( "Step" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 2, 3, 1, 2, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); entry = gtk_entry_new(); g_object_set_data( G_OBJECT( dlg ), "vshift_inc", entry ); gtk_signal_connect( GTK_OBJECT( entry ), "changed", GTK_SIGNAL_FUNC( OnIncrementChanged ), NULL ); gtk_widget_show( entry ); gtk_table_attach( GTK_TABLE( table ), entry, 3, 4, 1, 2, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( entry, 50, -2 ); label = gtk_label_new( _( "Horizontal stretch" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 2, 3, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0, -1000, 1000, 1, 10, 0 ) ), 0, 0 ); g_object_set_data( G_OBJECT( dlg ), "hscale", spin ); gtk_signal_connect( GTK_OBJECT( gtk_spin_button_get_adjustment( GTK_SPIN_BUTTON( spin ) ) ), "value_changed", GTK_SIGNAL_FUNC( OnUpdate ), NULL ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 1, 2, 2, 3, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); label = gtk_label_new( _( "Step" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 2, 3, 2, 3, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 2, 3 ); entry = gtk_entry_new(); g_object_set_data( G_OBJECT( dlg ), "hscale_inc", entry ); gtk_signal_connect( GTK_OBJECT( entry ), "changed", GTK_SIGNAL_FUNC( OnIncrementChanged ), NULL ); gtk_widget_show( entry ); gtk_table_attach( GTK_TABLE( table ), entry, 3, 4, 2, 3, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 2, 3 ); gtk_widget_set_usize( entry, 50, -2 ); label = gtk_label_new( _( "Vertical stretch" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 3, 4, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0, -1000, 1000, 1, 10, 0 ) ), 0, 0 ); g_object_set_data( G_OBJECT( dlg ), "vscale", spin ); gtk_signal_connect( GTK_OBJECT( gtk_spin_button_get_adjustment( GTK_SPIN_BUTTON( spin ) ) ), "value_changed", GTK_SIGNAL_FUNC( OnUpdate ), NULL ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 1, 2, 3, 4, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); label = gtk_label_new( _( "Step" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 2, 3, 3, 4, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); entry = gtk_entry_new(); g_object_set_data( G_OBJECT( dlg ), "vscale_inc", entry ); gtk_signal_connect( GTK_OBJECT( entry ), "changed", GTK_SIGNAL_FUNC( OnIncrementChanged ), NULL ); gtk_widget_show( entry ); gtk_table_attach( GTK_TABLE( table ), entry, 3, 4, 3, 4, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( entry, 50, -2 ); label = gtk_label_new( _( "Rotate" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 4, 5, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0, -360, 360, 1, 10, 0 ) ), 1, 0 ); g_object_set_data( G_OBJECT( dlg ), "rotate", spin ); gtk_signal_connect( GTK_OBJECT( gtk_spin_button_get_adjustment( GTK_SPIN_BUTTON( spin ) ) ), "value_changed", GTK_SIGNAL_FUNC( OnUpdate ), NULL ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 1, 2, 4, 5, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); gtk_spin_button_set_wrap( GTK_SPIN_BUTTON( spin ), TRUE ); label = gtk_label_new( _( "Step" ) ); gtk_widget_show( label ); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0 ); gtk_table_attach( GTK_TABLE( table ), label, 2, 3, 4, 5, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); entry = gtk_entry_new(); g_object_set_data( G_OBJECT( dlg ), "rotate_inc", entry ); gtk_signal_connect( GTK_OBJECT( entry ), "changed", GTK_SIGNAL_FUNC( OnIncrementChanged ), NULL ); gtk_widget_show( entry ); gtk_table_attach( GTK_TABLE( table ), entry, 3, 4, 4, 5, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( entry, 50, -2 ); // match grid button button = gtk_button_new_with_label( _( "Match Grid" ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 2, 4, 5, 6, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnMatchGrid ), NULL ); frame = gtk_frame_new( _( "Texturing" ) ); gtk_widget_show( frame ); gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = gtk_table_new( 4, 4, FALSE ); gtk_widget_show( table ); gtk_container_add( GTK_CONTAINER( frame ), table ); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); label = gtk_label_new( "Brush" ); gtk_widget_show( label ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); label = gtk_label_new( "Patch" ); gtk_widget_show( label ); gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 2, 3, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); label = gtk_label_new( "Width" ); gtk_widget_show( label ); gtk_table_attach( GTK_TABLE( table ), label, 2, 3, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); label = gtk_label_new( _( "Height" ) ); gtk_widget_show( label ); gtk_table_attach( GTK_TABLE( table ), label, 3, 4, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); button = gtk_button_new_with_label( _( "Axial" ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnAxial ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "Fit" ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 1, 2, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnFaceFit ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "CAP" ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 3, 4, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnPatchdetails ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "Set..." ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 1, 2, 3, 4, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnPatchreset ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "Natural" ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 2, 3, 3, 4, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnPatchnatural ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "Fit" ) ); gtk_widget_show( button ); gtk_table_attach( GTK_TABLE( table ), button, 3, 4, 3, 4, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnBtnPatchFit ), NULL ); gtk_widget_set_usize( button, 60, -2 ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 1, 1, 32, 1, 10, 0 ) ), 1, 0 ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 2, 3, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); AddDialogData( spin, &m_nWidth, DLG_SPIN_INT ); spin = gtk_spin_button_new( GTK_ADJUSTMENT( gtk_adjustment_new( 1, 1, 32, 1, 10, 0 ) ), 1, 0 ); gtk_widget_show( spin ); gtk_table_attach( GTK_TABLE( table ), spin, 3, 4, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_widget_set_usize( spin, 60, -2 ); AddDialogData( spin, &m_nHeight, DLG_SPIN_INT ); hbox2 = gtk_hbox_new( FALSE, 5 ); gtk_widget_show( hbox2 ); gtk_box_pack_start( GTK_BOX( vbox ), hbox2, FALSE, TRUE, 0 ); button = gtk_button_new_with_label( _( "Done" ) ); gtk_widget_show( button ); gtk_box_pack_start( GTK_BOX( hbox2 ), button, FALSE, FALSE, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnDone ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "Apply" ) ); gtk_widget_show( button ); gtk_box_pack_start( GTK_BOX( hbox2 ), button, FALSE, FALSE, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnApply ), NULL ); gtk_widget_set_usize( button, 60, -2 ); button = gtk_button_new_with_label( _( "Cancel" ) ); gtk_widget_show( button ); gtk_box_pack_start( GTK_BOX( hbox2 ), button, FALSE, FALSE, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnCancel ), NULL ); gtk_widget_set_usize( button, 60, -2 ); // that's a bit of trashy stuff from Textool-v2 branch #ifdef _DEBUG // FIXME: testing only, scaling in BP mode button = gtk_button_new_with_label( _( "Test" ) ); gtk_widget_show( button ); gtk_box_pack_start( GTK_BOX( hbox2 ), button, FALSE, FALSE, 0 ); gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( OnTest ), NULL ); gtk_widget_set_usize( button, 60, -2 ); #endif // Initialize SetTexMods(); }
static void saa_solid_display_init (SaaSolidDisplay * dsp) { GtkWidget * frs, * frar, * frai, * fro; GtkWidget * ts, * tar, * to, * hai; GtkWidget * bg_label; GtkObject * adjs = gtk_adjustment_new (.02, .02, .5, .001, .01, 0); GtkObject * adjar = gtk_adjustment_new (.01, .01, .2, .001, .01, 0); gtk_table_resize(GTK_TABLE(dsp), 4, 1); gtk_table_set_homogeneous(GTK_TABLE(dsp), TRUE); frs = gtk_frame_new(_("Vertices")); gtk_widget_show(frs); gtk_table_attach_defaults (GTK_TABLE (dsp), frs, 0, 1, 0, 1); ts = gtk_table_new(3, 2, TRUE); gtk_widget_show(ts); gtk_container_set_border_width (GTK_CONTAINER (ts), 5); gtk_container_add(GTK_CONTAINER(frs), ts); dsp->rads1 = gtk_radio_button_new_with_label(NULL, _("Do not display")); gtk_widget_show(dsp->rads1); gtk_table_attach_defaults (GTK_TABLE (ts), dsp->rads1, 0, 2, 0, 1); dsp->rads2 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(dsp->rads1), _("Molecular")); gtk_widget_show(dsp->rads2); gtk_table_attach_defaults (GTK_TABLE (ts), dsp->rads2, 0, 1, 1, 2); dsp->rads3 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(dsp->rads2), _("Point")); gtk_widget_show(dsp->rads3); gtk_table_attach_defaults (GTK_TABLE (ts), dsp->rads3, 0, 1, 2, 3); dsp->spins = gtk_spin_button_new(GTK_ADJUSTMENT(adjs), 0.001, 3); gtk_widget_show(dsp->spins); gtk_table_attach (GTK_TABLE (ts), dsp->spins, 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); dsp->bts = gtk_color_button_new(); gtk_widget_show(dsp->bts); gtk_table_attach (GTK_TABLE (ts), dsp->bts, 1, 2, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); frar = gtk_frame_new(_("Edges")); gtk_widget_show(frar); gtk_table_attach (GTK_TABLE (dsp), frar, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); tar = gtk_table_new(3, 2, TRUE); gtk_widget_show(tar); gtk_container_set_border_width (GTK_CONTAINER (tar), 5); gtk_container_add(GTK_CONTAINER(frar), tar); dsp->radar1 = gtk_radio_button_new_with_label(NULL, _("Do not display")); gtk_widget_show(dsp->radar1); gtk_table_attach_defaults (GTK_TABLE (tar), dsp->radar1, 0, 2, 0, 1); dsp->radar2 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(dsp->radar1), _("Molecular")); gtk_widget_show(dsp->radar2); gtk_table_attach_defaults (GTK_TABLE (tar), dsp->radar2, 0, 1, 1, 2); dsp->radar3 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(dsp->radar2), _("Line")); gtk_widget_show(dsp->radar3); gtk_table_attach_defaults (GTK_TABLE (tar), dsp->radar3, 0, 1, 2, 3); dsp->spinar = gtk_spin_button_new(GTK_ADJUSTMENT(adjar), 0.001, 3); gtk_widget_show(dsp->spinar); gtk_table_attach (GTK_TABLE (tar), dsp->spinar, 1, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); dsp->btar = gtk_color_button_new(); gtk_widget_show(dsp->btar); gtk_table_attach (GTK_TABLE (tar), dsp->btar, 1, 2, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); frai = gtk_frame_new(_("Wings")); gtk_widget_show(frai); gtk_table_attach (GTK_TABLE (dsp), frai, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0); hai = gtk_vbox_new(TRUE, 5); gtk_widget_show(hai); gtk_container_set_border_width (GTK_CONTAINER (hai), 5); gtk_container_add(GTK_CONTAINER(frai), hai); dsp->radai1 = gtk_radio_button_new_with_label(NULL, _("Do not display")); gtk_widget_show(dsp->radai1); gtk_box_pack_start_defaults(GTK_BOX(hai), dsp->radai1); dsp->radai2 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(dsp->radai1), _("Triangulation")); gtk_widget_show(dsp->radai2); gtk_box_pack_start_defaults(GTK_BOX(hai), dsp->radai2); dsp->radai3 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(dsp->radai2), _("Colour")); gtk_widget_show(dsp->radai3); gtk_box_pack_start_defaults(GTK_BOX(hai), dsp->radai3); fro = gtk_frame_new("Autres"); gtk_widget_show(fro); gtk_table_attach_defaults (GTK_TABLE (dsp), fro, 0, 1, 3, 4); to = gtk_table_new(4, 2, TRUE); gtk_widget_show(to); gtk_container_set_border_width (GTK_CONTAINER (to), 5); gtk_container_add(GTK_CONTAINER(fro), to); dsp->chlight = gtk_check_button_new_with_label(_("Lighting")); gtk_widget_show(dsp->chlight); gtk_table_attach (GTK_TABLE (to), dsp->chlight, 0, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); dsp->chtrans = gtk_check_button_new_with_label(_("Transparency")); gtk_widget_show(dsp->chtrans); gtk_table_attach (GTK_TABLE (to), dsp->chtrans, 0, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); dsp->chaxes = gtk_check_button_new_with_label(_("Axes")); gtk_widget_show(dsp->chaxes); gtk_table_attach (GTK_TABLE (to), dsp->chaxes, 0, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0); bg_label = gtk_label_new(_("Background")); gtk_widget_show(bg_label); gtk_table_attach_defaults (GTK_TABLE (to), bg_label, 0, 1, 3, 4); dsp->btbg = gtk_color_button_new(); gtk_widget_show(dsp->btbg); gtk_table_attach (GTK_TABLE (to), dsp->btbg, 1, 2, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); g_signal_connect_swapped ((gpointer) dsp->rads1, "toggled", G_CALLBACK (saa_solid_display_s1), dsp); g_signal_connect_swapped ((gpointer) dsp->rads2, "toggled", G_CALLBACK (saa_solid_display_s2), dsp); g_signal_connect_swapped ((gpointer) dsp->rads3, "toggled", G_CALLBACK (saa_solid_display_s3), dsp); g_signal_connect_swapped ((gpointer) dsp->radar1, "toggled", G_CALLBACK (saa_solid_display_ar1), dsp); g_signal_connect_swapped ((gpointer) dsp->radar2, "toggled", G_CALLBACK (saa_solid_display_ar2), dsp); g_signal_connect_swapped ((gpointer) dsp->radar3, "toggled", G_CALLBACK (saa_solid_display_ar3), dsp); g_signal_connect_swapped ((gpointer) dsp->radai1, "toggled", G_CALLBACK (saa_solid_display_ai1), dsp); g_signal_connect_swapped ((gpointer) dsp->radai2, "toggled", G_CALLBACK (saa_solid_display_ai2), dsp); g_signal_connect_swapped ((gpointer) dsp->radai3, "toggled", G_CALLBACK (saa_solid_display_ai3), dsp); g_signal_connect_swapped ((gpointer) dsp->chlight, "toggled", G_CALLBACK (saa_solid_display_light), dsp); g_signal_connect_swapped ((gpointer) dsp->chtrans, "toggled", G_CALLBACK (saa_solid_display_trans), dsp); g_signal_connect_swapped ((gpointer) dsp->chaxes, "toggled", G_CALLBACK (saa_solid_display_axes), dsp); g_signal_connect_swapped ((gpointer) dsp->btbg, "color-set", G_CALLBACK (saa_solid_display_bgcolor), dsp); g_signal_connect_swapped ((gpointer) dsp->bts, "color-set", G_CALLBACK (saa_solid_display_scolor), dsp); g_signal_connect_swapped ((gpointer) dsp->btar, "color-set", G_CALLBACK (saa_solid_display_arcolor), dsp); g_signal_connect_swapped ((gpointer) dsp->spins, "value-changed", G_CALLBACK (saa_solid_display_ssize), dsp); g_signal_connect_swapped ((gpointer) dsp->spinar, "value-changed", G_CALLBACK (saa_solid_display_arsize), dsp); }
GtkWidget * range_widget_create() { GtkWidget *range_dialog; GtkWidget *dialog_vbox4; GtkWidget *vbox7; GtkWidget *hbox46; GtkWidget *label43; GtkWidget *label44; GtkWidget *hbox42; GtkWidget *hbox43; GtkWidget *hbox44; GtkObject *start_hours_adj; GtkObject *start_minutes_adj; GtkObject *start_seconds_adj; GtkWidget *hbox45; GtkObject *end_hours_adj; GtkObject *end_minutes_adj; GtkObject *end_seconds_adj; GtkWidget *dialog_action_area4; GtkWidget *cancel_button; GtkWidget *ok_button; GtkWidget *alignment55; GtkWidget *hbox341; GtkWidget *image49; GtkWidget *label97; gchar *val; range_dialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(range_dialog), TIMELOG_TITLE); gtk_window_set_modal(GTK_WINDOW(range_dialog), FALSE); gtk_window_set_type_hint(GTK_WINDOW(range_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox4 = GTK_DIALOG(range_dialog)->vbox; gtk_widget_show(dialog_vbox4); vbox7 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox7); gtk_box_pack_start(GTK_BOX(dialog_vbox4), vbox7, TRUE, TRUE, 0); hbox46 = gtk_hbox_new(FALSE, 20); gtk_widget_show(hbox46); gtk_box_pack_start(GTK_BOX(vbox7), hbox46, FALSE, FALSE, 5); label43 = gtk_label_new(_("Start Time")); gtk_widget_show(label43); gtk_box_pack_start(GTK_BOX(hbox46), label43, TRUE, TRUE, 0); label44 = gtk_label_new(_("End Time")); gtk_widget_show(label44); gtk_box_pack_start(GTK_BOX(hbox46), label44, TRUE, TRUE, 0); hbox42 = gtk_hbox_new(FALSE, 20); gtk_widget_show(hbox42); gtk_box_pack_start(GTK_BOX(vbox7), hbox42, TRUE, TRUE, 0); start_calendar = gtk_calendar_new(); gtk_widget_show(start_calendar); gtk_box_pack_start(GTK_BOX(hbox42), start_calendar, TRUE, TRUE, 0); gtk_calendar_display_options(GTK_CALENDAR(start_calendar), GTK_CALENDAR_SHOW_HEADING | GTK_CALENDAR_SHOW_DAY_NAMES); end_calendar = gtk_calendar_new(); gtk_widget_show(end_calendar); gtk_box_pack_start(GTK_BOX(hbox42), end_calendar, TRUE, TRUE, 0); gtk_calendar_display_options(GTK_CALENDAR(end_calendar), GTK_CALENDAR_SHOW_HEADING | GTK_CALENDAR_SHOW_DAY_NAMES); hbox43 = gtk_hbox_new(FALSE, 20); gtk_widget_show(hbox43); gtk_box_pack_start(GTK_BOX(vbox7), hbox43, FALSE, TRUE, 10); hbox44 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox44); gtk_box_pack_start(GTK_BOX(hbox43), hbox44, TRUE, TRUE, 0); start_hours_adj = gtk_adjustment_new(0, -100, 100, 1, 10, 10); start_hours = gtk_spin_button_new(GTK_ADJUSTMENT(start_hours_adj), 1, 0); gtk_widget_show(start_hours); gtk_box_pack_start(GTK_BOX(hbox44), start_hours, TRUE, TRUE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(start_hours), TRUE); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(start_hours), TRUE); start_minutes_adj = gtk_adjustment_new(0, -100, 100, 1, 10, 10); start_minutes = gtk_spin_button_new(GTK_ADJUSTMENT(start_minutes_adj), 1, 0); gtk_widget_show(start_minutes); gtk_box_pack_start(GTK_BOX(hbox44), start_minutes, TRUE, TRUE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(start_minutes), TRUE); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(start_minutes), TRUE); start_seconds_adj = gtk_adjustment_new(0, -100, 100, 1, 10, 10); start_seconds = gtk_spin_button_new(GTK_ADJUSTMENT(start_seconds_adj), 1, 0); gtk_widget_show(start_seconds); gtk_box_pack_start(GTK_BOX(hbox44), start_seconds, TRUE, TRUE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(start_seconds), TRUE); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(start_seconds), TRUE); hbox45 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox45); gtk_box_pack_start(GTK_BOX(hbox43), hbox45, TRUE, TRUE, 0); end_hours_adj = gtk_adjustment_new(0, -100, 100, 1, 10, 10); end_hours = gtk_spin_button_new(GTK_ADJUSTMENT(end_hours_adj), 1, 0); gtk_widget_show(end_hours); gtk_box_pack_start(GTK_BOX(hbox45), end_hours, TRUE, TRUE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(end_hours), TRUE); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(end_hours), TRUE); end_minutes_adj = gtk_adjustment_new(0, -100, 100, 1, 10, 10); end_minutes = gtk_spin_button_new(GTK_ADJUSTMENT(end_minutes_adj), 1, 0); gtk_widget_show(end_minutes); gtk_box_pack_start(GTK_BOX(hbox45), end_minutes, TRUE, TRUE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(end_minutes), TRUE); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(end_minutes), TRUE); end_seconds_adj = gtk_adjustment_new(0, -100, 100, 1, 10, 10); end_seconds = gtk_spin_button_new(GTK_ADJUSTMENT(end_seconds_adj), 1, 0); gtk_widget_show(end_seconds); gtk_box_pack_start(GTK_BOX(hbox45), end_seconds, TRUE, TRUE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(end_seconds), TRUE); gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(end_seconds), TRUE); dialog_action_area4 = GTK_DIALOG(range_dialog)->action_area; gtk_widget_show(dialog_action_area4); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area4), GTK_BUTTONBOX_END); cancel_button = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancel_button); gtk_dialog_add_action_widget(GTK_DIALOG(range_dialog), cancel_button, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT); ok_button = gtk_button_new(); gtk_widget_show(ok_button); gtk_dialog_add_action_widget(GTK_DIALOG(range_dialog), ok_button, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS(ok_button, GTK_CAN_DEFAULT); alignment55 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment55); gtk_container_add(GTK_CONTAINER(ok_button), alignment55); hbox341 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox341); gtk_container_add(GTK_CONTAINER(alignment55), hbox341); image49 = gtk_image_new_from_stock("gtk-ok", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image49); gtk_box_pack_start(GTK_BOX(hbox341), image49, FALSE, FALSE, 0); label97 = gtk_label_new_with_mnemonic(_("Select Time Range")); gtk_widget_show(label97); gtk_box_pack_start(GTK_BOX(hbox341), label97, FALSE, FALSE, 0); g_signal_connect((gpointer) start_hours, "value_changed", G_CALLBACK(cb_time_value_changed), NULL); g_signal_connect((gpointer) start_minutes, "value_changed", G_CALLBACK(cb_time_value_changed), NULL); g_signal_connect((gpointer) start_seconds, "value_changed", G_CALLBACK(cb_time_value_changed), NULL); g_signal_connect((gpointer) end_hours, "value_changed", G_CALLBACK(cb_time_value_changed), NULL); g_signal_connect((gpointer) end_minutes, "value_changed", G_CALLBACK(cb_time_value_changed), NULL); g_signal_connect((gpointer) end_seconds, "value_changed", G_CALLBACK(cb_time_value_changed), NULL); val = g_strdup_printf("%02d", 0); gtk_entry_set_text(GTK_ENTRY(start_hours), val); gtk_entry_set_text(GTK_ENTRY(start_minutes), val); gtk_entry_set_text(GTK_ENTRY(start_seconds), val); gtk_entry_set_text(GTK_ENTRY(end_hours), val); gtk_entry_set_text(GTK_ENTRY(end_minutes), val); gtk_entry_set_text(GTK_ENTRY(end_seconds), val); g_free(val); gtk_widget_grab_default(ok_button); return range_dialog; }
GtkWidget * create_large_items_page (void) { GtkWidget *vbox, *hbox, *w, *scrolled_win, *canvas; GtkAdjustment *adj; GooCanvasItem *root, *item; gchar *text; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_container_set_border_width (GTK_CONTAINER (vbox), 4); gtk_widget_show (vbox); text = g_strdup_printf ("This is a very large canvas, from (%i, %i) to (%i, %i).\nThe maximum zoom is %i. At this scale the canvas comes very close to the GDK window size limit (32-bit gint).\nThe items have been specially written to work around cairo's limits (transformed coords must be < +/- 32768).", CANVAS_LEFT, CANVAS_TOP, CANVAS_RIGHT, CANVAS_BOTTOM, MAX_ZOOM); w = gtk_label_new (text); g_free (text); gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0); gtk_widget_show (w); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN); gtk_widget_show (scrolled_win); gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0); /* Create the canvas. */ canvas = goo_canvas_new (); gtk_widget_set_size_request (canvas, 600, 450); gtk_container_add (GTK_CONTAINER (scrolled_win), canvas); root = goo_canvas_get_root_item (GOO_CANVAS (canvas)); g_signal_connect (root, "motion_notify_event", G_CALLBACK (on_motion_notify), NULL); #if 1 item = goo_demo_large_rect_new (root, CANVAS_LEFT + 10, CANVAS_TOP + 10, CANVAS_RIGHT - CANVAS_LEFT - 20, CANVAS_BOTTOM - CANVAS_TOP - 20, "fill-color", "yellow", NULL); g_object_set_data (G_OBJECT (item), "id", "Large Yellow Rect"); #endif #if 1 item = goo_demo_large_rect_new (root, CANVAS_LEFT + 100, CANVAS_TOP + 100, CANVAS_RIGHT - CANVAS_LEFT - 200, 50, "fill-color", "orange", NULL); g_object_set_data (G_OBJECT (item), "id", "Large Orange Rect"); #endif #if 1 item = goo_demo_large_line_new (root, CANVAS_LEFT + 100, CANVAS_TOP + 200, CANVAS_RIGHT - 100, CANVAS_TOP + 200, "stroke-color", "purple", "line-width", 10.0, NULL); g_object_set_data (G_OBJECT (item), "id", "Large Purple Line"); #endif #if 1 item = goo_demo_large_line_new (root, CANVAS_LEFT + 100, CANVAS_TOP + 300, CANVAS_RIGHT - 100, CANVAS_BOTTOM - 100, "stroke-color", "blue", "line-width", 10.0, NULL); g_object_set_data (G_OBJECT (item), "id", "Large Blue Line"); /*goo_canvas_item_rotate (item, 10, CANVAS_LEFT + 100, CANVAS_TOP + 200);*/ #endif goo_canvas_set_bounds (GOO_CANVAS (canvas), CANVAS_LEFT, CANVAS_TOP, CANVAS_RIGHT, CANVAS_BOTTOM); gtk_widget_show (canvas); /* Zoom */ w = gtk_label_new ("Zoom:"); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); gtk_widget_show (w); adj = GTK_ADJUSTMENT (gtk_adjustment_new (1.00, 0.05, 10.00, 0.05, 0.50, 0.50)); w = gtk_spin_button_new (adj, 0.0, 2); g_signal_connect (adj, "value_changed", G_CALLBACK (zoom_changed), canvas); gtk_widget_set_size_request (w, 50, -1); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); gtk_widget_show (w); return vbox; }
bool TimeChooserGtk::createDateTimeChooserWidget() { struct timeval timeVal; gettimeofday(&timeVal, 0); struct tm* currentTime = localtime( &timeVal.tv_sec); String stringBuffer; GtkWidget* label = NULL; GtkWidget* containerBox = NULL; //main container box GtkWidget* containerSubBox = NULL; //sub container box for date chooser and time chooser GtkWidget* containerButtonBox = NULL; GtkAdjustment* adjHour = NULL; GtkAdjustment* adjMinute = NULL; m_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); if(!m_window) return false; gtk_window_set_title(GTK_WINDOW(m_window), "TimeChooser"); gtk_window_set_default_size(GTK_WINDOW(m_window), WIDGET_DEFAULT_HEIGHT, WIDGET_DEFAULT_WIDTH); gtk_window_set_resizable (GTK_WINDOW(m_window), false); gtk_window_set_position(GTK_WINDOW(m_window), GTK_WIN_POS_CENTER); containerBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(m_window), containerBox); if(!containerBox) return false; adjHour = gtk_adjustment_new(1, 1, 13, 1, 1, 1); //set spinbuttonHour value range adjMinute = gtk_adjustment_new (1, 0, 60, 1, 1, 1 ); //set spinbuttonMinute value range m_comboboxAmPm = gtk_combo_box_text_new(); if(!adjHour || !adjMinute || !m_comboboxAmPm) return false; m_spinbuttonHour = gtk_spin_button_new(adjHour, 1, 0); m_spinbuttonMinute = gtk_spin_button_new(adjMinute,1, 0); if(!m_spinbuttonHour || !m_spinbuttonMinute) return false; gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(m_spinbuttonHour), TRUE); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(m_spinbuttonMinute), TRUE); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(m_comboboxAmPm), AM); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(m_comboboxAmPm), PM); gtk_spin_button_set_value (GTK_SPIN_BUTTON(m_spinbuttonMinute), currentTime->tm_min); if(currentTime->tm_hour > NOON) // afternoon { stringBuffer = String::format("%s %s %d : %d", "Current Time : ", PM, currentTime->tm_hour-12, currentTime->tm_min); gtk_spin_button_set_value (GTK_SPIN_BUTTON(m_spinbuttonHour), currentTime->tm_hour-12); gtk_combo_box_set_active (GTK_COMBO_BOX(m_comboboxAmPm), 1); setPastValues(0, 0, 0, currentTime->tm_hour-12, currentTime->tm_min, PM); } else //morning { stringBuffer = String::format("%s %s %d : %d", "Current Time : ", AM, currentTime->tm_hour, currentTime->tm_min); gtk_spin_button_set_value (GTK_SPIN_BUTTON(m_spinbuttonHour), currentTime->tm_hour); gtk_combo_box_set_active (GTK_COMBO_BOX(m_comboboxAmPm), 0); setPastValues(0, 0, 0, currentTime->tm_hour, currentTime->tm_min, AM); } m_labelCurrentTime = gtk_label_new(stringBuffer.utf8().data()); if(!m_labelCurrentTime) return false; gtk_box_pack_start(GTK_BOX(containerBox), m_labelCurrentTime, FALSE, FALSE, 0); containerSubBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); if(!containerSubBox) return false; gtk_box_set_spacing(GTK_BOX(containerSubBox), 1); label = gtk_label_new(":"); if(!label) return false; gtk_box_pack_start(GTK_BOX(containerBox), containerSubBox, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(containerSubBox), m_comboboxAmPm, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(containerSubBox), m_spinbuttonHour, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(containerSubBox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(containerSubBox), m_spinbuttonMinute, TRUE, TRUE, 0); //buttons containerButtonBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); if(!containerButtonBox) return false; gtk_box_pack_start(GTK_BOX(containerBox), containerButtonBox, TRUE, TRUE, 0); m_buttonOk = gtk_button_new_with_label("Ok"); m_buttonCancle = gtk_button_new_with_label("Cancle"); if(!m_buttonOk || !m_buttonCancle) return false; gtk_box_pack_start(GTK_BOX(containerButtonBox), m_buttonOk, TRUE, TRUE, 0); gtk_box_pack_end(GTK_BOX(containerButtonBox), m_buttonCancle, TRUE, TRUE, 0); gtk_box_set_homogeneous(GTK_BOX(containerButtonBox), TRUE); //button's listener g_signal_connect(GTK_WIDGET(m_buttonOk), "clicked", G_CALLBACK(TimeChooserOkButtonPressedCallback), (gpointer)this); g_signal_connect(GTK_WIDGET(m_buttonCancle), "clicked", G_CALLBACK(TimeChooserCancleButtonPressedCallback), (gpointer)this); //calender's listener g_signal_connect(GTK_WIDGET(m_window), "delete_event", G_CALLBACK(gtk_widget_hide_on_delete), NULL); gtk_widget_show_all(m_window); return TRUE; }
static void create_screenshot_frame (GtkWidget *outer_vbox, const gchar *frame_title) { GtkWidget *main_vbox, *vbox, *hbox; GtkWidget *align; GtkWidget *radio; GtkWidget *image; GtkWidget *spin; GtkWidget *label; GtkAdjustment *adjust; GSList *group; gchar *title; main_vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (outer_vbox), main_vbox, FALSE, FALSE, 0); gtk_widget_show (main_vbox); title = g_strconcat ("<b>", frame_title, "</b>", NULL); label = gtk_label_new (title); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); g_free (title); hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); align = gtk_alignment_new (0.0, 0.0, 0.0, 0.0); gtk_widget_set_size_request (align, 48, -1); gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, FALSE, 0); gtk_widget_show (align); image = gtk_image_new_from_stock (SCREENSHOOTER_ICON, GTK_ICON_SIZE_DIALOG); gtk_container_add (GTK_CONTAINER (align), image); gtk_widget_show (image); vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_widget_show (vbox); /** Grab whole desktop **/ group = NULL; radio = gtk_radio_button_new_with_mnemonic (group, _("Grab the whole _desktop")); if (take_window_shot || take_area_shot) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), FALSE); g_signal_connect (radio, "toggled", G_CALLBACK (target_toggled_cb), GINT_TO_POINTER (TARGET_TOGGLE_DESKTOP)); gtk_box_pack_start (GTK_BOX (vbox), radio, FALSE, FALSE, 0); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); gtk_widget_show (radio); /** Grab current window **/ radio = gtk_radio_button_new_with_mnemonic (group, _("Grab the current _window")); if (take_window_shot) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE); g_signal_connect (radio, "toggled", G_CALLBACK (target_toggled_cb), GINT_TO_POINTER (TARGET_TOGGLE_WINDOW)); gtk_box_pack_start (GTK_BOX (vbox), radio, FALSE, FALSE, 0); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); gtk_widget_show (radio); /** Grab area of the desktop **/ radio = gtk_radio_button_new_with_mnemonic (group, _("Select _area to grab")); if (take_area_shot) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio), TRUE); g_signal_connect (radio, "toggled", G_CALLBACK (target_toggled_cb), GINT_TO_POINTER (TARGET_TOGGLE_AREA)); gtk_box_pack_start (GTK_BOX (vbox), radio, FALSE, FALSE, 0); gtk_widget_show (radio); /** Grab after delay **/ delay_hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), delay_hbox, FALSE, FALSE, 0); gtk_widget_show (delay_hbox); /* translators: this is the first part of the "grab after a * delay of <spin button> seconds". */ label = gtk_label_new_with_mnemonic (_("Grab _after a delay of")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (delay_hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); adjust = GTK_ADJUSTMENT (gtk_adjustment_new ((gdouble) delay, 0.0, 99.0, 1.0, 1.0, 0.0)); spin = gtk_spin_button_new (adjust, 1.0, 0); g_signal_connect (spin, "value-changed", G_CALLBACK (delay_spin_value_changed_cb), NULL); gtk_box_pack_start (GTK_BOX (delay_hbox), spin, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin); gtk_widget_show (spin); /* translators: this is the last part of the "grab after a * delay of <spin button> seconds". */ label = gtk_label_new (_("seconds")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_end (GTK_BOX (delay_hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); }
GtkWidget* create_dialog1 (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *table1; GtkWidget *label1; GtkWidget *label2; GtkWidget *label3; GtkWidget *label4; GtkObject *spinbuttonT_adj; GtkWidget *spinbuttonT; GtkObject *spinbuttonD_adj; GtkWidget *spinbuttonD; GtkObject *spinbuttonB_adj; GtkWidget *spinbuttonB; GtkWidget *checkbuttonBF; GtkWidget *hscale1; GtkWidget *drawingarea1; GtkWidget *dialog_action_area1; GtkWidget *cancelbutton1; GtkWidget *okbutton1; dialog1 = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dialog1), QT_TR_NOOP("ASharp by MarcFD")); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); table1 = gtk_table_new (4, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox1), table1, TRUE, TRUE, 0); label1 = gtk_label_new (QT_TR_NOOP("Threshold :")); gtk_widget_show (label1); gtk_table_attach (GTK_TABLE (table1), label1, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5); label2 = gtk_label_new (QT_TR_NOOP("Strength :")); gtk_widget_show (label2); gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); label3 = gtk_label_new (QT_TR_NOOP("Block Adaptative :")); gtk_widget_show (label3); gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); label4 = gtk_label_new (QT_TR_NOOP("High Quality Block Filtering :")); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); spinbuttonT_adj = gtk_adjustment_new (1, -1, 100, 0.5, 0.1, 0); spinbuttonT = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonT_adj), 1, 1); gtk_widget_show (spinbuttonT); gtk_table_attach (GTK_TABLE (table1), spinbuttonT, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonT), TRUE); spinbuttonD_adj = gtk_adjustment_new (1, -1, 100, 0.5, 0.1, 0); spinbuttonD = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonD_adj), 1, 1); gtk_widget_show (spinbuttonD); gtk_table_attach (GTK_TABLE (table1), spinbuttonD, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonD), TRUE); spinbuttonB_adj = gtk_adjustment_new (1, -1, 100, 0.5, 0.1, 0); spinbuttonB = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonB_adj), 1, 1); gtk_widget_show (spinbuttonB); gtk_table_attach (GTK_TABLE (table1), spinbuttonB, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbuttonB), TRUE); checkbuttonBF = gtk_check_button_new_with_mnemonic (QT_TR_NOOP(" ")); gtk_widget_show (checkbuttonBF); gtk_table_attach (GTK_TABLE (table1), checkbuttonBF, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); hscale1 = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 1, 0))); gtk_widget_show (hscale1); gtk_box_pack_start (GTK_BOX (vbox1), hscale1, TRUE, TRUE, 0); drawingarea1 = gtk_drawing_area_new (); gtk_widget_show (drawingarea1); gtk_box_pack_start (GTK_BOX (vbox1), drawingarea1, TRUE, TRUE, 0); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), cancelbutton1, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), okbutton1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (dialog1, table1, "table1"); GLADE_HOOKUP_OBJECT (dialog1, label1, "label1"); GLADE_HOOKUP_OBJECT (dialog1, label2, "label2"); GLADE_HOOKUP_OBJECT (dialog1, label3, "label3"); GLADE_HOOKUP_OBJECT (dialog1, label4, "label4"); GLADE_HOOKUP_OBJECT (dialog1, spinbuttonT, "spinbuttonT"); GLADE_HOOKUP_OBJECT (dialog1, spinbuttonD, "spinbuttonD"); GLADE_HOOKUP_OBJECT (dialog1, spinbuttonB, "spinbuttonB"); GLADE_HOOKUP_OBJECT (dialog1, checkbuttonBF, "checkbuttonBF"); GLADE_HOOKUP_OBJECT (dialog1, hscale1, "hscale1"); GLADE_HOOKUP_OBJECT (dialog1, drawingarea1, "drawingarea1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, cancelbutton1, "cancelbutton1"); GLADE_HOOKUP_OBJECT (dialog1, okbutton1, "okbutton1"); return dialog1; }
static GtkWidget * bezierline_get_properties(Bezierline *bezierline) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *color; GtkWidget *linestyle; GtkWidget *arrow; GtkWidget *line_width; GtkWidget *align; GtkAdjustment *adj; if (bezierline_properties_dialog == NULL) { bezierline_properties_dialog = g_new(BezierlinePropertiesDialog, 1); vbox = gtk_vbox_new(FALSE, 5); bezierline_properties_dialog->vbox = vbox; hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Line width:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); adj = (GtkAdjustment *) gtk_adjustment_new(0.1, 0.00, 10.0, 0.01, 0.0, 0.0); line_width = gtk_spin_button_new(adj, 1.0, 2); gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(line_width), TRUE); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(line_width), TRUE); bezierline_properties_dialog->line_width = GTK_SPIN_BUTTON(line_width); gtk_box_pack_start(GTK_BOX (hbox), line_width, TRUE, TRUE, 0); gtk_widget_show (line_width); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Color:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); color = dia_color_selector_new(); bezierline_properties_dialog->color = DIACOLORSELECTOR(color); gtk_box_pack_start (GTK_BOX (hbox), color, TRUE, TRUE, 0); gtk_widget_show (color); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Line style:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); linestyle = dia_line_style_selector_new(); bezierline_properties_dialog->line_style = DIALINESTYLESELECTOR(linestyle); gtk_box_pack_start (GTK_BOX (hbox), linestyle, TRUE, TRUE, 0); gtk_widget_show (linestyle); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Start arrow:")); align = gtk_alignment_new(0.0,0.0,0.0,0.0); gtk_container_add(GTK_CONTAINER(align), label); gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 0); gtk_widget_show (label); gtk_widget_show(align); arrow = dia_arrow_selector_new(); bezierline_properties_dialog->start_arrow = DIAARROWSELECTOR(arrow); gtk_box_pack_start (GTK_BOX (hbox), arrow, TRUE, TRUE, 0); gtk_widget_show (arrow); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("End arrow:")); align = gtk_alignment_new(0.0,0.0,0.0,0.0); gtk_container_add(GTK_CONTAINER(align), label); gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 0); gtk_widget_show (label); gtk_widget_show(align); arrow = dia_arrow_selector_new(); bezierline_properties_dialog->end_arrow = DIAARROWSELECTOR(arrow); gtk_box_pack_start (GTK_BOX (hbox), arrow, TRUE, TRUE, 0); gtk_widget_show (arrow); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_widget_show (vbox); } bezierline_properties_dialog->bezierline = bezierline; gtk_spin_button_set_value(bezierline_properties_dialog->line_width, bezierline->line_width); dia_color_selector_set_color(bezierline_properties_dialog->color, &bezierline->line_color); dia_line_style_selector_set_linestyle(bezierline_properties_dialog->line_style, bezierline->line_style, bezierline->dashlength); dia_arrow_selector_set_arrow(bezierline_properties_dialog->start_arrow, bezierline->start_arrow); dia_arrow_selector_set_arrow(bezierline_properties_dialog->end_arrow, bezierline->end_arrow); return bezierline_properties_dialog->vbox; }
void lzaktaxi() { char bros[300]; iceb_u_str kol00; iceb_u_str kol0; iceb_u_str kol1; iceb_u_str kol2; iceb_u_str kol3; iceb_u_str kol4; iceb_u_str kol5; iceb_u_str kol6; iceb_u_str kol7; iceb_u_str kol8; iceb_u_str kol9; iceb_u_str kol10; iceb_u_str kol11; iceb_u_str kol12; iceb_u_str kol13; iceb_u_str kol14; iceb_u_str kol15; /**************** kol00.plus("M"); kol0.plus(iceb_u_toutf("Дата и время заказа")); kol3.plus(iceb_u_toutf("Адрес подачи")); kol5.plus(iceb_u_toutf("Адрес поездки")); kol4.plus(iceb_u_toutf("Телефон")); kol6.plus(iceb_u_toutf("Код клиента")); kol1.plus(iceb_u_toutf("Водитель")); kol2.plus(iceb_u_toutf("Гос.номер")); kol9.plus(iceb_u_toutf("Код завершения"));//10 kol7.plus(iceb_u_toutf("К/п")); kol8.plus(iceb_u_toutf("Коментарий")); kol10.plus(iceb_u_toutf("Фамилия")); kol11.plus(iceb_u_toutf("Сумма")); kol12.plus(iceb_u_toutf("Дата и время звонка"));//11 kol13.plus(iceb_u_toutf("Дата и время завершения"));//12 kol14.plus(iceb_u_toutf("Дата и время записи"));//13 kol15.plus(iceb_u_toutf("Оператор"));//14 gchar *titles[] = \ { kol00.ravno(), kol0.ravno(), kol3.ravno(), kol5.ravno(), kol4.ravno(), kol6.ravno(), kol1.ravno(), kol2.ravno(), kol9.ravno(), kol7.ravno(), kol8.ravno(), kol10.ravno(), kol11.ravno(), kol12.ravno(), kol13.ravno(), kol14.ravno(), kol15.ravno() }; ********************/ gchar *titles[] = \ { iceb_u_toutf("M"), iceb_u_toutf("Дата и время заказа"), iceb_u_toutf("Адрес подачи"), iceb_u_toutf("Адрес поездки"), iceb_u_toutf("Телефон"), iceb_u_toutf("Код клиента"), iceb_u_toutf("Водитель"), iceb_u_toutf("Гос.номер"), iceb_u_toutf("Код завершения"), iceb_u_toutf("К/п"), iceb_u_toutf("Коментарий"), iceb_u_toutf("Фамилия"), iceb_u_toutf("Сумма"), iceb_u_toutf("Дата и время звонка"), iceb_u_toutf("Дата и время завершения"), iceb_u_toutf("Дата и время записи"), iceb_u_toutf("Оператор") }; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); //gtk_widget_set_usize(GTK_WIDGET(data.window), 600, 400); //gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); sprintf(bros,"%s %s",NAME_SYSTEM,iceb_u_toutf("Список заказов")); gtk_window_set_title(GTK_WINDOW(data.window),bros); gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL); gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(lzaktaxi_key_press),&data); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift); GtkWidget *vbox=gtk_vbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(data.window), vbox); data.label=gtk_label_new(gettext("Поиск")); gtk_box_pack_start(GTK_BOX(vbox),data.label,FALSE,FALSE,0); data.scrolled_window= gtk_scrolled_window_new (NULL, NULL); //gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(data.scrolled_window), // GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize(GTK_WIDGET(data.scrolled_window), 500, 300); gtk_box_pack_start(GTK_BOX(vbox), data.scrolled_window, TRUE, TRUE, 0); gtk_widget_show (data.scrolled_window); gtk_widget_realize(data.scrolled_window); gdk_window_set_cursor(data.scrolled_window->window,gdk_cursor_new(ICEB_CURSOR)); //gdk_window_set_cursor(data.scrolled_window->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); data.list = gtk_clist_new_with_titles(KOLTITL, titles); gtk_clist_column_titles_passive((GtkCList *) data.list); gtk_signal_connect(GTK_OBJECT(data.list), "select_row", GTK_SIGNAL_FUNC(lzaktaxi_selection_row),&data); gtk_signal_connect(GTK_OBJECT(data.list), "unselect_row", GTK_SIGNAL_FUNC(lzaktaxi_unselection_row),&data); //gtk_clist_set_column_width (GTK_CLIST(data.list), 0, 60); //gtk_clist_set_column_width (GTK_CLIST(data.list), 1, 300); gtk_container_add(GTK_CONTAINER(data.scrolled_window), data.list); //gtk_widget_show(data.list); /********************** gtk_widget_realize(data.list); gdk_window_set_cursor(data.list->window,gdk_cursor_new(GDK_HAND1)); ****************/ data.hboxradio = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), data.hboxradio, FALSE, TRUE, 0); data.metkarr=0; //Вставляем радиокнопки GSList *group=NULL; data.radiobutton0=gtk_radio_button_new_with_label(NULL,iceb_u_toutf("Незавершенные заказы")); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton0, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton0), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio0),&data); //gtk_object_set_user_data(GTK_OBJECT(data.radiobutton0),(gpointer)"0"); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton0)); data.radiobutton1=gtk_radio_button_new_with_label(group,iceb_u_toutf("Все заказы")); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton1, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton1), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio1),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1)); data.radiobutton2=gtk_radio_button_new_with_label(group,iceb_u_toutf("Сутки")); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton2, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton2), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio2),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton2)); data.radiobutton3=gtk_radio_button_new_with_label(group,iceb_u_toutf("Первые")); gtk_signal_connect(GTK_OBJECT(data.radiobutton3), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_radio3),&data); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.radiobutton3, TRUE, TRUE, 0); //кнопку устанавливаем активной после отображения окна //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton3),TRUE); //Устанавливем активной кнопку //Вставляем настройку количества записей GtkObject *adjustment1=gtk_adjustment_new(10.0,1.0,1000.0,1.0,0.0,0.0); data.spin1=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment1),1.0,0); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.spin1, TRUE, TRUE, 0); GtkTooltips *tooltipsspin1=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltipsspin1,data.spin1,iceb_u_toutf("Установка количества записей для просмотра"),NULL); //Вставляем кнопку автоматического обновления списка GtkWidget *knopaos=gtk_check_button_new_with_label(iceb_u_toutf("Автоматическое обновление списка")); gtk_signal_connect(GTK_OBJECT(knopaos), "toggled",GTK_SIGNAL_FUNC(lzaktaxi_knopaos),&data); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(knopaos),FALSE); gtk_box_pack_start (GTK_BOX (data.hboxradio),knopaos, TRUE, TRUE, 0); //Вставляем настройку автоматического обновления списка GtkObject *adjustment=gtk_adjustment_new(30.0,1.0,3600.0,1.0,0.0,0.0); data.spin=gtk_spin_button_new(GTK_ADJUSTMENT(adjustment),1.0,0); gtk_box_pack_start (GTK_BOX (data.hboxradio),data.spin, TRUE, TRUE, 0); GtkTooltips *tooltipsspin=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltipsspin,data.spin,iceb_u_toutf("Установка интервала автоматического обновления списка в секундах"),NULL); sprintf(bros,"К/з: 0"); data.labelkz=gtk_label_new(iceb_u_toutf(bros)); gtk_box_pack_end(GTK_BOX(data.hboxradio),data.labelkz, TRUE, TRUE, 0); GtkWidget *hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); gtk_widget_show(hbox); sprintf(bros,"F2 %s",gettext("Запись")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK2], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips0=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips0,data.knopka[FK2],iceb_u_toutf("Ввод нового заказа"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); sprintf(bros,"%sF2 %s",RFK,gettext("Корректировать")); data.knopka[SFK2]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[SFK2], TRUE, TRUE, 0); gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[SFK2]),FALSE);//Недоступна gtk_signal_connect(GTK_OBJECT(data.knopka[SFK2]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips1=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips1,data.knopka[SFK2],gettext("Корректировка выбранной запси"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[SFK2]),(gpointer)SFK2); sprintf(bros,"F3 %s",gettext("Удалить")); data.knopka[FK3]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK3], TRUE, TRUE, 0); gtk_widget_set_sensitive(GTK_WIDGET(data.knopka[FK3]),FALSE);//Недоступна gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips2=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips2,data.knopka[FK3],gettext("Удаление выбранной запси"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); sprintf(bros,"F4 %s",gettext("Поиск")); data.knopka[FK4]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK4], TRUE, TRUE, 0); GtkTooltips *tooltips3=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips3,data.knopka[FK4],gettext("Поиск нужных записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); sprintf(bros,"F5 %s",gettext("Печать")); data.knopka[FK5]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK5], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips4=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips4,data.knopka[FK5],gettext("Распечатка записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5); sprintf(bros,"F6 %s",iceb_u_toutf("Завершить")); data.knopka[FK6]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK6], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips5=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips5,data.knopka[FK6],iceb_u_toutf("Отметить выбранный заказ как завершенный"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); sprintf(bros,"F7 %s",iceb_u_toutf("Обновить")); data.knopka[FK7]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox), data.knopka[FK7], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK7]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); GtkTooltips *tooltips7=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips7,data.knopka[FK7],iceb_u_toutf("Обновить список заказов"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK7]),(gpointer)FK7); sprintf(bros,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(hbox),data.knopka[FK10], TRUE, TRUE, 0); GtkTooltips *tooltips6=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips6,data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(lzaktaxi_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_grab_focus(data.knopka[FK10]); gtk_widget_show_all(data.window); gtk_widget_hide(data.label); //Скрываем от показа виджет //data.colormap=gdk_colormap_get_system(); //if(gdk_color_parse("blue",&data.color_blue) == TRUE) // gdk_color_alloc(data.colormap,&data.color_blue); //if(gdk_color_parse("red",&data.color_red) == TRUE) // gdk_color_alloc(data.colormap,&data.color_red); gdk_color_parse("blue",&data.color_blue); gdk_color_parse("red",&data.color_red); //zapzaktaxi(&data); //записывается при включении радиокнопки gtk_widget_show_all(data.window); gtk_widget_hide(data.label); //Скрываем от показа виджет gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton3),TRUE); //Устанавливем активной кнопку gtk_main(); return; }
static void mp3_configure(void) { gint i; if (!configure_win) { configure_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_type_hint(GTK_WINDOW(configure_win), GDK_WINDOW_TYPE_HINT_DIALOG); g_signal_connect (configure_win, "destroy", (GCallback) gtk_widget_destroyed, & configure_win); gtk_window_set_title(GTK_WINDOW(configure_win), _("MP3 Configuration")); gtk_window_set_position(GTK_WINDOW(configure_win), GTK_WIN_POS_MOUSE); gtk_container_set_border_width(GTK_CONTAINER(configure_win), 5); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_add(GTK_CONTAINER(configure_win), vbox); notebook = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); /* Quality */ quality_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(quality_vbox), 5); quality_hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(quality_vbox), quality_hbox1, FALSE, FALSE, 0); /* Algorithm Quality */ alg_quality_frame = gtk_frame_new(_("Algorithm Quality:")); gtk_container_set_border_width(GTK_CONTAINER(alg_quality_frame), 5); gtk_box_pack_start(GTK_BOX(quality_hbox1), alg_quality_frame, FALSE, FALSE, 0); alg_quality_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(alg_quality_hbox), 10); gtk_container_add(GTK_CONTAINER(alg_quality_frame), alg_quality_hbox); alg_quality_adj = (GtkAdjustment *) gtk_adjustment_new (5, 0, 9, 1, 1, 0); alg_quality_spin = gtk_spin_button_new(GTK_ADJUSTMENT(alg_quality_adj), 8, 0); gtk_box_pack_start(GTK_BOX(alg_quality_hbox), alg_quality_spin, TRUE, TRUE, 0); g_signal_connect (alg_quality_adj, "value-changed", (GCallback) algo_qual, NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(alg_quality_spin), algo_quality_val); /* Output Samplerate */ samplerate_frame = gtk_frame_new(_("Output Samplerate:")); gtk_container_set_border_width(GTK_CONTAINER(samplerate_frame), 5); gtk_box_pack_start(GTK_BOX(quality_hbox1), samplerate_frame, FALSE, FALSE, 0); samplerate_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(samplerate_hbox), 10); gtk_container_add(GTK_CONTAINER(samplerate_frame), samplerate_hbox); GtkWidget * combo = gtk_combo_box_text_new (); gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, _("Auto")); if (! out_samplerate_val) gtk_combo_box_set_active ((GtkComboBox *) combo, 0); for (i = 0; i < G_N_ELEMENTS (available_samplerates); i ++) { gchar buf[10]; snprintf (buf, sizeof buf, "%d", available_samplerates[i]); gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, buf); if (out_samplerate_val == available_samplerates[i]) gtk_combo_box_set_active ((GtkComboBox *) combo, 1 + i); } gtk_box_pack_start ((GtkBox *) samplerate_hbox, combo, FALSE, FALSE, 0); g_signal_connect (combo, "changed", (GCallback) samplerate_changed, NULL); samplerate_label = gtk_label_new(_("(Hz)")); gtk_misc_set_alignment(GTK_MISC(samplerate_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(samplerate_hbox), samplerate_label, FALSE, FALSE, 0); /* Encoder Quality */ enc_quality_frame = gtk_frame_new(_("Bitrate / Compression ratio:")); gtk_container_set_border_width(GTK_CONTAINER(enc_quality_frame), 5); gtk_box_pack_start(GTK_BOX(quality_vbox), enc_quality_frame, FALSE, FALSE, 0); // vbox sorrounding hbox1 and hbox2 enc_quality_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(enc_quality_vbox), 10); // pack vbox to frame gtk_container_add(GTK_CONTAINER(enc_quality_frame), enc_quality_vbox); // hbox1 for bitrate hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add(GTK_CONTAINER(enc_quality_vbox), hbox1); // radio 1 enc_radio1 = gtk_radio_button_new(NULL); if (enc_toggle_val == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enc_radio1), TRUE); gtk_box_pack_start(GTK_BOX(hbox1), enc_radio1, FALSE, FALSE, 0); // label 1 enc_quality_label1 = gtk_label_new(_("Bitrate (kbps):")); gtk_box_pack_start(GTK_BOX(hbox1), enc_quality_label1, FALSE, FALSE, 0); // bitrate menu combo = gtk_combo_box_text_new (); for (i = 0; i < G_N_ELEMENTS (available_bitrates); i ++) { gchar buf[10]; snprintf (buf, sizeof buf, "%d", available_bitrates[i]); gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, buf); if (bitrate_val == available_bitrates[i]) gtk_combo_box_set_active ((GtkComboBox *) combo, i); } gtk_box_pack_start ((GtkBox *) hbox1, combo, FALSE, FALSE, 0); g_signal_connect (combo, "changed", (GCallback) bitrate_changed, NULL); // hbox2 for compression ratio hbox2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add(GTK_CONTAINER(enc_quality_vbox), hbox2); // radio 2 enc_radio2 = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(enc_radio1)); if (enc_toggle_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enc_radio2), TRUE); // pack radio 2 gtk_box_pack_start(GTK_BOX(hbox2), enc_radio2, FALSE, FALSE, 0); // label enc_quality_label2 = gtk_label_new(_("Compression ratio:")); gtk_box_pack_start(GTK_BOX(hbox2), enc_quality_label2, FALSE, FALSE, 0); // comp-ratio spin compression_adj = (GtkAdjustment *) gtk_adjustment_new (11, 0, 100, 1, 1, 0); compression_spin = gtk_spin_button_new(GTK_ADJUSTMENT(compression_adj), 8, 0); gtk_box_pack_end(GTK_BOX(hbox2), compression_spin, FALSE, FALSE, 0); g_signal_connect (compression_adj, "value-changed", (GCallback) compression_change, NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(compression_spin), compression_val); // radio button signale connect g_signal_connect (enc_radio1, "toggled", (GCallback) encoding_toggle, GINT_TO_POINTER (0)); g_signal_connect (enc_radio2, "toggled", (GCallback) encoding_toggle, GINT_TO_POINTER (1)); /* Audio Mode */ mode_frame = gtk_frame_new(_("Audio Mode:")); gtk_container_set_border_width(GTK_CONTAINER(mode_frame), 5); gtk_box_pack_start(GTK_BOX(quality_vbox), mode_frame, FALSE, FALSE, 0); mode_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10); gtk_container_set_border_width(GTK_CONTAINER(mode_hbox), 10); gtk_container_add(GTK_CONTAINER(mode_frame), mode_hbox); combo = gtk_combo_box_text_new (); for (i = 0; i < MODES; i ++) { gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, _(mode_names[i])); if (audio_mode_val == modes[i]) gtk_combo_box_set_active ((GtkComboBox *) combo, i); } gtk_box_pack_start ((GtkBox *) mode_hbox, combo, FALSE, FALSE, 0); g_signal_connect (combo, "changed", (GCallback) mode_changed, NULL); /* Misc */ misc_frame = gtk_frame_new(_("Misc:")); gtk_container_set_border_width(GTK_CONTAINER(misc_frame), 5); gtk_box_pack_start(GTK_BOX(quality_vbox), misc_frame, FALSE, FALSE, 0); misc_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(misc_vbox), 5); gtk_container_add(GTK_CONTAINER(misc_frame), misc_vbox); enforce_iso_toggle = gtk_check_button_new_with_label (_("Enforce strict ISO complience")); gtk_box_pack_start(GTK_BOX(misc_vbox), enforce_iso_toggle, TRUE, TRUE, 2); g_signal_connect (enforce_iso_toggle, "toggled", (GCallback) toggle_enforce_iso, NULL); if (enforce_iso_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (enforce_iso_toggle), TRUE); error_protection_toggle = gtk_check_button_new_with_label(_("Error protection")); gtk_box_pack_start(GTK_BOX(misc_vbox), error_protection_toggle, TRUE, TRUE, 2); g_signal_connect (error_protection_toggle, "toggled", (GCallback) toggle_error_protect, NULL); if (error_protect_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (error_protection_toggle), TRUE); /* Add the Notebook */ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), quality_vbox, gtk_label_new(_("Quality"))); /* VBR/ABR */ vbr_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(vbr_vbox), 5); /* Toggle VBR */ vbr_toggle = gtk_check_button_new_with_label(_("Enable VBR/ABR")); gtk_box_pack_start(GTK_BOX(vbr_vbox), vbr_toggle, FALSE, FALSE, 2); g_signal_connect (vbr_toggle, "toggled", (GCallback) toggle_vbr, NULL); vbr_options_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(vbr_vbox), vbr_options_vbox); gtk_widget_set_sensitive(vbr_options_vbox, FALSE); /* Choose VBR/ABR */ vbr_type_frame = gtk_frame_new(_("Type:")); gtk_container_set_border_width(GTK_CONTAINER(vbr_type_frame), 5); gtk_box_pack_start(GTK_BOX(vbr_options_vbox), vbr_type_frame, FALSE, FALSE, 2); vbr_type_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(vbr_type_hbox), 5); gtk_container_add(GTK_CONTAINER(vbr_type_frame), vbr_type_hbox); vbr_type_radio1 = gtk_radio_button_new_with_label(NULL, "VBR"); gtk_box_pack_start(GTK_BOX(vbr_type_hbox), vbr_type_radio1, TRUE, TRUE, 2); if (vbr_type == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (vbr_type_radio1), TRUE); vbr_type_radio2 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (vbr_type_radio1), "ABR"); gtk_box_pack_start(GTK_BOX(vbr_type_hbox), vbr_type_radio2, TRUE, TRUE, 2); if (vbr_type == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (vbr_type_radio2), TRUE); g_signal_connect (vbr_type_radio1, "toggled", (GCallback) vbr_abr_toggle, "VBR"); g_signal_connect (vbr_type_radio2, "toggled", (GCallback) vbr_abr_toggle, "ABR"); /* VBR Options */ vbr_frame = gtk_frame_new(_("VBR Options:")); gtk_container_set_border_width(GTK_CONTAINER(vbr_frame), 5); gtk_box_pack_start(GTK_BOX(vbr_options_vbox), vbr_frame, FALSE, FALSE, 2); vbr_options_vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(vbr_options_vbox2), 5); gtk_container_add(GTK_CONTAINER(vbr_frame), vbr_options_vbox2); vbr_options_hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(vbr_options_hbox1), 5); gtk_container_add(GTK_CONTAINER(vbr_options_vbox2), vbr_options_hbox1); vbr_min_label = gtk_label_new(_("Minimum bitrate (kbps):")); gtk_misc_set_alignment(GTK_MISC(vbr_min_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbr_options_hbox1), vbr_min_label, TRUE, TRUE, 0); combo = gtk_combo_box_text_new (); for (i = 0; i < G_N_ELEMENTS (available_bitrates); i ++) { gchar buf[10]; snprintf (buf, sizeof buf, "%d", available_bitrates[i]); gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, buf); if (vbr_min_val == available_bitrates[i]) gtk_combo_box_set_active ((GtkComboBox *) combo, i); } gtk_box_pack_start ((GtkBox *) vbr_options_hbox1, combo, FALSE, FALSE, 0); g_signal_connect (combo, "changed", (GCallback) vbr_min_changed, NULL); vbr_options_hbox2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(vbr_options_hbox2), 5); gtk_container_add(GTK_CONTAINER(vbr_options_vbox2), vbr_options_hbox2); vbr_max_label = gtk_label_new(_("Maximum bitrate (kbps):")); gtk_misc_set_alignment(GTK_MISC(vbr_max_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbr_options_hbox2), vbr_max_label, TRUE, TRUE, 0); combo = gtk_combo_box_text_new (); for (i = 0; i < G_N_ELEMENTS (available_bitrates); i ++) { gchar buf[10]; snprintf (buf, sizeof buf, "%d", available_bitrates[i]); gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, buf); if (vbr_max_val == available_bitrates[i]) gtk_combo_box_set_active ((GtkComboBox *) combo, i); } gtk_box_pack_start ((GtkBox *) vbr_options_hbox2, combo, FALSE, FALSE, 0); g_signal_connect (combo, "changed", (GCallback) vbr_max_changed, NULL); enforce_min_toggle = gtk_check_button_new_with_label (_("Strictly enforce minimum bitrate")); gtk_box_pack_start(GTK_BOX(vbr_options_vbox2), enforce_min_toggle, FALSE, FALSE, 2); g_signal_connect (enforce_min_toggle, "toggled", (GCallback) toggle_enforce_min, NULL); if (enforce_min_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (enforce_min_toggle), TRUE); /* ABR Options */ abr_frame = gtk_frame_new(_("ABR Options:")); gtk_container_set_border_width(GTK_CONTAINER(abr_frame), 5); gtk_box_pack_start(GTK_BOX(vbr_options_vbox), abr_frame, FALSE, FALSE, 2); gtk_widget_set_sensitive(abr_frame, FALSE); abr_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(abr_hbox), 5); gtk_container_add(GTK_CONTAINER(abr_frame), abr_hbox); abr_label = gtk_label_new(_("Average bitrate (kbps):")); gtk_misc_set_alignment(GTK_MISC(abr_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(abr_hbox), abr_label, TRUE, TRUE, 0); combo = gtk_combo_box_text_new (); for (i = 0; i < G_N_ELEMENTS (available_bitrates); i ++) { gchar buf[10]; snprintf (buf, sizeof buf, "%d", available_bitrates[i]); gtk_combo_box_text_append_text ((GtkComboBoxText *) combo, buf); if (abr_val == available_bitrates[i]) gtk_combo_box_set_active ((GtkComboBox *) combo, i); } gtk_box_pack_start ((GtkBox *) abr_hbox, combo, FALSE, FALSE, 0); g_signal_connect (combo, "changed", (GCallback) abr_changed, NULL); /* Quality Level */ vbr_options_hbox3 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(vbr_options_hbox3), 5); gtk_container_add(GTK_CONTAINER(vbr_options_vbox), vbr_options_hbox3); vbr_quality_label = gtk_label_new(_("VBR quality level:")); gtk_misc_set_alignment(GTK_MISC(vbr_quality_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbr_options_hbox3), vbr_quality_label, TRUE, TRUE, 0); vbr_quality_adj = (GtkAdjustment *) gtk_adjustment_new (4, 0, 9, 1, 1, 0); vbr_quality_spin = gtk_spin_button_new(GTK_ADJUSTMENT(vbr_quality_adj), 8, 0); gtk_box_pack_start(GTK_BOX(vbr_options_hbox3), vbr_quality_spin, TRUE, TRUE, 0); g_signal_connect (vbr_quality_adj, "value-changed", (GCallback) vbr_qual, NULL); gtk_spin_button_set_value(GTK_SPIN_BUTTON(vbr_quality_spin), vbr_quality_val); /* Xing Header */ xing_header_toggle = gtk_check_button_new_with_label(_("Don't write Xing VBR header")); gtk_box_pack_start(GTK_BOX(vbr_options_vbox), xing_header_toggle, FALSE, FALSE, 2); g_signal_connect (xing_header_toggle, "toggled", (GCallback) toggle_xing, NULL); if (toggle_xing_val == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (xing_header_toggle), TRUE); /* Add the Notebook */ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbr_vbox, gtk_label_new(_("VBR/ABR"))); /* Tags */ tags_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(tags_vbox), 5); /* Frame Params */ tags_frames_frame = gtk_frame_new(_("Frame params:")); gtk_container_set_border_width(GTK_CONTAINER(tags_frames_frame), 5); gtk_box_pack_start(GTK_BOX(tags_vbox), tags_frames_frame, FALSE, FALSE, 2); tags_frames_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width(GTK_CONTAINER(tags_frames_hbox), 5); gtk_container_add(GTK_CONTAINER(tags_frames_frame), tags_frames_hbox); tags_copyright_toggle = gtk_check_button_new_with_label(_("Mark as copyright")); gtk_box_pack_start(GTK_BOX(tags_frames_hbox), tags_copyright_toggle, FALSE, FALSE, 2); g_signal_connect (tags_copyright_toggle, "toggled", (GCallback) toggle_copyright, NULL); if (mark_copyright_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (tags_copyright_toggle), TRUE); tags_original_toggle = gtk_check_button_new_with_label(_("Mark as original")); gtk_box_pack_start(GTK_BOX(tags_frames_hbox), tags_original_toggle, FALSE, FALSE, 2); g_signal_connect (tags_original_toggle, "toggled", (GCallback) toggle_original, NULL); if (mark_original_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (tags_original_toggle), TRUE); /* ID3 Params */ tags_id3_frame = gtk_frame_new(_("ID3 params:")); gtk_container_set_border_width(GTK_CONTAINER(tags_id3_frame), 5); gtk_box_pack_start(GTK_BOX(tags_vbox), tags_id3_frame, FALSE, FALSE, 2); tags_id3_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width(GTK_CONTAINER(tags_id3_vbox), 5); gtk_container_add(GTK_CONTAINER(tags_id3_frame), tags_id3_vbox); tags_force_id3v2_toggle = gtk_check_button_new_with_label (_("Force addition of version 2 tag")); gtk_box_pack_start(GTK_BOX(tags_id3_vbox), tags_force_id3v2_toggle, FALSE, FALSE, 2); g_signal_connect (tags_force_id3v2_toggle, "toggled", (GCallback) force_v2_toggle, NULL); tags_id3_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add(GTK_CONTAINER(tags_id3_vbox), tags_id3_hbox); tags_only_v1_toggle = gtk_check_button_new_with_label(_("Only add v1 tag")); gtk_box_pack_start(GTK_BOX(tags_id3_hbox), tags_only_v1_toggle, FALSE, FALSE, 2); g_signal_connect (tags_only_v1_toggle, "toggled", (GCallback) id3_only_version, "v1"); tags_only_v2_toggle = gtk_check_button_new_with_label(_("Only add v2 tag")); gtk_box_pack_start(GTK_BOX(tags_id3_hbox), tags_only_v2_toggle, FALSE, FALSE, 2); g_signal_connect (tags_only_v2_toggle, "toggled", (GCallback) id3_only_version, "v2"); if (force_v2_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (tags_force_id3v2_toggle), TRUE); if (only_v1_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (tags_only_v1_toggle), TRUE); if (only_v2_val == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (tags_only_v2_toggle), TRUE); /* Add the Notebook */ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tags_vbox, gtk_label_new(_("Tags"))); /* The Rest */ /* Buttons */ configure_bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout(GTK_BUTTON_BOX(configure_bbox), GTK_BUTTONBOX_END); gtk_box_pack_start(GTK_BOX(vbox), configure_bbox, FALSE, FALSE, 0); configure_cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL); g_signal_connect_swapped (configure_cancel, "clicked", (GCallback) gtk_widget_destroy, configure_win); gtk_box_pack_start(GTK_BOX(configure_bbox), configure_cancel, TRUE, TRUE, 0); configure_ok = gtk_button_new_from_stock(GTK_STOCK_OK); g_signal_connect (configure_ok, "clicked", (GCallback) configure_ok_cb, NULL); gtk_box_pack_start(GTK_BOX(configure_bbox), configure_ok, TRUE, TRUE, 0); gtk_widget_show(configure_ok); /* Set States */ if (vbr_on == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vbr_toggle), TRUE); else gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vbr_toggle), FALSE); /* Show it! */ gtk_widget_show_all(configure_win); } }
/* * Create dialog window for configuration. */ static void configure (void) { GtkWidget *vbox, *bbox, *ok, *cancel, *apply, *hbox, *label, *button, *unit_label, *hbox2, *vbox2, *sep; GSList *group = NULL; DEBUG("configure"); if (configure_win) return; read_config (); configure_win = gtk_window_new (GTK_WINDOW_DIALOG); gtk_signal_connect (GTK_OBJECT (configure_win), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroyed), &configure_win); gtk_window_set_title (GTK_WINDOW (configure_win), "On Screen Display Configuration - " XOSD_VERSION); vbox = gtk_vbox_new (FALSE, 10); gtk_container_add (GTK_CONTAINER (configure_win), vbox); gtk_container_set_border_width (GTK_CONTAINER (configure_win), 5); hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Font:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); font_entry = gtk_entry_new (); if (font) gtk_entry_set_text (GTK_ENTRY (font_entry), font); gtk_box_pack_start (GTK_BOX (hbox), font_entry, TRUE, TRUE, 0); button = gtk_button_new_with_label ("Set"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (font_dialog_window), NULL); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Colour:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); colour_entry = gtk_entry_new (); if (colour) gtk_entry_set_text (GTK_ENTRY (colour_entry), colour); gtk_box_pack_start (GTK_BOX (hbox), colour_entry, TRUE, TRUE, 0); button = gtk_button_new_with_label ("Set"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (colour_dialog_window), NULL); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Timeout:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); timeout_obj = gtk_adjustment_new (timeout, -1, 60, 1, 1, 1); timeout_spin = gtk_spin_button_new (GTK_ADJUSTMENT (timeout_obj), 1.0, 0); if (timeout) gtk_spin_button_set_value (GTK_SPIN_BUTTON (timeout_spin), (gfloat) timeout); gtk_box_pack_start (GTK_BOX (hbox), timeout_spin, FALSE, FALSE, 0); unit_label = gtk_label_new ("seconds"); gtk_box_pack_start (GTK_BOX (hbox), unit_label, FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Vertical Offset:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); offset_obj = gtk_adjustment_new (timeout, 0, 60, 1, 1, 1); offset_spin = gtk_spin_button_new (GTK_ADJUSTMENT (offset_obj), 1.0, 0); if (offset) gtk_spin_button_set_value (GTK_SPIN_BUTTON (offset_spin), (gfloat) offset); gtk_box_pack_start (GTK_BOX (hbox), offset_spin, FALSE, FALSE, 0); unit_label = gtk_label_new ("pixels"); gtk_box_pack_start (GTK_BOX (hbox), unit_label, FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Shadow Offset:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); shadow_obj = gtk_adjustment_new (timeout, 0, 60, 1, 1, 1); shadow_spin = gtk_spin_button_new (GTK_ADJUSTMENT (shadow_obj), 1.0, 0); gtk_spin_button_set_value (GTK_SPIN_BUTTON (shadow_spin), (gfloat) shadow_offset); gtk_box_pack_start (GTK_BOX (hbox), shadow_spin, FALSE, FALSE, 0); unit_label = gtk_label_new ("pixels"); gtk_box_pack_start (GTK_BOX (hbox), unit_label, FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Position:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); pos_top = gtk_radio_button_new_with_label (NULL, "Top"); group = gtk_radio_button_group (GTK_RADIO_BUTTON (pos_top)); pos_bottom = gtk_radio_button_new_with_label (group, "Bottom"); gtk_box_pack_start (GTK_BOX (hbox), pos_top, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), pos_bottom, FALSE, FALSE, 0); if (pos == XOSD_top) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pos_top), TRUE); else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pos_bottom), TRUE); /* hbox = gtk_hbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Volume :"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); vol_on = gtk_radio_button_new_with_label (NULL, "Yes"); group = gtk_radio_button_group (GTK_RADIO_BUTTON (vol_on)); vol_off = gtk_radio_button_new_with_label (group, "No"); gtk_box_pack_start (GTK_BOX (hbox), vol_on, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vol_off, FALSE, FALSE, 0); if (show_volume == 1) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vol_on), TRUE); else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vol_off), TRUE); */ sep=gtk_hseparator_new(); gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0); hbox2 = gtk_hbox_new (FALSE, 2); gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0); label=gtk_label_new("Show:"); gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0); hbox2 = gtk_hbox_new (FALSE, 2); gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0); vbox2 = gtk_vbox_new (FALSE, 4); gtk_box_pack_start (GTK_BOX (hbox2), vbox2, FALSE, FALSE, 0); show_item(vbox2, "Volume", show_volume, &vol_on); show_item(vbox2, "Balance", show_balance, &bal_on); show_item(vbox2, "Pause", show_pause, &pause_on); show_item(vbox2, "Track Name", show_trackname, &trackname_on); vbox2 = gtk_vbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox2), vbox2, FALSE, FALSE, 0); show_item(vbox2, "Stop", show_stop, &stop_on); show_item(vbox2, "Repeat", show_repeat, &repeat_on); show_item(vbox2, "Shuffle", show_shuffle, &shuffle_on); sep=gtk_hseparator_new(); gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0); bbox = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), 5); gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, FALSE, 0); ok = gtk_button_new_with_label ("Ok"); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (configure_ok_cb), NULL); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); gtk_box_pack_start (GTK_BOX (bbox), ok, TRUE, TRUE, 0); gtk_widget_grab_default (ok); apply = gtk_button_new_with_label ("Apply"); gtk_signal_connect (GTK_OBJECT (apply), "clicked", GTK_SIGNAL_FUNC (configure_apply_cb), NULL); GTK_WIDGET_SET_FLAGS (apply, GTK_CAN_DEFAULT); gtk_box_pack_start (GTK_BOX (bbox), apply, TRUE, TRUE, 0); cancel = gtk_button_new_with_label ("Cancel"); gtk_signal_connect_object (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (configure_win)); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_box_pack_start (GTK_BOX (bbox), cancel, TRUE, TRUE, 0); gtk_widget_show_all (configure_win); }
static void alsa_make_config_widgets (alsa_driver *d) { GtkWidget *thing, *mainbox, *box2, *box3, *alsa_card, *alsa_device; /* static const char *resolutionlabels[] = { "8 bits", "16 bits", NULL }; */ /* static const char *channelslabels[] = { "Mono", "Stereo", NULL }; */ /* static const char *mixfreqlabels[] = { "8000", "16000", "22050", "44100", NULL }; */ static const char *resolutionlabels[] = { "16 bits", NULL }; static const char *channelslabels[] = { "Mono", NULL }; static const char *mixfreqlabels[] = { "8000", "16000", "22050", "44100", NULL }; d->configwidget = mainbox = gtk_vbox_new(FALSE, 2); thing = gtk_label_new(_("These changes won't take effect until you restart playing.")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(mainbox), thing, FALSE, TRUE, 0); thing = gtk_hseparator_new(); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(mainbox), thing, FALSE, TRUE, 0); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Resolution:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); make_radio_group_full(resolutionlabels, box2, d->prefs_resolution_w, FALSE, TRUE, (void(*)())prefs_resolution_changed, d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Channels:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); make_radio_group_full(channelslabels, box2, d->prefs_channels_w, FALSE, TRUE, (void(*)())prefs_channels_changed, d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Frequency [Hz]:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); make_radio_group_full(mixfreqlabels, box2, d->prefs_mixfreq_w, FALSE, TRUE, (void(*)())prefs_mixfreq_changed, d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); thing = gtk_label_new(_("Buffer Size:")); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); add_empty_hbox(box2); box3 = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(box2), box3, FALSE, TRUE, 0); gtk_widget_show(box3); d->bufsizespin_w = thing = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(d->fragsize, 64.0, 16384.0, 64.0, 0.0, 0.0)), 0, 0); gtk_box_pack_start(GTK_BOX(box3), thing, FALSE, TRUE, 0); gtk_widget_show(thing); g_signal_connect(thing, "value-changed", G_CALLBACK(prefs_fragsize_changed), d); d->bufsizelabel_w = thing = gtk_label_new(""); gtk_box_pack_start(GTK_BOX(box3), thing, FALSE, TRUE, 0); gtk_widget_show(thing); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); add_empty_hbox(box2); d->estimatelabel_w = thing = gtk_label_new(""); gtk_box_pack_start(GTK_BOX(box2), thing, FALSE, TRUE, 0); gtk_widget_show(thing); add_empty_hbox(box2); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); alsa_card = gtk_label_new(_("ALSA card number:")); gtk_widget_show(alsa_card); gtk_box_pack_start(GTK_BOX(box2), alsa_card, FALSE, TRUE, 0); add_empty_hbox(box2); d->alsacardspin_w = alsa_card = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(d->card_number, 0.0, 256.0, 1.0, 1.0, 0.0)), 0, 0); gtk_box_pack_start(GTK_BOX(box2), alsa_card, FALSE, TRUE, 0); gtk_widget_show(alsa_card); g_signal_connect(alsa_card, "value-changed", G_CALLBACK(prefs_alsacard_changed), d); box2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(box2); gtk_box_pack_start(GTK_BOX(mainbox), box2, FALSE, TRUE, 0); alsa_device = gtk_label_new(_("ALSA device number:")); gtk_widget_show(alsa_device); gtk_box_pack_start(GTK_BOX(box2), alsa_device, FALSE, TRUE, 0); add_empty_hbox(box2); d->alsadevicespin_w = alsa_device = gtk_spin_button_new(GTK_ADJUSTMENT(gtk_adjustment_new(d->device_number, 0.0, 256.0, 1.0, 1.0, 0.0)), 0, 0); gtk_box_pack_start(GTK_BOX(box2), alsa_device, FALSE, TRUE, 0); gtk_widget_show(alsa_device); g_signal_connect(alsa_device, "value-changed", G_CALLBACK(prefs_alsadevice_changed), d); prefs_init_from_structure(d); }