aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2009-01-18 14:47:51 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2009-01-18 14:47:51 +0000
commitfe7ea8526e14d95871beaa9cef211a2c47ee30ae (patch)
treed114f3fba35ea04eadddd57a460d7f83f963a843 /gtk
parent3278bafd5b79ce99cb119a0a99f275f3d428088d (diff)
From Jim Young:
The attached patch is an enhancement to the Expert Info Composite dialog's tab labels. On the four severity level tabs a second number is displayed that represents the total number of detail records associated with each severity level. svn path=/trunk/; revision=27260
Diffstat (limited to 'gtk')
-rw-r--r--gtk/expert_comp_dlg.c93
1 files changed, 74 insertions, 19 deletions
diff --git a/gtk/expert_comp_dlg.c b/gtk/expert_comp_dlg.c
index 4cfedb5f1c..0066d7c590 100644
--- a/gtk/expert_comp_dlg.c
+++ b/gtk/expert_comp_dlg.c
@@ -64,6 +64,11 @@ typedef struct _expert_comp_dlg_t {
error_equiv_table note_table;
error_equiv_table warn_table;
error_equiv_table error_table;
+ guint32 disp_events;
+ guint32 chat_events;
+ guint32 note_events;
+ guint32 warn_events;
+ guint32 error_events;
} expert_comp_dlg_t;
static void
@@ -82,14 +87,25 @@ error_reset(void *pss)
{
expert_comp_dlg_t *ss=(expert_comp_dlg_t *)pss;
+ ss->error_events = 0;
+ ss->warn_events = 0;
+ ss->note_events = 0;
+ ss->chat_events = 0;
+ ss->disp_events = 0;
+
reset_error_table_data(&ss->error_table);
- gtk_label_set_text( GTK_LABEL(ss->error_label), g_strdup_printf("Errors: %u", ss->error_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->error_label), g_strdup_printf("Errors: %u/0", ss->error_table.num_procs));
+
reset_error_table_data(&ss->warn_table);
- gtk_label_set_text( GTK_LABEL(ss->warn_label), g_strdup_printf("Warnings: %u", ss->warn_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->warn_label), g_strdup_printf("Warnings: %u/0", ss->warn_table.num_procs));
+
reset_error_table_data(&ss->note_table);
- gtk_label_set_text( GTK_LABEL(ss->note_label), g_strdup_printf("Notes: %u", ss->note_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->note_label), g_strdup_printf("Notes: %u/0", ss->note_table.num_procs));
+
reset_error_table_data(&ss->chat_table);
- gtk_label_set_text( GTK_LABEL(ss->chat_label), g_strdup_printf("Chats: %u", ss->chat_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->chat_label), g_strdup_printf("Chats: %u/0", ss->chat_table.num_procs));
+
+ gtk_label_set_text( GTK_LABEL(ss->all_label), g_strdup_printf("Details: 0"));
error_set_title(ss);
}
@@ -103,31 +119,46 @@ error_packet(void *pss, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const v
if(error_pkt==NULL){
return 0;
}
+
switch (error_pkt->severity) {
case PI_ERROR:
+ ss->disp_events++;
+ ss->error_events++;
init_error_table_row(&ss->error_table, error_pkt);
add_error_table_data(&ss->error_table, error_pkt);
- gtk_label_set_text( GTK_LABEL(ss->error_label), g_strdup_printf("Errors: %u", ss->error_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->error_label), g_strdup_printf("Errors: %u/%u",
+ ss->error_table.num_procs, ss->error_events));
break;
case PI_WARN:
+ ss->disp_events++;
+ ss->warn_events++;
init_error_table_row(&ss->warn_table, error_pkt);
add_error_table_data(&ss->warn_table, error_pkt);
- gtk_label_set_text( GTK_LABEL(ss->warn_label), g_strdup_printf("Warnings: %u", ss->warn_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->warn_label), g_strdup_printf("Warnings: %u/%u",
+ ss->warn_table.num_procs, ss->warn_events));
break;
case PI_NOTE:
+ ss->disp_events++;
+ ss->note_events++;
init_error_table_row(&ss->note_table, error_pkt);
add_error_table_data(&ss->note_table, error_pkt);
- gtk_label_set_text( GTK_LABEL(ss->note_label), g_strdup_printf("Notes: %u", ss->note_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->note_label), g_strdup_printf("Notes: %u/%u",
+ ss->note_table.num_procs, ss->note_events));
break;
case PI_CHAT:
+ ss->disp_events++;
+ ss->chat_events++;
init_error_table_row(&ss->chat_table, error_pkt);
add_error_table_data(&ss->chat_table, error_pkt);
- gtk_label_set_text( GTK_LABEL(ss->chat_label), g_strdup_printf("Chats: %u", ss->chat_table.num_procs));
+ gtk_label_set_text( GTK_LABEL(ss->chat_label), g_strdup_printf("Chats: %u/%u",
+ ss->chat_table.num_procs, ss->chat_events));
break;
default:
return 0; /* Don't draw */
}
+ gtk_label_set_text( GTK_LABEL(ss->all_label), g_strdup_printf("Details: %u", ss->disp_events));
+
return 1; /* Draw */
}
@@ -173,6 +204,7 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_)
GtkWidget *temp_page;
GtkWidget *main_nb;
GtkWidget *vbox;
+ GtkWidget *hbox;
GtkWidget *bbox;
GtkWidget *close_bt;
GtkWidget *help_bt;
@@ -191,6 +223,12 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_)
etd->error_events = 0;
etd->severity_report_level = PI_CHAT;
+ ss->disp_events = 0;
+ ss->chat_events = 0;
+ ss->note_events = 0;
+ ss->warn_events = 0;
+ ss->error_events = 0;
+
ss->win=window_new(GTK_WINDOW_TOPLEVEL, "err");
gtk_window_set_default_size(GTK_WINDOW(ss->win), 700, 300);
@@ -202,32 +240,49 @@ expert_comp_init(const char *optarg _U_, void* userdata _U_)
main_nb = gtk_notebook_new();
gtk_box_pack_start(GTK_BOX(vbox), main_nb, TRUE, TRUE, 0);
- /* Errors */
- temp_page = gtk_vbox_new(FALSE, 6);
- ss->error_label = gtk_label_new("Errors: 0");
- gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, ss->error_label);
/* We must display TOP LEVEL Widget before calling init_table() */
gtk_widget_show_all(ss->win);
+
+ /* Errors */
+ temp_page = gtk_vbox_new(FALSE, 6);
+ ss->error_label = gtk_label_new("Errors: 0/y");
+ gtk_widget_show(ss->error_label);
+ hbox = gtk_hbox_new(FALSE, 3);
+ gtk_container_add(GTK_CONTAINER(hbox), ss->error_label);
+ gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, hbox);
init_error_table(&ss->error_table, 0, temp_page);
+
/* Warnings */
temp_page = gtk_vbox_new(FALSE, 6);
- ss->warn_label = gtk_label_new("Warnings: 0");
- gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, ss->warn_label);
+ ss->warn_label = gtk_label_new("Warnings: 0/y");
+ gtk_widget_show(ss->warn_label);
+ hbox = gtk_hbox_new(FALSE, 3);
+ gtk_container_add(GTK_CONTAINER(hbox), ss->warn_label);
+ gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, hbox);
init_error_table(&ss->warn_table, 0, temp_page);
+
/* Notes */
temp_page = gtk_vbox_new(FALSE, 6);
- ss->note_label = gtk_label_new("Notes: 0");
- gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, ss->note_label);
+ ss->note_label = gtk_label_new("Notes: 0/y");
+ gtk_widget_show(ss->note_label);
+ hbox = gtk_hbox_new(FALSE, 3);
+ gtk_container_add(GTK_CONTAINER(hbox), ss->note_label);
+ gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, hbox);
init_error_table(&ss->note_table, 0, temp_page);
+
/* Chat */
temp_page = gtk_vbox_new(FALSE, 6);
- ss->chat_label = gtk_label_new("Chats: 0");
- gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, ss->chat_label);
+ ss->chat_label = gtk_label_new("Chats: 0/y");
+ gtk_widget_show(ss->chat_label);
+ hbox = gtk_hbox_new(FALSE, 3);
+ gtk_container_add(GTK_CONTAINER(hbox), ss->chat_label);
+ gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, hbox);
init_error_table(&ss->chat_table, 0, temp_page);
+
/* Details */
temp_page = gtk_vbox_new(FALSE, 6);
- ss->all_label = gtk_label_new("Details");
+ ss->all_label = gtk_label_new("Details: 0");
gtk_notebook_append_page(GTK_NOTEBOOK(main_nb), temp_page, ss->all_label);
etd->label=gtk_label_new("Please wait ...");