diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2008-02-17 21:22:00 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2008-02-17 21:22:00 +0000 |
commit | fd9486cea603a9cd4d55e94494555f9f578c395b (patch) | |
tree | cd84c3749787a2f25f8a7fd0fb60c14c075c741a | |
parent | 1c3c9d7828f761c50fd4e6d9ced3b0ff09cce495 (diff) |
Added help button in expert info and expert info composite dialogs.
svn path=/trunk/; revision=24374
-rw-r--r-- | gtk/expert_comp_dlg.c | 63 | ||||
-rw-r--r-- | gtk/expert_dlg.c | 16 | ||||
-rw-r--r-- | gtk/help_dlg.c | 3 | ||||
-rw-r--r-- | gtk/help_dlg.h | 3 |
4 files changed, 57 insertions, 28 deletions
diff --git a/gtk/expert_comp_dlg.c b/gtk/expert_comp_dlg.c index 1386173f75..dad99f8852 100644 --- a/gtk/expert_comp_dlg.c +++ b/gtk/expert_comp_dlg.c @@ -44,6 +44,7 @@ #include "../stat_menu.h" #include "gui_stat_menu.h" #include <epan/stat_cmd_args.h> +#include "help_dlg.h" /* used to keep track of the statistics for an entire program interface */ typedef struct _expert_comp_dlg_t { @@ -185,19 +186,21 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_) GtkWidget *vbox; GtkWidget *bbox; GtkWidget *close_bt; - expert_tapdata_t * etd; + GtkWidget *help_bt; + expert_tapdata_t *etd; + GtkTooltips *tooltips = gtk_tooltips_new(); ss=g_malloc(sizeof(expert_comp_dlg_t)); - etd=g_malloc(sizeof(expert_tapdata_t)); - etd->all_events = NULL; - etd->new_events = NULL; - etd->disp_events = 0; - etd->chat_events = 0; - etd->note_events = 0; - etd->warn_events = 0; - etd->error_events = 0; - etd->severity_report_level = PI_CHAT; + etd=g_malloc(sizeof(expert_tapdata_t)); + etd->all_events = NULL; + etd->new_events = NULL; + etd->disp_events = 0; + etd->chat_events = 0; + etd->note_events = 0; + etd->warn_events = 0; + etd->error_events = 0; + etd->severity_report_level = PI_CHAT; ss->win=window_new(GTK_WINDOW_TOPLEVEL, "err"); gtk_window_set_default_size(GTK_WINDOW(ss->win), 700, 300); @@ -238,8 +241,8 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_) ss->all_label = gtk_label_new("Details"); gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, ss->all_label); - etd->label=gtk_label_new("Please wait ..."); - gtk_misc_set_alignment(GTK_MISC(etd->label), 0.0, 0.5); + etd->label=gtk_label_new("Please wait ..."); + gtk_misc_set_alignment(GTK_MISC(etd->label), 0.0, 0.5); etd->win=ss->win; expert_dlg_init_table(etd, temp_page); @@ -247,19 +250,19 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_) /* Add tap listener functions for expert details, From expert_dlg.c*/ - error_string=register_tap_listener("expert", etd, NULL /* fstring */, - expert_dlg_reset, - expert_dlg_packet, - expert_dlg_draw); - if(error_string){ - simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, error_string->str); - g_string_free(error_string, TRUE); - g_free(etd); - return; - } + error_string=register_tap_listener("expert", etd, NULL /* fstring */, + expert_dlg_reset, + expert_dlg_packet, + expert_dlg_draw); + if(error_string){ + simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, error_string->str); + g_string_free(error_string, TRUE); + g_free(etd); + return; + } - SIGNAL_CONNECT(etd->win, "delete_event", window_delete_event_cb, NULL); - SIGNAL_CONNECT(etd->win, "destroy", expert_dlg_destroy_cb, etd); + SIGNAL_CONNECT(etd->win, "delete_event", window_delete_event_cb, NULL); + SIGNAL_CONNECT(etd->win, "destroy", expert_dlg_destroy_cb, etd); /* Register the tap listener */ @@ -276,12 +279,22 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_) } /* Button row. */ - bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL); + if(topic_available(HELP_EXPERT_INFO_DIALOG)) { + bbox = dlg_button_row_new(GTK_STOCK_CLOSE, GTK_STOCK_HELP, NULL); + } else { + bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL); + } gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE); window_set_cancel_button(ss->win, close_bt, window_cancel_button_cb); + if(topic_available(HELP_EXPERT_INFO_DIALOG)) { + help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP); + SIGNAL_CONNECT(help_bt, "clicked", topic_cb, HELP_EXPERT_INFO_DIALOG); + gtk_tooltips_set_tip (tooltips, help_bt, "Show topic specific help", NULL); + } + SIGNAL_CONNECT(ss->win, "delete_event", window_delete_event_cb, NULL); SIGNAL_CONNECT(ss->win, "destroy", win_destroy_cb, ss); diff --git a/gtk/expert_dlg.c b/gtk/expert_dlg.c index 792bb8925a..5b9165b860 100644 --- a/gtk/expert_dlg.c +++ b/gtk/expert_dlg.c @@ -59,7 +59,7 @@ #include <epan/prefs.h> #include "colors.h" #include "proto_draw.h" - +#include "help_dlg.h" static const value_string expert_severity_om_vals[] = { @@ -466,12 +466,14 @@ expert_dlg_init(const char *optarg, void* userdata _U_) GtkWidget *table; GtkWidget *bbox; GtkWidget *close_bt; + GtkWidget *help_bt; GtkWidget *severity_box; GtkWidget *severity_om; GtkWidget *menu; GtkWidget *menu_item; GtkWidget *label; + GtkTooltips *tooltips = gtk_tooltips_new(); int i; if(!strncmp(optarg,"afp,srt,",8)){ @@ -546,12 +548,22 @@ expert_dlg_init(const char *optarg, void* userdata _U_) } /* Button row. */ - bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL); + if(topic_available(HELP_EXPERT_INFO_DIALOG)) { + bbox = dlg_button_row_new(GTK_STOCK_CLOSE, GTK_STOCK_HELP, NULL); + } else { + bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL); + } gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE); window_set_cancel_button(etd->win, close_bt, window_cancel_button_cb); + if(topic_available(HELP_EXPERT_INFO_DIALOG)) { + help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP); + SIGNAL_CONNECT(help_bt, "clicked", topic_cb, HELP_EXPERT_INFO_DIALOG); + gtk_tooltips_set_tip (tooltips, help_bt, "Show topic specific help", NULL); + } + SIGNAL_CONNECT(etd->win, "delete_event", window_delete_event_cb, NULL); SIGNAL_CONNECT(etd->win, "destroy", expert_dlg_destroy_cb, etd); diff --git a/gtk/help_dlg.c b/gtk/help_dlg.c index eda0450f8f..c54072a616 100644 --- a/gtk/help_dlg.c +++ b/gtk/help_dlg.c @@ -440,6 +440,9 @@ topic_action(topic_action_e action) case(HELP_FOLLOW_TCP_STREAM_DIALOG): help_topic_html("ChAdvFollowTCPSection.html"); break; + case(HELP_EXPERT_INFO_DIALOG): + help_topic_html("ChAdvExpert.html"); + break; case(HELP_STATS_SUMMARY_DIALOG): help_topic_html("ChStatSummary.html"); break; diff --git a/gtk/help_dlg.h b/gtk/help_dlg.h index 9659db224a..f730bc36f7 100644 --- a/gtk/help_dlg.h +++ b/gtk/help_dlg.h @@ -66,7 +66,8 @@ typedef enum { HELP_ENABLED_PROTOCOLS_DIALOG, HELP_DECODE_AS_DIALOG, HELP_DECODE_AS_SHOW_DIALOG, - HELP_FOLLOW_TCP_STREAM_DIALOG, /* currently unused */ + HELP_FOLLOW_TCP_STREAM_DIALOG, + HELP_EXPERT_INFO_DIALOG, HELP_STATS_SUMMARY_DIALOG, HELP_STATS_PROTO_HIERARCHY_DIALOG, HELP_STATS_ENDPOINTS_DIALOG, |