⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsegyproperties.c

📁 segy 显示程序!希望能给正在做这部分朋友提供一部分资料
💻 C
📖 第 1 页 / 共 4 页
字号:
    gtk_table_attach (GTK_TABLE (*table), *font_label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0);    *font_button = gtk_font_button_new_with_font (font_name);    gtk_font_button_set_font_name (GTK_FONT_BUTTON (*font_button), font_name);    gtk_font_button_set_title (GTK_FONT_BUTTON (*font_button), font_title);    gtk_table_attach (GTK_TABLE (*table), *font_button, 1, 2, 0, 1, 0, 0, 0, 0);    gtk_size_group_add_widget (GTK_SIZE_GROUP (size_group), *font_button);    *fg_label = gtk_label_new (_("Foreground"));    gtk_misc_set_alignment (GTK_MISC (*fg_label), 0, 1);    gtk_table_attach (GTK_TABLE (*table), *fg_label, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);    *fg_button = gtk_color_button_new_with_color (fg_color);    gtk_color_button_set_title (GTK_COLOR_BUTTON (*fg_button), fg_title);    gtk_color_button_set_color (GTK_COLOR_BUTTON (*fg_button), fg_color);    gtk_table_attach (GTK_TABLE (*table), *fg_button, 1, 2, 1, 2, 0, 0, 0, 0);    gtk_size_group_add_widget (GTK_SIZE_GROUP (size_group), *fg_button);    *bg_label = gtk_label_new (_("Background"));    gtk_misc_set_alignment (GTK_MISC (*bg_label), 0, 1);    gtk_table_attach (GTK_TABLE (*table), *bg_label, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);    *bg_button = gtk_color_button_new_with_color (bg_color);    gtk_color_button_set_title (GTK_COLOR_BUTTON (*bg_button), bg_title);    gtk_color_button_set_color (GTK_COLOR_BUTTON (*bg_button), bg_color);    gtk_table_attach (GTK_TABLE (*table), *bg_button, 1, 2, 2, 3, 0, 0, 0, 0);    gtk_size_group_add_widget (GTK_SIZE_GROUP (size_group), *bg_button);}GtkWidget* g_segy_properties_get_main_widget (GSEGYProperties *self) {    GSEGYPropertiesPrivate *private = G_SEGY_PROPERTIES_GET_PRIVATE (self);    guint i, j;    if (NULL == private->window) {        private->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);        gtk_container_set_border_width (GTK_CONTAINER (private->window), 7);        gtk_window_set_modal (GTK_WINDOW (private->window), FALSE);        gtk_window_set_resizable (GTK_WINDOW (private->window), FALSE);        gtk_window_set_title (GTK_WINDOW (private->window), _("Properties"));        gtk_signal_connect (GTK_OBJECT (private->window), "delete_event",                            GTK_SIGNAL_FUNC (g_segy_properties_window_close_handler), (gpointer)G_OBJECT (self));        private->vbox = gtk_vbox_new (FALSE, 3);        gtk_container_add (GTK_CONTAINER (private->window), private->vbox);        private->notebook = gtk_notebook_new  ();        g_object_set (G_OBJECT (private->notebook), "tab-hborder", 5, "tab-vborder", 3, NULL);        gtk_box_pack_start (GTK_BOX (private->vbox), private->notebook, TRUE, TRUE, 5);        private->axes_vbox = gtk_vbox_new (FALSE, 3);        gtk_container_set_border_width (GTK_CONTAINER (private->axes_vbox), 5);        gtk_notebook_append_page (GTK_NOTEBOOK (private->notebook), private->axes_vbox, gtk_label_new (_("Axes")));        private->common_frame = gtk_frame_new (_("Common"));        gtk_box_pack_start (GTK_BOX (private->axes_vbox), private->common_frame, FALSE, FALSE, 3);        private->axes_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);        private->common_table = gtk_table_new (3, 2, FALSE);        g_segy_properties_build_axis_font_color_table (&private->common_table, &private->axes_font_label,                                                       &private->axes_font_button, &private->axes_fg_label,                                                       &private->axes_fg_button, &private->axes_bg_label,                                                       &private->axes_bg_button, private->axes_size_group,                                                       private->default_font, _("Font for all axes"),                                                       _("Foreground for all axes"), _("Background for all axes"),                                                       &private->axes_fg_color, &private->axes_bg_color);        gtk_container_add (GTK_CONTAINER (private->common_frame), private->common_table);        gtk_signal_connect (GTK_OBJECT (private->axes_font_button), "font-set",                            GTK_SIGNAL_FUNC (g_segy_properties_axes_font_set_handler),                            (gpointer)G_OBJECT (self));        gtk_signal_connect (GTK_OBJECT (private->axes_fg_button), "color-set",                            GTK_SIGNAL_FUNC (g_segy_properties_axes_fg_color_set_handler),                            (gpointer)G_OBJECT (self));        gtk_signal_connect (GTK_OBJECT (private->axes_bg_button), "color-set",                            GTK_SIGNAL_FUNC (g_segy_properties_axes_bg_color_set_handler),                            (gpointer)G_OBJECT (self));        private->axis_frame = gtk_frame_new (NULL);        gtk_box_pack_start (GTK_BOX (private->axes_vbox), private->axis_frame, FALSE, FALSE, 3);        private->axes_combo = gtk_combo_box_new_text  ();        gtk_combo_box_append_text (GTK_COMBO_BOX (private->axes_combo), _("Top"));        gtk_combo_box_append_text (GTK_COMBO_BOX (private->axes_combo), _("Bottom"));        gtk_combo_box_append_text (GTK_COMBO_BOX (private->axes_combo), _("Left"));        gtk_combo_box_append_text (GTK_COMBO_BOX (private->axes_combo), _("Right"));        gtk_combo_box_set_active (GTK_COMBO_BOX (private->axes_combo), private->active_axis);        gtk_signal_connect (GTK_OBJECT (private->axes_combo), "changed",                            GTK_SIGNAL_FUNC (g_segy_properties_axes_combo_changed_handler),                            (gpointer)G_OBJECT (self));        gtk_frame_set_label_widget (GTK_FRAME (private->axis_frame), private->axes_combo);        private->axis_vbox = gtk_vbox_new (FALSE, 3);        gtk_container_add (GTK_CONTAINER (private->axis_frame), private->axis_vbox);        for (i = 0; i < G_SEIS_VIEW_AXES_TYPES_NUM; i++) {             private->axis_vboxs[i] = gtk_vbox_new (FALSE, 3);             gtk_container_set_border_width (GTK_CONTAINER (private->axis_vboxs[i]), 5);             gtk_box_pack_start (GTK_BOX (private->axis_vbox), private->axis_vboxs[i], FALSE, FALSE, 3);             private->axis_show_toggle[i] = gtk_check_button_new_with_label (_("Show"));             gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (private->axis_show_toggle[i]), private->axis_is_shown[i]);             gtk_box_pack_start (GTK_BOX (private->axis_vboxs[i]), private->axis_show_toggle[i], FALSE, FALSE, 3);             gtk_signal_connect (GTK_OBJECT (private->axis_show_toggle[i]), "toggled",                                 GTK_SIGNAL_FUNC (g_segy_properties_axis_show_toggle_handler),                                 (gpointer)G_OBJECT (self));             private->axis_hbox[i] = gtk_hbox_new (FALSE, 3);             if (i <= G_SEIS_VIEW_AXIS_BOTTOM && private->sort_labels) {                 gtk_box_pack_start (GTK_BOX (private->axis_vboxs[i]), private->axis_hbox[i], FALSE, FALSE, 3);                 private->axis_label[i] = gtk_label_new (_("Labels"));                 gtk_misc_set_alignment (GTK_MISC (private->axis_label[i]), 0, 0.5);                 gtk_box_pack_start (GTK_BOX (private->axis_hbox[i]), private->axis_label[i], TRUE, TRUE, 3);                 private->axis_sort_combo[i] = gtk_combo_box_new_text  ();                 for (j = 0; j < private->sort_labels->len - 1; j++) {                     gtk_combo_box_append_text (GTK_COMBO_BOX (private->axis_sort_combo[i]),                                                g_ptr_array_index (private->sort_labels, j));                 }                 gtk_combo_box_set_active (GTK_COMBO_BOX (private->axis_sort_combo[i]), private->axis_label_id[i]);                 gtk_size_group_add_widget (GTK_SIZE_GROUP (private->axes_size_group), private->axis_sort_combo[i]);                 gtk_box_pack_start (GTK_BOX (private->axis_hbox[i]), private->axis_sort_combo[i], FALSE, FALSE, 3);                 gtk_signal_connect (GTK_OBJECT (private->axis_sort_combo[i]), "changed",                                     GTK_SIGNAL_FUNC (g_segy_properties_axis_label_combo_changed_handler),                                     (gpointer)G_OBJECT (self));             } else {                 GtkWidget *integer_radio_alignment, *float_radio_alignment;                 GtkSizeGroup *radio_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);                 integer_radio_alignment = gtk_alignment_new (0, 0.5, 0, 0);                 private->axis_integer_radio[i] = gtk_radio_button_new_with_label (NULL, _("Integer"));                 gtk_container_add (GTK_CONTAINER (integer_radio_alignment), private->axis_integer_radio[i]);                 gtk_box_pack_start (GTK_BOX (private->axis_vboxs[i]), integer_radio_alignment, TRUE, TRUE, 0);                 gtk_size_group_add_widget (radio_size_group, private->axis_integer_radio[i]);                 float_radio_alignment = gtk_alignment_new (0, 0.5, 0, 0);                 private->axis_float_radio[i] =                      gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (private->axis_integer_radio[i]),                                                                   _("Float"));                 gtk_size_group_add_widget (radio_size_group, private->axis_float_radio[i]);                 gtk_container_add (GTK_CONTAINER (float_radio_alignment), private->axis_float_radio[i]);                 gtk_box_pack_start (GTK_BOX (private->axis_vboxs[i]), float_radio_alignment, TRUE, TRUE, 0);                 gtk_box_pack_start (GTK_BOX (private->axis_vboxs[i]), private->axis_hbox[i], FALSE, FALSE, 3);                 private->axis_label[i] = gtk_label_new (_("Precision"));                 gtk_misc_set_alignment (GTK_MISC (private->axis_label[i]), 0, 0.5);                 gtk_box_pack_start (GTK_BOX (private->axis_hbox[i]), private->axis_label[i], TRUE, TRUE, 3);                 private->axis_precision_spin[i] = gtk_spin_button_new_with_range (0, 6, 1);                 gtk_spin_button_set_value (GTK_SPIN_BUTTON (private->axis_precision_spin[i]), private->axis_precision[i]);                 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (private->axis_precision_spin[i]), 2);                 gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (private->axis_precision_spin[i]), TRUE);                 gtk_box_pack_start (GTK_BOX (private->axis_hbox[i]), private->axis_precision_spin[i], FALSE, FALSE, 3);                 gtk_widget_set_sensitive (private->axis_precision_spin[i], private->axis_is_float[i]);                 if (private->axis_is_float[i])                     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (private->axis_float_radio[i]), TRUE);                 else                     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (private->axis_integer_radio[i]), TRUE);                 gtk_signal_connect (GTK_OBJECT (private->axis_float_radio[i]), "toggled",                                     GTK_SIGNAL_FUNC (g_segy_properties_axis_format_changed_handler),                                     (gpointer)G_OBJECT (self));                 gtk_signal_connect (GTK_OBJECT (private->axis_precision_spin[i]), "value_changed",                                     GTK_SIGNAL_FUNC (g_segy_properties_axis_precision_set_handler),                                     (gpointer)G_OBJECT (self));             }             g_segy_properties_build_axis_font_color_table (&private->axis_table[i], &private->axis_font_label[i],                                                            &private->axis_font_button[i], &private->axis_fg_label[i],                                                            &private->axis_fg_button[i], &private->axis_bg_label[i],                                                            &private->axis_bg_button[i], private->axes_size_group,                                                            private->default_font, _("Axis fonr"),                                                            _("Axis foreground"), _("Axis background"),                                                            &private->axis_fg_color[i], &private->axis_bg_color[i]);             gtk_box_pack_start (GTK_BOX (private->axis_vboxs[i]), private->axis_table[i], FALSE, FALSE, 3);             gtk_signal_connect (GTK_OBJECT (private->axis_font_button[i]), "font-set",                                 GTK_SIGNAL_FUNC (g_segy_properties_axis_font_set_handler),                                 (gpointer)G_OBJECT (self));             gtk_signal_connect (GTK_OBJECT (private->axis_fg_button[i]), "color-set",                                 GTK_SIGNAL_FUNC (g_segy_properties_axis_fg_color_set_handler),                                 (gpointer)G_OBJECT (self));             gtk_signal_connect (GTK_OBJECT (private->axis_bg_button[i]), "color-set",                                 GTK_SIGNAL_FUNC (g_segy_properties_axis_bg_color_set_handler),                                 (gpointer)G_OBJECT (self));        }        private->data_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);        private->data_vbox = gtk_vbox_new (FALSE, 3);        gtk_container_set_border_width (GTK_CONTAINER (private->data_vbox), 5);        gtk_notebook_append_page (GTK_NOTEBOOK (private->notebook), private->data_vbox, gtk_label_new (_("Data")));        private->data_colors_frame = gtk_frame_new (_("Colors"));        gtk_box_pack_start (GTK_BOX (private->data_vbox), private->data_colors_frame, FALSE, FALSE, 3);        private->data_table = gtk_table_new (3, 2, FALSE);        gtk_container_set_border_width (GTK_CONTAINER (private->data_table), 5);        gtk_table_set_row_spacings (GTK_TABLE (private->data_table), 5);        gtk_table_set_col_spacings (GTK_TABLE (private->data_table), 10);        private->trace_label = gtk_label_new (_("Trace"));        gtk_misc_set_alignment (GTK_MISC (private->trace_label), 0, 1);        gtk_table_attach (GTK_TABLE (private->data_table), private->trace_label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0);        private->trace_button = gtk_color_button_new_with_color (&private->trace_color);        gtk_color_button_set_title (GTK_COLOR_BUTTON (private->trace_button), _("Trace color"));        gtk_color_button_set_color (GTK_COLOR_BUTTON (private->trace_button), &private->trace_color);        gtk_table_attach (GTK_TABLE (private->data_table), private->trace_button, 1, 2, 0, 1, 0, 0, 0, 0);        gtk_size_group_add_widget (GTK_SIZE_GROUP (private->data_size_group), private->trace_button);        gtk_signal_connect (GTK_OBJECT (private->trace_button), "color-set",                            GTK_SIGNAL_FUNC (g_segy_properties_trace_color_set_handler),                            (gpointer)G_OBJECT (self));        private->underlayer_label = gtk_label_new (_("Underlayer"));        gtk_misc_set_alignment (GTK_MISC (private->underlayer_label), 0, 1);        gtk_table_attach (GTK_TABLE (private->data_table), private->underlayer_label, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);        private->underlayer_button = gtk_color_button_new_with_color (&private->underlayer_color);        gtk_color_button_set_title (GTK_COLOR_BUTTON (private->underlayer_button), _("Underlayer color"));        gtk_color_button_set_color (GTK_COLOR_BUTTON (private->underlayer_button), &private->underlayer_color);        gtk_table_attach (GTK_TABLE (private->data_table), private->underlayer_button, 1, 2, 1, 2, 0, 0, 0, 0);        gtk_size_group_add_widget (GTK_SIZE_GROUP (private->data_size_group), private->underlayer_button);        gtk_signal_connect (GTK_OBJECT (private->underlayer_button), "color-set",                            GTK_SIGNAL_FUNC (g_segy_properties_underlayer_color_set_handler),                            (gpointer)G_OBJECT (self));        private->highlight_label = gtk_label_new (_("Highlight"));        gtk_misc_set_alignment (GTK_MISC (private->highlight_label), 0, 1);        gtk_table_attach (GTK_TABLE (private->data_table), private->highlight_label, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);        private->highlight_button = gtk_color_button_new_with_color (&private->highlight_color);        gtk_color_button_set_title (GTK_COLOR_BUTTON (private->highlight_button), _("Highlight color"));        gtk_color_button_set_color (GTK_COLOR_BUTTON (private->highlight_button), &private->highlight_color);        gtk_table_attach (GTK_TABLE (private->data_table), private->highlight_button, 1, 2, 2, 3, 0, 0, 0, 0);        gtk_size_group_add_widget (GTK_SIZE_GROUP (private->data_size_group), private->highlight_button);        gtk_signal_connect (GTK_OBJECT (private->highlight_button), "color-set",                            GTK_SIGNAL_FUNC (g_segy_properties_highlight_color_set_handler),                            (gpointer)G_OBJECT (self));        gtk_container_add (GTK_CONTAINER (private->data_colors_frame), private->data_table);        private->data_cursor_frame = gtk_frame_new (_("Cursor"));        gtk_box_pack_start (GTK_BOX (private->data_vbox), private->data_cursor_frame, FALSE, FALSE, 3);        private->data_cursor_vbox = gtk_vbox_new (FALSE, 3);        gtk_container_set_border_width (GTK_CONTAINER (private->data_cursor_vbox), 5);        gtk_container_add (GTK_CONTAINER (private->data_cursor_frame), private->data_cursor_vbox);        private->show_cursor_toggle = gtk_check_button_new_with_label (_("Show cross"));        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (private->show_cursor_toggle), private->show_cross);        gtk_box_pack_start (GTK_BOX (private->data_cursor_vbox), private->show_cursor_toggle, FALSE, FALSE, 3);        gtk_signal_connect (GTK_OBJECT (private->show_cursor_toggle), "toggled",                            GTK_SIGNAL_FUNC (g_segy_properties_cursor_show_cross_toggle_handler),                            (gpointer)G_OBJECT (self));        private->real_amplitude_toggle = gtk_check_button_new_with_label (_("Real amplitude"));        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (private->real_amplitude_toggle), private->real_amplitude);        gtk_box_pack_start (GTK_BOX (private->data_cursor_vbox), private->real_amplitude_toggle, FALSE, FALSE, 3);        gtk_widget_set_sensitive (private->real_amplitude_toggle,                                  FALSE == gtk_seis_view_gl_has_real_amplitudes (private->seis_view));        gtk_signal_connect (GTK_OBJECT (private->real_amplitude_toggle), "toggled",                            GTK_SIGNAL_FUNC (g_segy_properties_cursor_real_amplitude_toggle_handler),                            (gpointer)G_OBJECT (self));        gtk_box_pack_start (GTK_BOX (private->vbox), gtk_hseparator_new (), TRUE, TRUE, 5);        private->button_box = gtk_hbutton_box_new ();        gtk_button_box_set_layout (GTK_BUTTON_BOX (private->button_box), GTK_BUTTONBOX_SPREAD);        gtk_box_pack_start (GTK_BOX (private->vbox), private->button_box, FALSE, FALSE, 5);        private->close_button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);        gtk_container_add (GTK_CONTAINER (private->button_box), private->close_button);        gtk_signal_connect (GTK_OBJECT (private->close_button), "clicked",                            GTK_SIGNAL_FUNC (g_segy_properties_close_button_handler),                            (gpointer)G_OBJECT (self));        gtk_widget_show_all (private->vbox);        for (i = 0; i < G_SEIS_VIEW_AXES_TYPES_NUM; i++)             gtk_widget_hide (private->axis_vboxs[i]);        gtk_widget_show (private->axis_vboxs[private->active_axis]);        gsegy_view_set_window_icon (GTK_WINDOW (private->window));    }    return private->window;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -