[glade] Move GladeWidgetAdaptor code for GtkToolItemGroup into it's own C file
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade] Move GladeWidgetAdaptor code for GtkToolItemGroup into it's own C file
- Date: Sat, 4 May 2013 07:25:02 +0000 (UTC)
commit e739373589e119cb8bfd8914aa05a2cad6d1fae5
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Sat May 4 14:52:26 2013 +0900
Move GladeWidgetAdaptor code for GtkToolItemGroup into it's own C file
plugins/gtk+/Makefile.am | 1 +
plugins/gtk+/glade-gtk-tool-item-group.c | 165 ++++++++++++++++++++++++++++++
plugins/gtk+/glade-gtk.c | 138 -------------------------
po/POTFILES.in | 1 +
4 files changed, 167 insertions(+), 138 deletions(-)
---
diff --git a/plugins/gtk+/Makefile.am b/plugins/gtk+/Makefile.am
index 9439a46..1330b6f 100644
--- a/plugins/gtk+/Makefile.am
+++ b/plugins/gtk+/Makefile.am
@@ -59,6 +59,7 @@ libgladegtk_la_SOURCES = \
glade-gtk-recent-chooser-menu.c \
glade-gtk-switch.c \
glade-gtk-table.c \
+ glade-gtk-tool-item-group.c \
glade-gtk-tool-palette.c \
glade-gtk-toolbar.c \
glade-gtk-widget.c \
diff --git a/plugins/gtk+/glade-gtk-tool-item-group.c b/plugins/gtk+/glade-gtk-tool-item-group.c
new file mode 100644
index 0000000..f8db7c4
--- /dev/null
+++ b/plugins/gtk+/glade-gtk-tool-item-group.c
@@ -0,0 +1,165 @@
+/*
+ * glade-gtk-tool-item-group.c - GladeWidgetAdaptor for GtkToolItemGroup
+ *
+ * Copyright (C) 2013 Tristan Van Berkom
+ *
+ * Authors:
+ * Tristan Van Berkom <tristan van berkom gmail com>
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <config.h>
+#include <glib/gi18n-lib.h>
+#include <gladeui/glade.h>
+
+#include "glade-tool-item-group-editor.h"
+#include "glade-gtk.h"
+
+gboolean
+glade_gtk_tool_item_group_add_verify (GladeWidgetAdaptor *adaptor,
+ GtkWidget *container,
+ GtkWidget *child,
+ gboolean user_feedback)
+{
+ if (!GTK_IS_TOOL_ITEM (child))
+ {
+ if (user_feedback)
+ {
+ GladeWidgetAdaptor *tool_item_adaptor =
+ glade_widget_adaptor_get_by_type (GTK_TYPE_TOOL_ITEM);
+
+ glade_util_ui_message (glade_app_get_window (),
+ GLADE_UI_INFO, NULL,
+ ONLY_THIS_GOES_IN_THAT_MSG,
+ glade_widget_adaptor_get_title (tool_item_adaptor),
+ glade_widget_adaptor_get_title (adaptor));
+ }
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void
+glade_gtk_tool_item_group_add_child (GladeWidgetAdaptor * adaptor,
+ GObject * object, GObject * child)
+{
+ gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
+}
+
+void
+glade_gtk_tool_item_group_remove_child (GladeWidgetAdaptor * adaptor,
+ GObject * object, GObject * child)
+{
+ gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
+}
+
+static void
+glade_gtk_tool_item_group_parse_finished (GladeProject * project,
+ GladeWidget * widget)
+{
+ GtkWidget *label_widget = NULL;
+
+ glade_widget_property_get (widget, "label-widget", &label_widget);
+
+ if (label_widget)
+ glade_widget_property_set (widget, "custom-label", TRUE);
+ else
+ glade_widget_property_set (widget, "custom-label", FALSE);
+}
+
+void
+glade_gtk_tool_item_group_read_widget (GladeWidgetAdaptor * adaptor,
+ GladeWidget * widget, GladeXmlNode * node)
+{
+ if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) ||
+ glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE)))
+ return;
+
+ /* First chain up and read in all the normal properties.. */
+ GWA_GET_CLASS (GTK_TYPE_TOOL_ITEM)->read_widget (adaptor, widget, node);
+
+ /* Run this after the load so that icon-widget is resolved. */
+ g_signal_connect (glade_widget_get_project (widget),
+ "parse-finished",
+ G_CALLBACK (glade_gtk_tool_item_group_parse_finished), widget);
+}
+
+static void
+glade_gtk_tool_item_group_set_custom_label (GObject * object, const GValue * value)
+{
+ GladeWidget *gbutton;
+
+ gbutton = glade_widget_get_from_gobject (object);
+
+ glade_widget_property_set_sensitive (gbutton, "label", FALSE,
+ NOT_SELECTED_MSG);
+ glade_widget_property_set_sensitive (gbutton, "label-widget", FALSE,
+ NOT_SELECTED_MSG);
+
+ if (g_value_get_boolean (value))
+ glade_widget_property_set_sensitive (gbutton, "label-widget", TRUE, NULL);
+ else
+ glade_widget_property_set_sensitive (gbutton, "label", TRUE, NULL);
+}
+
+void
+glade_gtk_tool_item_group_set_property (GladeWidgetAdaptor * adaptor,
+ GObject * object,
+ const gchar * id, const GValue * value)
+{
+ if (!strcmp (id, "custom-label"))
+ glade_gtk_tool_item_group_set_custom_label (object, value);
+ else if (!strcmp (id, "label"))
+ {
+ GladeWidget *widget = glade_widget_get_from_gobject (object);
+ gboolean custom = FALSE;
+
+ glade_widget_property_get (widget, "custom-label", &custom);
+ if (!custom)
+ gtk_tool_item_group_set_label (GTK_TOOL_ITEM_GROUP (object),
+ g_value_get_string (value));
+ }
+ else if (!strcmp (id, "label-widget"))
+ {
+ GladeWidget *widget = glade_widget_get_from_gobject (object);
+ GtkWidget *label = g_value_get_object (value);
+ gboolean custom = FALSE;
+
+ glade_widget_property_get (widget, "custom-label", &custom);
+ if (custom || (glade_util_object_is_loading (object) && label != NULL))
+ gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (object), label);
+ }
+ else
+ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value);
+}
+
+GladeEditable *
+glade_gtk_tool_item_group_create_editable (GladeWidgetAdaptor * adaptor,
+ GladeEditorPageType type)
+{
+ GladeEditable *editable;
+
+ /* Get base editable */
+ editable =
+ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->create_editable (adaptor, type);
+
+ if (type == GLADE_PAGE_GENERAL)
+ return (GladeEditable *) glade_tool_item_group_editor_new (adaptor, editable);
+
+ return editable;
+}
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index 69d8b04..2fe8ea5 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -82,144 +82,6 @@ glade_gtk_init (const gchar * name)
}
-
-/* ----------------------------- GtkToolItemGroup ------------------------------ */
-gboolean
-glade_gtk_tool_item_group_add_verify (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *child,
- gboolean user_feedback)
-{
- if (!GTK_IS_TOOL_ITEM (child))
- {
- if (user_feedback)
- {
- GladeWidgetAdaptor *tool_item_adaptor =
- glade_widget_adaptor_get_by_type (GTK_TYPE_TOOL_ITEM);
-
- glade_util_ui_message (glade_app_get_window (),
- GLADE_UI_INFO, NULL,
- ONLY_THIS_GOES_IN_THAT_MSG,
- glade_widget_adaptor_get_title (tool_item_adaptor),
- glade_widget_adaptor_get_title (adaptor));
- }
-
- return FALSE;
- }
-
- return TRUE;
-}
-
-void
-glade_gtk_tool_item_group_add_child (GladeWidgetAdaptor * adaptor,
- GObject * object, GObject * child)
-{
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-void
-glade_gtk_tool_item_group_remove_child (GladeWidgetAdaptor * adaptor,
- GObject * object, GObject * child)
-{
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-static void
-glade_gtk_tool_item_group_parse_finished (GladeProject * project,
- GladeWidget * widget)
-{
- GtkWidget *label_widget = NULL;
-
- glade_widget_property_get (widget, "label-widget", &label_widget);
-
- if (label_widget)
- glade_widget_property_set (widget, "custom-label", TRUE);
- else
- glade_widget_property_set (widget, "custom-label", FALSE);
-}
-
-void
-glade_gtk_tool_item_group_read_widget (GladeWidgetAdaptor * adaptor,
- GladeWidget * widget, GladeXmlNode * node)
-{
- if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) ||
- glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE)))
- return;
-
- /* First chain up and read in all the normal properties.. */
- GWA_GET_CLASS (GTK_TYPE_TOOL_ITEM)->read_widget (adaptor, widget, node);
-
- /* Run this after the load so that icon-widget is resolved. */
- g_signal_connect (glade_widget_get_project (widget),
- "parse-finished",
- G_CALLBACK (glade_gtk_tool_item_group_parse_finished), widget);
-}
-
-static void
-glade_gtk_tool_item_group_set_custom_label (GObject * object, const GValue * value)
-{
- GladeWidget *gbutton;
-
- gbutton = glade_widget_get_from_gobject (object);
-
- glade_widget_property_set_sensitive (gbutton, "label", FALSE,
- NOT_SELECTED_MSG);
- glade_widget_property_set_sensitive (gbutton, "label-widget", FALSE,
- NOT_SELECTED_MSG);
-
- if (g_value_get_boolean (value))
- glade_widget_property_set_sensitive (gbutton, "label-widget", TRUE, NULL);
- else
- glade_widget_property_set_sensitive (gbutton, "label", TRUE, NULL);
-}
-
-void
-glade_gtk_tool_item_group_set_property (GladeWidgetAdaptor * adaptor,
- GObject * object,
- const gchar * id, const GValue * value)
-{
- if (!strcmp (id, "custom-label"))
- glade_gtk_tool_item_group_set_custom_label (object, value);
- else if (!strcmp (id, "label"))
- {
- GladeWidget *widget = glade_widget_get_from_gobject (object);
- gboolean custom = FALSE;
-
- glade_widget_property_get (widget, "custom-label", &custom);
- if (!custom)
- gtk_tool_item_group_set_label (GTK_TOOL_ITEM_GROUP (object),
- g_value_get_string (value));
- }
- else if (!strcmp (id, "label-widget"))
- {
- GladeWidget *widget = glade_widget_get_from_gobject (object);
- GtkWidget *label = g_value_get_object (value);
- gboolean custom = FALSE;
-
- glade_widget_property_get (widget, "custom-label", &custom);
- if (custom || (glade_util_object_is_loading (object) && label != NULL))
- gtk_tool_item_group_set_label_widget (GTK_TOOL_ITEM_GROUP (object), label);
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value);
-}
-
-GladeEditable *
-glade_gtk_tool_item_group_create_editable (GladeWidgetAdaptor * adaptor,
- GladeEditorPageType type)
-{
- GladeEditable *editable;
-
- /* Get base editable */
- editable =
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->create_editable (adaptor, type);
-
- if (type == GLADE_PAGE_GENERAL)
- return (GladeEditable *) glade_tool_item_group_editor_new (adaptor, editable);
-
- return editable;
-}
-
/* ----------------------------- GtkToolItem ------------------------------ */
GObject *
glade_gtk_tool_item_constructor (GType type,
diff --git a/po/POTFILES.in b/po/POTFILES.in
index fefdcc7..58e8280 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -87,6 +87,7 @@ plugins/gtk+/glade-gtk-radio-menu-item.c
plugins/gtk+/glade-gtk-recent-chooser-menu.c
plugins/gtk+/glade-gtk-switch.c
plugins/gtk+/glade-gtk-table.c
+plugins/gtk+/glade-gtk-tool-item-group.c
plugins/gtk+/glade-gtk-tool-palette.c
plugins/gtk+/glade-gtk-toolbar.c
plugins/gtk+/glade-gtk-widget.c
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]