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.
This commit is contained in:
@ -732,6 +732,7 @@ gtk_base_c_sources = \
|
||||
gtkfontchooserutils.c \
|
||||
gtkfontchooserwidget.c \
|
||||
gtkframe.c \
|
||||
gtkgladecatalog.c \
|
||||
gtkgrid.c \
|
||||
gtkheaderbar.c \
|
||||
gtkhsla.c \
|
||||
|
||||
17
gtk/glade/README.glade
Normal file
17
gtk/glade/README.glade
Normal file
@ -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.
|
||||
36
gtk/glade/gtk-private-widgets.xml
Normal file
36
gtk/glade/gtk-private-widgets.xml
Normal file
@ -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>
|
||||
@ -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
|
||||
|
||||
52
gtk/gtkgladecatalog.c
Normal file
52
gtk/gtkgladecatalog.c
Normal file
@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user