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