Commit 292e413831d0b2ad72a80fe7cd619ffaca588dc0

Authored by Perry Werneck
1 parent 05250dc8

Refactoring plugin engine.

Showing 2 changed files with 20 additions and 4 deletions   Show diff stats
@@ -147,9 +147,6 @@ @@ -147,9 +147,6 @@
147 <Option compilerVar="CC" /> 147 <Option compilerVar="CC" />
148 </Unit> 148 </Unit>
149 <Unit filename="src/objects/window/private.h" /> 149 <Unit filename="src/objects/window/private.h" />
150 - <Unit filename="src/objects/window/rename.c">  
151 - <Option compilerVar="CC" />  
152 - </Unit>  
153 <Unit filename="src/objects/window/terminal.c"> 150 <Unit filename="src/objects/window/terminal.c">
154 <Option compilerVar="CC" /> 151 <Option compilerVar="CC" />
155 </Unit> 152 </Unit>
src/objects/window/page.c
@@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
29 29
30 #include "private.h" 30 #include "private.h"
31 #include <pw3270/actions.h> 31 #include <pw3270/actions.h>
  32 + #include <pw3270/application.h>
32 #include <lib3270/toggle.h> 33 #include <lib3270/toggle.h>
33 #include <v3270/settings.h> 34 #include <v3270/settings.h>
34 #include <v3270/actions.h> 35 #include <v3270/actions.h>
@@ -111,6 +112,7 @@ @@ -111,6 +112,7 @@
111 static gboolean terminal_popup(GtkWidget *widget, gboolean selected, gboolean online, GdkEvent *event, pw3270ApplicationWindow * window); 112 static gboolean terminal_popup(GtkWidget *widget, gboolean selected, gboolean online, GdkEvent *event, pw3270ApplicationWindow * window);
112 static gboolean oia_popup(GtkWidget *widget, guint field, GdkEvent *event, pw3270ApplicationWindow * window); 113 static gboolean oia_popup(GtkWidget *widget, guint field, GdkEvent *event, pw3270ApplicationWindow * window);
113 static void label_populate_popup(GtkLabel *label, GtkMenu *menu, GtkWidget *terminal); 114 static void label_populate_popup(GtkLabel *label, GtkMenu *menu, GtkWidget *terminal);
  115 + static void plugin_start(GModule *module, GtkWidget *terminal);
114 116
115 gint pw3270_application_window_append_page(GtkWidget * window, GtkWidget * terminal) { 117 gint pw3270_application_window_append_page(GtkWidget * window, GtkWidget * terminal) {
116 118
@@ -155,6 +157,9 @@ @@ -155,6 +157,9 @@
155 gtk_notebook_set_tab_detachable(notebook,terminal,TRUE); 157 gtk_notebook_set_tab_detachable(notebook,terminal,TRUE);
156 gtk_notebook_set_tab_reorderable(notebook,terminal,TRUE); 158 gtk_notebook_set_tab_reorderable(notebook,terminal,TRUE);
157 159
  160 + // Initialize plugins
  161 + pw3270_application_plugin_foreach(G_APPLICATION(gtk_window_get_application(GTK_WINDOW(window))), (GFunc) plugin_start, terminal);
  162 +
158 return page; 163 return page;
159 164
160 } 165 }
@@ -214,7 +219,7 @@ @@ -214,7 +219,7 @@
214 return; 219 return;
215 } 220 }
216 221
217 - debug("Default terminal %p was destroyed",__FUNCTION__); 222 + debug("Default terminal %p was destroyed (toplevel=%p)",__FUNCTION__,gtk_widget_get_toplevel(terminal));
218 223
219 pw3270_application_window_set_active_terminal(GTK_WIDGET(window),NULL); 224 pw3270_application_window_set_active_terminal(GTK_WIDGET(window),NULL);
220 225
@@ -363,3 +368,17 @@ @@ -363,3 +368,17 @@
363 } 368 }
364 369
365 } 370 }
  371 +
  372 +
  373 + void plugin_start(GModule *module, GtkWidget *terminal) {
  374 +
  375 + /*
  376 + int (*start)(GtkWidget *);
  377 +
  378 + if(g_module_symbol(module, "pw3270_plugin_insert_terminal", (gpointer *) &start)) {
  379 + start(terminal);
  380 + }
  381 + */
  382 +
  383 + }
  384 +