summaryrefslogtreecommitdiff
path: root/plugins/pychrysalide/core-ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pychrysalide/core-ui.c')
-rw-r--r--plugins/pychrysalide/core-ui.c52
1 files changed, 47 insertions, 5 deletions
diff --git a/plugins/pychrysalide/core-ui.c b/plugins/pychrysalide/core-ui.c
index ebc32cb..0ea15df 100644
--- a/plugins/pychrysalide/core-ui.c
+++ b/plugins/pychrysalide/core-ui.c
@@ -36,6 +36,8 @@
#include "core-ui-int.h"
#include "arch/module-ui.h"
#include "glibext/module-ui.h"
+#include "gtkext/module.h"
+//#include "gui/module.h"
@@ -83,8 +85,11 @@ static void g_pychrysalide_plugin_ui_handle_native_plugins_loaded_event(GPluginM
/* --------------------------- POINT D'ENTREE POUR PYTHON --------------------------- */
+/*Ajoute des modules UI aux extensions Python. */
+static bool add_python_ui_modules(PyObject *);
+
/* Inscrit les défintions des objets UI Python de Chrysalide. */
-static bool populate_python_modules_ui(void);
+static bool populate_python_modules_ui(bool);
@@ -401,7 +406,32 @@ static void g_pychrysalide_plugin_ui_handle_native_plugins_loaded_event(GPluginM
/******************************************************************************
* *
-* Paramètres : - *
+* Paramètres : super = module dont la définition est à compléter. *
+* *
+* Description : Ajoute des modules UI aux extensions Python. *
+* *
+* Retour : Bilan de l'opération. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static bool add_python_ui_modules(PyObject *super)
+{
+ bool result; /* Bilan à retourner */
+
+ result = true;
+
+ if (result) result = add_gtkext_module(super);
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : modify = autorisation de motification du type GObject. *
* *
* Description : Inscrit les défintions des objets UI Python de Chrysalide. *
* *
@@ -411,14 +441,25 @@ static void g_pychrysalide_plugin_ui_handle_native_plugins_loaded_event(GPluginM
* *
******************************************************************************/
-static bool populate_python_modules_ui(void)
+static bool populate_python_modules_ui(bool modify)
{
bool result; /* Bilan à retourner */
result = true;
- if (result) result = populate_arch_module_ui();
- if (result) result = populate_glibext_module_ui();
+ if (!modify)
+ {
+ if (result) result = populate_arch_module_ui();
+ if (result) result = populate_glibext_module_ui();
+
+ }
+
+ else
+ {
+ if (result) result = populate_gtkext_module();
+ //if (result) result = populate_gui_module();
+
+ }
return result;
@@ -444,6 +485,7 @@ PyMODINIT_FUNC PyInit_pychrysalideui(void)
details.standalone = _standalone;
+ details.add_extra = add_python_ui_modules;
details.populate_extra = populate_python_modules_ui;
details.create_self = g_pychrysalide_plugin_ui_new;