From: Philip Chimento Date: Sat, 6 Oct 2012 16:50:41 +0000 (-0700) Subject: Experiment with plugin configuration screen X-Git-Url: https://git.stderr.nl/gitweb?p=projects%2Fchimara%2Fchimara.git;a=commitdiff_plain;h=6c1f4dbd7b7dc80962990fb6ac176551ca88b21c Experiment with plugin configuration screen --- diff --git a/configure.ac b/configure.ac index 2e8c380..06bb494 100644 --- a/configure.ac +++ b/configure.ac @@ -125,7 +125,9 @@ PKG_CHECK_MODULES([PLAYER], [ # Libraries needed to build interpreter plugins PKG_CHECK_MODULES([PLUGIN], [ glib-2.0 dnl Any version will do + gtk+-3.0 libpeas-1.0 + libpeas-gtk-1.0 ]) # Libraries needed to build test programs PKG_CHECK_MODULES([TEST], [ diff --git a/interpreters/chimara-frotz-plugin.c b/interpreters/chimara-frotz-plugin.c index 9c5510a..527d547 100644 --- a/interpreters/chimara-frotz-plugin.c +++ b/interpreters/chimara-frotz-plugin.c @@ -1,15 +1,20 @@ #include +#include #include +#include #include "chimara-frotz-plugin.h" -G_DEFINE_DYNAMIC_TYPE(ChimaraFrotzPlugin, chimara_frotz_plugin, PEAS_TYPE_EXTENSION_BASE); +static void chimara_frotz_plugin_configurable_init(PeasGtkConfigurableInterface *); +static GtkWidget *chimara_frotz_plugin_create_configure_widget(PeasGtkConfigurable *); + +G_DEFINE_DYNAMIC_TYPE_EXTENDED(ChimaraFrotzPlugin, chimara_frotz_plugin, PEAS_TYPE_EXTENSION_BASE, 0, + G_IMPLEMENT_INTERFACE_DYNAMIC(PEAS_GTK_TYPE_CONFIGURABLE, chimara_frotz_plugin_configurable_init)); G_MODULE_EXPORT void peas_register_types(PeasObjectModule *module) { chimara_frotz_plugin_register_type(G_TYPE_MODULE(module)); - - //peas_object_module_register_extension_type(module, PEAS_GTK_TYPE_CONFIGURABLE, CHIMARA_TYPE_BOCFEL_PLUGIN); + peas_object_module_register_extension_type(module, PEAS_GTK_TYPE_CONFIGURABLE, CHIMARA_TYPE_FROTZ_PLUGIN); } static void @@ -25,4 +30,16 @@ chimara_frotz_plugin_class_init(ChimaraFrotzPluginClass *klass) static void chimara_frotz_plugin_class_finalize(ChimaraFrotzPluginClass *klass) { -} \ No newline at end of file +} + +static void +chimara_frotz_plugin_configurable_init(PeasGtkConfigurableInterface *iface) +{ + iface->create_configure_widget = chimara_frotz_plugin_create_configure_widget; +} + +static GtkWidget * +chimara_frotz_plugin_create_configure_widget(PeasGtkConfigurable *self) +{ + return gtk_label_new("Configure Widget"); +}