aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/expert_comp_dlg.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2008-02-17 21:22:00 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2008-02-17 21:22:00 +0000
commitfd9486cea603a9cd4d55e94494555f9f578c395b (patch)
treecd84c3749787a2f25f8a7fd0fb60c14c075c741a /gtk/expert_comp_dlg.c
parent1c3c9d7828f761c50fd4e6d9ced3b0ff09cce495 (diff)
Added help button in expert info and expert info composite dialogs.
svn path=/trunk/; revision=24374
Diffstat (limited to 'gtk/expert_comp_dlg.c')
-rw-r--r--gtk/expert_comp_dlg.c63
1 files changed, 38 insertions, 25 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);