summaryrefslogtreecommitdiff
path: root/print.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>1999-09-01 03:04:24 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>1999-09-01 03:04:24 +0000
commit65c3e8d9bf8ad7db047dafcf23b421207d7ebcb1 (patch)
treecbb41410183b9b8851e4a3427a5b1d898505b239 /print.c
parent25502bc8fca486a9f10f96c35c1d2e4742541259 (diff)
downloadwireshark-65c3e8d9bf8ad7db047dafcf23b421207d7ebcb1.tar.gz
Moved GTK-dependent routines for file dialogues, print dialogues, print
preferences, and menus to gtk subdirectory. svn path=/trunk/; revision=623
Diffstat (limited to 'print.c')
-rw-r--r--print.c208
1 files changed, 3 insertions, 205 deletions
diff --git a/print.c b/print.c
index efbc040077..0d0ecd3d02 100644
--- a/print.c
+++ b/print.c
@@ -1,7 +1,7 @@
/* print.c
* Routines for printing packet analysis trees.
*
- * $Id: print.c,v 1.16 1999/07/23 21:09:23 guy Exp $
+ * $Id: print.c,v 1.17 1999/09/01 03:04:12 gram Exp $
*
* Gilbert Ramirez <gram@verdict.uthscsa.edu>
*
@@ -29,26 +29,20 @@
# include "config.h"
#endif
-#include <gtk/gtk.h>
#include <stdio.h>
#include <string.h>
+#include <gtk/gtk.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
-#include "ethereal.h"
+/*#include "ethereal.h"*/
#include "packet.h"
-#include "gtkpacket.h"
#include "prefs.h"
#include "print.h"
#include "ps.h"
-static void printer_opts_file_cb(GtkWidget *w, gpointer te);
-static void printer_opts_fs_cancel_cb(GtkWidget *w, gpointer data);
-static void printer_opts_fs_ok_cb(GtkWidget *w, gpointer data);
-static void printer_opts_toggle_format(GtkWidget *widget, gpointer data);
-static void printer_opts_toggle_dest(GtkWidget *widget, gpointer data);
static void proto_tree_print_node_text(GNode *node, gpointer data);
static void dumpit (FILE *fh, register const u_char *cp, register u_int length);
static void proto_tree_print_node_ps(GNode *node, gpointer data);
@@ -58,202 +52,6 @@ static void dumpit_ps (FILE *fh, register const u_char *cp, register u_int lengt
extern int proto_data; /* in packet-data.c */
-/* #include "ps.c" */
-
-/* Key for gtk_object_set_data */
-#define PRINT_CMD_TE_KEY "printer_command_entry"
-#define PRINT_FILE_TE_KEY "printer_file_entry"
-
-GtkWidget * printer_prefs_show()
-{
- GtkWidget *main_vb, *main_tb, *button;
- GtkWidget *format_hb, *format_lb;
- GtkWidget *dest_hb, *dest_lb;
- GtkWidget *cmd_lb, *cmd_te;
- GtkWidget *file_bt_hb, *file_bt, *file_te;
- GSList *format_grp, *dest_grp;
-
- /* Enclosing containers for each row of widgets */
- main_vb = gtk_vbox_new(FALSE, 5);
- gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
-
- main_tb = gtk_table_new(4, 2, FALSE);
- gtk_box_pack_start(GTK_BOX(main_vb), main_tb, FALSE, FALSE, 0);
- gtk_table_set_row_spacings(GTK_TABLE(main_tb), 10);
- gtk_table_set_col_spacings(GTK_TABLE(main_tb), 15);
- gtk_widget_show(main_tb);
-
- /* Output format */
- format_lb = gtk_label_new("Format:");
- gtk_misc_set_alignment(GTK_MISC(format_lb), 1.0, 0.5);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), format_lb, 0, 1, 0, 1);
- gtk_widget_show(format_lb);
-
- format_hb = gtk_hbox_new(FALSE, 0);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), format_hb, 1, 2, 0, 1);
- gtk_widget_show(format_hb);
-
- button = gtk_radio_button_new_with_label(NULL, "Plain Text");
- if (prefs.pr_format == PR_FMT_TEXT) {
- gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
- }
- format_grp = gtk_radio_button_group(GTK_RADIO_BUTTON(button));
- gtk_box_pack_start(GTK_BOX(format_hb), button, FALSE, FALSE, 10);
- gtk_widget_show(button);
-
- button = gtk_radio_button_new_with_label(format_grp, "PostScript");
- if (prefs.pr_format == PR_FMT_PS) {
- gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
- }
- gtk_signal_connect(GTK_OBJECT(button), "toggled",
- GTK_SIGNAL_FUNC(printer_opts_toggle_format), NULL);
- gtk_box_pack_start(GTK_BOX(format_hb), button, FALSE, FALSE, 10);
- gtk_widget_show(button);
-
- /* Output destination */
- dest_lb = gtk_label_new("Print to:");
- gtk_misc_set_alignment(GTK_MISC(dest_lb), 1.0, 0.5);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), dest_lb, 0, 1, 1, 2);
- gtk_widget_show(dest_lb);
-
- dest_hb = gtk_hbox_new(FALSE, 0);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), dest_hb, 1, 2, 1, 2);
- gtk_widget_show(dest_hb);
-
- button = gtk_radio_button_new_with_label(NULL, "Command");
- if (prefs.pr_dest == PR_DEST_CMD) {
- gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
- }
- dest_grp = gtk_radio_button_group(GTK_RADIO_BUTTON(button));
- gtk_box_pack_start(GTK_BOX(dest_hb), button, FALSE, FALSE, 10);
- gtk_widget_show(button);
-
- button = gtk_radio_button_new_with_label(dest_grp, "File");
- if (prefs.pr_dest == PR_DEST_FILE) {
- gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
- }
- gtk_signal_connect(GTK_OBJECT(button), "toggled",
- GTK_SIGNAL_FUNC(printer_opts_toggle_dest), NULL);
- gtk_box_pack_start(GTK_BOX(dest_hb), button, FALSE, FALSE, 10);
- gtk_widget_show(button);
-
- /* Command text entry */
- cmd_lb = gtk_label_new("Command:");
- gtk_misc_set_alignment(GTK_MISC(cmd_lb), 1.0, 0.5);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), cmd_lb, 0, 1, 2, 3);
- gtk_widget_show(cmd_lb);
-
- cmd_te = gtk_entry_new();
- gtk_object_set_data(GTK_OBJECT(main_vb), PRINT_CMD_TE_KEY, cmd_te);
- if (prefs.pr_cmd) gtk_entry_set_text(GTK_ENTRY(cmd_te), prefs.pr_cmd);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), cmd_te, 1, 2, 2, 3);
- gtk_widget_show(cmd_te);
-
- /* File button and text entry */
- file_bt_hb = gtk_hbox_new(FALSE, 0);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), file_bt_hb, 0, 1, 3, 4);
- gtk_widget_show(file_bt_hb);
-
- file_bt = gtk_button_new_with_label("File:");
- gtk_box_pack_end(GTK_BOX(file_bt_hb), file_bt, FALSE, FALSE, 0);
- gtk_widget_show(file_bt);
-
- file_te = gtk_entry_new();
- gtk_object_set_data(GTK_OBJECT(main_vb), PRINT_FILE_TE_KEY, file_te);
- if (prefs.pr_file) gtk_entry_set_text(GTK_ENTRY(file_te), prefs.pr_file);
- gtk_table_attach_defaults(GTK_TABLE(main_tb), file_te, 1, 2, 3, 4);
- gtk_widget_show(file_te);
-
- gtk_signal_connect(GTK_OBJECT(file_bt), "clicked",
- GTK_SIGNAL_FUNC(printer_opts_file_cb), GTK_OBJECT(file_te));
-
- gtk_widget_show(main_vb);
- return(main_vb);
-}
-
-
-static void
-printer_opts_file_cb(GtkWidget *file_bt, gpointer file_te) {
- GtkWidget *fs;
-
- fs = gtk_file_selection_new ("Ethereal: Print to a File");
- gtk_object_set_data(GTK_OBJECT(fs), PRINT_FILE_TE_KEY, file_te);
-
- gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION(fs)->ok_button),
- "clicked", (GtkSignalFunc) printer_opts_fs_ok_cb, fs);
-
- /* Connect the cancel_button to destroy the widget */
- gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION(fs)->cancel_button),
- "clicked", (GtkSignalFunc) printer_opts_fs_cancel_cb, fs);
-
- gtk_widget_show(fs);
-}
-
-static void
-printer_opts_fs_ok_cb(GtkWidget *w, gpointer data) {
-
- gtk_entry_set_text(GTK_ENTRY(gtk_object_get_data(GTK_OBJECT(data),
- PRINT_FILE_TE_KEY)),
- gtk_file_selection_get_filename (GTK_FILE_SELECTION(data)));
- printer_opts_fs_cancel_cb(w, data);
-}
-
-static void
-printer_opts_fs_cancel_cb(GtkWidget *w, gpointer data) {
-
- gtk_widget_destroy(GTK_WIDGET(data));
-}
-
-void
-printer_prefs_ok(GtkWidget *w)
-{
- if(prefs.pr_cmd) g_free(prefs.pr_cmd);
- prefs.pr_cmd =
- g_strdup(gtk_entry_get_text(GTK_ENTRY(gtk_object_get_data(GTK_OBJECT(w),
- PRINT_CMD_TE_KEY))));
-
- if(prefs.pr_file) g_free(prefs.pr_file);
- prefs.pr_file =
- g_strdup(gtk_entry_get_text(GTK_ENTRY(gtk_object_get_data(GTK_OBJECT(w),
- PRINT_FILE_TE_KEY))));
-}
-
-void
-printer_prefs_save(GtkWidget *w)
-{
- printer_prefs_ok(w);
-}
-
-void
-printer_prefs_cancel(GtkWidget *w)
-{
-}
-
-static void
-printer_opts_toggle_format(GtkWidget *widget, gpointer data)
-{
- if (GTK_TOGGLE_BUTTON (widget)->active) {
- prefs.pr_format = PR_FMT_PS;
- /* toggle file/cmd */
- }
- else {
- prefs.pr_format = PR_FMT_TEXT;
- /* toggle file/cmd */
- }
-}
-
-static void
-printer_opts_toggle_dest(GtkWidget *widget, gpointer data)
-{
- if (GTK_TOGGLE_BUTTON (widget)->active) {
- prefs.pr_dest = PR_DEST_FILE;
- }
- else {
- prefs.pr_dest = PR_DEST_CMD;
- }
-}
-
-/* ========================================================== */
typedef struct {
int level;