static void gimp_hue_saturation_tool_dialog (GimpImageMapTool *image_map_tool) { GimpHueSaturationTool *hs_tool = GIMP_HUE_SATURATION_TOOL (image_map_tool); GimpHueSaturationConfig *config = hs_tool->config; GtkWidget *main_vbox; GtkWidget *vbox; GtkWidget *abox; GtkWidget *table; GtkWidget *button; GtkWidget *frame; GtkWidget *hbox; GtkObject *data; GtkSizeGroup *label_group; GtkSizeGroup *spinner_group; GSList *group = NULL; gint i; const struct { const gchar *label; const gchar *tooltip; gint label_col; gint label_row; gint frame_col; gint frame_row; } hue_range_table[] = { { N_("M_aster"), N_("Adjust all colors"), 2, 3, 0, 0 }, { N_("_R"), N_("Red"), 2, 1, 2, 0 }, { N_("_Y"), N_("Yellow"), 1, 2, 0, 2 }, { N_("_G"), N_("Green"), 1, 4, 0, 4 }, { N_("_C"), N_("Cyan"), 2, 5, 2, 6 }, { N_("_B"), N_("Blue"), 3, 4, 4, 4 }, { N_("_M"), N_("Magenta"), 3, 2, 4, 2 } }; main_vbox = gimp_image_map_tool_dialog_get_vbox (image_map_tool); frame = gimp_frame_new (_("Select Primary Color to Adjust")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); gtk_widget_show (frame); vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_box_pack_start (GTK_BOX (vbox), abox, TRUE, TRUE, 0); gtk_widget_show (abox); /* The table containing hue ranges */ table = gtk_table_new (7, 5, FALSE); gtk_table_set_col_spacing (GTK_TABLE (table), 0, 4); gtk_table_set_col_spacing (GTK_TABLE (table), 3, 4); gtk_table_set_row_spacing (GTK_TABLE (table), 0, 2); gtk_table_set_row_spacing (GTK_TABLE (table), 5, 2); gtk_container_add (GTK_CONTAINER (abox), table); /* the radio buttons for hue ranges */ for (i = 0; i < G_N_ELEMENTS (hue_range_table); i++) { button = gtk_radio_button_new_with_mnemonic (group, gettext (hue_range_table[i].label)); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)); g_object_set_data (G_OBJECT (button), "gimp-item-data", GINT_TO_POINTER (i)); gimp_help_set_help_data (button, gettext (hue_range_table[i].tooltip), NULL); if (i == 0) { gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); hs_tool->range_radio = button; } gtk_table_attach (GTK_TABLE (table), button, hue_range_table[i].label_col, hue_range_table[i].label_col + 1, hue_range_table[i].label_row, hue_range_table[i].label_row + 1, GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); if (i > 0) { GimpRGB color = { 0.0 }; frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_table_attach (GTK_TABLE (table), frame, hue_range_table[i].frame_col, hue_range_table[i].frame_col + 1, hue_range_table[i].frame_row, hue_range_table[i].frame_row + 1, GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); gtk_widget_show (frame); hs_tool->hue_range_color_area[i - 1] = gimp_color_area_new (&color, GIMP_COLOR_AREA_FLAT, 0); gtk_widget_set_size_request (hs_tool->hue_range_color_area[i - 1], DA_WIDTH, DA_HEIGHT); gtk_container_add (GTK_CONTAINER (frame), hs_tool->hue_range_color_area[i - 1]); gtk_widget_show (hs_tool->hue_range_color_area[i - 1]); } g_signal_connect (button, "toggled", G_CALLBACK (hue_saturation_range_callback), hs_tool); gtk_widget_show (button); } gtk_widget_show (table); label_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); spinner_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* Create the 'Overlap' option slider */ table = gtk_table_new (3, 1, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 4); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); data = gimp_scale_entry_new (GTK_TABLE (table), 0, 0, _("_Overlap:"), SLIDER_WIDTH, -1, config->overlap * 100.0, 0.0, 100.0, 1.0, 15.0, 0, TRUE, 0.0, 0.0, NULL, NULL); hs_tool->overlap_data = GTK_ADJUSTMENT (data); gtk_size_group_add_widget (label_group, GIMP_SCALE_ENTRY_LABEL (data)); gtk_size_group_add_widget (spinner_group, GIMP_SCALE_ENTRY_SPINBUTTON (data)); g_object_unref (label_group); g_object_unref (spinner_group); g_signal_connect (data, "value-changed", G_CALLBACK (hue_saturation_overlap_changed), hs_tool); frame = gimp_frame_new (_("Adjust Selected Color")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); /* The table containing sliders */ vbox = gtk_vbox_new (FALSE, 4); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); table = gtk_table_new (3, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 4); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); /* Create the hue scale widget */ data = gimp_scale_entry_new (GTK_TABLE (table), 0, 0, _("_Hue:"), SLIDER_WIDTH, -1, config->hue[config->range] * 180.0, -180.0, 180.0, 1.0, 15.0, 0, TRUE, 0.0, 0.0, NULL, NULL); hs_tool->hue_data = GTK_ADJUSTMENT (data); gtk_size_group_add_widget (label_group, GIMP_SCALE_ENTRY_LABEL (data)); gtk_size_group_add_widget (spinner_group, GIMP_SCALE_ENTRY_SPINBUTTON (data)); g_signal_connect (data, "value-changed", G_CALLBACK (hue_saturation_hue_changed), hs_tool); /* Create the lightness scale widget */ data = gimp_scale_entry_new (GTK_TABLE (table), 0, 1, _("_Lightness:"), SLIDER_WIDTH, -1, config->lightness[config->range] * 100.0, -100.0, 100.0, 1.0, 10.0, 0, TRUE, 0.0, 0.0, NULL, NULL); hs_tool->lightness_data = GTK_ADJUSTMENT (data); gtk_size_group_add_widget (label_group, GIMP_SCALE_ENTRY_LABEL (data)); gtk_size_group_add_widget (spinner_group, GIMP_SCALE_ENTRY_SPINBUTTON (data)); g_signal_connect (data, "value-changed", G_CALLBACK (hue_saturation_lightness_changed), hs_tool); /* Create the saturation scale widget */ data = gimp_scale_entry_new (GTK_TABLE (table), 0, 2, _("_Saturation:"), SLIDER_WIDTH, -1, config->saturation[config->range] * 100.0, -100.0, 100.0, 1.0, 10.0, 0, TRUE, 0.0, 0.0, NULL, NULL); hs_tool->saturation_data = GTK_ADJUSTMENT (data); gtk_size_group_add_widget (label_group, GIMP_SCALE_ENTRY_LABEL (data)); gtk_size_group_add_widget (spinner_group, GIMP_SCALE_ENTRY_SPINBUTTON (data)); g_signal_connect (hs_tool->saturation_data, "value-changed", G_CALLBACK (hue_saturation_saturation_changed), hs_tool); hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); button = gtk_button_new_with_mnemonic (_("R_eset Color")); gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_widget_show (button); g_signal_connect (button, "clicked", G_CALLBACK (hue_saturation_range_reset_callback), hs_tool); gimp_int_radio_group_set_active (GTK_RADIO_BUTTON (hs_tool->range_radio), config->range); hue_saturation_update_color_areas (hs_tool); }
static void gimp_image_prop_view_init (GimpImagePropView *view) { GtkTable *table = GTK_TABLE (view); gint row = 0; gtk_table_resize (table, 14, 2); gtk_table_set_col_spacings (table, 6); gtk_table_set_row_spacings (table, 3); view->pixel_size_label = gimp_image_prop_view_add_label (table, row++, _("Size in pixels:")); view->print_size_label = gimp_image_prop_view_add_label (table, row++, _("Print size:")); view->resolution_label = gimp_image_prop_view_add_label (table, row++, _("Resolution:")); view->colorspace_label = gimp_image_prop_view_add_label (table, row, _("Color space:")); gtk_table_set_row_spacing (GTK_TABLE (view), row++, 12); view->filename_label = gimp_image_prop_view_add_label (table, row++, _("File Name:")); gtk_label_set_ellipsize (GTK_LABEL (view->filename_label), PANGO_ELLIPSIZE_MIDDLE); view->filesize_label = gimp_image_prop_view_add_label (table, row++, _("File Size:")); view->filetype_label = gimp_image_prop_view_add_label (table, row, _("File Type:")); gtk_table_set_row_spacing (GTK_TABLE (view), row++, 12); view->memsize_label = gimp_image_prop_view_add_label (table, row++, _("Size in memory:")); view->undo_label = gimp_image_prop_view_add_label (table, row++, _("Undo steps:")); view->redo_label = gimp_image_prop_view_add_label (table, row, _("Redo steps:")); gtk_table_set_row_spacing (GTK_TABLE (view), row++, 12); view->pixels_label = gimp_image_prop_view_add_label (table, row++, _("Number of pixels:")); view->layers_label = gimp_image_prop_view_add_label (table, row++, _("Number of layers:")); view->channels_label = gimp_image_prop_view_add_label (table, row++, _("Number of channels:")); view->vectors_label = gimp_image_prop_view_add_label (table, row++, _("Number of paths:")); }
void create_login (HWND hwnd, LPCSTR username, LPCSTR password, LPCSTR dsn, TLOGIN *log_t) { GtkWidget *login; GtkWidget *dialog_vbox8; GtkWidget *frame99; GtkWidget *alignment83; GtkWidget *table9; GtkWidget *label165; GtkWidget *t_user; GtkWidget *t_password; GtkWidget *label164; GtkWidget *dialog_action_area8; GtkWidget *b_ok; GtkWidget *b_cancel; char buff[1024]; if (hwnd == (HWND) - 1L) { gtk_init (0, NULL); hwnd = gtk_window_new (GTK_WINDOW_TOPLEVEL); } if (hwnd == NULL || !GTK_IS_WIDGET (hwnd)) return; login = gtk_dialog_new (); gtk_widget_set_name (login, "login"); gtk_widget_set_size_request (login, 400, 150); sprintf (buff, "Login for DSN %s ...", (dsn) ? dsn : "Unknown"); gtk_window_set_title (GTK_WINDOW (login), buff); gtk_window_set_position (GTK_WINDOW (login), GTK_WIN_POS_CENTER); gtk_window_set_modal (GTK_WINDOW (login), TRUE); gtk_window_set_default_size (GTK_WINDOW (login), 400, 150); gtk_window_set_type_hint (GTK_WINDOW (login), GDK_WINDOW_TYPE_HINT_DIALOG); #if GTK_CHECK_VERSION(2,0,0) gtk_widget_show (login); #endif dialog_vbox8 = GTK_DIALOG (login)->vbox; gtk_widget_set_name (dialog_vbox8, "dialog_vbox8"); gtk_widget_show (dialog_vbox8); frame99 = gtk_frame_new (NULL); gtk_widget_set_name (frame99, "frame99"); gtk_widget_show (frame99); gtk_box_pack_start (GTK_BOX (dialog_vbox8), frame99, TRUE, TRUE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame99), GTK_SHADOW_NONE); alignment83 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_set_name (alignment83, "alignment83"); gtk_widget_show (alignment83); gtk_container_add (GTK_CONTAINER (frame99), alignment83); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment83), 4, 0, 6, 7); table9 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table9, "table9"); gtk_widget_show (table9); gtk_container_add (GTK_CONTAINER (alignment83), table9); gtk_table_set_row_spacings (GTK_TABLE (table9), 10); gtk_table_set_col_spacings (GTK_TABLE (table9), 6); label165 = gtk_label_new (_("Password :"******"label165"); gtk_widget_show (label165); gtk_table_attach (GTK_TABLE (table9), label165, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label165), 0, 0.5); t_user = gtk_entry_new (); gtk_widget_set_name (t_user, "t_user"); gtk_widget_show (t_user); gtk_table_attach (GTK_TABLE (table9), t_user, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); if (username && STRLEN (username)) gtk_entry_set_text (GTK_ENTRY (t_user), username); t_password = gtk_entry_new (); gtk_widget_set_name (t_password, "t_password"); gtk_widget_show (t_password); gtk_table_attach (GTK_TABLE (table9), t_password, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_visibility (GTK_ENTRY (t_password), FALSE); if (password && STRLEN (password)) gtk_entry_set_text (GTK_ENTRY (t_password), password); label164 = gtk_label_new (_("Username :"******"label164"); gtk_widget_show (label164); gtk_table_attach (GTK_TABLE (table9), label164, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label164), 0, 0.5); dialog_action_area8 = GTK_DIALOG (login)->action_area; gtk_widget_set_name (dialog_action_area8, "dialog_action_area8"); gtk_widget_show (dialog_action_area8); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area8), GTK_BUTTONBOX_END); b_cancel = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_set_name (b_cancel, "b_cancel"); gtk_widget_show (b_cancel); gtk_dialog_add_action_widget (GTK_DIALOG (login), b_cancel, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (b_cancel, GTK_CAN_DEFAULT); b_ok = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_set_name (b_ok, "b_ok"); gtk_widget_show (b_ok); gtk_dialog_add_action_widget (GTK_DIALOG (login), b_ok, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (b_ok, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (login, login, "login"); GLADE_HOOKUP_OBJECT_NO_REF (login, dialog_vbox8, "dialog_vbox8"); GLADE_HOOKUP_OBJECT (login, frame99, "frame99"); GLADE_HOOKUP_OBJECT (login, alignment83, "alignment83"); GLADE_HOOKUP_OBJECT (login, table9, "table9"); GLADE_HOOKUP_OBJECT (login, label165, "label165"); GLADE_HOOKUP_OBJECT (login, t_user, "t_user"); GLADE_HOOKUP_OBJECT (login, t_password, "t_password"); GLADE_HOOKUP_OBJECT (login, label164, "label164"); GLADE_HOOKUP_OBJECT_NO_REF (login, dialog_action_area8, "dialog_action_area8"); GLADE_HOOKUP_OBJECT (login, b_ok, "b_ok"); GLADE_HOOKUP_OBJECT (login, b_cancel, "b_cancel"); /* Ok button events */ gtk_signal_connect (GTK_OBJECT (b_ok), "clicked", GTK_SIGNAL_FUNC (login_ok_clicked), log_t); /* Cancel button events */ gtk_signal_connect (GTK_OBJECT (b_cancel), "clicked", GTK_SIGNAL_FUNC (login_cancel_clicked), log_t); /* Close window button events */ gtk_signal_connect (GTK_OBJECT (login), "delete_event", GTK_SIGNAL_FUNC (delete_event), log_t); gtk_signal_connect (GTK_OBJECT (login), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); log_t->username = t_user; log_t->password = t_password; log_t->user = log_t->pwd = NULL; log_t->mainwnd = login; gtk_widget_show_all (login); gtk_main (); }
static GtkWidget *player_filter_pattern_editor (void) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *table; GtkWidget *label; GtkWidget *frame; GtkWidget *vscrollbar; GSList *group; int i; vbox = gtk_vbox_new (FALSE, 8); frame = gtk_frame_new (NULL); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); table = gtk_table_new (2, 2, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_table_set_col_spacings (GTK_TABLE (table), 4); gtk_container_set_border_width (GTK_CONTAINER (table), 6); gtk_container_add (GTK_CONTAINER (frame), table); /* Pattern Entry */ label = gtk_label_new (_("Pattern")); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, 0, 0, 0, 0); gtk_widget_show (label); pattern_entry = gtk_entry_new_with_max_length (256); gtk_table_attach_defaults (GTK_TABLE (table), pattern_entry, 1, 2, 0, 1); gtk_signal_connect (GTK_OBJECT (pattern_entry), "activate", GTK_SIGNAL_FUNC (sync_pattern_data), NULL); gtk_widget_show (pattern_entry); /* Mode Buttons */ hbox = gtk_hbox_new (FALSE, 4); gtk_table_attach_defaults (GTK_TABLE (table), hbox, 1, 2, 1, 2); group = NULL; for (i = 0; i < 3; i++) { mode_buttons[i] = gtk_radio_button_new_with_label (group, _(mode_names[i])); group = gtk_radio_button_group (GTK_RADIO_BUTTON (mode_buttons[i])); gtk_signal_connect (GTK_OBJECT (mode_buttons[i]), "clicked", GTK_SIGNAL_FUNC (sync_pattern_data), NULL); gtk_box_pack_start (GTK_BOX (hbox), mode_buttons[i], FALSE, FALSE, 0); gtk_widget_show (mode_buttons[i]); } gtk_widget_show (hbox); gtk_widget_show (table); gtk_widget_show (frame); /* Comment */ frame = gtk_frame_new (_("Pattern Comment")); gtk_box_pack_end (GTK_BOX (vbox), frame, TRUE, TRUE, 0); hbox = gtk_hbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); gtk_container_add (GTK_CONTAINER (frame), hbox); comment_text = gtk_text_new (NULL, NULL); gtk_widget_set_usize (comment_text, -1, 80); gtk_box_pack_start (GTK_BOX (hbox), comment_text, TRUE, TRUE, 0); gtk_widget_show (comment_text); vscrollbar = gtk_vscrollbar_new (GTK_TEXT (comment_text)->vadj); gtk_box_pack_start (GTK_BOX (hbox), vscrollbar, FALSE, FALSE, 0); gtk_widget_show (vscrollbar); gtk_widget_show (hbox); gtk_widget_show (frame); gtk_widget_show (vbox); return vbox; }
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 time_out_configure (XfcePanelPlugin *plugin, TimeOutPlugin *time_out) { GtkWidget *dialog; GtkWidget *framebox; GtkWidget *timebin; GtkWidget *behaviourbin; GtkWidget *appearancebin; GtkWidget *table; GtkWidget *vbox; GtkWidget *label; GtkWidget *spin; GtkWidget *checkbutton; g_return_if_fail (plugin != NULL); g_return_if_fail (time_out != NULL); /* Pause break timer for the time we're configuring */ if (G_LIKELY (time_out_countdown_get_running (time_out->break_countdown))) time_out_countdown_pause (time_out->break_countdown); /* Block plugin context menu */ xfce_panel_plugin_block_menu (plugin); /* Create properties dialog */ dialog = xfce_titled_dialog_new_with_buttons (_("Time Out"), GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))), GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL); /* Set dialog property */ g_object_set_data (G_OBJECT (plugin), "dialog", dialog); /* Be notified when the properties dialog is closed */ g_signal_connect (dialog, "response", G_CALLBACK (time_out_end_configure), time_out); /* Basic dialog window setup */ gtk_window_set_icon_name (GTK_WINDOW (dialog), "xfce4-time-out-plugin"); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); /* Create time settings section */ framebox = xfce_gtk_frame_box_new (_("Time settings"), &timebin); gtk_container_set_border_width (GTK_CONTAINER (framebox), 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), framebox, TRUE, TRUE, 0); gtk_widget_show (framebox); /* Create time settings table */ table = gtk_table_new (3, 3, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 12); gtk_container_add (GTK_CONTAINER (timebin), table); gtk_widget_show (table); /* Create the labels for the minutes and seconds spins */ label = gtk_label_new (_("Minutes")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_SHRINK, GTK_FILL, 1.0, 0.5); gtk_widget_show (label); label = gtk_label_new (_("Seconds")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_SHRINK, GTK_FILL, 1.0, 0.5); gtk_widget_show (label); /* Create break countdown time label */ label = gtk_label_new (_("Time between breaks:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 1.0, 0.5); gtk_widget_show (label); /* Create break countdown time minute spin */ spin = gtk_spin_button_new_with_range (1, 24 * 60, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time_out->break_countdown_seconds / 60); gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0.0, 0.5); gtk_widget_show (spin); /* Store reference on the spin button in the plugin */ g_object_set_data (G_OBJECT (time_out->plugin), "break-countdown-minutes-spin", spin); /* Create break countdown time minute spin */ spin = gtk_spin_button_new_with_range (0, 59, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time_out->break_countdown_seconds % 60); gtk_table_attach (GTK_TABLE (table), spin, 2, 3, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0.0, 0.5); gtk_widget_show (spin); /* Store reference on the spin button in the plugin */ g_object_set_data (G_OBJECT (time_out->plugin), "break-countdown-seconds-spin", spin); /* Create lock countdown time label */ label = gtk_label_new (_("Break length:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 1.0, 0.5); gtk_widget_show (label); /* Create lock countdown time spins */ spin = gtk_spin_button_new_with_range (0, 24 * 60, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time_out->lock_countdown_seconds / 60); g_signal_connect (spin, "value-changed", G_CALLBACK (time_out_lock_countdown_minutes_changed), time_out); gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_FILL, 0.0, 0.5); gtk_widget_show (spin); spin = gtk_spin_button_new_with_range (0, 59, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time_out->lock_countdown_seconds % 60); g_signal_connect (spin, "value-changed", G_CALLBACK (time_out_lock_countdown_seconds_changed), time_out); gtk_table_attach (GTK_TABLE (table), spin, 2, 3, 2, 3, GTK_EXPAND | GTK_FILL, GTK_FILL, 0.0, 0.5); gtk_widget_show (spin); /* Create postpone countdown time label */ label = gtk_label_new (_("Postpone length:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 3, 4, GTK_FILL, GTK_FILL, 1.0, 0.5); gtk_widget_show (label); /* Create postpone countdown time spins */ spin = gtk_spin_button_new_with_range (0, 24 * 60, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time_out->postpone_countdown_seconds / 60); g_signal_connect (spin, "value-changed", G_CALLBACK (time_out_postpone_countdown_minutes_changed), time_out); gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0.0, 0.5); gtk_widget_show (spin); spin = gtk_spin_button_new_with_range (0, 59, 1); gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time_out->postpone_countdown_seconds % 60); g_signal_connect (spin, "value-changed", G_CALLBACK (time_out_postpone_countdown_seconds_changed), time_out); gtk_table_attach (GTK_TABLE (table), spin, 2, 3, 3, 4, GTK_EXPAND | GTK_FILL, GTK_FILL, 0.0, 0.5); gtk_widget_show (spin); /* Create behaviour section */ framebox = xfce_gtk_frame_box_new (_("Behaviour"), &behaviourbin); gtk_container_set_border_width (GTK_CONTAINER (framebox), 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), framebox, TRUE, TRUE, 0); gtk_widget_show (framebox); /* Create behaviour box */ vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (behaviourbin), vbox); gtk_widget_show (vbox); /* Create postpone check button */ checkbutton = gtk_check_button_new_with_label (_("Allow postpone")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), time_out->allow_postpone); g_signal_connect (checkbutton, "toggled", G_CALLBACK (time_out_allow_postpone_toggled), time_out); gtk_container_add (GTK_CONTAINER (vbox), checkbutton); gtk_widget_show (checkbutton); /* Create resume check button */ checkbutton = gtk_check_button_new_with_label (_("Resume automatically")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), time_out->auto_resume); g_signal_connect (checkbutton, "toggled", G_CALLBACK (time_out_auto_resume_toggled), time_out); gtk_container_add (GTK_CONTAINER (vbox), checkbutton); gtk_widget_show (checkbutton); /* Create appearance section */ framebox = xfce_gtk_frame_box_new (_("Appearance"), &appearancebin); gtk_container_set_border_width (GTK_CONTAINER (framebox), 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), framebox, TRUE, TRUE, 0); gtk_widget_show (framebox); /* Create appearance box */ vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (appearancebin), vbox); gtk_widget_show (vbox); /* Create note label */ label = gtk_label_new(_("Note: Icon and time cannot be hidden simultaneously.")); gtk_container_add (GTK_CONTAINER (vbox), label); gtk_widget_show(label); /* Create display icon check button */ checkbutton = gtk_check_button_new_with_label (_("Display icon")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), time_out->display_icon); g_signal_connect (checkbutton, "toggled", G_CALLBACK (time_out_display_icon_toggled), time_out); gtk_container_add (GTK_CONTAINER (vbox), checkbutton); gtk_widget_show (checkbutton); /* Create display time check button */ checkbutton = gtk_check_button_new_with_label (_("Display remaining time in the panel")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), time_out->display_time); g_signal_connect (checkbutton, "toggled", G_CALLBACK (time_out_display_time_toggled), time_out); gtk_container_add (GTK_CONTAINER (vbox), checkbutton); gtk_widget_show (checkbutton); /* Create display hours check button */ checkbutton = gtk_check_button_new_with_label (_("Display hours")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), time_out->display_hours); g_signal_connect (checkbutton, "toggled", G_CALLBACK (time_out_display_hours_toggled), time_out); gtk_container_add (GTK_CONTAINER (vbox), checkbutton); gtk_widget_show (checkbutton); /* Create display seconds check button */ checkbutton = gtk_check_button_new_with_label (_("Display seconds")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), time_out->display_seconds); g_signal_connect (checkbutton, "toggled", G_CALLBACK (time_out_display_seconds_toggled), time_out); gtk_container_add (GTK_CONTAINER (vbox), checkbutton); gtk_widget_show (checkbutton); /* Show the entire dialog */ gtk_widget_show (dialog); }
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; }
int main(int argc,char *argv[]) { GtkWidget *window; GtkWidget *vbox; GtkWidget *table; GtkWidget *button; guint i,j,num; gchar *values[20]={"7","8","9", "4","5","6", "1","2","3", "0",".","=", "/","*","-","+", "Bksp","CE","Clear","+/-" }; gtk_init(&argc,&argv); //窗体设置 window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window),"计算器"); gtk_window_set_default_size(GTK_WINDOW(window),400,300); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); gtk_window_set_icon(GTK_WINDOW(window),create_pixbuf("calc.png")); gtk_container_set_border_width(GTK_CONTAINER(window),10); g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL); vbox=gtk_vbox_new(FALSE,5); gtk_container_add(GTK_CONTAINER(window),vbox); table=gtk_table_new(6,4,TRUE); gtk_table_set_row_spacings(GTK_TABLE(table),10); gtk_table_set_col_spacings(GTK_TABLE(table),10); gtk_box_pack_start(GTK_BOX(vbox),table,TRUE,TRUE,0); entry=gtk_entry_new(); gtk_entry_set_alignment(GTK_ENTRY(entry),1); gtk_table_attach_defaults(GTK_TABLE(table),entry,0,4,0,1); //数字0-9和小数点按钮 num=0; for(j=2;j<6;j++) { for(i=0;i<3;i++) { button=gtk_button_new_with_label(values[num]); gtk_table_attach_defaults(GTK_TABLE(table),button,i,i+1,j,j+1); num++; g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(num_click),NULL); if(j==5 && i==1) i=3; } } //加、减、乘、除按钮 num=12; for(j=2,i=3;j<6;j++,i--) { button=gtk_button_new_with_label(values[num]); gtk_table_attach_defaults(GTK_TABLE(table),button,3,4,j,j+1); num++; g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(suan_click),NULL); } //等号按钮 button=gtk_button_new_with_label(values[11]); gtk_table_attach_defaults(GTK_TABLE(table),button,2,3,5,6); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(deng_click),NULL); //Backspace按钮 button=gtk_button_new_with_label(values[16]); gtk_table_attach_defaults(GTK_TABLE(table),button,0,1,1,2); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(backspace_click),NULL); //CE按钮 button=gtk_button_new_with_label(values[17]); gtk_table_attach_defaults(GTK_TABLE(table),button,1,2,1,2); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(ce_click),NULL); //Clear按钮 button=gtk_button_new_with_label(values[18]); gtk_table_attach_defaults(GTK_TABLE(table),button,2,3,1,2); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(clear_click),NULL); //+/-按钮 button=gtk_button_new_with_label(values[19]); gtk_table_attach_defaults(GTK_TABLE(table),button,3,4,1,2); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(flag_click),NULL); frame=gtk_frame_new(""); gtk_box_pack_start(GTK_BOX(vbox),frame,TRUE,TRUE,0); label=gtk_label_new(""); gtk_label_set_markup(GTK_LABEL(label),title); gtk_container_add(GTK_CONTAINER(frame),label); gtk_widget_show_all(window); gtk_main(); }
static GtkWidget * gimp_proc_view_create_params (GimpParamDef *params, gint n_params, GtkSizeGroup *name_group, GtkSizeGroup *type_group, GtkSizeGroup *desc_group) { GtkWidget *table; gint i; table = gtk_table_new (n_params, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 4); for (i = 0; i < n_params; i++) { GtkWidget *label; const gchar *type; gchar *upper; /* name */ label = gtk_label_new (params[i].name); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_size_group_add_widget (name_group, label); gtk_table_attach (GTK_TABLE (table), label, 0, 1, i, i + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (label); /* type */ if (! gimp_enum_get_value (GIMP_TYPE_PDB_ARG_TYPE, params[i].type, NULL, &type, NULL, NULL)) upper = g_strdup ("UNKNOWN"); else upper = g_ascii_strup (type, -1); label = gtk_label_new (upper); g_free (upper); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_FAMILY, "monospace", PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC, -1); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_size_group_add_widget (type_group, label); gtk_table_attach (GTK_TABLE (table), label, 1, 2, i, i + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (label); /* description */ label = gtk_label_new (params[i].description); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_size_group_add_widget (desc_group, label); gtk_table_attach (GTK_TABLE (table), label, 2, 3, i, i + 1, GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (label); } return table; }
GtkWidget* ghack_init_status_window () { GtkWidget *horizSep0, *horizSep1, *horizSep2, *horizSep3; GtkWidget *statsHBox, *strVBox, *dexVBox, *intVBox, *statHBox; GtkWidget *wisVBox, *conVBox, *chaVBox; GtkWidget *alignVBox, *hungerVBox, *sickVBox, *blindVBox; GtkWidget *stunVBox, *halluVBox, *confuVBox, *encumbVBox; /* Set up a (ridiculous) initial state */ lastDepth = 9999; lastStr = 9999; lastInt = 9999; lastWis = 9999; lastDex = 9999; lastCon = 9999; lastCha = 9999; lastAu = 9999; lastHP = 9999; lastMHP = 9999; lastLevel = 9999; lastPOW = 9999; lastMPOW = 9999; lastAC = 9999; lastExp = 9999; lastAlignment = A_NEUTRAL; /* start off guessing neutral */ lastHungr = 9999; lastConf = 9999; lastBlind = 9999; lastStun = 9999; lastHalu = 9999; lastSick = 9999; lastEncumb = 9999; statTable = gtk_table_new( 10, 8, FALSE); gtk_table_set_row_spacings( GTK_TABLE( statTable), 1); gtk_table_set_col_spacings( GTK_TABLE( statTable), 1); /* Begin the first row of the table -- the title */ titleLabel = gtk_label_new( _("GnomeHack!")); gtk_table_attach( GTK_TABLE( statTable), titleLabel, 0, 8, 0, 1, GTK_FILL, 0, 0, 0); if (!normalStyle) normalStyle = gtk_style_copy ( gtk_widget_get_style (GTK_WIDGET (titleLabel))); /* Set up some styles to draw stuff with */ if (!redStyle) { g_assert (greenStyle == NULL); g_assert (bigStyle == NULL); g_assert (bigRedStyle == NULL); g_assert (bigGreenStyle == NULL); greenStyle = gtk_style_copy (normalStyle); redStyle = gtk_style_copy (normalStyle); bigRedStyle = gtk_style_copy (normalStyle); bigGreenStyle = gtk_style_copy (normalStyle); bigStyle = gtk_style_copy (normalStyle); greenStyle->fg[GTK_STATE_NORMAL] = color_green; redStyle->fg[GTK_STATE_NORMAL] = color_red; bigRedStyle->fg[GTK_STATE_NORMAL] = color_red; bigGreenStyle->fg[GTK_STATE_NORMAL] = color_green; gdk_font_unref (bigRedStyle->font); gdk_font_unref (bigGreenStyle->font); bigRedStyle->font = gdk_font_load("-misc-fixed-*-*-*-*-20-*-*-*-*-*-*-*"); bigGreenStyle->font = gdk_font_load("-misc-fixed-*-*-*-*-20-*-*-*-*-*-*-*"); gdk_font_unref (bigStyle->font); bigStyle->font = gdk_font_load ("-misc-fixed-*-*-*-*-20-*-*-*-*-*-*-*"); } gtk_widget_set_style (GTK_WIDGET (titleLabel), bigStyle); /* Begin the second row */ dgnLevelLabel = gtk_label_new (_ ("Nethack for Gnome")); gtk_table_attach (GTK_TABLE (statTable), dgnLevelLabel, 0, 8, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_set_style (GTK_WIDGET (dgnLevelLabel), bigStyle); /* Begin the third row */ horizSep0 = gtk_hseparator_new (); gtk_table_attach (GTK_TABLE (statTable), horizSep0, 0, 8, 2, 3, GTK_FILL, GTK_FILL, 0, 0); /* Begin the fourth row */ statsHBox = gtk_hbox_new (TRUE, 0); strVBox = gtk_vbox_new (FALSE, 0); strPix = gnome_pixmap_new_from_xpm_d( str_xpm); strLabel = gtk_label_new( "STR: "); gtk_box_pack_start (GTK_BOX (strVBox), strPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (strVBox), strLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statsHBox), GTK_WIDGET(strVBox), TRUE, TRUE, 2); dexVBox = gtk_vbox_new (FALSE, 0); dexPix = gnome_pixmap_new_from_xpm_d( dex_xpm); dexLabel = gtk_label_new( "DEX: "); gtk_box_pack_start (GTK_BOX (dexVBox), dexPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (dexVBox), dexLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statsHBox), GTK_WIDGET(dexVBox), TRUE, TRUE, 2); conVBox = gtk_vbox_new (FALSE, 0); conPix = gnome_pixmap_new_from_xpm_d( cns_xpm); conLabel = gtk_label_new( "CON: "); gtk_box_pack_start (GTK_BOX (conVBox), conPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (conVBox), conLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statsHBox), GTK_WIDGET(conVBox), TRUE, TRUE, 2); intVBox = gtk_vbox_new (FALSE, 0); intPix = gnome_pixmap_new_from_xpm_d( int_xpm); intLabel = gtk_label_new( "INT: "); gtk_box_pack_start (GTK_BOX (intVBox), intPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (intVBox), intLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statsHBox), GTK_WIDGET(intVBox), TRUE, TRUE, 2); wisVBox = gtk_vbox_new (FALSE, 0); wisPix = gnome_pixmap_new_from_xpm_d( wis_xpm); wisLabel = gtk_label_new( "WIS: "); gtk_box_pack_start (GTK_BOX (wisVBox), wisPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (wisVBox), wisLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statsHBox), GTK_WIDGET(wisVBox), TRUE, TRUE, 2); chaVBox = gtk_vbox_new (FALSE, 0); chaPix = gnome_pixmap_new_from_xpm_d( cha_xpm); chaLabel = gtk_label_new( "CHA: "); gtk_box_pack_start (GTK_BOX (chaVBox), chaPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (chaVBox), chaLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statsHBox), GTK_WIDGET(chaVBox), TRUE, TRUE, 2); gtk_table_attach( GTK_TABLE( statTable), GTK_WIDGET(statsHBox), 0, 8, 3, 4, GTK_FILL, 0, 0, 0); /* Begin the fifth row */ horizSep1 = gtk_hseparator_new(); gtk_table_attach( GTK_TABLE( statTable), horizSep1, 0, 8, 4, 5, GTK_FILL, GTK_FILL, 0, 0); /* Begin the sixth row */ hpLabel = gtk_label_new( "HP: "); gtk_table_attach( GTK_TABLE( statTable), hpLabel, 0, 1, 5, 6, GTK_FILL, 0, 0, 0); acLabel = gtk_label_new( "AC: "); gtk_table_attach( GTK_TABLE( statTable), acLabel, 2, 3, 5, 6, GTK_FILL, 0, 0, 0); powLabel = gtk_label_new( "Power: "); gtk_table_attach( GTK_TABLE( statTable), powLabel, 4, 5, 5, 6, GTK_FILL, 0, 0, 0); goldLabel = gtk_label_new( "Au: "); gtk_table_attach( GTK_TABLE( statTable), goldLabel, 6, 7, 5, 6, GTK_FILL, 0, 0, 0); /* Begin the seventh row */ horizSep2 = gtk_hseparator_new(); gtk_table_attach( GTK_TABLE( statTable), horizSep2, 0, 8, 6, 7, GTK_FILL, GTK_FILL, 0, 0); /* Begin the eigth row */ levlLabel = gtk_label_new( "Level: "); gtk_table_attach( GTK_TABLE( statTable), levlLabel, 0, 1, 7, 8, GTK_FILL, 0, 0, 0); expLabel = gtk_label_new( "Exp: "); gtk_table_attach( GTK_TABLE( statTable), expLabel, 2, 3, 7, 8, GTK_FILL, 0, 0, 0); timeLabel = gtk_label_new( "Time: "); gtk_table_attach( GTK_TABLE( statTable), timeLabel, 4, 5, 7, 8, GTK_FILL, 0, 0, 0); scoreLabel = gtk_label_new( "Score: "); gtk_table_attach( GTK_TABLE( statTable), scoreLabel, 6, 7, 7, 8, GTK_FILL, 0, 0, 0); /* Begin the ninth row */ horizSep3 = gtk_hseparator_new(); gtk_table_attach( GTK_TABLE( statTable), horizSep3, 0, 8, 8, 9, GTK_FILL, GTK_FILL, 0, 0); /* Begin the tenth and last row */ statHBox = gtk_hbox_new (FALSE, 0); alignVBox = gtk_vbox_new (FALSE, 0); alignPix = gnome_pixmap_new_from_xpm_d( neutral_xpm); alignLabel = gtk_label_new( "Neutral"); gtk_box_pack_start (GTK_BOX (alignVBox), alignPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (alignVBox), alignLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(alignVBox), TRUE, FALSE, 2); hungerVBox = gtk_vbox_new (FALSE, 0); hungerPix = gnome_pixmap_new_from_xpm_d( hungry_xpm); hungerLabel = gtk_label_new( "Hungry"); gtk_box_pack_start (GTK_BOX (hungerVBox), hungerPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (hungerVBox), hungerLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(hungerVBox), TRUE, FALSE, 2); sickVBox = gtk_vbox_new (FALSE, 0); sickPix = gnome_pixmap_new_from_xpm_d( sick_fp_xpm); sickLabel = gtk_label_new( "FoodPois"); gtk_box_pack_start (GTK_BOX (sickVBox), sickPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (sickVBox), sickLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(sickVBox), TRUE, FALSE, 2); blindVBox = gtk_vbox_new (FALSE, 0); blindPix = gnome_pixmap_new_from_xpm_d( blind_xpm); blindLabel = gtk_label_new( "Blind"); gtk_box_pack_start (GTK_BOX (blindVBox), blindPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (blindVBox), blindLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(blindVBox), TRUE, FALSE, 2); stunVBox = gtk_vbox_new (FALSE, 0); stunPix = gnome_pixmap_new_from_xpm_d( stunned_xpm); stunLabel = gtk_label_new( "Stun"); gtk_box_pack_start (GTK_BOX (stunVBox), stunPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (stunVBox), stunLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(stunVBox), TRUE, FALSE, 2); confuVBox = gtk_vbox_new (FALSE, 0); confuPix = gnome_pixmap_new_from_xpm_d( confused_xpm); confuLabel = gtk_label_new( "Confused"); gtk_box_pack_start (GTK_BOX (confuVBox), confuPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (confuVBox), confuLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(confuVBox), TRUE, FALSE, 2); halluVBox = gtk_vbox_new (FALSE, 0); halluPix = gnome_pixmap_new_from_xpm_d( hallu_xpm); halluLabel = gtk_label_new( "Hallu"); gtk_box_pack_start (GTK_BOX (halluVBox), halluPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (halluVBox), halluLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(halluVBox), TRUE, FALSE, 2); encumbVBox = gtk_vbox_new (FALSE, 0); encumbPix = gnome_pixmap_new_from_xpm_d( slt_enc_xpm); encumbLabel = gtk_label_new( "Burdened"); gtk_box_pack_start (GTK_BOX (encumbVBox), encumbPix, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX (encumbVBox), encumbLabel, TRUE, TRUE, 2); gtk_box_pack_start (GTK_BOX(statHBox), GTK_WIDGET(encumbVBox), TRUE, FALSE, 2); gtk_table_attach( GTK_TABLE( statTable), GTK_WIDGET(statHBox), 0, 8, 9, 10, GTK_FILL, GTK_FILL, 0, 0); /* Set up the necessary signals */ gtk_signal_connect (GTK_OBJECT (statTable), "ghack_fade_highlight", GTK_SIGNAL_FUNC (ghack_fade_highlighting), NULL); gtk_signal_connect (GTK_OBJECT (statTable), "ghack_putstr", GTK_SIGNAL_FUNC (ghack_status_window_put_string), NULL); gtk_signal_connect (GTK_OBJECT (statTable), "ghack_clear", GTK_SIGNAL_FUNC (ghack_status_window_clear), NULL); gtk_signal_connect (GTK_OBJECT (statTable), "ghack_curs", GTK_SIGNAL_FUNC (ghack_status_window_cursor_to), NULL); gtk_signal_connect(GTK_OBJECT (statTable), "gnome_delay_output", GTK_SIGNAL_FUNC(ghack_delay), NULL); /* Lastly, show the status window and everything in it */ gtk_widget_show_all( statTable); return GTK_WIDGET(statTable); }
gint gprj_project_add_properties_tab(GtkWidget *notebook) { GtkWidget *vbox, *hbox, *hbox1; GtkWidget *table; GtkWidget *label; gchar *str; gint page_index; e = g_new0(PropertyDialogElements, 1); vbox = gtk_vbox_new(FALSE, 0); table = gtk_table_new(3, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 10); label = gtk_label_new(_("Source patterns:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); e->source_patterns = gtk_entry_new(); ui_table_add_row(GTK_TABLE(table), 0, label, e->source_patterns, NULL); ui_entry_add_clear_icon(GTK_ENTRY(e->source_patterns)); ui_widget_set_tooltip_text(e->source_patterns, _("Space separated list of patterns that are used to identify source files.")); str = g_strjoinv(" ", g_prj->source_patterns); gtk_entry_set_text(GTK_ENTRY(e->source_patterns), str); g_free(str); label = gtk_label_new(_("Header patterns:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); e->header_patterns = gtk_entry_new(); ui_entry_add_clear_icon(GTK_ENTRY(e->header_patterns)); ui_table_add_row(GTK_TABLE(table), 1, label, e->header_patterns, NULL); ui_widget_set_tooltip_text(e->header_patterns, _("Space separated list of patterns that are used to identify headers. " "Used mainly for header/source swapping.")); str = g_strjoinv(" ", g_prj->header_patterns); gtk_entry_set_text(GTK_ENTRY(e->header_patterns), str); g_free(str); label = gtk_label_new(_("Ignored dirs patterns:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); e->ignored_dirs_patterns = gtk_entry_new(); ui_entry_add_clear_icon(GTK_ENTRY(e->ignored_dirs_patterns)); ui_table_add_row(GTK_TABLE(table), 2, label, e->ignored_dirs_patterns, NULL); ui_widget_set_tooltip_text(e->ignored_dirs_patterns, _("Space separated list of patterns that are used to identify directories " "that are not scanned for source files.")); str = g_strjoinv(" ", g_prj->ignored_dirs_patterns); gtk_entry_set_text(GTK_ENTRY(e->ignored_dirs_patterns), str); g_free(str); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 6); e->generate_tags = gtk_check_button_new_with_label(_("Generate tags for all project files")); ui_widget_set_tooltip_text(e->generate_tags, _("Generate tag list for all project files instead of only for the currently opened files. " "Too slow for big projects (>1000 files) and should be disabled in this case.")); gtk_box_pack_start(GTK_BOX(vbox), e->generate_tags, FALSE, FALSE, 6); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e->generate_tags), g_prj->generate_tags); hbox1 = gtk_hbox_new(FALSE, 0); label = gtk_label_new(_("Note: set the patterns of files belonging to the project under the Project tab.")); gtk_box_pack_start(GTK_BOX(hbox1), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox1, FALSE, FALSE, 6); label = gtk_label_new(_("GProject")); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 6); page_index = gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbox, label); gtk_widget_show_all(notebook); return page_index; }
static VALUE rg_set_row_spacings(VALUE self, VALUE spc) { gtk_table_set_row_spacings(_SELF(self), NUM2UINT(spc)); return self; }
/** * gimp_display_shell_scale_dialog: * @shell: the #GimpDisplayShell * * Constructs and displays a dialog allowing the user to enter a * custom display scale. **/ void gimp_display_shell_scale_dialog (GimpDisplayShell *shell) { ScaleDialogData *data; GimpImage *image; GtkWidget *toplevel; GtkWidget *hbox; GtkWidget *table; GtkWidget *spin; GtkWidget *label; gint num, denom, row; g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); if (shell->scale_dialog) { gtk_window_present (GTK_WINDOW (shell->scale_dialog)); return; } if (SCALE_EQUALS (shell->other_scale, 0.0)) { /* other_scale not yet initialized */ shell->other_scale = gimp_zoom_model_get_factor (shell->zoom); } image = gimp_display_get_image (shell->display); data = g_slice_new (ScaleDialogData); data->shell = shell; data->model = g_object_new (GIMP_TYPE_ZOOM_MODEL, "value", fabs (shell->other_scale), NULL); shell->scale_dialog = gimp_viewable_dialog_new (GIMP_VIEWABLE (image), gimp_get_user_context (shell->display->gimp), _("Zoom Ratio"), "display_scale", GTK_STOCK_ZOOM_100, _("Select Zoom Ratio"), GTK_WIDGET (shell), gimp_standard_help_func, GIMP_HELP_VIEW_ZOOM_OTHER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_alternative_button_order (GTK_DIALOG (shell->scale_dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); g_object_weak_ref (G_OBJECT (shell->scale_dialog), (GWeakNotify) gimp_display_shell_scale_dialog_free, data); g_object_weak_ref (G_OBJECT (shell->scale_dialog), (GWeakNotify) g_object_unref, data->model); g_object_add_weak_pointer (G_OBJECT (shell->scale_dialog), (gpointer) &shell->scale_dialog); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (shell)); gtk_window_set_transient_for (GTK_WINDOW (shell->scale_dialog), GTK_WINDOW (toplevel)); gtk_window_set_destroy_with_parent (GTK_WINDOW (shell->scale_dialog), TRUE); g_signal_connect (shell->scale_dialog, "response", G_CALLBACK (gimp_display_shell_scale_dialog_response), data); table = gtk_table_new (2, 2, FALSE); gtk_container_set_border_width (GTK_CONTAINER (table), 12); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (shell->scale_dialog))), table, TRUE, TRUE, 0); gtk_widget_show (table); row = 0; hbox = gtk_hbox_new (FALSE, 6); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Zoom ratio:"), 0.0, 0.5, hbox, 1, FALSE); gimp_zoom_model_get_fraction (data->model, &num, &denom); spin = gimp_spin_button_new ((GtkObject **) &data->num_adj, num, 1, 256, 1, 8, 0, 1, 0); gtk_entry_set_activates_default (GTK_ENTRY (spin), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spin, TRUE, TRUE, 0); gtk_widget_show (spin); label = gtk_label_new (":"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); spin = gimp_spin_button_new ((GtkObject **) &data->denom_adj, denom, 1, 256, 1, 8, 0, 1, 0); gtk_entry_set_activates_default (GTK_ENTRY (spin), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spin, TRUE, TRUE, 0); gtk_widget_show (spin); hbox = gtk_hbox_new (FALSE, 6); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Zoom:"), 0.0, 0.5, hbox, 1, FALSE); spin = gimp_spin_button_new ((GtkObject **) &data->scale_adj, fabs (shell->other_scale) * 100, 100.0 / 256.0, 25600.0, 10, 50, 0, 1, 2); gtk_entry_set_activates_default (GTK_ENTRY (spin), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spin, TRUE, TRUE, 0); gtk_widget_show (spin); label = gtk_label_new ("%"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); g_signal_connect (data->scale_adj, "value-changed", G_CALLBACK (update_zoom_values), data); g_signal_connect (data->num_adj, "value-changed", G_CALLBACK (update_zoom_values), data); g_signal_connect (data->denom_adj, "value-changed", G_CALLBACK (update_zoom_values), data); gtk_widget_show (shell->scale_dialog); }
static GtkWidget* gui_ext_flags(void) { GdkFont *font; GtkWidget *b_expire; GtkWidget *hbox1; GtkWidget *table1; GtkWidget *label1; GtkWidget *label3; GtkWidget *label6; hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_hide(hbox1); table1 = gtk_table_new(2, 4, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(hbox1), table1, FALSE, FALSE, 3); gtk_table_set_col_spacings(GTK_TABLE(table1), 4); gtk_table_set_row_spacings(GTK_TABLE(table1), 4); label1 = gtk_label_new(_("Created:")); font = gtk_widget_get_style(label1)->font; gtk_widget_show(label1); gtk_table_attach(GTK_TABLE(table1), label1, 0, 1, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label1), 1, 0.5); sp->tlabel_created = time_label_new(); time_label_set_format(TIME_LABEL(sp->tlabel_created), "%b %d %Y %X"); gtk_widget_show(sp->tlabel_created); gtk_table_attach(GTK_TABLE(table1), sp->tlabel_created, 1, 2, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(sp->tlabel_created), 0, 0.5); label3 = gtk_label_new(_("Changed:")); gtk_widget_show(label3); gtk_table_attach(GTK_TABLE(table1), label3, 2, 3, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label3), 1, 0.5); sp->tlabel_changed = time_label_new(); time_label_set_format(TIME_LABEL(sp->tlabel_changed), "%b %d %Y %X"); gtk_widget_show(sp->tlabel_changed); gtk_table_attach(GTK_TABLE(table1), sp->tlabel_changed, 3, 4, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(sp->tlabel_changed), 0, 0.5); label6 = gtk_label_new(_("Changes:")); gtk_widget_show(label6); gtk_table_attach(GTK_TABLE(table1), label6, 2, 3, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label6), 1, 0.5); sp->label_changes = gtk_label_new(""); gtk_widget_show(sp->label_changes); gtk_table_attach(GTK_TABLE(table1), sp->label_changes, 3, 4, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(sp->label_changes), 0, 0.5); b_expire = gtk_button_new_with_label(_("Expires:")); gtk_widget_set_usize(b_expire, -1, gdk_string_height(font, "W") + 10); gtk_widget_show(b_expire); gtk_table_attach(GTK_TABLE(table1), b_expire, 0, 1, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); sp->tlabel_expire = time_label_new(); time_label_set_format(TIME_LABEL(sp->tlabel_expire), "%b %d %Y"); gtk_widget_show(sp->tlabel_expire); gtk_table_attach(GTK_TABLE(table1), sp->tlabel_expire, 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); gtk_misc_set_alignment(GTK_MISC(sp->tlabel_expire), 0, 0.5); gtk_signal_connect(GTK_OBJECT(b_expire), "clicked", GTK_SIGNAL_FUNC(cb_open_date_sel), sp->tlabel_expire); return (hbox1); }
/* -------------------------- * p_dialog * -------------------------- */ static gboolean p_dialog (TransValues *val_ptr, gint32 drawable_id) { GtkWidget *dialog; GtkWidget *main_vbox; GtkWidget *label; GtkWidget *table; GtkWidget *combo; GtkObject *adj; gint row; gboolean run; gboolean isResynthesizerInstalled; gboolean foundResynth; gboolean foundResynthS; foundResynthS = gap_pdb_procedure_name_available(PLUG_IN_RESYNTHESIZER_WITH_SEED); foundResynth = gap_pdb_procedure_name_available(PLUG_IN_RESYNTHESIZER); isResynthesizerInstalled = ((foundResynthS) || (foundResynth)); val_ptr->alt_selection = -1; gimp_ui_init (PLUG_IN_BINARY, TRUE); if (isResynthesizerInstalled) { dialog = gimp_dialog_new (_("Smart selection eraser"), PLUG_IN_BINARY, NULL, 0, gimp_standard_help_func, PLUG_IN_PROC, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); } else { dialog = gimp_dialog_new (_("Smart selection eraser"), PLUG_IN_BINARY, NULL, 0, gimp_standard_help_func, PLUG_IN_PROC, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); } gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gimp_window_set_transient (GTK_WINDOW (dialog)); main_vbox = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), main_vbox); gtk_widget_show (main_vbox); /* Controls */ table = gtk_table_new (3, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_box_pack_start (GTK_BOX (main_vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); row = 0; if (isResynthesizerInstalled != TRUE) { label = gtk_label_new (_("The Resynthesizer plug-in is required for this operation\n" "But this 3rd party plug-in is not installed\n" "Resynthesizer is available at the gimp plug-in registry")); gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 2, row, row + 1, GTK_FILL, GTK_FILL, 4, 0); gtk_widget_show (label); row++; } else { adj = gimp_scale_entry_new (GTK_TABLE (table), 0, row, _("Border Radius:"), SCALE_WIDTH, 7, val_ptr->corpus_border_radius, 0.0, 1000.0, 1.0, 10.0, 0, TRUE, 0, 0, NULL, NULL); g_signal_connect (adj, "value-changed", G_CALLBACK (gimp_int_adjustment_update), &val_ptr->corpus_border_radius); row++; if (foundResynthS) { adj = gimp_scale_entry_new (GTK_TABLE (table), 0, row, _("Seed:"), SCALE_WIDTH, 7, val_ptr->seed, -1.0, 10000.0, 1.0, 10.0, 0, TRUE, 0, 0, NULL, NULL); g_signal_connect (adj, "value-changed", G_CALLBACK (gimp_int_adjustment_update), &val_ptr->seed); row++; } /* layer combo_box (alt_selection) */ label = gtk_label_new (_("Set Selection:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 4, 0); gtk_widget_show (label); /* layer combo_box (Sample from where to pick the alternative selection */ combo = gimp_layer_combo_box_new (p_selectionConstraintFunc, NULL); gimp_int_combo_box_connect (GIMP_INT_COMBO_BOX (combo), drawable_id, G_CALLBACK (p_selectionComboCallback), NULL); gtk_table_attach (GTK_TABLE (table), combo, 1, 3, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_show (combo); } /* Done */ gtk_widget_show (dialog); run = (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK); gtk_widget_destroy (dialog); return run; } /* end p_dialog */
GtkWidget * gimp_proc_view_new (const gchar *name, const gchar *menu_path, const gchar *blurb, const gchar *help, const gchar *author, const gchar *copyright, const gchar *date, GimpPDBProcType type, gint n_params, gint n_return_vals, GimpParamDef *params, GimpParamDef *return_vals) { GtkWidget *main_vbox; GtkWidget *frame; GtkWidget *vbox; GtkWidget *table; GtkWidget *label; GtkSizeGroup *name_group; GtkSizeGroup *type_group; GtkSizeGroup *desc_group; const gchar *type_str; gint row; if (blurb && strlen (blurb) < 2) blurb = NULL; if (help && strlen (help) < 2) help = NULL; if (author && strlen (author) < 2) author = NULL; if (date && strlen (date) < 2) date = NULL; if (copyright && strlen (copyright) < 2) copyright = NULL; if (blurb && help && ! strcmp (blurb, help)) help = NULL; main_vbox = gtk_vbox_new (FALSE, 12); /* show the name */ frame = gimp_frame_new (name); label = gtk_frame_get_label_widget (GTK_FRAME (frame)); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); vbox = gtk_vbox_new (FALSE, 8); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); if (! gimp_enum_get_value (GIMP_TYPE_PDB_PROC_TYPE, type, NULL, NULL, &type_str, NULL)) type_str = "UNKNOWN"; label = gtk_label_new (type_str); gimp_label_set_attributes (GTK_LABEL (label), PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC, -1); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); if (menu_path) { label = gtk_label_new_with_mnemonic (menu_path); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); } if (blurb) { label = gtk_label_new (blurb); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); } name_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); type_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); desc_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* in parameters */ if (n_params) { frame = gimp_frame_new (_("Parameters")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); table = gimp_proc_view_create_params (params, n_params, name_group, type_group, desc_group); gtk_container_add (GTK_CONTAINER (frame), table); gtk_widget_show (table); } /* out parameters */ if (n_return_vals) { frame = gimp_frame_new (_("Return Values")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); table = gimp_proc_view_create_params (return_vals, n_return_vals, name_group, type_group, desc_group); gtk_container_add (GTK_CONTAINER (frame), table); gtk_widget_show (table); } if (! help && ! author && ! date && ! copyright) return main_vbox; frame = gimp_frame_new (_("Additional Information")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); vbox = gtk_vbox_new (FALSE, 8); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); /* show the help */ if (help) { label = gtk_label_new (help); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); } /* show the author & the copyright */ if (! author && ! date && ! copyright) return main_vbox; table = gtk_table_new ((author != 0) + (date != 0) + (copyright != 0), 2, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 4); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); row = 0; if (author) { label = gtk_label_new (author); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Author:"), 0.0, 0.0, label, 3, FALSE); } if (date) { label = gtk_label_new (date); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Date:"), 0.0, 0.0, label, 3, FALSE); } if (copyright) { label = gtk_label_new (copyright); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gimp_table_attach_aligned (GTK_TABLE (table), 0, row++, _("Copyright:"), 0.0, 0.0, label, 3, FALSE); } return main_vbox; }
/** * @fn ControlData* gui_control(Tab*) * * Constructor is used to create ControlData data structure. * @param tab The tab structure used by the widget * @return The Filter viewer data created. */ ControlData* gui_control(LttvPluginTab *ptab) { Tab *tab = ptab->tab; g_debug("filter::gui_control()"); ControlData* tcd = g_new(ControlData,1); tcd->tab = tab; tcd->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(tcd->window), "LTTng Trace Control"); /* * Initiating GtkTable layout * starts with 2 rows and 5 columns and * expands when expressions added */ tcd->main_box = gtk_table_new(14,7,FALSE); gtk_table_set_row_spacings(GTK_TABLE(tcd->main_box),5); gtk_table_set_col_spacings(GTK_TABLE(tcd->main_box),5); gtk_container_add(GTK_CONTAINER(tcd->window), GTK_WIDGET(tcd->main_box)); GList *focus_chain = NULL; /* * start/pause/stop buttons */ GdkPixbuf *pixbuf; GtkWidget *image; pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)TraceControlStart_xpm); image = gtk_image_new_from_pixbuf(pixbuf); tcd->ltt_armall_button = gtk_button_new_with_label("Arm LTTng kernel probes"); //2.6 gtk_button_set_image(GTK_BUTTON(tcd->ltt_armall_button), image); g_object_set(G_OBJECT(tcd->ltt_armall_button), "image", image, NULL); gtk_button_set_alignment(GTK_BUTTON(tcd->ltt_armall_button), 0.0, 0.0); gtk_widget_show (tcd->ltt_armall_button); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->ltt_armall_button,6,7,0,1,GTK_FILL,GTK_FILL,2,2); pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)TraceControlStop_xpm); image = gtk_image_new_from_pixbuf(pixbuf); tcd->ltt_disarmall_button = gtk_button_new_with_label("Disarm LTTng kernel probes"); //2.6 gtk_button_set_image(GTK_BUTTON(tcd->ltt_disarmall_button), image); g_object_set(G_OBJECT(tcd->ltt_disarmall_button), "image", image, NULL); gtk_button_set_alignment(GTK_BUTTON(tcd->ltt_disarmall_button), 0.0, 0.0); gtk_widget_show (tcd->ltt_disarmall_button); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->ltt_disarmall_button,6,7,1,2,GTK_FILL,GTK_FILL,2,2); pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)TraceControlStart_xpm); image = gtk_image_new_from_pixbuf(pixbuf); tcd->start_button = gtk_button_new_with_label("start"); //2.6 gtk_button_set_image(GTK_BUTTON(tcd->start_button), image); g_object_set(G_OBJECT(tcd->start_button), "image", image, NULL); gtk_button_set_alignment(GTK_BUTTON(tcd->start_button), 0.0, 0.0); gtk_widget_show (tcd->start_button); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->start_button,6,7,2,3,GTK_FILL,GTK_FILL,2,2); pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)TraceControlPause_xpm); image = gtk_image_new_from_pixbuf(pixbuf); tcd->pause_button = gtk_button_new_with_label("pause"); //2.6 gtk_button_set_image(GTK_BUTTON(tcd->pause_button), image); g_object_set(G_OBJECT(tcd->pause_button), "image", image, NULL); gtk_button_set_alignment(GTK_BUTTON(tcd->pause_button), 0.0, 0.0); gtk_widget_show (tcd->pause_button); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->pause_button,6,7,3,4,GTK_FILL,GTK_FILL,2,2); pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)TraceControlPause_xpm); image = gtk_image_new_from_pixbuf(pixbuf); tcd->unpause_button = gtk_button_new_with_label("unpause"); //2.6 gtk_button_set_image(GTK_BUTTON(tcd->unpause_button), image); g_object_set(G_OBJECT(tcd->unpause_button), "image", image, NULL); gtk_button_set_alignment(GTK_BUTTON(tcd->unpause_button), 0.0, 0.0); gtk_widget_show (tcd->unpause_button); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->unpause_button,6,7,4,5,GTK_FILL,GTK_FILL,2,2); pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)TraceControlStop_xpm); image = gtk_image_new_from_pixbuf(pixbuf); tcd->stop_button = gtk_button_new_with_label("stop"); //2.6 gtk_button_set_image(GTK_BUTTON(tcd->stop_button), image); g_object_set(G_OBJECT(tcd->stop_button), "image", image, NULL); gtk_button_set_alignment(GTK_BUTTON(tcd->stop_button), 0.0, 0.0); gtk_widget_show (tcd->stop_button); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->stop_button,6,7,5,6,GTK_FILL,GTK_FILL,2,2); /* * First half of the filter window * - textual entry of filter expression * - processing button */ tcd->username_label = gtk_label_new("Username:"******"root"); gtk_widget_show (tcd->username_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->username_label,0,2,0,1,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->username_entry,2,6,0,1,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->password_label = gtk_label_new("Password:"******"Channel directory:"); gtk_widget_show (tcd->channel_dir_label); tcd->channel_dir_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->channel_dir_entry),"/mnt/debugfs/ltt"); gtk_widget_show (tcd->channel_dir_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->channel_dir_label,0,2,2,3,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->channel_dir_entry,2,6,2,3,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->trace_dir_label = gtk_label_new("Trace directory:"); gtk_widget_show (tcd->trace_dir_label); tcd->trace_dir_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->trace_dir_entry),"/tmp/trace1"); gtk_widget_show (tcd->trace_dir_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->trace_dir_label,0,2,3,4,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->trace_dir_entry,2,6,3,4,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->trace_name_label = gtk_label_new("Trace name:"); gtk_widget_show (tcd->trace_name_label); tcd->trace_name_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->trace_name_entry),"trace"); gtk_widget_show (tcd->trace_name_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->trace_name_label,0,2,4,5,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->trace_name_entry,2,6,4,5,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->trace_mode_label = gtk_label_new("Trace mode "); gtk_widget_show (tcd->trace_mode_label); tcd->trace_mode_combo = gtk_combo_box_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(tcd->trace_mode_combo), "normal"); gtk_combo_box_append_text(GTK_COMBO_BOX(tcd->trace_mode_combo), "flight recorder"); gtk_combo_box_set_active(GTK_COMBO_BOX(tcd->trace_mode_combo), 0); gtk_widget_show (tcd->trace_mode_combo); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->trace_mode_label,0,2,5,6,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->trace_mode_combo,2,6,5,6,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->start_daemon_label = gtk_label_new("Start daemon "); gtk_widget_show (tcd->start_daemon_label); tcd->start_daemon_check = gtk_check_button_new(); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tcd->start_daemon_check), TRUE); gtk_widget_show (tcd->start_daemon_check); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->start_daemon_label,0,2,6,7,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->start_daemon_check,2,6,6,7,GTK_FILL,GTK_FILL,0,0); tcd->append_label = gtk_label_new("Append to trace "); gtk_widget_show (tcd->append_label); tcd->append_check = gtk_check_button_new(); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tcd->append_check), FALSE); gtk_widget_show (tcd->append_check); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->append_label,0,2,7,8,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->append_check,2,6,7,8,GTK_FILL,GTK_FILL,0,0); tcd->optional_label = gtk_label_new("Optional fields "); gtk_widget_show (tcd->optional_label); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->optional_label,0,6,8,9,GTK_FILL,GTK_FILL,2,2); tcd->subbuf_size_label = gtk_label_new("Subbuffer size:"); gtk_widget_show (tcd->subbuf_size_label); tcd->subbuf_size_entry = gtk_entry_new(); gtk_widget_show (tcd->subbuf_size_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->subbuf_size_label,0,2,9,10,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->subbuf_size_entry,2,6,9,10,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->subbuf_num_label = gtk_label_new("Number of subbuffers:"); gtk_widget_show (tcd->subbuf_num_label); tcd->subbuf_num_entry = gtk_entry_new(); gtk_widget_show (tcd->subbuf_num_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->subbuf_num_label,0,2,10,11,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->subbuf_num_entry,2,6,10,11,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->lttd_threads_label = gtk_label_new("Number of lttd threads:"); gtk_widget_show (tcd->lttd_threads_label); tcd->lttd_threads_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->lttd_threads_entry), "1"); gtk_widget_show (tcd->lttd_threads_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->lttd_threads_label,0,2,11,12,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->lttd_threads_entry,2,6,11,12,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->lttctl_path_label = gtk_label_new("path to lttctl:"); gtk_widget_show (tcd->lttctl_path_label); tcd->lttctl_path_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->lttctl_path_entry),PACKAGE_BIN_DIR "/lttctl"); gtk_widget_show (tcd->lttctl_path_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->lttctl_path_label,0,2,12,13,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->lttctl_path_entry,2,6,12,13,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->lttd_path_label = gtk_label_new("path to lttd:"); gtk_widget_show (tcd->lttd_path_label); tcd->lttd_path_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->lttd_path_entry),PACKAGE_BIN_DIR "/lttd"); gtk_widget_show (tcd->lttd_path_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->lttd_path_label,0,2,13,14,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->lttd_path_entry,2,6,13,14,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->ltt_armall_path_label = gtk_label_new("path to ltt_armall:"); gtk_widget_show (tcd->ltt_armall_path_label); tcd->ltt_armall_path_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->ltt_armall_path_entry),PACKAGE_BIN_DIR "/ltt-armall"); gtk_widget_show (tcd->ltt_armall_path_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->ltt_armall_path_label,0,2,14,15,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->ltt_armall_path_entry,2,6,14,15,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); tcd->ltt_disarmall_path_label = gtk_label_new("path to ltt_disarmall:"); gtk_widget_show (tcd->ltt_disarmall_path_label); tcd->ltt_disarmall_path_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(tcd->ltt_disarmall_path_entry),PACKAGE_BIN_DIR "/ltt-disarmall"); gtk_widget_show (tcd->ltt_disarmall_path_entry); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->ltt_disarmall_path_label,0,2,15,16,GTK_FILL,GTK_FILL,2,2); gtk_table_attach( GTK_TABLE(tcd->main_box),tcd->ltt_disarmall_path_entry,2,6,15,16,GTK_FILL|GTK_EXPAND|GTK_SHRINK,GTK_FILL,0,0); focus_chain = g_list_append (focus_chain, tcd->username_entry); focus_chain = g_list_append (focus_chain, tcd->password_entry); focus_chain = g_list_append (focus_chain, tcd->ltt_armall_path_entry); focus_chain = g_list_append (focus_chain, tcd->ltt_disarmall_path_entry); focus_chain = g_list_append (focus_chain, tcd->start_button); focus_chain = g_list_append (focus_chain, tcd->pause_button); focus_chain = g_list_append (focus_chain, tcd->unpause_button); focus_chain = g_list_append (focus_chain, tcd->stop_button); focus_chain = g_list_append (focus_chain, tcd->channel_dir_entry); focus_chain = g_list_append (focus_chain, tcd->trace_dir_entry); focus_chain = g_list_append (focus_chain, tcd->trace_name_entry); focus_chain = g_list_append (focus_chain, tcd->trace_mode_combo); focus_chain = g_list_append (focus_chain, tcd->start_daemon_check); focus_chain = g_list_append (focus_chain, tcd->append_check); focus_chain = g_list_append (focus_chain, tcd->subbuf_size_entry); focus_chain = g_list_append (focus_chain, tcd->subbuf_num_entry); focus_chain = g_list_append (focus_chain, tcd->lttd_threads_entry); focus_chain = g_list_append (focus_chain, tcd->lttctl_path_entry); focus_chain = g_list_append (focus_chain, tcd->lttd_path_entry); gtk_container_set_focus_chain(GTK_CONTAINER(tcd->main_box), focus_chain); g_list_free(focus_chain); g_signal_connect(G_OBJECT(tcd->start_button), "clicked", (GCallback)start_clicked, tcd); g_signal_connect(G_OBJECT(tcd->pause_button), "clicked", (GCallback)pause_clicked, tcd); g_signal_connect(G_OBJECT(tcd->unpause_button), "clicked", (GCallback)unpause_clicked, tcd); g_signal_connect(G_OBJECT(tcd->stop_button), "clicked", (GCallback)stop_clicked, tcd); g_signal_connect(G_OBJECT(tcd->ltt_armall_button), "clicked", (GCallback)arm_clicked, tcd); g_signal_connect(G_OBJECT(tcd->ltt_disarmall_button), "clicked", (GCallback)disarm_clicked, tcd); /* * show main container */ gtk_widget_show(tcd->main_box); gtk_widget_show(tcd->window); g_object_set_data_full( G_OBJECT(guicontrol_get_widget(tcd)), "control_viewer_data", tcd, (GDestroyNotify)gui_control_destructor); g_control_list = g_slist_append( g_control_list, tcd); return tcd; }
GtkWidget* create_Calculator (void) { GtkWidget *Calculator; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *framebox; GtkWidget *alignment1; GtkWidget *table2; GtkWidget *hbox5; GtkWidget *heading; GtkWidget *labelDOO; GtkWidget *labelDuration; GtkWidget *hbox14; GtkWidget *label2; GtkWidget *hbox16; GtkWidget *label16; GtkWidget *entryCustom; GtkWidget *hbox21; GtkWidget *label14; GtkWidget *hbox18; GtkWidget *optionmenu2; GtkWidget *menu2; GtkWidget *avi1; GtkWidget *ogm1; GtkWidget *mpeg1; GtkWidget *hbox17; GtkWidget *optionmenu1; GtkWidget *menu1; GtkWidget *_1x80_cd1; GtkWidget *_2x80_cd1; GtkWidget *_1x74_cd1; GtkWidget *_2x74_cd1; GtkWidget *dvd1; GtkWidget *custom1; GtkWidget *hbox11; GtkWidget *hbox12; GtkWidget *hbox13; GtkWidget *label6; GtkWidget *entry3; GtkWidget *label7; GtkWidget *entry4; GtkWidget *hbox20; GtkWidget *table3; GtkWidget *label9; GtkWidget *labelAudio; GtkWidget *label11; GtkWidget *labelVideo; GtkWidget *label17; GtkWidget *labelTotal; GtkWidget *table4; GtkWidget *label12; GtkWidget *label15; GtkWidget *labelBitrate; GtkWidget *labelBPP; GtkWidget *dialog_action_area1; GtkWidget *doit; GtkWidget *button1; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); Calculator = gtk_dialog_new (); gtk_container_set_border_width (GTK_CONTAINER (Calculator), 6); gtk_window_set_title (GTK_WINDOW (Calculator), QT_TR_NOOP("Calculator")); gtk_window_set_resizable (GTK_WINDOW (Calculator), FALSE); gtk_dialog_set_has_separator (GTK_DIALOG (Calculator), FALSE); dialog_vbox1 = GTK_DIALOG (Calculator)->vbox; gtk_box_set_spacing (GTK_BOX(dialog_vbox1), 12); gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE, 18); gtk_container_set_border_width (GTK_CONTAINER (vbox1), 6); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); heading = gtk_label_new (QT_TR_NOOP("<b>Target</b>")); gtk_misc_set_alignment (GTK_MISC (heading), 0, 1); gtk_label_set_use_markup (GTK_LABEL (heading), TRUE); gtk_widget_show (heading); table2 = gtk_table_new (3, 4, FALSE); gtk_widget_show (table2); gtk_table_set_row_spacings (GTK_TABLE (table2), 6); gtk_table_set_col_spacings (GTK_TABLE (table2), 12); alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment1); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 6, 0, 18, 0); gtk_container_add (GTK_CONTAINER (alignment1), table2); framebox = gtk_vbox_new (0, 0); gtk_box_pack_start (GTK_BOX(vbox1), framebox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(framebox), heading, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(framebox), alignment1, FALSE, FALSE, 0); gtk_widget_show(framebox); hbox5 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox5); gtk_table_attach (GTK_TABLE (table2), hbox5, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); labelDOO = gtk_label_new (QT_TR_NOOP("Duration:")); gtk_widget_show (labelDOO); gtk_box_pack_start (GTK_BOX (hbox5), labelDOO, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (labelDOO), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelDOO), 0, 0.5); labelDuration = gtk_label_new (QT_TR_NOOP("00:00:00")); gtk_widget_show (labelDuration); gtk_table_attach (GTK_TABLE (table2), labelDuration, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelDuration), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelDuration), 0, 0.5); hbox14 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox14); gtk_table_attach (GTK_TABLE (table2), hbox14, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); label2 = gtk_label_new_with_mnemonic (QT_TR_NOOP("_Medium:")); gtk_widget_show (label2); gtk_box_pack_start (GTK_BOX (hbox14), label2, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT); hbox16 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox16); gtk_table_attach (GTK_TABLE (table2), hbox16, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); label16 = gtk_label_new_with_mnemonic (QT_TR_NOOP("_Format:")); gtk_widget_show (label16); gtk_box_pack_start (GTK_BOX (hbox16), label16, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5); entryCustom = gtk_entry_new (); gtk_widget_show (entryCustom); gtk_table_attach (GTK_TABLE (table2), entryCustom, 3, 4, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_tooltips_set_tip (tooltips, entryCustom, QT_TR_NOOP("Total size (custom)"), NULL); gtk_entry_set_max_length (GTK_ENTRY (entryCustom), 10); gtk_entry_set_width_chars (GTK_ENTRY (entryCustom), 6); hbox21 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox21); gtk_table_attach (GTK_TABLE (table2), hbox21, 2, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label14 = gtk_label_new_with_mnemonic (QT_TR_NOOP("_Custom size (MB):")); gtk_widget_show (label14); gtk_box_pack_start (GTK_BOX (hbox21), label14, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT); hbox18 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox18); gtk_table_attach (GTK_TABLE (table2), hbox18, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); optionmenu2 = gtk_option_menu_new (); gtk_widget_show (optionmenu2); gtk_box_pack_start (GTK_BOX (hbox18), optionmenu2, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, optionmenu2, QT_TR_NOOP("Output container format"), NULL); menu2 = gtk_menu_new (); avi1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("AVI")); gtk_widget_show (avi1); gtk_container_add (GTK_CONTAINER (menu2), avi1); ogm1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("OGM")); gtk_widget_show (ogm1); gtk_container_add (GTK_CONTAINER (menu2), ogm1); mpeg1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("MPEG")); gtk_widget_show (mpeg1); gtk_container_add (GTK_CONTAINER (menu2), mpeg1); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu2), menu2); hbox17 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox17); gtk_table_attach (GTK_TABLE (table2), hbox17, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); optionmenu1 = gtk_option_menu_new (); gtk_widget_show (optionmenu1); gtk_box_pack_start (GTK_BOX (hbox17), optionmenu1, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, optionmenu1, QT_TR_NOOP("Total size"), NULL); menu1 = gtk_menu_new (); _1x80_cd1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("1x 80 min. CD")); gtk_widget_show (_1x80_cd1); gtk_container_add (GTK_CONTAINER (menu1), _1x80_cd1); gtk_tooltips_set_tip (tooltips, _1x80_cd1, QT_TR_NOOP("Total size (custom)"), NULL); _2x80_cd1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("2x 80 min. CD")); gtk_widget_show (_2x80_cd1); gtk_container_add (GTK_CONTAINER (menu1), _2x80_cd1); _1x74_cd1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("1x 74 min. CD")); gtk_widget_show (_1x74_cd1); gtk_container_add (GTK_CONTAINER (menu1), _1x74_cd1); _2x74_cd1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("2x 74 min. CD")); gtk_widget_show (_2x74_cd1); gtk_container_add (GTK_CONTAINER (menu1), _2x74_cd1); dvd1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("DVD5")); gtk_widget_show (dvd1); gtk_container_add (GTK_CONTAINER (menu1), dvd1); custom1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("Custom")); gtk_widget_show (custom1); gtk_container_add (GTK_CONTAINER (menu1), custom1); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu1), menu1); hbox11 = gtk_hbox_new (TRUE, 12); gtk_widget_show (hbox11); hbox12 = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (hbox11), hbox12, TRUE, TRUE, 0); gtk_widget_show (hbox12); label6 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Track _1:")); gtk_widget_show (label6); gtk_box_pack_start (GTK_BOX (hbox12), label6, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT); entry3 = gtk_entry_new (); gtk_widget_show (entry3); gtk_box_pack_start (GTK_BOX (hbox12), entry3, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, entry3, QT_TR_NOOP("Audio bitrate in kb/s for track 1 (0 for no audio)"), NULL); gtk_entry_set_max_length (GTK_ENTRY (entry3), 10); gtk_entry_set_width_chars (GTK_ENTRY (entry3), 6); hbox13 = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (hbox11), hbox13, TRUE, TRUE, 0); gtk_widget_show (hbox13); label7 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Track _2: ")); gtk_widget_show (label7); gtk_box_pack_start (GTK_BOX (hbox13), label7, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_LEFT); entry4 = gtk_entry_new (); gtk_widget_show (entry4); gtk_box_pack_start (GTK_BOX (hbox13), entry4, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, entry4, QT_TR_NOOP("Audio bitrate in kb/s for track 2 (optional)"), NULL); gtk_entry_set_max_length (GTK_ENTRY (entry4), 10); gtk_entry_set_width_chars (GTK_ENTRY (entry4), 6); heading = gtk_label_new (QT_TR_NOOP("<b>Audio Bitrate</b>")); gtk_label_set_use_markup (GTK_LABEL (heading), TRUE); gtk_misc_set_alignment (GTK_MISC (heading), 0, 1); gtk_widget_show (heading); alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment1); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 6, 0, 18, 0); gtk_container_add (GTK_CONTAINER (alignment1), hbox11); framebox = gtk_vbox_new (0, 0); gtk_box_pack_start (GTK_BOX(vbox1), framebox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(framebox), heading, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(framebox), alignment1, FALSE, FALSE, 0); gtk_widget_show(framebox); hbox20 = gtk_hbox_new (TRUE, 12); gtk_widget_show (hbox20); table3 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table3); gtk_box_pack_start (GTK_BOX (hbox20), table3, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table3), 6); gtk_table_set_col_spacings (GTK_TABLE (table3), 12); label9 = gtk_label_new (QT_TR_NOOP("Audio size (MB):")); gtk_widget_show (label9); gtk_table_attach (GTK_TABLE (table3), label9, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5); labelAudio = gtk_label_new (QT_TR_NOOP("0")); gtk_widget_show (labelAudio); gtk_table_attach (GTK_TABLE (table3), labelAudio, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelAudio), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelAudio), 0, 0.5); label11 = gtk_label_new (QT_TR_NOOP("Video size (MB):")); gtk_widget_show (label11); gtk_table_attach (GTK_TABLE (table3), label11, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5); labelVideo = gtk_label_new (QT_TR_NOOP("0")); gtk_widget_show (labelVideo); gtk_table_attach (GTK_TABLE (table3), labelVideo, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelVideo), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelVideo), 0, 0.5); label17 = gtk_label_new (QT_TR_NOOP("Total size (MB):")); gtk_widget_show (label17); gtk_table_attach (GTK_TABLE (table3), label17, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5); labelTotal = gtk_label_new (QT_TR_NOOP("0")); gtk_widget_show (labelTotal); gtk_table_attach (GTK_TABLE (table3), labelTotal, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelTotal), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelTotal), 0, 0.5); table4 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table4); gtk_box_pack_start (GTK_BOX (hbox20), table4, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table4), 6); gtk_table_set_col_spacings (GTK_TABLE (table4), 6); label12 = gtk_label_new (QT_TR_NOOP("Video bitrate:")); gtk_widget_show (label12); gtk_table_attach (GTK_TABLE (table4), label12, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5); label15 = gtk_label_new (QT_TR_NOOP("Bits per pixel:")); gtk_widget_show (label15); gtk_table_attach (GTK_TABLE (table4), label15, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5); labelBitrate = gtk_label_new (QT_TR_NOOP("0")); gtk_widget_show (labelBitrate); gtk_table_attach (GTK_TABLE (table4), labelBitrate, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelBitrate), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelBitrate), 0, 0.5); labelBPP = gtk_label_new (QT_TR_NOOP("0.0")); gtk_widget_show (labelBPP); gtk_table_attach (GTK_TABLE (table4), labelBPP, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelBPP), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelBPP), 0, 0.5); heading = gtk_label_new (QT_TR_NOOP("<b>Result</b>")); gtk_misc_set_alignment (GTK_MISC (heading), 0, 1); gtk_label_set_use_markup (GTK_LABEL (heading), TRUE); gtk_widget_show (heading); alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment1); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 6, 0, 18, 0); gtk_container_add (GTK_CONTAINER (alignment1), hbox20); framebox = gtk_vbox_new (0, 0); gtk_box_pack_start (GTK_BOX(vbox1), framebox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(framebox), heading, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX(framebox), alignment1, FALSE, FALSE, 0); gtk_widget_show(framebox); dialog_action_area1 = GTK_DIALOG (Calculator)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); doit = gtk_button_new_from_stock ("gtk-apply"); gtk_widget_show (doit); gtk_dialog_add_action_widget (GTK_DIALOG (Calculator), doit, GTK_RESPONSE_APPLY); GTK_WIDGET_SET_FLAGS (doit, GTK_CAN_DEFAULT); button1 = gtk_button_new_from_stock ("gtk-close"); gtk_widget_show (button1); gtk_dialog_add_action_widget (GTK_DIALOG (Calculator), button1, GTK_RESPONSE_CLOSE); GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT); gtk_label_set_mnemonic_widget (GTK_LABEL (label2), optionmenu1); gtk_label_set_mnemonic_widget (GTK_LABEL (label16), optionmenu2); gtk_label_set_mnemonic_widget (GTK_LABEL (label14), entryCustom); gtk_label_set_mnemonic_widget (GTK_LABEL (label6), entry3); gtk_label_set_mnemonic_widget (GTK_LABEL (label7), entry4); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (Calculator, Calculator, "Calculator"); GLADE_HOOKUP_OBJECT_NO_REF (Calculator, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (Calculator, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (Calculator, framebox, "framebox"); GLADE_HOOKUP_OBJECT (Calculator, alignment1, "alignment1"); GLADE_HOOKUP_OBJECT (Calculator, table2, "table2"); GLADE_HOOKUP_OBJECT (Calculator, hbox5, "hbox5"); GLADE_HOOKUP_OBJECT (Calculator, heading, "heading"); GLADE_HOOKUP_OBJECT (Calculator, labelDOO, "labelDOO"); GLADE_HOOKUP_OBJECT (Calculator, labelDuration, "labelDuration"); GLADE_HOOKUP_OBJECT (Calculator, hbox14, "hbox14"); GLADE_HOOKUP_OBJECT (Calculator, label2, "label2"); GLADE_HOOKUP_OBJECT (Calculator, hbox16, "hbox16"); GLADE_HOOKUP_OBJECT (Calculator, label16, "label16"); GLADE_HOOKUP_OBJECT (Calculator, entryCustom, "entryCustom"); GLADE_HOOKUP_OBJECT (Calculator, hbox21, "hbox21"); GLADE_HOOKUP_OBJECT (Calculator, label14, "label14"); GLADE_HOOKUP_OBJECT (Calculator, hbox18, "hbox18"); GLADE_HOOKUP_OBJECT (Calculator, optionmenu2, "optionmenu2"); GLADE_HOOKUP_OBJECT (Calculator, menu2, "menu2"); GLADE_HOOKUP_OBJECT (Calculator, avi1, "avi1"); GLADE_HOOKUP_OBJECT (Calculator, ogm1, "ogm1"); GLADE_HOOKUP_OBJECT (Calculator, mpeg1, "mpeg1"); GLADE_HOOKUP_OBJECT (Calculator, hbox17, "hbox17"); GLADE_HOOKUP_OBJECT (Calculator, optionmenu1, "optionmenu1"); GLADE_HOOKUP_OBJECT (Calculator, menu1, "menu1"); GLADE_HOOKUP_OBJECT (Calculator, _1x80_cd1, "_1x80_cd1"); GLADE_HOOKUP_OBJECT (Calculator, _2x80_cd1, "_2x80_cd1"); GLADE_HOOKUP_OBJECT (Calculator, _1x74_cd1, "_1x74_cd1"); GLADE_HOOKUP_OBJECT (Calculator, _2x74_cd1, "_2x74_cd1"); GLADE_HOOKUP_OBJECT (Calculator, dvd1, "dvd1"); GLADE_HOOKUP_OBJECT (Calculator, custom1, "custom1"); GLADE_HOOKUP_OBJECT (Calculator, hbox11, "hbox11"); GLADE_HOOKUP_OBJECT (Calculator, hbox12, "hbox12"); GLADE_HOOKUP_OBJECT (Calculator, hbox13, "hbox13"); GLADE_HOOKUP_OBJECT (Calculator, label6, "label6"); GLADE_HOOKUP_OBJECT (Calculator, entry3, "entry3"); GLADE_HOOKUP_OBJECT (Calculator, label7, "label7"); GLADE_HOOKUP_OBJECT (Calculator, entry4, "entry4"); GLADE_HOOKUP_OBJECT (Calculator, hbox20, "hbox20"); GLADE_HOOKUP_OBJECT (Calculator, table3, "table3"); GLADE_HOOKUP_OBJECT (Calculator, label9, "label9"); GLADE_HOOKUP_OBJECT (Calculator, labelAudio, "labelAudio"); GLADE_HOOKUP_OBJECT (Calculator, label11, "label11"); GLADE_HOOKUP_OBJECT (Calculator, labelVideo, "labelVideo"); GLADE_HOOKUP_OBJECT (Calculator, label17, "label17"); GLADE_HOOKUP_OBJECT (Calculator, labelTotal, "labelTotal"); GLADE_HOOKUP_OBJECT (Calculator, table4, "table4"); GLADE_HOOKUP_OBJECT (Calculator, label12, "label12"); GLADE_HOOKUP_OBJECT (Calculator, label15, "label15"); GLADE_HOOKUP_OBJECT (Calculator, labelBitrate, "labelBitrate"); GLADE_HOOKUP_OBJECT (Calculator, labelBPP, "labelBPP"); GLADE_HOOKUP_OBJECT_NO_REF (Calculator, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (Calculator, doit, "doit"); GLADE_HOOKUP_OBJECT (Calculator, button1, "button1"); GLADE_HOOKUP_OBJECT_NO_REF (Calculator, tooltips, "tooltips"); gtk_widget_grab_focus (entry3); return Calculator; }
static int MicrocodeDialog() { GtkWidget *infoLabel; GtkWidget *infoFrame, *infoTable; GtkWidget *crcInfoLabel, *crcDataInfoLabel, *textInfoLabel; GtkWidget *crcLabel = NULL, *crcDataLabel = NULL, *textLabel = NULL; GtkWidget *selectUcodeLabel; //GtkWidget *microcodeLabel; GtkWidget *okButton, *stopButton; GList *ucodeList = 0; char buf[1024]; if (!g_thread_supported()) g_thread_init( NULL ); gdk_threads_enter(); // create dialog if (microcodeWindow == 0) { microcodeWindow = gtk_dialog_new(); gtk_signal_connect( GTK_OBJECT(microcodeWindow), "delete_event", GTK_SIGNAL_FUNC(delete_question_event), (gpointer)NULL ); sprintf( buf, "%s - unknown microcode", pluginName ); gtk_window_set_title( GTK_WINDOW(microcodeWindow), buf ); gtk_container_set_border_width( GTK_CONTAINER(GTK_DIALOG(microcodeWindow)->vbox), 11 ); // ok button okButton = gtk_button_new_with_label( "Ok" ); gtk_signal_connect_object( GTK_OBJECT(okButton), "clicked", GTK_SIGNAL_FUNC(okButton_clicked), NULL ); gtk_container_add( GTK_CONTAINER(GTK_DIALOG(microcodeWindow)->action_area), okButton ); // stop button stopButton = gtk_button_new_with_label( "Stop" ); gtk_signal_connect_object( GTK_OBJECT(stopButton), "clicked", GTK_SIGNAL_FUNC(stopButton_clicked), NULL ); gtk_container_add( GTK_CONTAINER(GTK_DIALOG(microcodeWindow)->action_area), stopButton ); // info label infoLabel = gtk_label_new( "Unknown microcode. Please notify Orkin, including the following information:" ); gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(microcodeWindow)->vbox), infoLabel ); // info frame infoFrame = gtk_frame_new( "Microcode info" ); gtk_container_set_border_width( GTK_CONTAINER(infoFrame), 7 ); gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(microcodeWindow)->vbox), infoFrame ); infoTable = gtk_table_new( 3, 2, FALSE ); gtk_container_set_border_width( GTK_CONTAINER(infoTable), 7 ); gtk_table_set_col_spacings( GTK_TABLE(infoTable), 3 ); gtk_table_set_row_spacings( GTK_TABLE(infoTable), 3 ); gtk_container_add( GTK_CONTAINER(infoFrame), infoTable ); crcInfoLabel = gtk_label_new( "Microcode CRC:" ); crcDataInfoLabel = gtk_label_new( "Microcode Data CRC:" ); textInfoLabel = gtk_label_new( "Microcode Text:" ); crcLabel = gtk_label_new( "" ); crcDataLabel = gtk_label_new( "" ); textLabel = gtk_label_new( "" ); gtk_table_attach_defaults( GTK_TABLE(infoTable), crcInfoLabel, 0, 1, 0, 1 ); gtk_table_attach_defaults( GTK_TABLE(infoTable), crcLabel, 1, 2, 0, 1 ); gtk_table_attach_defaults( GTK_TABLE(infoTable), crcDataInfoLabel, 0, 1, 1, 2 ); gtk_table_attach_defaults( GTK_TABLE(infoTable), crcDataLabel, 1, 2, 1, 2 ); gtk_table_attach_defaults( GTK_TABLE(infoTable), textInfoLabel, 0, 1, 2, 3 ); gtk_table_attach_defaults( GTK_TABLE(infoTable), textLabel, 1, 2, 2, 3 ); selectUcodeLabel = gtk_label_new( "You can manually select the closest matching microcode." ); for (int i = 0; i < numMicrocodeTypes; i++) ucodeList = g_list_append( ucodeList, gtk_list_item_new_with_label( MicrocodeTypes[i] ) ); microcodeList = gtk_list_new(); gtk_list_set_selection_mode( GTK_LIST(microcodeList), GTK_SELECTION_SINGLE ); gtk_list_append_items( GTK_LIST(microcodeList), ucodeList ); gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(microcodeWindow)->vbox), selectUcodeLabel ); gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(microcodeWindow)->vbox), microcodeList ); } snprintf( buf, 1024, "0x%8.8X", (unsigned int)uc_crc ); if(crcLabel) gtk_label_set_text( GTK_LABEL(crcLabel), buf ); snprintf( buf, 1024, "0x%8.8X", (unsigned int)uc_dcrc ); if(crcDataLabel) gtk_label_set_text( GTK_LABEL(crcDataLabel), buf ); if(textLabel) gtk_label_set_text( GTK_LABEL(textLabel), uc_str ); selectedMicrocode = -1; gtk_widget_show_all( microcodeWindow ); while (selectedMicrocode == -1) { if( gtk_main_iteration() ) break; usleep( 10000 ); } gdk_threads_leave(); return selectedMicrocode; }
static gboolean dialog (void) { /* Missing options: Color-dialogs? / own curl layer ? / transparency to original drawable / Warp-curl (unsupported yet) */ GtkWidget *dialog; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *table; GtkWidget *frame; GtkWidget *button; GtkWidget *combo; GtkObject *adjustment; gboolean run; gimp_ui_init (PLUG_IN_BINARY, FALSE); dialog = gimp_dialog_new (_("Pagecurl Effect"), PLUG_IN_BINARY, NULL, 0, gimp_standard_help_func, PLUG_IN_PROC, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gimp_window_set_transient (GTK_WINDOW (dialog)); vbox = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); frame = gimp_frame_new (_("Curl Location")); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); table = gtk_table_new (3, 2, TRUE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_container_add (GTK_CONTAINER (frame), table); curl_image = gtk_image_new (); gtk_table_attach (GTK_TABLE (table), curl_image, 0, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); gtk_widget_show (curl_image); curl_pixbuf_update (); { static const gchar *name[] = { N_("Lower right"), N_("Lower left"), N_("Upper left"), N_("Upper right") }; gint i; button = NULL; for (i = CURL_EDGE_FIRST; i <= CURL_EDGE_LAST; i++) { button = gtk_radio_button_new_with_label (button == NULL ? NULL : gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), gettext (name[i - CURL_EDGE_FIRST])); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), curl.edge == i); g_object_set_data (G_OBJECT (button), "gimp-item-data", GINT_TO_POINTER (i)); gtk_table_attach (GTK_TABLE (table), button, CURL_EDGE_LEFT (i) ? 0 : 1, CURL_EDGE_LEFT (i) ? 1 : 2, CURL_EDGE_UPPER (i) ? 0 : 2, CURL_EDGE_UPPER (i) ? 1 : 3, GTK_FILL | GTK_EXPAND, GTK_SHRINK, 0, 0); gtk_widget_show (button); g_signal_connect (button, "toggled", G_CALLBACK (gimp_radio_button_update), &curl.edge); g_signal_connect (button, "toggled", G_CALLBACK (curl_pixbuf_update), NULL); } } gtk_widget_show (table); gtk_widget_show (frame); frame = gimp_frame_new (_("Curl Orientation")); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); hbox = gtk_hbox_new (TRUE, 6); gtk_container_add (GTK_CONTAINER (frame), hbox); { static const gchar *name[] = { N_("_Vertical"), N_("_Horizontal") }; gint i; button = NULL; for (i = 0; i <= CURL_ORIENTATION_LAST; i++) { button = gtk_radio_button_new_with_mnemonic (button == NULL ? NULL : gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), gettext (name[i])); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), curl.orientation == i); g_object_set_data (G_OBJECT (button), "gimp-item-data", GINT_TO_POINTER (i)); gtk_box_pack_end (GTK_BOX (hbox), button, TRUE, TRUE, 0); gtk_widget_show (button); g_signal_connect (button, "toggled", G_CALLBACK (gimp_radio_button_update), &curl.orientation); g_signal_connect (button, "toggled", G_CALLBACK (curl_pixbuf_update), NULL); } } gtk_widget_show (hbox); gtk_widget_show (frame); button = gtk_check_button_new_with_mnemonic (_("_Shade under curl")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), curl.shade); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); g_signal_connect (button, "toggled", G_CALLBACK (gimp_toggle_button_update), &curl.shade); combo = g_object_new (GIMP_TYPE_INT_COMBO_BOX, NULL); gimp_int_combo_box_prepend (GIMP_INT_COMBO_BOX (combo), GIMP_INT_STORE_VALUE, CURL_COLORS_GRADIENT_REVERSE, GIMP_INT_STORE_LABEL, _("Current gradient (reversed)"), GIMP_INT_STORE_STOCK_ID, GIMP_STOCK_GRADIENT, -1); gimp_int_combo_box_prepend (GIMP_INT_COMBO_BOX (combo), GIMP_INT_STORE_VALUE, CURL_COLORS_GRADIENT, GIMP_INT_STORE_LABEL, _("Current gradient"), GIMP_INT_STORE_STOCK_ID, GIMP_STOCK_GRADIENT, -1); gimp_int_combo_box_prepend (GIMP_INT_COMBO_BOX (combo), GIMP_INT_STORE_VALUE, CURL_COLORS_FG_BG, GIMP_INT_STORE_LABEL, _("Foreground / background colors"), GIMP_INT_STORE_STOCK_ID, GIMP_STOCK_DEFAULT_COLORS, -1); gtk_box_pack_start (GTK_BOX (vbox), combo, FALSE, FALSE, 0); gtk_widget_show (combo); gimp_int_combo_box_connect (GIMP_INT_COMBO_BOX (combo), curl.colors, G_CALLBACK (gimp_int_combo_box_get_active), &curl.colors); gtk_widget_show (dialog); table = gtk_table_new (1, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); adjustment = gimp_scale_entry_new (GTK_TABLE (table), 0, 0, _("_Opacity:"), 100, 0, curl.opacity * 100.0, 0.0, 100.0, 1.0, 1.0, 0.0, TRUE, 0, 0, NULL, NULL); g_signal_connect (adjustment, "value-changed", G_CALLBACK (dialog_scale_update), &curl.opacity); run = (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK); gtk_widget_destroy (dialog); return run; }
static void gimp_color_balance_tool_dialog (GimpImageMapTool *image_map_tool) { GimpColorBalanceTool *cb_tool = GIMP_COLOR_BALANCE_TOOL (image_map_tool); GimpColorBalanceConfig *config = cb_tool->config; GtkWidget *main_vbox; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *table; GtkWidget *button; GtkWidget *frame; main_vbox = gimp_image_map_tool_dialog_get_vbox (image_map_tool); frame = gimp_enum_radio_frame_new (GIMP_TYPE_TRANSFER_MODE, gtk_label_new (_("Select Range to Adjust")), G_CALLBACK (color_balance_range_callback), cb_tool, &cb_tool->range_radio); gimp_int_radio_group_set_active (GTK_RADIO_BUTTON (cb_tool->range_radio), config->range); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); frame = gimp_frame_new (_("Adjust Color Levels")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); /* The table containing sliders */ table = gtk_table_new (3, 4, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 4); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); cb_tool->cyan_red_adj = create_levels_scale (config->cyan_red[config->range] * 100.0, _("Cyan"), _("Red"), table, 0); g_signal_connect (cb_tool->cyan_red_adj, "value-changed", G_CALLBACK (color_balance_cr_changed), cb_tool); cb_tool->magenta_green_adj = create_levels_scale (config->magenta_green[config->range] * 100.0, _("Magenta"), _("Green"), table, 1); g_signal_connect (cb_tool->magenta_green_adj, "value-changed", G_CALLBACK (color_balance_mg_changed), cb_tool); cb_tool->yellow_blue_adj = create_levels_scale (config->yellow_blue[config->range] * 100.0, _("Yellow"), _("Blue"), table, 2); g_signal_connect (cb_tool->yellow_blue_adj, "value-changed", G_CALLBACK (color_balance_yb_changed), cb_tool); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); button = gtk_button_new_with_mnemonic (_("R_eset Range")); gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_widget_show (button); g_signal_connect (button, "clicked", G_CALLBACK (color_balance_range_reset_callback), cb_tool); cb_tool->preserve_toggle = gtk_check_button_new_with_mnemonic (_("Preserve _luminosity")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cb_tool->preserve_toggle), config->preserve_luminosity); gtk_box_pack_end (GTK_BOX (main_vbox), cb_tool->preserve_toggle, FALSE, FALSE, 0); gtk_widget_show (cb_tool->preserve_toggle); g_signal_connect (cb_tool->preserve_toggle, "toggled", G_CALLBACK (color_balance_preserve_toggled), cb_tool); }
static gchar* passphrase_mbox (const gchar *desc) { gchar *the_passphrase = NULL; GtkWidget *vbox; GtkWidget *table; GtkWidget *pass_label; GtkWidget *confirm_box; GtkWidget *window; GtkWidget *pass_entry; GtkWidget *ok_button; GtkWidget *cancel_button; window = gtk_window_new(GTK_WINDOW_DIALOG); gtk_window_set_title(GTK_WINDOW(window), _("Passphrase")); gtk_widget_set_usize(window, 450, -1); gtk_container_set_border_width(GTK_CONTAINER(window), 4); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(window), TRUE); gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, FALSE); gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(passphrase_deleted), NULL); gtk_signal_connect(GTK_OBJECT(window), "key_press_event", GTK_SIGNAL_FUNC(passphrase_key_pressed), NULL); MANAGE_WINDOW_SIGNALS_CONNECT(window); manage_window_set_transient(GTK_WINDOW(window)); vbox = gtk_vbox_new(FALSE, 8); gtk_container_add(GTK_CONTAINER(window), vbox); if (desc) { GtkWidget *label; label = create_description (desc); gtk_box_pack_start (GTK_BOX(vbox), label, TRUE, TRUE, 0); } table = gtk_table_new(2, 2, FALSE); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(table), 8); gtk_table_set_row_spacings(GTK_TABLE(table), 12); gtk_table_set_col_spacings(GTK_TABLE(table), 8); pass_label = gtk_label_new(""); gtk_table_attach (GTK_TABLE(table), pass_label, 0, 1, 0, 1, GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); gtk_misc_set_alignment (GTK_MISC (pass_label), 1, 0.5); pass_entry = gtk_entry_new(); gtk_table_attach (GTK_TABLE(table), pass_entry, 1, 2, 0, 1, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); gtk_entry_set_visibility (GTK_ENTRY(pass_entry), FALSE); gtk_widget_grab_focus (pass_entry); confirm_box = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX(confirm_box), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX(confirm_box), 5); ok_button = gtk_button_new_with_label (_("OK")); GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT); gtk_box_pack_start (GTK_BOX(confirm_box), ok_button, TRUE, TRUE, 0); cancel_button = gtk_button_new_with_label (_("Cancel")); GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT); gtk_box_pack_start(GTK_BOX(confirm_box), cancel_button, TRUE, TRUE, 0); gtk_box_pack_end(GTK_BOX(vbox), confirm_box, FALSE, FALSE, 0); gtk_widget_grab_default (ok_button); gtk_signal_connect(GTK_OBJECT(ok_button), "clicked", GTK_SIGNAL_FUNC(passphrase_ok_cb), NULL); gtk_signal_connect(GTK_OBJECT(pass_entry), "activate", GTK_SIGNAL_FUNC(passphrase_ok_cb), NULL); gtk_signal_connect(GTK_OBJECT(cancel_button), "clicked", GTK_SIGNAL_FUNC(passphrase_cancel_cb), NULL); if (grab_all) gtk_object_set (GTK_OBJECT(window), "type", GTK_WINDOW_POPUP, NULL); gtk_window_set_position (GTK_WINDOW(window), GTK_WIN_POS_CENTER); if (grab_all) gtk_window_set_policy (GTK_WINDOW(window), FALSE, FALSE, TRUE); gtk_widget_show_all(window); /* don't use XIM on entering passphrase */ gtkut_editable_disable_im(GTK_EDITABLE(pass_entry)); if (grab_all) { XGrabServer(GDK_DISPLAY()); if ( gdk_pointer_grab ( window->window, TRUE, 0, NULL, NULL, GDK_CURRENT_TIME)) { XUngrabServer ( GDK_DISPLAY() ); g_warning ("OOPS: Could not grab mouse\n"); gtk_widget_destroy (window); return NULL; } if ( gdk_keyboard_grab( window->window, FALSE, GDK_CURRENT_TIME )) { gdk_pointer_ungrab (GDK_CURRENT_TIME); XUngrabServer ( GDK_DISPLAY() ); g_warning ("OOPS: Could not grab keyboard\n"); gtk_widget_destroy (window); return NULL; } } gtk_main(); if (grab_all) { XUngrabServer (GDK_DISPLAY()); gdk_pointer_ungrab (GDK_CURRENT_TIME); gdk_keyboard_ungrab (GDK_CURRENT_TIME); gdk_flush(); } manage_window_focus_out(window, NULL, NULL); if (pass_ack) { the_passphrase = gtk_entry_get_text(GTK_ENTRY(pass_entry)); if (the_passphrase) /* Hmmm: Do we really need this? */ the_passphrase = g_strdup (the_passphrase); } gtk_widget_destroy (window); return the_passphrase; }
GtkWidget * palette_import_dialog_new (GimpContext *context) { ImportDialog *dialog; GimpGradient *gradient; GtkWidget *button; GtkWidget *main_hbox; GtkWidget *frame; GtkWidget *vbox; GtkWidget *table; GtkWidget *abox; GtkSizeGroup *size_group; GSList *group = NULL; g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL); gradient = gimp_context_get_gradient (context); dialog = g_slice_new0 (ImportDialog); dialog->import_type = GRADIENT_IMPORT; dialog->context = gimp_context_new (context->gimp, "Palette Import", context); dialog->dialog = gimp_dialog_new (_("Import a New Palette"), "gimp-palette-import", NULL, 0, gimp_standard_help_func, GIMP_HELP_PALETTE_IMPORT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); button = gtk_dialog_add_button (GTK_DIALOG (dialog->dialog), _("_Import"), GTK_RESPONSE_OK); gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_CONVERT, GTK_ICON_SIZE_BUTTON)); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog->dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); g_object_set_data_full (G_OBJECT (dialog->dialog), "palette-import-dialog", dialog, (GDestroyNotify) palette_import_free); g_signal_connect (dialog->dialog, "response", G_CALLBACK (palette_import_response), dialog); gimp_dnd_viewable_dest_add (dialog->dialog, GIMP_TYPE_GRADIENT, import_dialog_drop_callback, dialog); gimp_dnd_viewable_dest_add (dialog->dialog, GIMP_TYPE_IMAGE, import_dialog_drop_callback, dialog); main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_set_border_width (GTK_CONTAINER (main_hbox), 12); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog->dialog))), main_hbox, TRUE, TRUE, 0); gtk_widget_show (main_hbox); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (main_hbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); /* The "Source" frame */ frame = gimp_frame_new (_("Select Source")); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); table = gtk_table_new (5, 2, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_container_add (GTK_CONTAINER (frame), table); gtk_widget_show (table); dialog->gradient_radio = gtk_radio_button_new_with_mnemonic (group, _("_Gradient")); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (dialog->gradient_radio)); gtk_table_attach (GTK_TABLE (table), dialog->gradient_radio, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (dialog->gradient_radio); g_signal_connect (dialog->gradient_radio, "toggled", G_CALLBACK (palette_import_grad_callback), dialog); dialog->image_radio = gtk_radio_button_new_with_mnemonic (group, _("I_mage")); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (dialog->image_radio)); gtk_table_attach (GTK_TABLE (table), dialog->image_radio, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (dialog->image_radio); g_signal_connect (dialog->image_radio, "toggled", G_CALLBACK (palette_import_image_callback), dialog); gtk_widget_set_sensitive (dialog->image_radio, ! gimp_container_is_empty (context->gimp->images)); dialog->sample_merged_toggle = gtk_check_button_new_with_mnemonic (_("Sample _Merged")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->sample_merged_toggle), TRUE); gtk_table_attach (GTK_TABLE (table), dialog->sample_merged_toggle, 1, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (dialog->sample_merged_toggle); g_signal_connect_swapped (dialog->sample_merged_toggle, "toggled", G_CALLBACK (palette_import_make_palette), dialog); dialog->selection_only_toggle = gtk_check_button_new_with_mnemonic (_("_Selected Pixels only")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->selection_only_toggle), FALSE); gtk_table_attach (GTK_TABLE (table), dialog->selection_only_toggle, 1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (dialog->selection_only_toggle); g_signal_connect_swapped (dialog->selection_only_toggle, "toggled", G_CALLBACK (palette_import_make_palette), dialog); dialog->file_radio = gtk_radio_button_new_with_mnemonic (group, _("Palette _file")); group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (dialog->image_radio)); gtk_table_attach (GTK_TABLE (table), dialog->file_radio, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (dialog->file_radio); g_signal_connect (dialog->file_radio, "toggled", G_CALLBACK (palette_import_file_callback), dialog); size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); /* The gradient menu */ dialog->gradient_combo = gimp_container_combo_box_new (gimp_data_factory_get_container (context->gimp->gradient_factory), dialog->context, 24, 1); gimp_table_attach_aligned (GTK_TABLE (table), 0, 0, NULL, 0.0, 0.5, dialog->gradient_combo, 1, FALSE); gtk_size_group_add_widget (size_group, dialog->gradient_combo); /* The image menu */ dialog->image_combo = gimp_container_combo_box_new (context->gimp->images, dialog->context, 24, 1); gimp_table_attach_aligned (GTK_TABLE (table), 0, 1, NULL, 0.0, 0.5, dialog->image_combo, 1, FALSE); gtk_size_group_add_widget (size_group, dialog->image_combo); /* Palette file name entry */ dialog->file_chooser = gtk_file_chooser_button_new (_("Select Palette File"), GTK_FILE_CHOOSER_ACTION_OPEN); gimp_table_attach_aligned (GTK_TABLE (table), 0, 4, NULL, 0.0, 0.5, dialog->file_chooser, 1, FALSE); gtk_size_group_add_widget (size_group, dialog->file_chooser); g_object_unref (size_group); /* The "Import" frame */ frame = gimp_frame_new (_("Import Options")); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); table = gtk_table_new (4, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 6); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_container_add (GTK_CONTAINER (frame), table); gtk_widget_show (table); /* The source's name */ dialog->entry = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (dialog->entry), gradient ? gimp_object_get_name (gradient) : _("New import")); gimp_table_attach_aligned (GTK_TABLE (table), 0, 0, _("Palette _name:"), 0.0, 0.5, dialog->entry, 2, FALSE); /* The # of colors */ dialog->num_colors = GTK_ADJUSTMENT (gimp_scale_entry_new (GTK_TABLE (table), 0, 1, _("N_umber of colors:"), -1, 5, 256, 2, 10000, 1, 10, 0, TRUE, 0.0, 0.0, NULL, NULL)); g_signal_connect_swapped (dialog->num_colors, "value-changed", G_CALLBACK (palette_import_make_palette), dialog); /* The columns */ dialog->columns = GTK_ADJUSTMENT (gimp_scale_entry_new (GTK_TABLE (table), 0, 2, _("C_olumns:"), -1, 5, 16, 0, 64, 1, 8, 0, TRUE, 0.0, 0.0, NULL, NULL)); g_signal_connect (dialog->columns, "value-changed", G_CALLBACK (palette_import_columns_changed), dialog); /* The interval */ dialog->threshold = GTK_ADJUSTMENT (gimp_scale_entry_new (GTK_TABLE (table), 0, 3, _("I_nterval:"), -1, 5, 1, 1, 128, 1, 8, 0, TRUE, 0.0, 0.0, NULL, NULL)); g_signal_connect_swapped (dialog->threshold, "value-changed", G_CALLBACK (palette_import_make_palette), dialog); /* The "Preview" frame */ frame = gimp_frame_new (_("Preview")); gtk_box_pack_start (GTK_BOX (main_hbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); abox = gtk_alignment_new (0.0, 0.0, 0.0, 0.0); gtk_box_pack_start (GTK_BOX (vbox), abox, FALSE, FALSE, 0); gtk_widget_show (abox); dialog->preview = gimp_view_new_full_by_types (dialog->context, GIMP_TYPE_VIEW, GIMP_TYPE_PALETTE, 192, 192, 1, TRUE, FALSE, FALSE); gtk_container_add (GTK_CONTAINER (abox), dialog->preview); gtk_widget_show (dialog->preview); dialog->no_colors_label = gtk_label_new (_("The selected source contains no colors.")); gtk_widget_set_size_request (dialog->no_colors_label, 194, -1); gtk_label_set_line_wrap (GTK_LABEL (dialog->no_colors_label), TRUE); gimp_label_set_attributes (GTK_LABEL (dialog->no_colors_label), PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC, -1); gtk_box_pack_start (GTK_BOX (vbox), dialog->no_colors_label, FALSE, FALSE, 0); gtk_widget_show (dialog->no_colors_label); /* keep the dialog up-to-date */ g_signal_connect (context->gimp->images, "add", G_CALLBACK (palette_import_image_add), dialog); g_signal_connect (context->gimp->images, "remove", G_CALLBACK (palette_import_image_remove), dialog); g_signal_connect (dialog->context, "gradient-changed", G_CALLBACK (palette_import_gradient_changed), dialog); g_signal_connect (dialog->context, "image-changed", G_CALLBACK (palette_import_image_changed), dialog); g_signal_connect (dialog->file_chooser, "selection-changed", G_CALLBACK (palette_import_filename_changed), dialog); palette_import_grad_callback (dialog->gradient_radio, dialog); return dialog->dialog; }
GtkWidget * gimp_foreground_select_options_gui (GimpToolOptions *tool_options) { GObject *config = G_OBJECT (tool_options); GtkWidget *vbox = gimp_selection_options_gui (tool_options); GtkWidget *hbox; GtkWidget *button; GtkWidget *frame; GtkWidget *scale; GtkWidget *combo; GtkWidget *table; gchar *title; gint row = 0; GimpForegroundSelectOptions *options = GIMP_FOREGROUND_SELECT_OPTIONS (config); frame = gimp_prop_enum_radio_frame_new (config, "draw-mode", title, 0,0); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); /* stroke width */ scale = gimp_prop_spin_scale_new (config, "stroke-width", _("Stroke width"), 1.0, 10.0, 2); gimp_spin_scale_set_scale_limits (GIMP_SPIN_SCALE (scale), 1.0, 1000.0); gimp_spin_scale_set_gamma (GIMP_SPIN_SCALE (scale), 1.7); gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0); gtk_widget_show (scale); button = gimp_stock_button_new (GIMP_STOCK_RESET, NULL); gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); gtk_image_set_from_stock (GTK_IMAGE (gtk_bin_get_child (GTK_BIN (button))), GIMP_STOCK_RESET, GTK_ICON_SIZE_MENU); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_widget_show (button); g_signal_connect (button, "clicked", G_CALLBACK (gimp_foreground_select_options_gui_reset_stroke_width), tool_options); gimp_help_set_help_data (button, _("Reset stroke width native size"), NULL); /* mask color */ frame = gimp_frame_new (_("Preview color:")); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); combo = gimp_prop_enum_combo_box_new (config, "mask-color", GIMP_RED_CHANNEL, GIMP_GRAY_CHANNEL); gtk_container_add (GTK_CONTAINER (frame), combo); gtk_widget_show (combo); /* engine */ frame = gimp_frame_new (_("Engine:")); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); combo = gimp_prop_enum_combo_box_new (config, "engine", 0, 0); gtk_container_add (GTK_CONTAINER (frame), combo); gtk_widget_show (combo); /* parameters */ table = gtk_table_new (3, 3, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 2); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); gtk_widget_show (table); options->dynamic_widgets.levels = gimp_prop_scale_entry_new (config, "levels", GTK_TABLE (table), 0, row++, "Levels", 1, 1, 0, FALSE, 0, 0); options->dynamic_widgets.active_levels = gimp_prop_scale_entry_new (config, "active-levels", GTK_TABLE (table), 0, row++, "Act. Levels", 1, 1, 0, FALSE, 0, 0); options->dynamic_widgets.iterations = gimp_prop_scale_entry_new (config, "iterations", GTK_TABLE (table), 0, row++, "Iterations", 1, 1, 0, FALSE, 0, 0); g_signal_connect_object (config, "notify::engine", G_CALLBACK (gimp_foreground_select_notify_engine), NULL, 0); gimp_foreground_select_notify_engine(tool_options,NULL,NULL); return vbox; }
void scan (Collection *collection) { GtkWidget *window; GtkWidget *vbox; GtkWidget *frame; GtkWidget *table; GtkWidget *entry_ip; GtkWidget *radio_button_single; GtkWidget *radio_button_multi; GtkWidget *entry_port; GtkWidget *entry_port_start; GtkWidget *entry_port_end; GtkWidget *entry_count; GtkWidget *label; GtkWidget *sw; GtkWidget *treeview; GtkWidget *progressbar; GtkWidget *hbuttonbox; GtkWidget *start; GtkWidget *end; ScanObject *scan_object; scan_object = g_slice_new (ScanObject); if (scan_object == NULL) { fprintf (stderr, "Error: not enough space\n"); exit (1); } window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "端口扫描"); gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (collection->window)); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_destroy_with_parent (GTK_WINDOW (window), TRUE); gtk_window_set_modal (GTK_WINDOW (window), TRUE); gtk_window_set_default_size (GTK_WINDOW (window), 400, 600); gtk_container_set_border_width (GTK_CONTAINER (window), 10); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("主机IP地址"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 2); table = gtk_table_new (4, 7, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 2); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_container_add (GTK_CONTAINER (frame), table); label = gtk_label_new ("IP地址"); gtk_table_attach (GTK_TABLE (table), label, 0, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_ip = gtk_entry_new(); gtk_entry_set_text (GTK_ENTRY (entry_ip), "127.0.0.1"); gtk_table_attach (GTK_TABLE (table), entry_ip, 2, 6, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); radio_button_single = gtk_radio_button_new_with_label (NULL, "扫描一个端口"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_button_single), TRUE); gtk_table_attach (GTK_TABLE (table), radio_button_single, 0, 2, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_port = gtk_entry_new(); gtk_entry_set_text (GTK_ENTRY (entry_port), "135"); gtk_widget_set_size_request (entry_port, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_port, 2, 3, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0); radio_button_multi = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button_single), "扫描多个端口"); gtk_table_attach (GTK_TABLE (table), radio_button_multi, 0, 2, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_port_start = gtk_entry_new (); gtk_widget_set_size_request (entry_port_start, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_port_start, 2, 3, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new ("TO"); gtk_table_attach (GTK_TABLE (table), label, 3, 4, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_port_end = gtk_entry_new (); gtk_widget_set_size_request (entry_port_end, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_port_end, 4, 5, 2, 3, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new ("尝试扫描次数"); gtk_table_attach (GTK_TABLE (table), label, 0, 2, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); entry_count = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (entry_count), "3"); gtk_widget_set_size_request (entry_count, 75, -1); gtk_table_attach (GTK_TABLE (table), entry_count, 2, 3, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0); label = gtk_label_new ("扫描结果"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 2); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 2); treeview = create_view_and_model (); gtk_container_add (GTK_CONTAINER (sw), treeview); progressbar = gtk_progress_bar_new(); gtk_box_pack_start (GTK_BOX (vbox), progressbar, FALSE, FALSE, 2); hbuttonbox = gtk_hbutton_box_new(); gtk_box_pack_start (GTK_BOX (vbox), hbuttonbox, FALSE, FALSE, 2); start = gtk_button_new_with_label ("开始"); gtk_box_pack_start (GTK_BOX (hbuttonbox), start, FALSE, FALSE, 2); end = gtk_button_new_with_label ("结束"); gtk_box_pack_start (GTK_BOX (hbuttonbox), end, FALSE, FALSE, 2); scan_object->scan_window = window; scan_object->entry_ip = entry_ip; scan_object->radio_button_single = radio_button_single; scan_object->radio_button_multi = radio_button_multi; scan_object->entry_port = entry_port; scan_object->entry_port_start = entry_port_start; scan_object->entry_port_end = entry_port_end; scan_object->entry_count = entry_count; scan_object->treeview = treeview; scan_object->progressbar = progressbar; g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (on_window_destroy), scan_object); g_signal_connect (GTK_BUTTON (start), "clicked", G_CALLBACK (on_start_clicked), scan_object); g_signal_connect (GTK_BUTTON (end), "clicked", G_CALLBACK (on_end_clicked), NULL); gtk_widget_show_all (window); }
gboolean create_folder_subscription_dialog (ExchangeAccount *account, const gchar *fname) { ENameSelector *name_selector; GtkWidget *dialog; GtkWidget *dialog_vbox1; GtkWidget *table1; GtkWidget *label1; GtkWidget *label3; GtkWidget *user_picker_placeholder; GtkWidget *button_user; GtkWidget *folder_name_combo; GtkWidget *server_combobox; SubscriptionInfo *subscription_info; gint mode; exchange_account_is_offline (account, &mode); if (mode == OFFLINE_MODE) return FALSE; subscription_info = g_new0 (SubscriptionInfo, 1); subscription_info->account = account; dialog = gtk_dialog_new_with_buttons ( _("Subscribe to folder of other user"), NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); gtk_widget_show (dialog_vbox1); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 2); gtk_table_set_row_spacings (GTK_TABLE (table1), 3); gtk_table_set_col_spacings (GTK_TABLE (table1), 3); label1 = gtk_label_new_with_mnemonic (_("_Account:")); 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_CENTER); label3 = gtk_label_new_with_mnemonic (_("_Folder Name:")); 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_CENTER); user_picker_placeholder = gtk_hbox_new (FALSE, 0); gtk_widget_show (user_picker_placeholder); gtk_table_attach (GTK_TABLE (table1), user_picker_placeholder, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); button_user = gtk_button_new_with_mnemonic (_("_User:"******"changed", G_CALLBACK (user_name_entry_changed_callback), dialog); setup_server_combobox (server_combobox, account->account_name); setup_folder_name_combo (folder_name_combo, fname); subscription_info->folder_name_entry = gtk_bin_get_child (GTK_BIN (folder_name_combo)); g_signal_connect (dialog, "response", G_CALLBACK (subscribe_to_folder), subscription_info); gtk_widget_show (dialog); /* Connect the callback to set the OK button insensitive when there is * no text in the folder_name_entry. Notice that we put a value there * by default so the OK button is sensitive by default. */ g_signal_connect (subscription_info->folder_name_entry, "changed", G_CALLBACK (folder_name_entry_changed_callback), dialog); return TRUE; }
extern int update_grid_table(GtkTable *table, List button_list, List node_list) { int rc = SLURM_SUCCESS; int coord_x=0, coord_y=0, inx=0; ListIterator itr = NULL, itr2 = NULL; sview_node_info_t *sview_node_info_ptr = NULL; button_processor_t button_processor; if (!node_list) { g_print("update_grid_table: no node_list given\n"); return SLURM_ERROR; } if (_init_button_processor(&button_processor, list_count(node_list)) != SLURM_SUCCESS) return SLURM_ERROR; button_processor.table = table; button_processor.button_list = button_list; button_processor.coord_x = &coord_x; button_processor.coord_y = &coord_y; button_processor.inx = &inx; gtk_table_resize(table, button_processor.table_y, working_sview_config.grid_x_width); gtk_table_set_row_spacings(table, 0); gtk_table_set_col_spacings(table, 0); itr = list_iterator_create(node_list); itr2 = list_iterator_create(button_list); while ((sview_node_info_ptr = list_next(itr))) { int found = 0; /* if (!working_sview_config.show_hidden */ /* && !check_part_includes_node(inx)) { */ /* inx++; */ /* continue; */ /* } */ // again: while ((button_processor.grid_button = list_next(itr2))) { if (button_processor.grid_button->inx != inx) { continue; } found = 1; if ((rc = _add_button_to_list( sview_node_info_ptr->node_ptr, &button_processor)) != SLURM_SUCCESS) goto end_it; break; } if (!found) { //list_iterator_reset(itr2); //goto again; return RESET_GRID; } inx++; } rc = _add_button_to_list(NULL, &button_processor); /* This is needed to get the correct width of the grid window. * If it is not given then we get a really narrow window. */ gtk_table_set_row_spacing(table, coord_y?(coord_y-1):0, 1); end_it: list_iterator_destroy(itr); list_iterator_destroy(itr2); return rc; }
void gtkui_dhcp_spoofing(void) { GtkWidget *dialog, *table, *hbox, *image, *label, *entry1, *entry2, *entry3, *frame, *content_area; gint response = 0; DEBUG_MSG("gtk_dhcp_spoofing"); // memset(params, '\0', PARAMS_LEN+1); dialog = gtk_dialog_new_with_buttons("MITM Attack: DHCP Spoofing", GTK_WINDOW (window), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); gtk_container_set_border_width(GTK_CONTAINER (dialog), 5); #if !GTK_CHECK_VERSION(2, 22, 0) gtk_dialog_set_has_separator(GTK_DIALOG (dialog), FALSE); #endif #if GTK_CHECK_VERSION(3, 0, 0) hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); #else hbox = gtk_hbox_new (FALSE, 5); #endif content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_container_add(GTK_CONTAINER(content_area), hbox); gtk_widget_show(hbox); image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG); gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.1); gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 5); gtk_widget_show(image); frame = gtk_frame_new("Server Information"); gtk_container_set_border_width(GTK_CONTAINER (frame), 5); gtk_box_pack_start (GTK_BOX (hbox), frame, TRUE, TRUE, 0); gtk_widget_show(frame); table = gtk_table_new(3, 2, FALSE); 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), 8); gtk_container_add(GTK_CONTAINER (frame), table); gtk_widget_show(table); label = gtk_label_new("IP Pool (optional)"); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); gtk_table_attach(GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(label); entry1 = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE (table), entry1, 1, 2, 0, 1); gtk_widget_show(entry1); label = gtk_label_new("Netmask"); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); gtk_table_attach(GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(label); entry2 = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY (entry2), IP6_ASCII_ADDR_LEN); gtk_table_attach_defaults(GTK_TABLE (table), entry2, 1, 2, 1, 2); gtk_widget_show(entry2); label = gtk_label_new("DNS Server IP"); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); gtk_table_attach(GTK_TABLE (table), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(label); entry3 = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY (entry3), IP6_ASCII_ADDR_LEN); gtk_table_attach_defaults(GTK_TABLE (table), entry3, 1, 2, 2, 3); gtk_widget_show(entry3); response = gtk_dialog_run(GTK_DIALOG(dialog)); if(response == GTK_RESPONSE_OK) { gtk_widget_hide(dialog); // memset(params, '\0', PARAMS_LEN); snprintf(params, PARAMS_LEN+1, "dhcp:%s/%s/%s", gtk_entry_get_text(GTK_ENTRY(entry1)), gtk_entry_get_text(GTK_ENTRY(entry2)), gtk_entry_get_text(GTK_ENTRY(entry3))); DEBUG_MSG("ec_gtk_dhcp: DHCP MITM %s", params); gtkui_start_mitm(); } gtk_widget_destroy(dialog); /* a simpler method: gtkui_input_call("Parameters :", params + strlen("dhcp:"), PARAMS_LEN - strlen("dhcp:"), gtkui_start_mitm); */ }
CAirMassDlg::CAirMassDlg(GtkWindow *pParent):m_Updating(false), m_JDValue(0), m_InvalidUTC(false) { GtkWidget *tbox, *label; // Dialog with buttons m_pDlg = gtk_dialog_new_with_buttons("Air mass coefficient", pParent, (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_HELP, GTK_RESPONSE_HELP, NULL); gtk_dialog_widget_standard_tooltips(GTK_DIALOG(m_pDlg)); g_signal_connect(G_OBJECT(m_pDlg), "response", G_CALLBACK(response_dialog), this); // Dialog icon gchar *icon = get_icon_file("airmass"); gtk_window_set_icon(GTK_WINDOW(m_pDlg), gdk_pixbuf_new_from_file(icon, NULL)); g_free(icon); // Object coordinates tbox = gtk_table_new(8, 3, FALSE); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(m_pDlg)->vbox), tbox); gtk_container_set_border_width(GTK_CONTAINER(tbox), 8); gtk_table_set_row_spacings(GTK_TABLE(tbox), 4); gtk_table_set_row_spacing(GTK_TABLE(tbox), 1, 16); gtk_table_set_row_spacing(GTK_TABLE(tbox), 3, 16); gtk_table_set_row_spacing(GTK_TABLE(tbox), 5, 16); gtk_table_set_col_spacings(GTK_TABLE(tbox), 8); // Object coordinates label = gtk_label_new("Object - right ascension"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 0, 1); m_RA = gtk_entry_new_with_max_length(16); gtk_widget_set_tooltip_text(m_RA, "Object's right ascension in hours, minutes and seconds, e.g. 12 34 56"); g_signal_connect(G_OBJECT(m_RA), "changed", G_CALLBACK(entry_changed), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_RA, 1, 2, 0, 1); label = gtk_label_new("[h m s]"); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 2, 3, 0, 1); m_ObjBtn = gtk_button_new_with_label("More"); gtk_widget_set_tooltip_text(m_ObjBtn, "Load object coordinates from presets or variable star catalogs"); g_signal_connect(G_OBJECT(m_ObjBtn), "clicked", G_CALLBACK(button_clicked), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_ObjBtn, 3, 4, 0, 1); label = gtk_label_new("- declination"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 1, 2); m_Dec = gtk_entry_new_with_max_length(16); gtk_widget_set_tooltip_text(m_Dec, "Object's declination in degrees, minutes and seconds, e.g. -12 34 56"); g_signal_connect(G_OBJECT(m_Dec), "changed", G_CALLBACK(entry_changed), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_Dec, 1, 2, 1, 2); label = gtk_label_new("[\xC2\xB1""d m s]"); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 2, 3, 1, 2); // Observer's coordinates label = gtk_label_new("Observer - longitude"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 2, 3); m_Lon = gtk_entry_new_with_max_length(16); gtk_widget_set_tooltip_text(m_Lon, "Observer's longitude in degrees, minutes and seconds, use E or W suffix to indicate hemisphere, e.g. 12 34 56 E"); g_signal_connect(G_OBJECT(m_Lon), "changed", G_CALLBACK(entry_changed), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_Lon, 1, 2, 2, 3); label = gtk_label_new("[d m s E/W]"); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 2, 3, 2, 3); m_LocBtn = gtk_button_new_with_label("More"); gtk_widget_set_tooltip_text(m_LocBtn, "Load observer's coordinates from presets"); g_signal_connect(G_OBJECT(m_LocBtn), "clicked", G_CALLBACK(button_clicked), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_LocBtn, 3, 4, 2, 3); label = gtk_label_new("- latitude"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 3, 4); m_Lat = gtk_entry_new_with_max_length(16); gtk_widget_set_tooltip_text(m_Lat, "Observer's latitude in degrees, minutes and seconds, use N or S suffix to indicate hemisphere, e.g. 56 34 12 N"); g_signal_connect(G_OBJECT(m_Lat), "changed", G_CALLBACK(entry_changed), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_Lat, 1, 2, 3, 4); label = gtk_label_new("[d m s N/S]"); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 2, 3, 3, 4); // Date and time of observation label = gtk_label_new("Date and time (UTC)"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 4, 5); m_UTC = gtk_entry_new_with_max_length(32); gtk_widget_set_tooltip_text(m_UTC, "Coordinated Universal Time or observation"); g_signal_connect(G_OBJECT(m_UTC), "changed", G_CALLBACK(entry_changed), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_UTC, 1, 2, 4, 5); label = gtk_label_new("[y-m-d h:m:s]"); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 2, 3, 4, 5); label = gtk_label_new("Julian date"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 5, 6); m_JD = gtk_entry_new_with_max_length(32); gtk_widget_set_tooltip_text(m_JD, "Julian date and time or observation"); g_signal_connect(G_OBJECT(m_JD), "changed", G_CALLBACK(entry_changed), this); gtk_table_attach_defaults(GTK_TABLE(tbox), m_JD, 1, 2, 5, 6); label = gtk_label_new("[24xxxxx.xxx]"); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 2, 3, 5, 6); // Output value label = gtk_label_new("Air mass coefficient"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 6, 7); m_AMass = gtk_entry_new(); gtk_widget_set_tooltip_text(m_AMass, "Air mass coefficient"); gtk_editable_set_editable(GTK_EDITABLE(m_AMass), false); gtk_table_attach_defaults(GTK_TABLE(tbox), m_AMass, 1, 2, 6, 7); gtk_widget_set_size_request(m_AMass, 200, -1); label = gtk_label_new("Altitude"); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(tbox), label, 0, 1, 7, 8); m_Alt = gtk_entry_new(); gtk_widget_set_tooltip_text(m_Alt, "Apparent altitude of the object in degrees"); gtk_editable_set_editable(GTK_EDITABLE(m_Alt), false); gtk_table_attach_defaults(GTK_TABLE(tbox), m_Alt, 1, 2, 7, 8); gtk_widget_show_all(GTK_DIALOG(m_pDlg)->vbox); }
static void thunar_sbr_replace_renamer_init (ThunarSbrReplaceRenamer *replace_renamer) { AtkRelationSet *relations; AtkRelation *relation; AtkObject *object; GtkWidget *table; GtkWidget *label; GtkWidget *entry; GtkWidget *button; #ifdef HAVE_PCRE /* check if PCRE supports UTF-8 */ if (pcre_config (PCRE_CONFIG_UTF8, &replace_renamer->regexp_supported) != 0) replace_renamer->regexp_supported = FALSE; #endif /* allocate the shared tooltips */ replace_renamer->tooltips = gtk_tooltips_new (); exo_gtk_object_ref_sink (GTK_OBJECT (replace_renamer->tooltips)); table = gtk_table_new (2, 3, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 12); gtk_box_pack_start (GTK_BOX (replace_renamer), table, FALSE, FALSE, 0); gtk_widget_show (table); label = gtk_label_new_with_mnemonic (_("_Search For:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); gtk_widget_show (label); replace_renamer->pattern_entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (replace_renamer->pattern_entry), TRUE); exo_mutual_binding_new (G_OBJECT (replace_renamer->pattern_entry), "text", G_OBJECT (replace_renamer), "pattern"); gtk_tooltips_set_tip (replace_renamer->tooltips, replace_renamer->pattern_entry, _("Enter the text to search for in the file names."), NULL); gtk_table_attach (GTK_TABLE (table), replace_renamer->pattern_entry, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), replace_renamer->pattern_entry); gtk_widget_show (replace_renamer->pattern_entry); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (replace_renamer->pattern_entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); button = gtk_check_button_new_with_mnemonic (_("Regular _Expression")); exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (replace_renamer), "regexp"); gtk_tooltips_set_tip (replace_renamer->tooltips, button, _("If you enable this option, the pattern will be treated as a regular expression and " "matched using the Perl-compatible regular expressions (PCRE). Check the documentation " "for details about the regular expression syntax."), NULL); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 1, GTK_FILL, 0, 0, 0); gtk_widget_set_sensitive (button, replace_renamer->regexp_supported); gtk_widget_show (button); label = gtk_label_new_with_mnemonic (_("Replace _With:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show (label); entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE); exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (replace_renamer), "replacement"); gtk_tooltips_set_tip (replace_renamer->tooltips, entry, _("Enter the text that should be used as replacement for the pattern above."), NULL); gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); gtk_widget_show (entry); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); button = gtk_check_button_new_with_mnemonic (_("C_ase Sensitive Search")); exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (replace_renamer), "case-sensitive"); gtk_tooltips_set_tip (replace_renamer->tooltips, button, _("If you enable this option, the pattern will be searched in a case-sensitive manner. " "The default is to use a case-insensitive search."), NULL); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show (button); }