* Definitions for toolbar utility routines
* Copyright 2003, Ulf Lamping <ulf.lamping@web.de>
*
- * $Id: toolbar.h,v 1.6 2004/01/19 00:42:12 ulfl Exp $
+ * $Id$
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#ifndef __TOOLBAR_H__
#define __TOOLBAR_H__
-#if GTK_MAJOR_VERSION >= 2
-#ifdef HAVE_LIBPCAP
-#define ETHEREAL_STOCK_CAPTURE_START "Ethereal_Stock_CaptureStart"
-#define ETHEREAL_STOCK_CAPTURE_FILTER "Ethereal_Stock_CaptureFilter"
-#endif
-#define ETHEREAL_STOCK_DISPLAY_FILTER "Ethereal_Stock_DisplayFilter"
-#endif
+/** @file
+ * The main toolbar.
+ * @ingroup main_window_group
+ */
+
+/** Create the main toolbar.
+ * @return the new (still hidden) toolbar
+ */
+GtkWidget *toolbar_new(void);
+
+/** Redraw the main toolbar. Used, when user changes preferences. */
+void toolbar_redraw_all(void);
+/** We have (or don't have) a capture file now.
+ *
+ * @param have_capture_file TRUE, if we have a capture file
+ */
void set_toolbar_for_capture_file(gboolean have_capture_file);
+
+/** We have (or don't have) an unsaved capture file now.
+ *
+ * @param have_unsaved_capture_file TRUE, if we have an unsaved capture file
+ */
void set_toolbar_for_unsaved_capture_file(gboolean have_unsaved_capture_file);
+
+/** We have (or don't have) a capture in progress now.
+ *
+ * @param have_capture_file TRUE, if we have a capture in progress file
+ */
void set_toolbar_for_capture_in_progress(gboolean have_capture_file);
+
+/** We have (or don't have) captured packets now.
+ *
+ * @param have_captured_packets TRUE, if we have captured packets
+ */
void set_toolbar_for_captured_packets(gboolean have_captured_packets);
-GtkWidget *toolbar_new(void);
-void toolbar_redraw_all(void);
+/** The packet history has changed, we need to update the menu.
+ *
+ * @param back_history some back history entries available
+ * @param forward_history some forward history entries available
+ */
+void set_toolbar_for_packet_history(gboolean back_history, gboolean forward_history);
+/** Set object data of some buttons (where needed). It's needed so callback
+ * functions can read back their required data. Acts like OBJECT_SET_DATA()
+ * on multiple buttons.
+ *
+ * @param key the key
+ * @param data the data to set
+ */
void set_toolbar_object_data(gchar *key, gpointer data);
#endif /* __TOOLBAR_H__ */