- Add new_packet_list_set_sel_browse()
[obnox/wireshark/wip.git] / gtk / new_packet_list.h
1 /* new_packet_list.h
2  *
3  * $Id$
4  *
5  * Wireshark - Network traffic analyzer
6  * By Gerald Combs <gerald@wireshark.org>
7  * Copyright 1998 Gerald Combs
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * as published by the Free Software Foundation; either version 2
12  * of the License, or (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
22  * USA.
23  */
24
25 #ifndef __NEW_PACKET_LIST_H__
26 #define __NEW_PACKET_LIST_H__
27
28 #ifdef NEW_PACKET_LIST
29 #include <gtk/gtk.h>
30
31 #define RECENT_KEY_COL_WIDTH                "column.width"
32
33 GtkWidget *new_packet_list_create(void);
34 void new_packet_list_resize_columns_cb(GtkWidget *widget _U_, gpointer data _U_);
35 gboolean new_packet_list_get_event_row_column(GdkEventButton *event_button, gint *physical_row, gint *row, gint *column);
36
37 /** Set the font of the packet list window.
38  *
39  * @param font new font
40  */
41 extern void new_packet_list_set_font(PangoFontDescription *font);
42
43 /** Mark the currently selected packet.
44  *
45  * @param widget parent widget (unused)
46  * @param data unused
47  */
48 extern void new_packet_list_mark_frame_cb(GtkWidget *widget, gpointer data);
49
50 void new_packet_list_mark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
51 void new_packet_list_unmark_all_frames_cb(GtkWidget *w _U_, gpointer data _U_);
52
53 /* Different modes of copying summary data */
54 typedef enum {
55     CS_TEXT, /* Packet summary data (tab separated) */
56     CS_CSV   /* Packet summary data (comma separated) */
57 } copy_summary_type;
58
59 /** Called when user clicks on menu item to copy summary data.
60  *
61  *  @param w Not used.
62  *  @param data Not used.
63  *  @param copy_type Mode in which to copy data (e.g. tab-separated, CSV)
64  */
65 void new_packet_list_copy_summary_cb(GtkWidget * w _U_, gpointer data _U_, copy_summary_type copy_type);
66
67 /** Write all packet list geometry values to the recent file.
68  *
69  *  @param rf recent file handle from caller
70  */
71 extern void new_packet_list_recent_write_all(FILE *rf);
72
73 GtkWidget * new_packet_list_get_widget(void);
74 void new_packet_list_colorize_packets(void);
75
76 /** Set the selection mode of the packet list window.
77  *
78  * @param val TRUE for GTK_SELECTION_SINGLE, FALSE for GTK_SELECTION_BROWSE
79  * @param force_set TRUE to force setting of the selection mode even if it
80  *                  was already set (used within packet_list_recreate).
81  */
82 extern void new_packet_list_set_sel_browse(gboolean val, gboolean force_set);
83
84 #endif /* NEW_PACKET_LIST */
85
86 #endif /* __NEW_PACKET_LIST_H__ */