[gtk+/composite-templates-new: 8/32] Added directory with Glade catalog
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/composite-templates-new: 8/32] Added directory with Glade catalog
- Date: Sat, 30 Mar 2013 11:13:32 +0000 (UTC)
commit c67ff9dead9fc11a2f68c68a1953f64d55d7ab30
Author: Tristan Van Berkom <tristanvb openismus com>
Date: Mon Mar 25 01:40:57 2013 +0900
Added directory with Glade catalog
This catalog can be used to work with GTK+'s private widget types,
this patch exposes a private function gtk_glade_catalog_init() which
Glade will use for the sole purpose of initializing some private widget
types in GTK+ that are referenced from various GTK+ composite widget
xml files.
gtk/Makefile.am | 1 +
gtk/glade/README.glade | 17 ++++++++++++
gtk/glade/gtk-private-widgets.xml | 36 +++++++++++++++++++++++++
gtk/gtk.symbols | 1 +
gtk/gtkgladecatalog.c | 52 +++++++++++++++++++++++++++++++++++++
5 files changed, 107 insertions(+), 0 deletions(-)
---
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 03f3e31..098ff4a 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -731,6 +731,7 @@ gtk_base_c_sources = \
gtkfontchooserutils.c \
gtkfontchooserwidget.c \
gtkframe.c \
+ gtkgladecatalog.c \
gtkgrid.c \
gtkheaderbar.c \
gtkhsla.c \
diff --git a/gtk/glade/README.glade b/gtk/glade/README.glade
new file mode 100644
index 0000000..f8c59c5
--- /dev/null
+++ b/gtk/glade/README.glade
@@ -0,0 +1,17 @@
+The catalog in this directory defines some widgets that are private
+to GTK+ and is needed to edit .ui files defining composite classes
+in GTK+.
+
+In order to edit any composite classes in GTK+, startup Glade
+in the following way, example:
+
+ cd /path/to/gtk+/
+ GLADE_CATALOG_SEARCH_PATH=`pwd`/gtk/glade glade gtk/gtkfilechooserdefault.ui
+
+Documentation for updating this catalog can be found here:
+ https://developer.gnome.org/gladeui/stable/
+
+Note also that when including private GTK+ widgets as components, it is
+important to call g_type_ensure () to register the type explicitly
+before calling gtk_container_init_template(), otherwise GtkBuilder will
+not be able to properly load the type.
diff --git a/gtk/glade/gtk-private-widgets.xml b/gtk/glade/gtk-private-widgets.xml
new file mode 100644
index 0000000..1a65e25
--- /dev/null
+++ b/gtk/glade/gtk-private-widgets.xml
@@ -0,0 +1,36 @@
+<glade-catalog name="gtkprivate"
+ version="3.10"
+ depends="gtk+"
+ library="gtk-3">
+ <init-function>gtk_glade_catalog_init</init-function>
+
+ <glade-widget-classes>
+ <!-- base GTK+ private widgets -->
+ <glade-widget-class name="GtkPathBar" generic-name="pathbar" title="Path Bar"
icon-name="widget-gtk-toolbar"/>
+ <glade-widget-class name="GtkColorSwatch" generic-name="colorswatch" title="Color Swatch"
icon-name="widget-gtk-colorselection"/>
+ <glade-widget-class name="GtkColorPlane" generic-name="colorplane" title="Color Plane"
icon-name="widget-gtk-colorselection"/>
+ <glade-widget-class name="GtkColorScale" generic-name="colorscale" title="Color Scale"
icon-name="widget-gtk-colorselection"/>
+ <glade-widget-class name="GtkScaleButtonScale" generic-name="scalebuttonscale" title="Scale Button
Scale"/>
+ <glade-widget-class name="ShortcutsPaneModelFilter" generic-name="shortcutsfilter" title="Shortcuts
Filter"
+ icon-name="widget-gtk-treemodelfilter"/>
+
+ <!-- gtkunixprint private widgets -->
+ <glade-widget-class name="GtkPrinterOptionWidget" generic-name="printeroptionwidget" title="Printer
Option Widget"
+ icon-name="widget-gtk-frame">
+ <properties>
+ <property id="orientation" default="GTK_ORIENTATION_HORIZONTAL"/>
+ <property id="size" disabled="True"/>
+ </properties>
+ </glade-widget-class>
+ </glade-widget-classes>
+
+ <glade-widget-group name="gtk-private" title="Private GTK+ Classes">
+ <glade-widget-class-ref name="GtkPathBar"/>
+ <glade-widget-class-ref name="GtkColorSwatch"/>
+ <glade-widget-class-ref name="GtkColorPlane"/>
+ <glade-widget-class-ref name="GtkColorScale"/>
+ <glade-widget-class-ref name="GtkScaleButtonScale"/>
+ <glade-widget-class-ref name="ShortcutsPaneModelFilter"/>
+ <glade-widget-class-ref name="GtkPrinterOptionWidget"/>
+ </glade-widget-group>
+</glade-catalog>
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index 1937f11..53dcb2e 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -1193,6 +1193,7 @@ gtk_get_major_version
gtk_get_micro_version
gtk_get_minor_version
gtk_get_option_group
+gtk_glade_catalog_init
gtk_grab_add
gtk_grab_get_current
gtk_grab_remove
diff --git a/gtk/gtkgladecatalog.c b/gtk/gtkgladecatalog.c
new file mode 100644
index 0000000..310aa2b
--- /dev/null
+++ b/gtk/gtkgladecatalog.c
@@ -0,0 +1,52 @@
+/* gtkgladecatalog.c
+ *
+ * Copyright (C) 2013 Openismus GmbH
+ *
+ * Authors:
+ * Tristan Van Berkom <tristanvb openismus com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "gtkpathbar.h"
+#include "gtkcolorswatchprivate.h"
+#include "gtkcolorplaneprivate.h"
+#include "gtkcolorscaleprivate.h"
+
+#ifdef G_OS_UNIX
+# include "gtkprinteroptionwidget.h"
+#endif
+
+/* Some forward declarations of internal types */
+GType _gtk_scale_button_scale_get_type (void);
+GType _shortcuts_pane_model_filter_get_type (void);
+
+/* This function is referred to in gtk/glade/gtk-private-widgets.xml
+ * and is used to ensure the private types for use in Glade while
+ * editing UI files that define GTK+'s various composite widget classes.
+ */
+void
+gtk_glade_catalog_init (const gchar *catalog_name)
+{
+ g_type_ensure (GTK_TYPE_PATH_BAR);
+ g_type_ensure (GTK_TYPE_COLOR_SWATCH);
+ g_type_ensure (GTK_TYPE_COLOR_PLANE);
+ g_type_ensure (GTK_TYPE_COLOR_SCALE);
+ g_type_ensure (_gtk_scale_button_scale_get_type ());
+ g_type_ensure (_shortcuts_pane_model_filter_get_type ());
+
+#ifdef G_OS_UNIX
+ g_type_ensure (GTK_TYPE_PRINTER_OPTION_WIDGET);
+#endif
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]