/* color.h
* Definitions for "toolkit-independent" colors
*
- * $Id: color.h,v 1.2 2002/08/28 21:00:06 jmayer Exp $
+ * $Id: color.h,v 1.3 2002/09/23 19:09:47 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
#ifndef __COLOR_H__
#define __COLOR_H__
+#include "epan/dfilter/dfilter.h"
+
/*
* Data structure holding RGB value for a color.
*
guint16 blue;
} color_t;
+/* Data for a color filter. */
+typedef struct _color_filter {
+ gchar *filter_name; /* name of the filter */
+ gchar *filter_text; /* text of the filter expression */
+ color_t bg_color; /* background color for packets that match */
+ color_t fg_color; /* foreground color for packets that match */
+ dfilter_t *c_colorfilter; /* compiled filter expression */
+ void *edit_dialog; /* if filter is being edited, dialog
+ * box for it */
+} color_filter_t;
+
+/* List of all color filters. */
+extern GSList *filter_list;
+
+void
+filter_list_prime_edt(epan_dissect_t *edt);
+
#endif
/* file.c
* File I/O routines
*
- * $Id: file.c,v 1.290 2002/09/21 11:36:25 oabad Exp $
+ * $Id: file.c,v 1.291 2002/09/23 19:09:47 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
# include "config.h"
#endif
-#include <gtk/gtk.h>
-
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <epan/filesystem.h>
#include "color.h"
-#if GTK_MAJOR_VERSION == 1
-#include "gtk/color_utils.h"
-#else
-#include "gtk2/color_utils.h"
-#endif
#include "column.h"
#include <epan/packet.h>
#include "print.h"
#include <epan/dfilter/dfilter.h>
#include <epan/conversation.h>
#include "globals.h"
-#if GTK_MAJOR_VERSION == 1
-#include "gtk/colors.h"
-#else
-#include "gtk2/colors.h"
-#endif
#include <epan/epan_dissect.h>
#include "tap.h"
gint row;
gboolean create_proto_tree = FALSE;
epan_dissect_t *edt;
- GdkColor fg, bg;
/* We don't yet have a color filter to apply. */
args.colorf = NULL;
row = packet_list_append(cf->cinfo.col_data, fdata);
if (fdata->flags.marked) {
- color_t_to_gdkcolor(&bg, &prefs.gui_marked_bg);
- color_t_to_gdkcolor(&fg, &prefs.gui_marked_fg);
- packet_list_set_colors(row, &bg, &fg);
+ packet_list_set_colors(row, &prefs.gui_marked_fg, &prefs.gui_marked_bg);
} else if (filter_list != NULL && (args.colorf != NULL)) {
- bg = args.colorf->bg_color;
- fg = args.colorf->fg_color;
- packet_list_set_colors(row, &bg, &fg);
+ packet_list_set_colors(row, &args.colorf->fg_color,
+ &args.colorf->bg_color);
}
} else {
/* This frame didn't pass the display filter, so it's not being added
/* color_dlg.c
* Definitions for dialog boxes for color filters
*
- * $Id: color_dlg.c,v 1.17 2002/09/05 18:47:44 jmayer Exp $
+ * $Id: color_dlg.c,v 1.18 2002/09/23 19:09:49 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#include <epan/packet.h>
#include "colors.h"
#include "color_dlg.h"
+#include "color_utils.h"
#include "file.h"
#include <epan/dfilter/dfilter.h>
#include "simple_dialog.h"
add_filter_to_clist(gpointer filter_arg, gpointer clist_arg)
{
color_filter_t *colorf = filter_arg;
- GtkWidget *color_filters = clist_arg;
- gchar *data[2];
- gint row;
+ GtkWidget *color_filters = clist_arg;
+ gchar *data[2];
+ gint row;
+ GdkColor bg, fg;
data[0] = colorf->filter_name;
data[1] = colorf->filter_text;
row = gtk_clist_append(GTK_CLIST(color_filters), data);
+ color_t_to_gdkcolor(&fg, &colorf->fg_color);
+ color_t_to_gdkcolor(&bg, &colorf->bg_color);
gtk_clist_set_row_data(GTK_CLIST(color_filters), row, colorf);
- gtk_clist_set_foreground(GTK_CLIST(color_filters), row, &colorf->fg_color);
- gtk_clist_set_background(GTK_CLIST(color_filters), row, &colorf->bg_color);
+ gtk_clist_set_foreground(GTK_CLIST(color_filters), row, &fg);
+ gtk_clist_set_background(GTK_CLIST(color_filters), row, &bg);
num_of_filters++;
}
gtk_entry_set_text(GTK_ENTRY(*colorize_filter_name), colorf->filter_name);
style = gtk_style_copy(gtk_widget_get_style(*colorize_filter_name));
- style->base[GTK_STATE_NORMAL] = colorf->bg_color;
- style->fg[GTK_STATE_NORMAL] = colorf->fg_color;
+ color_t_to_gdkcolor(&style->base[GTK_STATE_NORMAL], &colorf->bg_color);
+ color_t_to_gdkcolor(&style->fg[GTK_STATE_NORMAL], &colorf->fg_color);
gtk_widget_set_style(*colorize_filter_name, style);
gtk_widget_show (*colorize_filter_name);
if (colorf->filter_text != NULL)
g_free(colorf->filter_text);
colorf->filter_text = filter_text;
- colorf->fg_color = new_fg_color;
- colorf->bg_color = new_bg_color;
+ gdkcolor_to_color_t(&colorf->fg_color, &new_fg_color);
+ gdkcolor_to_color_t(&colorf->bg_color, &new_bg_color);
gtk_clist_set_foreground(GTK_CLIST(color_filters), row_selected,
&new_fg_color);
gtk_clist_set_background(GTK_CLIST(color_filters), row_selected,
static const gchar fg_title_format[] = "Choose foreground color for \"%s\"";
static const gchar bg_title_format[] = "Choose background color for \"%s\"";
GtkWidget *color_sel_win;
- GdkColor *color;
+ color_t *color;
GtkWidget *color_sel_ok;
GtkWidget *color_sel_cancel;
GtkWidget *color_sel_help;
* Utilities for converting between "toolkit-independent" and GDK
* notions of color
*
- * $Id: color_utils.c,v 1.3 2002/09/05 18:47:44 jmayer Exp $
+ * $Id: color_utils.c,v 1.4 2002/09/23 19:09:49 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
#include <gtk/gtk.h>
-#include "prefs.h" /* to declare "color_t" */
+#include "color.h" /* to declare "color_t" */
void
color_t_to_gdkcolor(GdkColor *target, color_t *source)
/* colors.c
* Definitions for color structures and routines
*
- * $Id: colors.c,v 1.24 2002/09/05 18:47:44 jmayer Exp $
+ * $Id: colors.c,v 1.25 2002/09/23 19:09:49 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#include <epan/packet.h>
#include "colors.h"
+#include "color_utils.h"
#include "file.h"
#include <epan/dfilter/dfilter.h>
#include "simple_dialog.h"
colorf = (color_filter_t *)g_malloc(sizeof (color_filter_t));
colorf->filter_name = g_strdup(name);
colorf->filter_text = g_strdup(filter_string);
- colorf->bg_color = WHITE;
- colorf->fg_color = BLACK;
+ gdkcolor_to_color_t(&colorf->bg_color, &WHITE);
+ gdkcolor_to_color_t(&colorf->fg_color, &BLACK);
colorf->c_colorfilter = NULL;
colorf->edit_dialog = NULL;
filter_list = g_slist_append(filter_list, colorf);
bg_color.green = bg_g;
bg_color.blue = bg_b;
- colorf->bg_color = bg_color;
- colorf->fg_color = fg_color;
+ gdkcolor_to_color_t(&colorf->bg_color, &bg_color);
+ gdkcolor_to_color_t(&colorf->fg_color, &fg_color);
} /* if sscanf */
} while(!feof(f));
return TRUE;
/* colors.h
* Definitions for color structures and routines
*
- * $Id: colors.h,v 1.9 2002/09/05 18:47:45 jmayer Exp $
+ * $Id: colors.h,v 1.10 2002/09/23 19:09:49 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#ifndef __COLORS_H__
#define __COLORS_H__
+#include "../color.h"
+
#define MAXCOLORS 255
#define MAX_COLOR_FILTER_NAME_LEN 33
#define MAX_COLOR_FILTER_STRING_LEN 256
extern GdkColor WHITE;
extern GdkColor BLACK;
-/* Data for a color filter. */
-typedef struct _color_filter {
- gchar *filter_name; /* name of the filter */
- gchar *filter_text; /* text of the filter expression */
- GdkColor bg_color; /* background color for packets that match */
- GdkColor fg_color; /* foreground color for packets that match */
- dfilter_t *c_colorfilter; /* compiled filter expression */
- GtkWidget *edit_dialog; /* if filter is being edited, dialog box for it */
-} color_filter_t;
-
-/* List of all color filters. */
-extern GSList *filter_list;
-
void colfilter_init(void);
gboolean write_filters(void);
gboolean get_color (GdkColor *new_color);
-void
-filter_list_prime_edt(epan_dissect_t *edt);
-
#endif
/* main.c
*
- * $Id: main.c,v 1.263 2002/09/09 20:38:58 guy Exp $
+ * $Id: main.c,v 1.264 2002/09/23 19:09:49 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
mark_frame(&cfile, frame);
color_t_to_gdkcolor(&fg, &prefs.gui_marked_fg);
color_t_to_gdkcolor(&bg, &prefs.gui_marked_bg);
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg);
} else {
unmark_frame(&cfile, frame);
- fg = BLACK;
- bg = WHITE;
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, NULL);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, NULL);
}
file_set_save_marked_sensitive();
- gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg);
- gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg);
}
static void
/* packet_list.c
* packet list related functions 2002 Olivier Abad
*
- * $Id: packet_list.c,v 1.1 2002/09/21 11:36:27 oabad Exp $
+ * $Id: packet_list.c,v 1.2 2002/09/23 19:09:49 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#include "gtkglobals.h"
#include "epan/epan.h"
+#include "color.h"
#include "../ui_util.h"
+#include "color_utils.h"
#include "column.h"
#include "epan/column_info.h"
}
void
-packet_list_set_colors(gint row, GdkColor *fg, GdkColor *bg)
+packet_list_set_colors(gint row, color_t *fg, color_t *bg)
{
- if (fg) gtk_clist_set_foreground(GTK_CLIST(packet_list), row, fg);
- if (bg) gtk_clist_set_background(GTK_CLIST(packet_list), row, bg);
+ GdkColor gdkfg, gdkbg;
+
+ if (fg)
+ {
+ color_t_to_gdkcolor(&gdkfg, fg);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &gdkfg);
+ }
+ if (bg)
+ {
+ color_t_to_gdkcolor(&gdkbg, bg);
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, &gdkbg);
+ }
}
gint
/* color_dlg.c
* Definitions for dialog boxes for color filters
*
- * $Id: color_dlg.c,v 1.2 2002/09/05 18:48:51 jmayer Exp $
+ * $Id: color_dlg.c,v 1.3 2002/09/23 19:09:52 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#include <epan/packet.h>
#include "colors.h"
#include "color_dlg.h"
+#include "color_utils.h"
#include "file.h"
#include <epan/dfilter/dfilter.h>
#include "simple_dialog.h"
add_filter_to_clist(gpointer filter_arg, gpointer clist_arg)
{
color_filter_t *colorf = filter_arg;
- GtkWidget *color_filters = clist_arg;
- gchar *data[2];
- gint row;
+ GtkWidget *color_filters = clist_arg;
+ gchar *data[2];
+ gint row;
+ GdkColor bg, fg;
data[0] = colorf->filter_name;
data[1] = colorf->filter_text;
row = gtk_clist_append(GTK_CLIST(color_filters), data);
+ color_t_to_gdkcolor(&fg, &colorf->fg_color);
+ color_t_to_gdkcolor(&bg, &colorf->bg_color);
gtk_clist_set_row_data(GTK_CLIST(color_filters), row, colorf);
- gtk_clist_set_foreground(GTK_CLIST(color_filters), row, &colorf->fg_color);
- gtk_clist_set_background(GTK_CLIST(color_filters), row, &colorf->bg_color);
+ gtk_clist_set_foreground(GTK_CLIST(color_filters), row, &fg);
+ gtk_clist_set_background(GTK_CLIST(color_filters), row, &bg);
num_of_filters++;
}
gtk_entry_set_text(GTK_ENTRY(*colorize_filter_name), colorf->filter_name);
style = gtk_style_copy(gtk_widget_get_style(*colorize_filter_name));
- style->base[GTK_STATE_NORMAL] = colorf->bg_color;
- style->fg[GTK_STATE_NORMAL] = colorf->fg_color;
+ color_t_to_gdkcolor(&style->base[GTK_STATE_NORMAL], &colorf->bg_color);
+ color_t_to_gdkcolor(&style->fg[GTK_STATE_NORMAL], &colorf->fg_color);
gtk_widget_set_style(*colorize_filter_name, style);
gtk_widget_show (*colorize_filter_name);
if (colorf->filter_text != NULL)
g_free(colorf->filter_text);
colorf->filter_text = filter_text;
- colorf->fg_color = new_fg_color;
- colorf->bg_color = new_bg_color;
+ gdkcolor_to_color_t(&colorf->fg_color, &new_fg_color);
+ gdkcolor_to_color_t(&colorf->bg_color, &new_bg_color);
gtk_clist_set_foreground(GTK_CLIST(color_filters), row_selected,
&new_fg_color);
gtk_clist_set_background(GTK_CLIST(color_filters), row_selected,
static const gchar fg_title_format[] = "Choose foreground color for \"%s\"";
static const gchar bg_title_format[] = "Choose background color for \"%s\"";
GtkWidget *color_sel_win;
- GdkColor *color;
+ color_t *color;
GtkWidget *color_sel_ok;
GtkWidget *color_sel_cancel;
GtkWidget *color_sel_help;
if (is_bg) {
- color = &colorf->bg_color;
+ color = &colorf->bg_color;
title_len = strlen(bg_title_format) + strlen(colorf->filter_name);
title = g_malloc(title_len + 1);
sprintf(title, bg_title_format, colorf->filter_name);
* Utilities for converting between "toolkit-independent" and GDK
* notions of color
*
- * $Id: color_utils.c,v 1.2 2002/09/05 18:48:51 jmayer Exp $
+ * $Id: color_utils.c,v 1.3 2002/09/23 19:09:52 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
#include <gtk/gtk.h>
-#include "prefs.h" /* to declare "color_t" */
+#include "color.h" /* to declare "color_t" */
void
color_t_to_gdkcolor(GdkColor *target, color_t *source)
/* colors.c
* Definitions for color structures and routines
*
- * $Id: colors.c,v 1.2 2002/09/05 18:48:51 jmayer Exp $
+ * $Id: colors.c,v 1.3 2002/09/23 19:09:52 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#include <epan/packet.h>
#include "colors.h"
+#include "color_utils.h"
#include "file.h"
#include <epan/dfilter/dfilter.h>
#include "simple_dialog.h"
colorf = (color_filter_t *)g_malloc(sizeof (color_filter_t));
colorf->filter_name = g_strdup(name);
colorf->filter_text = g_strdup(filter_string);
- colorf->bg_color = WHITE;
- colorf->fg_color = BLACK;
+ gdkcolor_to_color_t(&colorf->bg_color, &WHITE);
+ gdkcolor_to_color_t(&colorf->fg_color, &BLACK);
colorf->c_colorfilter = NULL;
colorf->edit_dialog = NULL;
filter_list = g_slist_append(filter_list, colorf);
bg_color.green = bg_g;
bg_color.blue = bg_b;
- colorf->bg_color = bg_color;
- colorf->fg_color = fg_color;
+ gdkcolor_to_color_t(&colorf->bg_color, &bg_color);
+ gdkcolor_to_color_t(&colorf->fg_color, &fg_color);
} /* if sscanf */
} while(!feof(f));
return TRUE;
/* colors.h
* Definitions for color structures and routines
*
- * $Id: colors.h,v 1.2 2002/09/05 18:48:51 jmayer Exp $
+ * $Id: colors.h,v 1.3 2002/09/23 19:09:52 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#ifndef __COLORS_H__
#define __COLORS_H__
+#include "../color.h"
+
#define MAXCOLORS 255
#define MAX_COLOR_FILTER_NAME_LEN 33
#define MAX_COLOR_FILTER_STRING_LEN 256
extern GdkColor WHITE;
extern GdkColor BLACK;
-/* Data for a color filter. */
-typedef struct _color_filter {
- gchar *filter_name; /* name of the filter */
- gchar *filter_text; /* text of the filter expression */
- GdkColor bg_color; /* background color for packets that match */
- GdkColor fg_color; /* foreground color for packets that match */
- dfilter_t *c_colorfilter; /* compiled filter expression */
- GtkWidget *edit_dialog; /* if filter is being edited, dialog box for it */
-} color_filter_t;
-
-/* List of all color filters. */
-extern GSList *filter_list;
-
void colfilter_init(void);
gboolean write_filters(void);
gboolean get_color (GdkColor *new_color);
-void
-filter_list_prime_edt(epan_dissect_t *edt);
-
#endif
/* main.c
*
- * $Id: main.c,v 1.11 2002/09/09 20:39:01 guy Exp $
+ * $Id: main.c,v 1.12 2002/09/23 19:09:52 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
mark_frame(&cfile, frame);
color_t_to_gdkcolor(&fg, &prefs.gui_marked_fg);
color_t_to_gdkcolor(&bg, &prefs.gui_marked_bg);
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg);
} else {
unmark_frame(&cfile, frame);
- fg = BLACK;
- bg = WHITE;
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, NULL);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, NULL);
}
file_set_save_marked_sensitive();
- gtk_clist_set_background(GTK_CLIST(packet_list), row, &bg);
- gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &fg);
}
static gint
/* packet_list.c
* packet list related functions 2002 Olivier Abad
*
- * $Id: packet_list.c,v 1.1 2002/09/21 11:36:30 oabad Exp $
+ * $Id: packet_list.c,v 1.2 2002/09/23 19:09:52 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#include "gtkglobals.h"
#include "epan/epan.h"
+#include "color.h"
#include "../ui_util.h"
+#include "color_utils.h"
#include "column.h"
#include "epan/column_info.h"
}
void
-packet_list_set_colors(gint row, GdkColor *fg, GdkColor *bg)
+packet_list_set_colors(gint row, color_t *fg, color_t *bg)
{
- if (fg) gtk_clist_set_foreground(GTK_CLIST(packet_list), row, fg);
- if (bg) gtk_clist_set_background(GTK_CLIST(packet_list), row, bg);
+ GdkColor gdkfg, gdkbg;
+
+ if (fg)
+ {
+ color_t_to_gdkcolor(&gdkfg, fg);
+ gtk_clist_set_foreground(GTK_CLIST(packet_list), row, &gdkfg);
+ }
+ if (bg)
+ {
+ color_t_to_gdkcolor(&gdkbg, bg);
+ gtk_clist_set_background(GTK_CLIST(packet_list), row, &gdkbg);
+ }
}
gint
/* ui_util.h
* Definitions for UI utility routines
*
- * $Id: ui_util.h,v 1.11 2002/09/21 11:36:25 oabad Exp $
+ * $Id: ui_util.h,v 1.12 2002/09/23 19:09:47 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
void packet_list_set_column_width(gint, gint);
void packet_list_moveto_end(void);
gint packet_list_append(gchar *text[], gpointer data);
-void packet_list_set_colors(gint, GdkColor *, GdkColor *);
+void packet_list_set_colors(gint, color_t *, color_t *);
gint packet_list_find_row_from_data(gpointer);
void packet_list_set_text(gint, gint, const gchar *);
void packet_list_set_cls_time_width(gint);