From 01c56c07e1d032cdf3b46e67628ffac3dd001608 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 May 2013 23:53:50 +0900 Subject: [PATCH] GladeWindowEditor: Added an extension port for derived editors. --- plugins/gtk+/glade-window-editor.c | 19 +- plugins/gtk+/glade-window-editor.h | 4 +- plugins/gtk+/glade-window-editor.ui | 298 ++++++++++------------------ 3 files changed, 129 insertions(+), 192 deletions(-) diff --git a/plugins/gtk+/glade-window-editor.c b/plugins/gtk+/glade-window-editor.c index aba5ec99..80ea3b45 100644 --- a/plugins/gtk+/glade-window-editor.c +++ b/plugins/gtk+/glade-window-editor.c @@ -35,6 +35,7 @@ static void icon_file_toggled (GtkWidget *widget, GladeWindowEditor * window_ struct _GladeWindowEditorPrivate { GtkWidget *embed; + GtkWidget *extension_port; GtkWidget *icon_name_radio; GtkWidget *icon_file_radio; }; @@ -57,6 +58,7 @@ glade_window_editor_class_init (GladeWindowEditorClass * klass) gtk_widget_class_bind_child (widget_class, GladeWindowEditorPrivate, embed); gtk_widget_class_bind_child (widget_class, GladeWindowEditorPrivate, icon_name_radio); gtk_widget_class_bind_child (widget_class, GladeWindowEditorPrivate, icon_file_radio); + gtk_widget_class_bind_child_internal (widget_class, GladeWindowEditorPrivate, extension_port); gtk_widget_class_bind_callback (widget_class, icon_name_toggled); gtk_widget_class_bind_callback (widget_class, icon_file_toggled); @@ -183,9 +185,24 @@ icon_file_toggled (GtkWidget *widget, glade_editable_load (GLADE_EDITABLE (window_editor), gwidget); } - +/************************************* + * API * + *************************************/ GtkWidget * glade_window_editor_new (void) { return g_object_new (GLADE_TYPE_WINDOW_EDITOR, NULL); } + +/************************************* + * Private Plugin Extensions * + *************************************/ +void +glade_window_editor_post_create (GladeWidgetAdaptor *adaptor, + GObject *editor, + GladeCreateReason reason) +{ + GladeWindowEditorPrivate *priv = GLADE_WINDOW_EDITOR (editor)->priv; + + gtk_widget_show (priv->extension_port); +} diff --git a/plugins/gtk+/glade-window-editor.h b/plugins/gtk+/glade-window-editor.h index 773a5ca5..9e9883c2 100644 --- a/plugins/gtk+/glade-window-editor.h +++ b/plugins/gtk+/glade-window-editor.h @@ -49,8 +49,8 @@ struct _GladeWindowEditorClass GladeEditorSkeletonClass parent; }; -GType glade_window_editor_get_type (void) G_GNUC_CONST; -GtkWidget *glade_window_editor_new (void); +GType glade_window_editor_get_type (void) G_GNUC_CONST; +GtkWidget *glade_window_editor_new (void); G_END_DECLS diff --git a/plugins/gtk+/glade-window-editor.ui b/plugins/gtk+/glade-window-editor.ui index b54d7163..123ac364 100644 --- a/plugins/gtk+/glade-window-editor.ui +++ b/plugins/gtk+/glade-window-editor.ui @@ -1,27 +1,21 @@ - +