📄 gsegytoolpanel.c
字号:
static void g_segy_tool_panel_motion_tool_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_change_activate_tool (self, button); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->motion_tool_id);}static void g_segy_tool_panel_magnify_tool_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_change_activate_tool (self, button); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->magnify_tool_id);}static void g_segy_tool_panel_highlight_tool_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_change_activate_tool (self, button); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->highlight_tool_id);}static void g_segy_tool_panel_scaling_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->scaling_id);}static void g_segy_tool_panel_fullscreen_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->fullscreen_id);}static void g_segy_tool_panel_save_image_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->save_image_id);}static void g_segy_tool_panel_color_manager_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->color_manager_id);}static void g_segy_tool_panel_properties_handler (GtkWidget *button, gpointer data) { GSEGYToolPanel *self = G_SEGY_TOOL_PANEL (data); g_segy_tool_panel_icon_activate_signal (self, G_SEGY_TOOL_PANEL_GET_CLASS (self)->properties_id);}GtkWidget* g_segy_tool_panel_get_main_widget (GSEGYToolPanel *self) { GSEGYToolPanelPrivate *private = G_SEGY_TOOL_PANEL_GET_PRIVATE (self); if (NULL == private->frame) { private->frame = gtk_frame_new (NULL); gtk_container_set_border_width (GTK_CONTAINER (private->frame), 0); private->hbox = gtk_hbox_new (FALSE, 3); gtk_container_set_border_width (GTK_CONTAINER (private->hbox), 3); gtk_container_add (GTK_CONTAINER (private->frame), private->hbox); private->toolpanel_tips = gtk_tooltips_new (); g_object_ref (G_OBJECT (private->toolpanel_tips)); gtk_object_sink (GTK_OBJECT (private->toolpanel_tips)); private->motion_tool_button = gtk_button_new (); private->motion_tool_icon = gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->motion_tool_button), private->motion_tool_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->motion_tool_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->motion_tool_button), "released", GTK_SIGNAL_FUNC (g_segy_tool_panel_motion_tool_handler), (gpointer)G_OBJECT (self)); gtk_signal_connect (GTK_OBJECT (private->motion_tool_button), "leave", GTK_SIGNAL_FUNC (g_segy_tool_panel_active_tool_leave_handler), (gpointer)G_OBJECT (self)); g_segy_tool_panel_change_activate_tool (self, private->motion_tool_button); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->motion_tool_button, _("View manipulation tool"), _("You can zoom/unzoom, drag, scale" "the data view with this tool" "It also allow you to highlight" "a trace, change ensembles and" "select color palettes.")); private->magnify_tool_button = gtk_button_new (); private->magnify_tool_icon = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->magnify_tool_button), private->magnify_tool_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->magnify_tool_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->magnify_tool_button), "released", GTK_SIGNAL_FUNC (g_segy_tool_panel_magnify_tool_handler), (gpointer)G_OBJECT (self)); gtk_signal_connect (GTK_OBJECT (private->magnify_tool_button), "leave", GTK_SIGNAL_FUNC (g_segy_tool_panel_active_tool_leave_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->magnify_tool_button, _("View magnify tool"), _("You can select any area within" "the data view with this tool." "The selected area will be displayed" "magnified in a new window.")); private->highlight_tool_button = gtk_button_new (); private->highlight_tool_icon = gtk_image_new_from_stock (GTK_STOCK_FIND_AND_REPLACE, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->highlight_tool_button), private->highlight_tool_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->highlight_tool_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->highlight_tool_button), "released", GTK_SIGNAL_FUNC (g_segy_tool_panel_highlight_tool_handler), (gpointer)G_OBJECT (self)); gtk_signal_connect (GTK_OBJECT (private->highlight_tool_button), "leave", GTK_SIGNAL_FUNC (g_segy_tool_panel_active_tool_leave_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->highlight_tool_button, _("Trace highlight/info tool"), _("You can highlight any trace within" "the data view with this tool." "Information about the selected trace" "will be displayed in a new window.")); gtk_box_pack_start (GTK_BOX (private->hbox), gtk_vseparator_new (), FALSE, FALSE, 0); private->fullscreen_button = gtk_button_new ();#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION <= 4 private->fullscreen_icon = gtk_image_new_from_stock (GTK_STOCK_ZOOM_100, GTK_ICON_SIZE_MENU);#else private->fullscreen_icon = gtk_image_new_from_stock (GTK_STOCK_FULLSCREEN, GTK_ICON_SIZE_MENU);#endif gtk_container_add (GTK_CONTAINER (private->fullscreen_button), private->fullscreen_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->fullscreen_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->fullscreen_button), "clicked", GTK_SIGNAL_FUNC (g_segy_tool_panel_fullscreen_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->fullscreen_button, _("Fullscreen/unfullscreen"), _("You can make the data view window" "fullscreen with this button." "Pressing it again in the fullscreen mode" "will return the window into the normal state." "Please note that F11 key also makes" "the window fullscreen/normal.")); gtk_box_pack_start (GTK_BOX (private->hbox), gtk_vseparator_new (), FALSE, FALSE, 0); private->scaling_button = gtk_button_new (); private->scaling_icon = gtk_image_new_from_stock (GTK_STOCK_INDENT, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->scaling_button), private->scaling_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->scaling_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->scaling_button), "clicked", GTK_SIGNAL_FUNC (g_segy_tool_panel_scaling_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->scaling_button, _("Data view parameters dialog box"), _("You can pop up the data view parameters" "dialog box with this button." "The data view parameters dialog box allows to" "control horizontal/vertical scaling" "of the displayed data, variable" "area amplification and the data viewport.")); private->save_image_button = gtk_button_new (); private->save_image_icon = gtk_image_new_from_stock (GTK_STOCK_SAVE, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->save_image_button), private->save_image_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->save_image_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->save_image_button), "clicked", GTK_SIGNAL_FUNC (g_segy_tool_panel_save_image_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->save_image_button, _("Save image dialog box"), _("You can pop up the save image" "dialog box with this button." "The save image dialog box allows to" "save the current data view to a file.")); private->color_manager_button = gtk_button_new (); private->color_manager_icon = gtk_image_new_from_stock (GTK_STOCK_SELECT_COLOR, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->color_manager_button), private->color_manager_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->color_manager_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->color_manager_button), "clicked", GTK_SIGNAL_FUNC (g_segy_tool_panel_color_manager_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->color_manager_button, _("Color manager dialog box"), _("You can pop up the color manager" "dialog box with this button." "The color manager dialog box allows to" "select one of predefined palettes" "for the data display.")); private->properties_button = gtk_button_new (); private->properties_icon = gtk_image_new_from_stock (GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (private->properties_button), private->properties_icon); gtk_box_pack_start (GTK_BOX (private->hbox), private->properties_button, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (private->properties_button), "clicked", GTK_SIGNAL_FUNC (g_segy_tool_panel_properties_handler), (gpointer)G_OBJECT (self)); gtk_tooltips_set_tip (GTK_TOOLTIPS (private->toolpanel_tips), private->properties_button, _("Properties dialog box"), _("You can pop up the properties" "dialog box with this button." "The properties dialog box allows to" "control properties of the data view" "like fonts, colors, type of labels.")); gtk_widget_show_all (private->frame); } return private->frame;}GSEGYToolPanel* g_segy_tool_panel_new (void) { return g_object_new (G_SEGY_TYPE_TOOL_PANEL, NULL);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -