aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/service_response_time_table.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2007-12-09 09:04:58 +0000
committerGuy Harris <guy@alum.mit.edu>2007-12-09 09:04:58 +0000
commitd4672d13f5cd207e3c79aa73584511b9b7d38d7e (patch)
treea17bebab6b0d51cf3d61d0e86ae2eca5e03278fd /gtk/service_response_time_table.c
parent7c03d14d6029785a849cb947d58862923c59fd01 (diff)
Add macros for various filter actions and types, and to combine them
into a callback argument and split a callback argument up. svn path=/trunk/; revision=23816
Diffstat (limited to 'gtk/service_response_time_table.c')
-rw-r--r--gtk/service_response_time_table.c126
1 files changed, 62 insertions, 64 deletions
diff --git a/gtk/service_response_time_table.c b/gtk/service_response_time_table.c
index 6af937023d..0419ef4a1a 100644
--- a/gtk/service_response_time_table.c
+++ b/gtk/service_response_time_table.c
@@ -137,24 +137,34 @@ srt_sort_column(GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2)
-/* action is encoded as
- filter_action*256+filter_type
-
- filter_action:
- 0: Match
- 1: Prepare
- 2: Find Frame
- 3: Find Next
- 4: Find Previous
- 5: Colorize Procedure
- filter_type:
- 0: Selected
- 1: Not Selected
- 2: And Selected
- 3: Or Selected
- 4: And Not Selected
- 5: Or Not Selected
-*/
+/* Filter actions */
+#define ACTION_MATCH 0
+#define ACTION_PREPARE 1
+#define ACTION_FIND_FRAME 2
+#define ACTION_FIND_NEXT 3
+#define ACTION_FIND_PREVIOUS 4
+#define ACTION_COLORIZE 5
+
+/* Action type - says what to do with the filter */
+#define ACTYPE_SELECTED 0
+#define ACTYPE_NOT_SELECTED 1
+#define ACTYPE_AND_SELECTED 2
+#define ACTYPE_OR_SELECTED 3
+#define ACTYPE_AND_NOT_SELECTED 4
+#define ACTYPE_OR_NOT_SELECTED 5
+
+/* Encoded callback arguments */
+#define CALLBACK_MATCH(type) ((ACTION_MATCH<<8) | (type))
+#define CALLBACK_PREPARE(type) ((ACTION_PREPARE<<8) | (type))
+#define CALLBACK_FIND_FRAME(type) ((ACTION_FIND_FRAME<<8) | (type))
+#define CALLBACK_FIND_NEXT(type) ((ACTION_FIND_NEXT<<8) | (type))
+#define CALLBACK_FIND_PREVIOUS(type) ((ACTION_FIND_PREVIOUS<<8) | (type))
+#define CALLBACK_COLORIZE(type) ((ACTION_COLORIZE<<8) | (type))
+
+/* Extract components of callback argument */
+#define FILTER_ACTION(cb_arg) (((cb_arg)>>8) & 0xff)
+#define FILTER_ACTYPE(cb_arg) ((cb_arg) & 0xff)
+
static void
srt_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callback_action)
{
@@ -168,8 +178,8 @@ srt_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callba
return;
}
- action=(callback_action>>8)&0xff;
- type=callback_action&0xff;
+ action = FILTER_ACTION(callback_action);
+ type = FILTER_ACTYPE(callback_action);
selection=GPOINTER_TO_INT(g_list_nth_data(GTK_CLIST(rst->table)->selection, 0));
if(selection>=(int)rst->num_procs){
@@ -182,41 +192,35 @@ srt_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callba
current_filter=gtk_entry_get_text(GTK_ENTRY(main_display_filter_widget));
switch(type){
- case 0:
- /* selected */
+ case ACTYPE_SELECTED:
str = g_strdup_printf("%s==%d", rst->filter_string, selection);
break;
- case 1:
- /* not selected */
+ case ACTYPE_NOT_SELECTED:
str = g_strdup_printf("!(%s==%d)", rst->filter_string,
selection);
break;
- case 2:
- /* and selected */
+ case ACTYPE_AND_SELECTED:
if ((!current_filter) || (0 == strlen(current_filter)))
str = g_strdup_printf("%s==%d", rst->filter_string, selection);
else
str = g_strdup_printf("(%s) && (%s==%d)", current_filter,
rst->filter_string, selection);
break;
- case 3:
- /* or selected */
+ case ACTYPE_OR_SELECTED:
if ((!current_filter) || (0 == strlen(current_filter)))
str = g_strdup_printf("%s==%d", rst->filter_string, selection);
else
str = g_strdup_printf("(%s) || (%s==%d)", current_filter,
rst->filter_string, selection);
break;
- case 4:
- /* and not selected */
+ case ACTYPE_AND_NOT_SELECTED:
if ((!current_filter) || (0 == strlen(current_filter)))
str = g_strdup_printf("!(%s==%d)", rst->filter_string, selection);
else
str = g_strdup_printf("(%s) && !(%s==%d)", current_filter,
rst->filter_string, selection);
break;
- case 5:
- /* or not selected */
+ case ACTYPE_OR_NOT_SELECTED:
if ((!current_filter) || (0 == strlen(current_filter)))
str = g_strdup_printf("!(%s==%d)", rst->filter_string, selection);
else
@@ -228,28 +232,22 @@ srt_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint callba
gtk_entry_set_text(GTK_ENTRY(main_display_filter_widget), str);
switch(action){
- case 0:
- /* match */
+ case ACTION_MATCH:
main_filter_packets(&cfile, str, FALSE);
break;
- case 1:
- /* prepare */
+ case ACTION_PREPARE:
/* do nothing */
break;
- case 2:
- /* find frame */
+ case ACTION_FIND_FRAME:
find_frame_with_filter(str);
break;
- case 3:
- /* find next */
+ case ACTION_FIND_NEXT:
find_previous_next_frame_with_filter(str, FALSE);
break;
- case 4:
- /* find previous */
+ case ACTION_FIND_PREVIOUS:
find_previous_next_frame_with_filter(str, TRUE);
break;
- case 5:
- /* colorize procedure */
+ case ACTION_COLORIZE:
color_display_with_filter(str);
break;
}
@@ -275,60 +273,60 @@ static GtkItemFactoryEntry srt_list_menu_items[] =
/* Match */
ITEM_FACTORY_ENTRY("/Apply as Filter", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Apply as Filter/Selected", NULL,
- srt_select_filter_cb, 0*256+0, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_MATCH(ACTYPE_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Apply as Filter/... not Selected", NULL,
- srt_select_filter_cb, 0*256+1, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_MATCH(ACTYPE_NOT_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Apply as Filter/.. and Selected", NULL,
- srt_select_filter_cb, 0*256+2, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_MATCH(ACTYPE_AND_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Apply as Filter/... or Selected", NULL,
- srt_select_filter_cb, 0*256+3, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_MATCH(ACTYPE_OR_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Apply as Filter/... and not Selected", NULL,
- srt_select_filter_cb, 0*256+4, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_MATCH(ACTYPE_AND_NOT_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Apply as Filter/... or not Selected", NULL,
- srt_select_filter_cb, 0*256+5, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_MATCH(ACTYPE_OR_NOT_SELECTED), NULL, NULL),
/* Prepare */
ITEM_FACTORY_ENTRY("/Prepare a Filter", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Prepare a Filter/Selected", NULL,
- srt_select_filter_cb, 1*256+0, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_PREPARE(ACTYPE_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Prepare a Filter/Not Selected", NULL,
- srt_select_filter_cb, 1*256+1, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_PREPARE(ACTYPE_NOT_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Prepare a Filter/... and Selected", NULL,
- srt_select_filter_cb, 1*256+2, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_PREPARE(ACTYPE_AND_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Prepare a Filter/... or Selected", NULL,
- srt_select_filter_cb, 1*256+3, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_PREPARE(ACTYPE_OR_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Prepare a Filter/... and not Selected", NULL,
- srt_select_filter_cb, 1*256+4, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_PREPARE(ACTYPE_AND_NOT_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Prepare a Filter/... or not Selected", NULL,
- srt_select_filter_cb, 1*256+5, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_PREPARE(ACTYPE_OR_NOT_SELECTED), NULL, NULL),
/* Find Frame */
ITEM_FACTORY_ENTRY("/Find Frame", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Frame", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Frame/Selected", NULL,
- srt_select_filter_cb, 2*256+0, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_FIND_FRAME(ACTYPE_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Frame/Not Selected", NULL,
- srt_select_filter_cb, 2*256+1, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_FIND_FRAME(ACTYPE_NOT_SELECTED), NULL, NULL),
/* Find Next */
ITEM_FACTORY_ENTRY("/Find Frame/Find Next", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Next/Selected", NULL,
- srt_select_filter_cb, 3*256+0, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_FIND_NEXT(ACTYPE_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Next/Not Selected", NULL,
- srt_select_filter_cb, 3*256+1, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_FIND_NEXT(ACTYPE_NOT_SELECTED), NULL, NULL),
/* Find Previous */
ITEM_FACTORY_ENTRY("/Find Frame/Find Previous", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Previous/Selected", NULL,
- srt_select_filter_cb, 4*256+0, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_FIND_PREVIOUS(ACTYPE_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Find Frame/Find Previous/Not Selected", NULL,
- srt_select_filter_cb, 4*256+1, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_FIND_PREVIOUS(ACTYPE_NOT_SELECTED), NULL, NULL),
/* Colorize Procedure */
ITEM_FACTORY_ENTRY("/Colorize Procedure", NULL, NULL, 0, "<Branch>", NULL),
ITEM_FACTORY_ENTRY("/Colorize Procedure/Selected", NULL,
- srt_select_filter_cb, 5*256+0, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_COLORIZE(ACTYPE_SELECTED), NULL, NULL),
ITEM_FACTORY_ENTRY("/Colorize Procedure/Not Selected", NULL,
- srt_select_filter_cb, 5*256+1, NULL, NULL),
+ srt_select_filter_cb, CALLBACK_COLORIZE(ACTYPE_NOT_SELECTED), NULL, NULL),
};