Experiment with plugin configuration screen
[projects/chimara/chimara.git] / interpreters / chimara-frotz-plugin.c
1 #include <glib-object.h>
2 #include <gtk/gtk.h>
3 #include <libpeas/peas.h>
4 #include <libpeas-gtk/peas-gtk.h>
5 #include "chimara-frotz-plugin.h"
6
7 static void chimara_frotz_plugin_configurable_init(PeasGtkConfigurableInterface *);
8 static GtkWidget *chimara_frotz_plugin_create_configure_widget(PeasGtkConfigurable *);
9
10 G_DEFINE_DYNAMIC_TYPE_EXTENDED(ChimaraFrotzPlugin, chimara_frotz_plugin, PEAS_TYPE_EXTENSION_BASE, 0,
11         G_IMPLEMENT_INTERFACE_DYNAMIC(PEAS_GTK_TYPE_CONFIGURABLE, chimara_frotz_plugin_configurable_init));
12
13 G_MODULE_EXPORT void
14 peas_register_types(PeasObjectModule *module)
15 {
16         chimara_frotz_plugin_register_type(G_TYPE_MODULE(module));
17         peas_object_module_register_extension_type(module, PEAS_GTK_TYPE_CONFIGURABLE, CHIMARA_TYPE_FROTZ_PLUGIN);
18 }
19
20 static void
21 chimara_frotz_plugin_init(ChimaraFrotzPlugin *self)
22 {
23 }
24
25 static void
26 chimara_frotz_plugin_class_init(ChimaraFrotzPluginClass *klass)
27 {
28 }
29
30 static void
31 chimara_frotz_plugin_class_finalize(ChimaraFrotzPluginClass *klass)
32 {
33 }
34
35 static void
36 chimara_frotz_plugin_configurable_init(PeasGtkConfigurableInterface *iface)
37 {
38         iface->create_configure_widget = chimara_frotz_plugin_create_configure_widget;
39 }
40
41 static GtkWidget *
42 chimara_frotz_plugin_create_configure_widget(PeasGtkConfigurable *self)
43 {
44         return gtk_label_new("Configure Widget");
45 }