Commit 65a98c0eaf931e70c88d1e86afef11d6b0de4a81
1 parent
1985aec3
Exists in
master
and in
1 other branch
Updating plugin test program.
Showing
2 changed files
with
65 additions
and
7 deletions
Show diff stats
Makefile.in
| @@ -284,6 +284,7 @@ run: \ | @@ -284,6 +284,7 @@ run: \ | ||
| 284 | run-plugin | 284 | run-plugin |
| 285 | 285 | ||
| 286 | run-plugin: \ | 286 | run-plugin: \ |
| 287 | + $(BINDBG)/$(MODULE_NAME)@DLLEXT@ \ | ||
| 287 | $(BINDBG)/$(MODULE_NAME)@EXEEXT@ | 288 | $(BINDBG)/$(MODULE_NAME)@EXEEXT@ |
| 288 | 289 | ||
| 289 | @LD_LIBRARY_PATH=$(BINDBG) \ | 290 | @LD_LIBRARY_PATH=$(BINDBG) \ |
src/testprogram/testprogram.c
| @@ -36,14 +36,16 @@ | @@ -36,14 +36,16 @@ | ||
| 36 | 36 | ||
| 37 | #include <config.h> | 37 | #include <config.h> |
| 38 | #include <v3270.h> | 38 | #include <v3270.h> |
| 39 | + #include <v3270/trace.h> | ||
| 39 | #include <lib3270/ipc.h> | 40 | #include <lib3270/ipc.h> |
| 40 | #include <string.h> | 41 | #include <string.h> |
| 41 | #include <stdlib.h> | 42 | #include <stdlib.h> |
| 42 | 43 | ||
| 43 | /*---[ Globals ]------------------------------------------------------------------------------------*/ | 44 | /*---[ Globals ]------------------------------------------------------------------------------------*/ |
| 44 | 45 | ||
| 45 | - const gchar * plugin_path = ".bin/Debug"; | ||
| 46 | - const gchar * plugin_name = "ipc3270." G_MODULE_SUFFIX; | 46 | + const gchar * plugin_path = ".bin/Debug"; |
| 47 | + const gchar * session_name = "pw3270"; | ||
| 48 | + const gchar * plugin_name = "ipc3270." G_MODULE_SUFFIX; | ||
| 47 | 49 | ||
| 48 | /*---[ Implement ]----------------------------------------------------------------------------------*/ | 50 | /*---[ Implement ]----------------------------------------------------------------------------------*/ |
| 49 | 51 | ||
| @@ -65,17 +67,72 @@ | @@ -65,17 +67,72 @@ | ||
| 65 | g_message("Module %p was closed",module); | 67 | g_message("Module %p was closed",module); |
| 66 | } | 68 | } |
| 67 | 69 | ||
| 70 | + static void toggle_ds_trace(GtkToggleToolButton *button, GtkWidget *terminal) | ||
| 71 | + { | ||
| 72 | + v3270_set_toggle(terminal,LIB3270_TOGGLE_DS_TRACE,gtk_toggle_tool_button_get_active(button)); | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + static void toggle_event_trace(GtkToggleToolButton *button, GtkWidget *terminal) | ||
| 76 | + { | ||
| 77 | + v3270_set_toggle(terminal,LIB3270_TOGGLE_EVENT_TRACE,gtk_toggle_tool_button_get_active(button)); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + static void toggle_ssl_trace(GtkToggleToolButton *button, GtkWidget *terminal) | ||
| 81 | + { | ||
| 82 | + v3270_set_toggle(terminal,LIB3270_TOGGLE_SSL_TRACE,gtk_toggle_tool_button_get_active(button)); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + static void toggle_screen_trace(GtkToggleToolButton *button, GtkWidget *terminal) | ||
| 86 | + { | ||
| 87 | + v3270_set_toggle(terminal,LIB3270_TOGGLE_SCREEN_TRACE,gtk_toggle_tool_button_get_active(button)); | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + static GtkToolItem * create_tool_item(GtkWidget *terminal, const gchar *label, const gchar *tooltip, GCallback callback) | ||
| 91 | + { | ||
| 92 | + GtkToolItem * item = gtk_toggle_tool_button_new(); | ||
| 93 | + gtk_tool_button_set_label(GTK_TOOL_BUTTON(item),label); | ||
| 94 | + | ||
| 95 | + g_signal_connect(GTK_WIDGET(item), "toggled", G_CALLBACK(callback), terminal); | ||
| 96 | + | ||
| 97 | + if(tooltip) | ||
| 98 | + gtk_widget_set_tooltip_text(GTK_WIDGET(item),tooltip); | ||
| 99 | + | ||
| 100 | + return item; | ||
| 101 | + } | ||
| 102 | + | ||
| 68 | static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { | 103 | static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { |
| 69 | 104 | ||
| 70 | - GtkWidget * window = gtk_application_window_new(app); | ||
| 71 | - GtkWidget * terminal = v3270_new(); | 105 | + GtkWidget * window = gtk_application_window_new(app); |
| 106 | + GtkWidget * terminal = v3270_new(); | ||
| 107 | + GtkWidget * notebook = gtk_notebook_new(); | ||
| 108 | + | ||
| 109 | + gtk_widget_set_name(window,session_name); | ||
| 72 | 110 | ||
| 73 | - gtk_widget_set_name(window,"pw3270"); | 111 | + // Setup tabs |
| 112 | + gtk_notebook_append_page(GTK_NOTEBOOK(notebook),terminal,gtk_label_new(v3270_get_session_name(terminal))); | ||
| 113 | + | ||
| 114 | + // Create trace window | ||
| 115 | + { | ||
| 116 | + GtkWidget * box = gtk_box_new(GTK_ORIENTATION_VERTICAL,0); | ||
| 117 | + GtkWidget * trace = v3270_trace_new(terminal); | ||
| 118 | + GtkWidget * toolbar = gtk_toolbar_new(); | ||
| 119 | + | ||
| 120 | + gtk_toolbar_insert(GTK_TOOLBAR(toolbar),create_tool_item(terminal, "DS Trace","Toggle DS Trace",G_CALLBACK(toggle_ds_trace)),-1); | ||
| 121 | + gtk_toolbar_insert(GTK_TOOLBAR(toolbar),create_tool_item(terminal, "Event Trace","Toggle Event Trace",G_CALLBACK(toggle_event_trace)),-1); | ||
| 122 | + gtk_toolbar_insert(GTK_TOOLBAR(toolbar),create_tool_item(terminal, "Screen Trace","Toggle Screen Trace",G_CALLBACK(toggle_screen_trace)),-1); | ||
| 123 | + gtk_toolbar_insert(GTK_TOOLBAR(toolbar),create_tool_item(terminal, "SSL Trace","Toggle SSL Trace",G_CALLBACK(toggle_ssl_trace)),-1); | ||
| 124 | + | ||
| 125 | + gtk_toolbar_insert(GTK_TOOLBAR(toolbar),gtk_separator_tool_item_new(),-1); | ||
| 126 | + | ||
| 127 | + gtk_box_pack_start(GTK_BOX(box),toolbar,FALSE,FALSE,0); | ||
| 128 | + gtk_box_pack_start(GTK_BOX(box),trace,TRUE,TRUE,0); | ||
| 129 | + gtk_notebook_append_page(GTK_NOTEBOOK(notebook),box,gtk_label_new("Trace")); | ||
| 130 | + } | ||
| 74 | 131 | ||
| 75 | - // Setup and show window | 132 | + // Setup and show main window |
| 76 | gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); | 133 | gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); |
| 77 | gtk_window_set_default_size (GTK_WINDOW (window), 800, 500); | 134 | gtk_window_set_default_size (GTK_WINDOW (window), 800, 500); |
| 78 | - gtk_container_add(GTK_CONTAINER(window),terminal); | 135 | + gtk_container_add(GTK_CONTAINER(window),notebook); |
| 79 | gtk_widget_show_all (window); | 136 | gtk_widget_show_all (window); |
| 80 | 137 | ||
| 81 | // Load plugin | 138 | // Load plugin |