summaryrefslogtreecommitdiff
path: root/plugins/gtk+
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gtk+')
-rw-r--r--plugins/gtk+/Makefile.am53
-rw-r--r--plugins/gtk+/fixed-bg.xpm17
-rw-r--r--plugins/gtk+/glade-gtk.c6317
-rw-r--r--plugins/gtk+/glade-gtk.h32
-rw-r--r--plugins/gtk+/gtk+.xml.in1598
-rw-r--r--plugins/gtk+/gtkunixprint.xml.in18
-rw-r--r--plugins/gtk+/icons/16x16/Makefile.am98
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-aboutdialog.pngbin221 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-accellabel.pngbin113 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-alignment.pngbin141 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-arrow.pngbin124 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-aspectframe.pngbin188 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-assistant.pngbin179 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-button.pngbin220 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-calendar.pngbin152 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-checkbutton.pngbin155 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-checkmenuitem.pngbin177 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-clist.pngbin148 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-colorbutton.pngbin199 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-colorselection.pngbin312 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-colorselectiondialog.pngbin332 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-combo.pngbin157 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-combobox.pngbin153 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-comboboxentry.pngbin153 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-curve.pngbin222 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-custom.pngbin130 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-default.pngbin215 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-dialog.pngbin212 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-drawingarea.pngbin384 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-entry.pngbin113 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-eventbox.pngbin223 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-expander.pngbin141 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-filechooserbutton.pngbin234 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-filechooserdialog.pngbin227 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-filechooserwidget.pngbin271 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-fileselection.pngbin227 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-fixed.pngbin128 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-fontbutton.pngbin291 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-fontselection.pngbin286 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-fontselectiondialog.pngbin322 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-frame.pngbin128 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-gammacurve.pngbin222 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-gtktextview.pngbin1419 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-handlebox.pngbin156 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hbox.pngbin106 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hbuttonbox.pngbin128 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hpaned.pngbin107 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hruler.pngbin127 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hscale.pngbin165 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hscrollbar.pngbin145 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-hseparator.pngbin97 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-iconview.pngbin241 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-image.pngbin367 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-imagemenuitem.pngbin181 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-inputdialog.pngbin192 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-label.pngbin113 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-layout.pngbin159 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-linkbutton.pngbin121 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-list.pngbin126 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-listitem.pngbin94 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-menu.pngbin147 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-menubar.pngbin155 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-menuitem.pngbin114 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-menutoolbutton.pngbin156 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-messagedialog.pngbin224 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-notebook.pngbin166 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-optionmenu.pngbin153 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-pagesetupdialog.pngbin267 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-printdialog.pngbin323 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-progressbar.pngbin240 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-radiobutton.pngbin285 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-radiomenuitem.pngbin239 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-radiotoolbutton.pngbin281 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-recentchooser.pngbin330 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-recentchooserdialog.pngbin225 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-ruler.pngbin127 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-scrolledwindow.pngbin254 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-separatormenuitem.pngbin114 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-separatortoolitem.pngbin89 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-spinbutton.pngbin155 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-statusbar.pngbin107 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-table.pngbin112 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-textview.pngbin131 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-togglebutton.pngbin217 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-toggletoolbutton.pngbin150 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-toolbar.pngbin284 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-toolbutton.pngbin141 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-toolitem.pngbin127 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-treeview.pngbin148 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vbox.pngbin137 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vbuttonbox.pngbin124 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-viewport.pngbin156 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vpaned.pngbin137 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vruler.pngbin150 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vscale.pngbin177 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vscrollbar.pngbin260 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-vseparator.pngbin99 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/16x16/widget-gtk-window.pngbin146 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/Makefile.am97
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-aboutdialog.pngbin236 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-accellabel.pngbin131 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-alignment.pngbin160 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-arrow.pngbin134 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-aspectframe.pngbin229 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-assistant.pngbin219 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-button.pngbin181 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-calendar.pngbin161 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-checkbutton.pngbin179 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-checkmenuitem.pngbin202 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-clist.pngbin158 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-colorbutton.pngbin168 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-colorselection.pngbin458 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-colorselectiondialog.pngbin467 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-combo.pngbin164 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-combobox.pngbin263 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-comboboxentry.pngbin170 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-curve.pngbin235 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-custom.pngbin138 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-default.pngbin116 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-dialog.pngbin283 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-drawingarea.pngbin689 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-entry.pngbin125 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-eventbox.pngbin223 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-expander.pngbin152 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-filechooserbutton.pngbin198 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-filechooserdialog.pngbin265 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-filechooserwidget.pngbin306 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-fileselection.pngbin265 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-fixed.pngbin122 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-fontbutton.pngbin175 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-fontselection.pngbin281 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-fontselectiondialog.pngbin321 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-frame.pngbin143 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-gammacurve.pngbin235 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-handlebox.pngbin174 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hbox.pngbin114 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hbuttonbox.pngbin136 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hpaned.pngbin118 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hruler.pngbin138 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hscale.pngbin172 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hscrollbar.pngbin155 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-hseparator.pngbin101 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-iconview.pngbin265 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-image.pngbin269 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-imagemenuitem.pngbin185 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-inputdialog.pngbin214 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-label.pngbin205 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-layout.pngbin186 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-linkbutton.pngbin150 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-list.pngbin135 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-listitem.pngbin95 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-menu.pngbin164 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-menubar.pngbin183 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-menuitem.pngbin127 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-menutoolbutton.pngbin185 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-messagedialog.pngbin358 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-notebook.pngbin175 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-optionmenu.pngbin171 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-pagesetupdialog.pngbin358 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-printdialog.pngbin438 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-progressbar.pngbin138 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-radiobutton.pngbin257 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-radiomenuitem.pngbin323 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-radiotoolbutton.pngbin362 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-recentchooser.pngbin432 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-recentchooserdialog.pngbin312 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-ruler.pngbin138 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-scrolledwindow.pngbin339 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-separatormenuitem.pngbin127 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-separatortoolitem.pngbin96 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-spinbutton.pngbin206 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-statusbar.pngbin116 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-table.pngbin120 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-textview.pngbin148 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-togglebutton.pngbin200 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-toggletoolbutton.pngbin149 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-toolbar.pngbin187 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-toolbutton.pngbin149 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-toolitem.pngbin132 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-treeview.pngbin158 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vbox.pngbin142 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vbuttonbox.pngbin134 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-viewport.pngbin186 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vpaned.pngbin143 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vruler.pngbin158 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vscale.pngbin164 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vscrollbar.pngbin344 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-vseparator.pngbin107 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/22x22/widget-gtk-window.pngbin169 -> 0 bytes
-rw-r--r--plugins/gtk+/icons/Makefile.am3
190 files changed, 0 insertions, 8233 deletions
diff --git a/plugins/gtk+/Makefile.am b/plugins/gtk+/Makefile.am
deleted file mode 100644
index 023b7ac9..00000000
--- a/plugins/gtk+/Makefile.am
+++ /dev/null
@@ -1,53 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-SUBDIRS = icons
-
-libgladeui = $(top_builddir)/gladeui/libgladeui-1.la
-
-
-# libgladegtk
-
-gladegtk_LTLIBRARIES = libgladegtk.la
-gladegtkdir = $(pkglibdir)/modules
-
-libgladegtk_la_CPPLAGS = \
- -I$(top_srcdir) \
- -I$(top_builddir) \
- $(AM_CPPFLAGS)
-
-libgladegtk_la_CFLAGS = \
- -DG_LOG_DOMAIN=\"GladeUI-GTK\" \
- -I$(top_srcdir) \
- -I$(top_builddir) \
- $(GTK_CFLAGS) \
- $(PLUGINS_WARN_CFLAGS) \
- $(AM_CFLAGS)
-
-libgladegtk_la_SOURCES = glade-gtk.c fixed-bg.xpm
-libgladegtk_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
-libgladegtk_la_LIBADD = $(libgladeui) $(GTK_LIBS)
-
-libgladegtkincludedir= $(includedir)/libgladeui-1.0/gladeui
-libgladegtkinclude_HEADERS = glade-gtk.h
-
-if PLATFORM_WIN32
-libgladegtk_la_LDFLAGS += -no-undefined
-endif
-
-
-# catalog data
-
-catalogsdir = $(pkgdatadir)/catalogs
-
-catalogs_DATA = gtk+.xml gtk+.xml.in
-
-if HAVE_GTK_UNIX_PRINT
-catalogs_DATA += gtkunixprint.xml gtkunixprint.xml.in
-endif
-
-@INTLTOOL_XML_NOMERGE_RULE@
-
-
-CLEANFILES = gtk+.xml gtkunixprint.xml
-
-EXTRA_DIST = gtk+.xml gtk+.xml.in gtkunixprint.xml gtkunixprint.xml.in
diff --git a/plugins/gtk+/fixed-bg.xpm b/plugins/gtk+/fixed-bg.xpm
deleted file mode 100644
index a2fe89f3..00000000
--- a/plugins/gtk+/fixed-bg.xpm
+++ /dev/null
@@ -1,17 +0,0 @@
-/* XPM */
-static char *fixed_bg_xpm[] = {
- /* columns rows colors chars-per-pixel */
- "8 8 2 1",
- ". c #bbbbbb",
- " c #d6d6d6",
- /* pixels */
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ..",
- " ..",
- " "
-};
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
deleted file mode 100644
index bf532e8b..00000000
--- a/plugins/gtk+/glade-gtk.c
+++ /dev/null
@@ -1,6317 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2001 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU 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.
- *
- * Authors:
- * Chema Celorio <chema@celorio.com>
- * Tristan Van Berkom <tvb@gnome.org>
- * Juan Pablo Ugarte <juanpablougarte@gmail.com>
- */
-
-#include <config.h>
-
-#include "glade-gtk.h"
-#include "fixed-bg.xpm"
-
-#include <gladeui/glade-editor-property.h>
-#include <gladeui/glade-base-editor.h>
-
-
-#include <gtk/gtk.h>
-#include <glib/gi18n-lib.h>
-#include <string.h>
-#include <stdlib.h>
-
-/* --------------------------------- Constants ------------------------------ */
-#define FIXED_DEFAULT_CHILD_WIDTH 100
-#define FIXED_DEFAULT_CHILD_HEIGHT 60
-
-
-/* -------------------------------- ParamSpecs ------------------------------ */
-/*
-GtkImageMenuItem GnomeUI "stock_item" property special case:
-
-"stock_item" property is added by glade2 gnome support and makes reference to
-GNOMEUIINFO_MENU_* macros. This set-function maps these properties to
-existing non deprecated gtk ones.
-*/
-typedef enum {
- GNOMEUIINFO_MENU_NONE,
- /* The 'File' menu */
- GNOMEUIINFO_MENU_NEW_ITEM,
- GNOMEUIINFO_MENU_NEW_SUBTREE,
- GNOMEUIINFO_MENU_OPEN_ITEM,
- GNOMEUIINFO_MENU_SAVE_ITEM,
- GNOMEUIINFO_MENU_SAVE_AS_ITEM,
- GNOMEUIINFO_MENU_REVERT_ITEM,
- GNOMEUIINFO_MENU_PRINT_ITEM,
- GNOMEUIINFO_MENU_PRINT_SETUP_ITEM,
- GNOMEUIINFO_MENU_CLOSE_ITEM,
- GNOMEUIINFO_MENU_EXIT_ITEM,
- GNOMEUIINFO_MENU_QUIT_ITEM,
- /* The "Edit" menu */
- GNOMEUIINFO_MENU_CUT_ITEM,
- GNOMEUIINFO_MENU_COPY_ITEM,
- GNOMEUIINFO_MENU_PASTE_ITEM,
- GNOMEUIINFO_MENU_SELECT_ALL_ITEM,
- GNOMEUIINFO_MENU_CLEAR_ITEM,
- GNOMEUIINFO_MENU_UNDO_ITEM,
- GNOMEUIINFO_MENU_REDO_ITEM,
- GNOMEUIINFO_MENU_FIND_ITEM,
- GNOMEUIINFO_MENU_FIND_AGAIN_ITEM,
- GNOMEUIINFO_MENU_REPLACE_ITEM,
- GNOMEUIINFO_MENU_PROPERTIES_ITEM,
- /* The Settings menu */
- GNOMEUIINFO_MENU_PREFERENCES_ITEM,
- /* The Windows menu */
- GNOMEUIINFO_MENU_NEW_WINDOW_ITEM,
- GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM,
- /* And the "Help" menu */
- GNOMEUIINFO_MENU_ABOUT_ITEM,
- /* The "Game" menu */
- GNOMEUIINFO_MENU_NEW_GAME_ITEM,
- GNOMEUIINFO_MENU_PAUSE_GAME_ITEM,
- GNOMEUIINFO_MENU_RESTART_GAME_ITEM,
- GNOMEUIINFO_MENU_UNDO_MOVE_ITEM,
- GNOMEUIINFO_MENU_REDO_MOVE_ITEM,
- GNOMEUIINFO_MENU_HINT_ITEM,
- GNOMEUIINFO_MENU_SCORES_ITEM,
- GNOMEUIINFO_MENU_END_GAME_ITEM,
- /* Some standard menus */
- GNOMEUIINFO_MENU_FILE_TREE,
- GNOMEUIINFO_MENU_EDIT_TREE,
- GNOMEUIINFO_MENU_VIEW_TREE,
- GNOMEUIINFO_MENU_SETTINGS_TREE,
- GNOMEUIINFO_MENU_FILES_TREE,
- GNOMEUIINFO_MENU_WINDOWS_TREE,
- GNOMEUIINFO_MENU_HELP_TREE,
- GNOMEUIINFO_MENU_GAME_TREE
-} GladeGtkGnomeUIInfoEnum;
-
-static GType
-glade_gtk_gnome_ui_info_get_type (void)
-{
- static GType etype = 0;
- if (etype == 0) {
- static const GEnumValue values[] = {
- { GNOMEUIINFO_MENU_NONE, "GNOMEUIINFO_MENU_NONE", NULL},
- /* The 'File' menu */
- { GNOMEUIINFO_MENU_NEW_ITEM, "GNOMEUIINFO_MENU_NEW_ITEM", "gtk-new"},
- { GNOMEUIINFO_MENU_OPEN_ITEM, "GNOMEUIINFO_MENU_OPEN_ITEM", "gtk-open"},
- { GNOMEUIINFO_MENU_SAVE_ITEM, "GNOMEUIINFO_MENU_SAVE_ITEM", "gtk-save"},
- { GNOMEUIINFO_MENU_SAVE_AS_ITEM, "GNOMEUIINFO_MENU_SAVE_AS_ITEM", "gtk-save-as"},
- { GNOMEUIINFO_MENU_REVERT_ITEM, "GNOMEUIINFO_MENU_REVERT_ITEM", "gtk-revert-to-saved"},
- { GNOMEUIINFO_MENU_PRINT_ITEM, "GNOMEUIINFO_MENU_PRINT_ITEM", "gtk-print"},
- { GNOMEUIINFO_MENU_PRINT_SETUP_ITEM, "GNOMEUIINFO_MENU_PRINT_SETUP_ITEM", NULL},
- { GNOMEUIINFO_MENU_CLOSE_ITEM, "GNOMEUIINFO_MENU_CLOSE_ITEM", "gtk-close"},
- { GNOMEUIINFO_MENU_EXIT_ITEM, "GNOMEUIINFO_MENU_EXIT_ITEM", "gtk-quit"},
- { GNOMEUIINFO_MENU_QUIT_ITEM, "GNOMEUIINFO_MENU_QUIT_ITEM", "gtk-quit"},
- /* The "Edit" menu */
- { GNOMEUIINFO_MENU_CUT_ITEM, "GNOMEUIINFO_MENU_CUT_ITEM", "gtk-cut"},
- { GNOMEUIINFO_MENU_COPY_ITEM, "GNOMEUIINFO_MENU_COPY_ITEM", "gtk-copy"},
- { GNOMEUIINFO_MENU_PASTE_ITEM, "GNOMEUIINFO_MENU_PASTE_ITEM", "gtk-paste"},
- { GNOMEUIINFO_MENU_SELECT_ALL_ITEM, "GNOMEUIINFO_MENU_SELECT_ALL_ITEM", NULL},
- { GNOMEUIINFO_MENU_CLEAR_ITEM, "GNOMEUIINFO_MENU_CLEAR_ITEM", "gtk-clear"},
- { GNOMEUIINFO_MENU_UNDO_ITEM, "GNOMEUIINFO_MENU_UNDO_ITEM", "gtk-undo"},
- { GNOMEUIINFO_MENU_REDO_ITEM, "GNOMEUIINFO_MENU_REDO_ITEM", "gtk-redo"},
- { GNOMEUIINFO_MENU_FIND_ITEM, "GNOMEUIINFO_MENU_FIND_ITEM", "gtk-find"},
- { GNOMEUIINFO_MENU_FIND_AGAIN_ITEM, "GNOMEUIINFO_MENU_FIND_AGAIN_ITEM", NULL},
- { GNOMEUIINFO_MENU_REPLACE_ITEM, "GNOMEUIINFO_MENU_REPLACE_ITEM", "gtk-find-and-replace"},
- { GNOMEUIINFO_MENU_PROPERTIES_ITEM, "GNOMEUIINFO_MENU_PROPERTIES_ITEM", "gtk-properties"},
- /* The Settings menu */
- { GNOMEUIINFO_MENU_PREFERENCES_ITEM, "GNOMEUIINFO_MENU_PREFERENCES_ITEM", "gtk-preferences"},
- /* The Windows menu */
- { GNOMEUIINFO_MENU_NEW_WINDOW_ITEM, "GNOMEUIINFO_MENU_NEW_WINDOW_ITEM", NULL},
- { GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM, "GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM", NULL},
- /* And the "Help" menu */
- { GNOMEUIINFO_MENU_ABOUT_ITEM, "GNOMEUIINFO_MENU_ABOUT_ITEM", "gtk-about"},
- /* The "Game" menu */
- { GNOMEUIINFO_MENU_NEW_GAME_ITEM, "GNOMEUIINFO_MENU_NEW_GAME_ITEM", NULL},
- { GNOMEUIINFO_MENU_PAUSE_GAME_ITEM, "GNOMEUIINFO_MENU_PAUSE_GAME_ITEM", NULL},
- { GNOMEUIINFO_MENU_RESTART_GAME_ITEM, "GNOMEUIINFO_MENU_RESTART_GAME_ITEM", NULL},
- { GNOMEUIINFO_MENU_UNDO_MOVE_ITEM, "GNOMEUIINFO_MENU_UNDO_MOVE_ITEM", NULL},
- { GNOMEUIINFO_MENU_REDO_MOVE_ITEM, "GNOMEUIINFO_MENU_REDO_MOVE_ITEM", NULL},
- { GNOMEUIINFO_MENU_HINT_ITEM, "GNOMEUIINFO_MENU_HINT_ITEM", NULL},
- { GNOMEUIINFO_MENU_SCORES_ITEM, "GNOMEUIINFO_MENU_SCORES_ITEM", NULL},
- { GNOMEUIINFO_MENU_END_GAME_ITEM, "GNOMEUIINFO_MENU_END_GAME_ITEM", NULL},
- /* Some standard menus */
- { GNOMEUIINFO_MENU_FILE_TREE, "GNOMEUIINFO_MENU_FILE_TREE", NULL},
- { GNOMEUIINFO_MENU_EDIT_TREE, "GNOMEUIINFO_MENU_EDIT_TREE", NULL},
- { GNOMEUIINFO_MENU_VIEW_TREE, "GNOMEUIINFO_MENU_VIEW_TREE", NULL},
- { GNOMEUIINFO_MENU_SETTINGS_TREE, "GNOMEUIINFO_MENU_SETTINGS_TREE", NULL},
- { GNOMEUIINFO_MENU_FILES_TREE, "GNOMEUIINFO_MENU_FILES_TREE", NULL},
- { GNOMEUIINFO_MENU_WINDOWS_TREE, "GNOMEUIINFO_MENU_WINDOWS_TREE", NULL},
- { GNOMEUIINFO_MENU_HELP_TREE, "GNOMEUIINFO_MENU_HELP_TREE", NULL},
- { GNOMEUIINFO_MENU_GAME_TREE, "GNOMEUIINFO_MENU_GAME_TREE", NULL},
- { 0, NULL, NULL }
- };
- etype = g_enum_register_static ("GladeGtkGnomeUIInfo", values);
- }
- return etype;
-}
-
-GParamSpec *
-glade_gtk_gnome_ui_info_spec (void)
-{
- return g_param_spec_enum ("gnomeuiinfo", _("GnomeUIInfo"),
- _("Choose the GnomeUIInfo stock item"),
- glade_gtk_gnome_ui_info_get_type (),
- 0, G_PARAM_READWRITE);
-}
-
-GType
-glade_gtk_image_type_get_type (void)
-{
- static GType etype = 0;
- if (etype == 0) {
- static GEnumValue values[] = {
- { GLADEGTK_IMAGE_FILENAME, "GLADEGTK_IMAGE_FILENAME", "glade-gtk-image-filename" },
- { GLADEGTK_IMAGE_STOCK, "GLADEGTK_IMAGE_STOCK", "glade-gtk-image-stock" },
- { GLADEGTK_IMAGE_ICONTHEME, "GLADEGTK_IMAGE_ICONTHEME", "glade-gtk-image-icontheme" },
- { 0, NULL, NULL }
- };
-
- etype = g_enum_register_static ("GladeGtkImageType", values);
- }
- return etype;
-}
-
-GType
-glade_gtk_button_type_get_type (void)
-{
- static GType etype = 0;
- if (etype == 0) {
- static GEnumValue values[] = {
- { GLADEGTK_BUTTON_LABEL, "GLADEGTK_BUTTON_LABEL", "glade-gtk-button-label" },
- { GLADEGTK_BUTTON_STOCK, "GLADEGTK_BUTTON_STOCK", "glade-gtk-button-stock" },
- { GLADEGTK_BUTTON_CONTAINER, "GLADEGTK_BUTTON_CONTAINER", "glade-gtk-button-container" },
- { 0, NULL, NULL }
- };
-
- etype = g_enum_register_static ("GladeGtkButtonType", values);
- }
- return etype;
-}
-
-GParamSpec *
-glade_gtk_image_type_spec (void)
-{
- return g_param_spec_enum ("type", _("Method"),
- _("The method to use to edit this image"),
- glade_gtk_image_type_get_type (),
- 1, G_PARAM_READWRITE);
-}
-
-GParamSpec *
-glade_gtk_button_type_spec (void)
-{
- return g_param_spec_enum ("type", _("Method"),
- _("The method to use to edit this button"),
- glade_gtk_button_type_get_type (),
- 0, G_PARAM_READWRITE);
-}
-
-
-/* This function does absolutely nothing
- * (and is for use in overriding post_create functions).
- */
-void
-empty (GObject *container, GladeCreateReason reason)
-{
-}
-
-/* This function is used to stop default handlers */
-static void
-glade_gtk_stop_emission_POINTER (gpointer instance, gpointer dummy, gpointer data)
-{
- g_signal_stop_emission (instance, GPOINTER_TO_UINT (data) , 0);
-}
-
-/* ----------------------------- GtkWidget ------------------------------ */
-void
-glade_gtk_widget_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "tooltip"))
- {
- GladeWidget *glade_widget = glade_widget_get_from_gobject (object);
- GladeProject *project = glade_widget_get_project (glade_widget);
- GtkTooltips *tooltips = glade_project_get_tooltips (project);
- const gchar *tooltip;
-
- /* TODO: handle GtkToolItems with gtk_tool_item_set_tooltip() */
- tooltip = g_value_get_string (value);
- if (tooltip && *tooltip)
- gtk_tooltips_set_tip (tooltips, GTK_WIDGET (object), tooltip, NULL);
- else
- gtk_tooltips_set_tip (tooltips, GTK_WIDGET (object), NULL, NULL);
- }
- else
- GWA_GET_CLASS (G_TYPE_OBJECT)->set_property (adaptor, object, id, value);
-}
-
-void
-glade_gtk_widget_get_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- GValue *value)
-{
- if (!strcmp (id, "tooltip"))
- {
- GtkTooltipsData *tooltips_data = gtk_tooltips_data_get (GTK_WIDGET (object));
-
- g_value_reset (value);
- g_value_set_string (value,
- tooltips_data ? tooltips_data->tip_text : NULL);
- }
- else
- GWA_GET_CLASS (G_TYPE_OBJECT)->get_property (adaptor, object, id, value);
-}
-
-/* ----------------------------- GtkContainer ------------------------------ */
-void
-glade_gtk_container_post_create (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GladeCreateReason reason)
-{
- GList *children;
- g_return_if_fail (GTK_IS_CONTAINER (container));
-
- if (reason == GLADE_CREATE_USER)
- {
- if ((children = gtk_container_get_children (GTK_CONTAINER (container))) == NULL)
- gtk_container_add (GTK_CONTAINER (container), glade_placeholder_new ());
- else
- g_list_free (children);
- }
-}
-
-void
-glade_gtk_container_replace_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *current,
- GtkWidget *new_widget)
-{
- GParamSpec **param_spec;
- GValue *value;
- guint nproperties;
- guint i;
-
- if (current->parent != container)
- return;
-
- param_spec = gtk_container_class_list_child_properties
- (G_OBJECT_GET_CLASS (container), &nproperties);
- value = g_malloc0 (sizeof(GValue) * nproperties);
-
- for (i = 0; i < nproperties; i++) {
- g_value_init (&value[i], param_spec[i]->value_type);
- gtk_container_child_get_property
- (GTK_CONTAINER (container), current, param_spec[i]->name, &value[i]);
- }
-
- gtk_container_remove (GTK_CONTAINER (container), current);
- gtk_container_add (GTK_CONTAINER (container), new_widget);
-
- for (i = 0; i < nproperties; i++) {
- gtk_container_child_set_property
- (GTK_CONTAINER (container), new_widget, param_spec[i]->name, &value[i]);
- }
-
- for (i = 0; i < nproperties; i++)
- g_value_unset (&value[i]);
-
- g_free (param_spec);
- g_free (value);
-}
-
-void
-glade_gtk_container_add_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *child)
-{
- /* Get a placeholder out of the way before adding the child if its a GtkBin
- */
- if (GTK_IS_BIN (container) && GTK_BIN (container)->child != NULL &&
- GLADE_IS_PLACEHOLDER (GTK_BIN (container)->child))
- gtk_container_remove (GTK_CONTAINER (container), GTK_BIN (container)->child);
-
- gtk_container_add (GTK_CONTAINER (container), child);
-}
-
-void
-glade_gtk_container_remove_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *child)
-{
- gtk_container_remove (GTK_CONTAINER (container), child);
-
- /* If this is the last one, add a placeholder by default.
- */
- if (gtk_container_get_children (GTK_CONTAINER (container)) == NULL)
- gtk_container_add (GTK_CONTAINER (container), glade_placeholder_new ());
-}
-
-void
-glade_gtk_container_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- const GValue *value)
-{
- gtk_container_child_set_property (GTK_CONTAINER (container),
- GTK_WIDGET (child),
- property_name, value);
-}
-
-void
-glade_gtk_container_get_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- gtk_container_child_get_property (GTK_CONTAINER (container),
- GTK_WIDGET (child),
- property_name, value);
-}
-
-
-GList *
-glade_gtk_container_get_children (GladeWidgetAdaptor *adaptor,
- GtkContainer *container)
-{
- return glade_util_container_get_all_children (container);
-}
-
-/* ----------------------------- GtkBox ------------------------------ */
-typedef struct {
- GtkWidget *widget;
- gint position;
-} GladeGtkBoxChild;
-
-static GList *glade_gtk_box_original_positions = NULL;
-
-static gboolean
-glade_gtk_box_configure_child (GladeFixed *fixed,
- GladeWidget *child,
- GdkRectangle *rect,
- GtkWidget *box)
-{
- GList *list;
- GtkBoxChild *bchild;
- gint point, trans_point, span,
- iter_span, position, old_position,
- offset, orig_offset;
- gboolean found = FALSE;
-
- if (GTK_IS_HBOX (box) || GTK_IS_HBUTTON_BOX (box))
- {
- point = fixed->mouse_x;
- span = GTK_WIDGET (child->object)->allocation.width;
- offset = rect->x;
- orig_offset = fixed->child_x_origin;
- }
- else
- {
- point = fixed->mouse_y;
- span = GTK_WIDGET (child->object)->allocation.height;
- offset = rect->y;
- orig_offset = fixed->child_y_origin;
- }
-
- glade_widget_pack_property_get
- (child, "position", &old_position);
-
- for (list = GTK_BOX (box)->children; list; list = list->next)
- {
- bchild = list->data;
-
- if (bchild->widget == GTK_WIDGET (child->object))
- continue;
-
- /* Find the widget in the box where the center of
- * this rectangle fits... and set the position to that
- * position.
- */
-
- if (GTK_IS_HBOX (box) || GTK_IS_HBUTTON_BOX (box))
- {
- gtk_widget_translate_coordinates
- (GTK_WIDGET (box), bchild->widget,
- point, 0, &trans_point, NULL);
-
- iter_span = bchild->widget->allocation.width;
- }
- else
- {
- gtk_widget_translate_coordinates
- (GTK_WIDGET (box), bchild->widget,
- 0, point, NULL, &trans_point);
- iter_span = bchild->widget->allocation.height;
- }
-
-#if 0
- gtk_container_child_get (GTK_CONTAINER (box),
- bchild->widget,
- "position", &position, NULL);
- g_print ("widget: %p pos %d, point %d, trans_point %d, iter_span %d\n",
- bchild->widget, position, point, trans_point, iter_span);
-#endif
-
- if (iter_span <= span)
- {
- found = trans_point >= 0 && trans_point < iter_span;
- }
- else
- {
- if (offset > orig_offset)
- found = trans_point >= iter_span - span &&
- trans_point < iter_span;
- else if (offset < orig_offset)
- found = trans_point >= 0 &&
- trans_point < span;
- }
-
- if (found)
- {
- gtk_container_child_get (GTK_CONTAINER (box),
- bchild->widget,
- "position", &position, NULL);
-
-#if 0
- g_print ("setting position of %s from %d to %d, "
- "(point %d iter_span %d)\n",
- child->name, old_position, position, trans_point, iter_span);
-#endif
-
- glade_widget_pack_property_set
- (child, "position", position);
-
- break;
- }
-
- }
- return TRUE;
-}
-
-static gboolean
-glade_gtk_box_configure_begin (GladeFixed *fixed,
- GladeWidget *child,
- GtkWidget *box)
-{
- GList *list;
- GtkBoxChild *bchild;
-
- g_assert (glade_gtk_box_original_positions == NULL);
-
- for (list = GTK_BOX (box)->children; list; list = list->next)
- {
- GladeGtkBoxChild *gbchild;
- GladeWidget *gchild;
-
- bchild = list->data;
- if ((gchild = glade_widget_get_from_gobject (bchild->widget)) == NULL)
- continue;
-
- gbchild = g_new0 (GladeGtkBoxChild, 1);
- gbchild->widget = bchild->widget;
- glade_widget_pack_property_get (gchild, "position",
- &gbchild->position);
-
- glade_gtk_box_original_positions =
- g_list_prepend (glade_gtk_box_original_positions, gbchild);
- }
-
- return TRUE;
-}
-
-static gboolean
-glade_gtk_box_configure_end (GladeFixed *fixed,
- GladeWidget *child,
- GtkWidget *box)
-{
- GList *list, *l;
- GList *prop_list = NULL;
-
- for (list = GTK_BOX (box)->children; list; list = list->next)
- {
- GtkBoxChild *bchild = list->data;
-
- for (l = glade_gtk_box_original_positions; l; l = l->next)
- {
- GladeGtkBoxChild *gbchild = l->data;
- GladeWidget *gchild =
- glade_widget_get_from_gobject (gbchild->widget);
-
-
- if (bchild->widget == gbchild->widget)
- {
- GCSetPropData *prop_data = g_new0 (GCSetPropData, 1);
- prop_data->property =
- glade_widget_get_pack_property
- (gchild, "position");
-
- prop_data->old_value = g_new0 (GValue, 1);
- prop_data->new_value = g_new0 (GValue, 1);
-
- glade_property_get_value (prop_data->property,
- prop_data->new_value);
-
- g_value_init (prop_data->old_value, G_TYPE_INT);
- g_value_set_int (prop_data->old_value, gbchild->position);
-
- prop_list = g_list_prepend (prop_list, prop_data);
- break;
- }
- }
- }
-
- glade_command_push_group (_("Ordering children of %s"),
- GLADE_WIDGET (fixed)->name);
- glade_property_push_superuser ();
- if (prop_list)
- glade_command_set_properties_list (GLADE_WIDGET (fixed)->project,
- prop_list);
- glade_property_pop_superuser ();
- glade_command_pop_group ();
-
- for (l = glade_gtk_box_original_positions; l; l = l->next)
- g_free (l->data);
-
- glade_gtk_box_original_positions =
- (g_list_free (glade_gtk_box_original_positions), NULL);
-
-
- return TRUE;
-}
-
-void
-glade_gtk_box_post_create (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GladeCreateReason reason)
-{
- GladeWidget *gwidget =
- glade_widget_get_from_gobject (container);
-
- /* Implement drag in GtkBox but not resize.
- */
- g_object_set (gwidget,
- "can-resize", FALSE,
- NULL);
-
- g_signal_connect (G_OBJECT (gwidget), "configure-child",
- G_CALLBACK (glade_gtk_box_configure_child), container);
-
- g_signal_connect (G_OBJECT (gwidget), "configure-begin",
- G_CALLBACK (glade_gtk_box_configure_begin), container);
-
- g_signal_connect (G_OBJECT (gwidget), "configure-end",
- G_CALLBACK (glade_gtk_box_configure_end), container);
-
-}
-
-static gint
-sort_box_children (GtkWidget *widget_a, GtkWidget *widget_b)
-{
- GtkWidget *box;
- GladeWidget *gwidget_a, *gwidget_b;
- gint position_a, position_b;
-
- gwidget_a = glade_widget_get_from_gobject (widget_a);
- gwidget_b = glade_widget_get_from_gobject (widget_b);
-
- box = gtk_widget_get_parent (widget_a);
-
- if (gwidget_a)
- glade_widget_pack_property_get
- (gwidget_a, "position", &position_a);
- else
- gtk_container_child_get (GTK_CONTAINER (box),
- widget_a,
- "position", &position_a,
- NULL);
-
- if (gwidget_b)
- glade_widget_pack_property_get
- (gwidget_b, "position", &position_b);
- else
- gtk_container_child_get (GTK_CONTAINER (box),
- widget_b,
- "position", &position_b,
- NULL);
- return position_a - position_b;
-}
-
-void
-glade_gtk_box_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- GladeWidget *gbox, *gchild, *gchild_iter;
- GList *children, *list;
- gboolean is_position;
- gint old_position, iter_position, new_position;
- static gboolean recursion = FALSE;
-
- g_return_if_fail (GTK_IS_BOX (container));
- g_return_if_fail (GTK_IS_WIDGET (child));
- g_return_if_fail (property_name != NULL || value != NULL);
-
- gbox = glade_widget_get_from_gobject (container);
- gchild = glade_widget_get_from_gobject (child);
-
- g_return_if_fail (GLADE_IS_WIDGET (gbox));
-
- /* Get old position */
- if ((is_position = (strcmp (property_name, "position") == 0)) != FALSE)
- {
- gtk_container_child_get (GTK_CONTAINER (container),
- GTK_WIDGET (child),
- property_name, &old_position, NULL);
-
-
- /* Get the real value */
- new_position = g_value_get_int (value);
-
- }
-
- if (is_position && recursion == FALSE)
- {
- children = glade_widget_adaptor_get_children
- (gbox->adaptor, container);
-
- children = g_list_sort (children, (GCompareFunc)sort_box_children);
-
- for (list = children; list; list = list->next)
- {
- if ((gchild_iter =
- glade_widget_get_from_gobject (list->data)) == NULL)
- continue;
-
- if (gchild_iter == gchild)
- {
- gtk_box_reorder_child (GTK_BOX (container),
- GTK_WIDGET (child),
- new_position);
- continue;
- }
-
- /* Get the old value from glade */
- glade_widget_pack_property_get
- (gchild_iter, "position", &iter_position);
-
- /* Search for the child at the old position and update it */
- if (iter_position == new_position &&
- glade_property_superuser () == FALSE)
- {
- /* Update glade with the real value */
- recursion = TRUE;
- glade_widget_pack_property_set
- (gchild_iter, "position", old_position);
- recursion = FALSE;
- continue;
- }
- else
- {
- gtk_box_reorder_child (GTK_BOX (container),
- GTK_WIDGET (list->data),
- iter_position);
- }
- }
-
- for (list = children; list; list = list->next)
- {
- if ((gchild_iter =
- glade_widget_get_from_gobject (list->data)) == NULL)
- continue;
-
- /* Refresh values yet again */
- glade_widget_pack_property_get
- (gchild_iter, "position", &iter_position);
-
- gtk_box_reorder_child (GTK_BOX (container),
- GTK_WIDGET (list->data),
- iter_position);
-
- }
-
- if (children)
- g_list_free (children);
- }
-
- /* Chain Up */
- if (!is_position)
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
- container,
- child,
- property_name,
- value);
-
- gtk_container_check_resize (GTK_CONTAINER (container));
-
-}
-
-
-void
-glade_gtk_box_get_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- GValue *value)
-{
- if (!strcmp (id, "size"))
- {
- GtkBox *box = GTK_BOX (object);
-
- g_value_reset (value);
- g_value_set_int (value, g_list_length (box->children));
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->get_property (adaptor, object, id, value);
-}
-
-static gint
-glade_gtk_box_get_first_blank (GtkBox *box)
-{
- GList *child;
- GladeWidget *gwidget;
- gint position;
-
- for (child = box->children, position = 0;
- child && child->data;
- child = child->next, position++)
- {
- GtkWidget *widget = ((GtkBoxChild *) (child->data))->widget;
-
- if ((gwidget = glade_widget_get_from_gobject (widget)) != NULL)
- {
- gint gwidget_position;
- GladeProperty *property =
- glade_widget_get_property (gwidget, "position");
- gwidget_position = g_value_get_int (property->value);
-
- if (gwidget_position > position)
- return position;
- }
- }
- return position;
-}
-
-static void
-glade_gtk_box_set_size (GObject *object, const GValue *value)
-{
- GtkBox *box;
- GList *child;
- guint new_size, old_size, i;
-
- box = GTK_BOX (object);
- g_return_if_fail (GTK_IS_BOX (box));
-
- old_size = g_list_length (box->children);
- new_size = g_value_get_int (value);
-
- if (old_size == new_size)
- return;
-
- /* Ensure placeholders first...
- */
- for (i = 0; i < new_size; i++)
- {
- if (g_list_length(box->children) < (i + 1))
- {
- GtkWidget *placeholder = glade_placeholder_new ();
- gint blank = glade_gtk_box_get_first_blank (box);
-
- gtk_container_add (GTK_CONTAINER (box), placeholder);
- gtk_box_reorder_child (box, placeholder, blank);
- }
- }
-
- /* The box has shrunk. Remove the widgets that are on those slots */
- for (child = g_list_last (box->children);
- child && old_size > new_size;
- child = g_list_last (box->children), old_size--)
- {
- GtkWidget *child_widget = ((GtkBoxChild *) (child->data))->widget;
-
- /* Refuse to remove any widgets that are either GladeWidget objects
- * or internal to the hierarchic entity (may be a composite widget,
- * not all internal widgets have GladeWidgets).
- */
- if (glade_widget_get_from_gobject (child_widget) ||
- GLADE_IS_PLACEHOLDER (child_widget) == FALSE)
- break;
-
- g_object_ref (G_OBJECT (child_widget));
- gtk_container_remove (GTK_CONTAINER (box), child_widget);
- gtk_widget_destroy (child_widget);
- }
-}
-
-void
-glade_gtk_box_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "size"))
- glade_gtk_box_set_size (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value);
-}
-
-static gboolean
-glade_gtk_box_verify_size (GObject *object, const GValue *value)
-{
- GtkBox *box = GTK_BOX(object);
- GList *child;
- gint old_size = g_list_length (box->children);
- gint new_size = g_value_get_int (value);
-
- for (child = g_list_last (box->children);
- child && old_size > new_size;
- child = g_list_previous (child), old_size--)
- {
- GtkWidget *widget = ((GtkBoxChild *) (child->data))->widget;
- if (glade_widget_get_from_gobject (widget) != NULL)
- /* In this case, refuse to shrink */
- return FALSE;
- }
- return new_size >= 0;
-}
-
-
-gboolean
-glade_gtk_box_verify_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "size"))
- return glade_gtk_box_verify_size (object, value);
- else if (GWA_GET_CLASS (GTK_TYPE_CONTAINER)->verify_property)
- return GWA_GET_CLASS (GTK_TYPE_CONTAINER)->verify_property (adaptor, object,
- id, value);
-
- return TRUE;
-}
-
-void
-glade_gtk_box_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- GladeWidget *gbox, *gchild;
- GladeProject *project;
- gint num_children;
-
- g_return_if_fail (GTK_IS_BOX (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gbox = glade_widget_get_from_gobject (object);
- project = glade_widget_get_project (gbox);
-
- /*
- Try to remove the last placeholder if any, this way GtkBox`s size
- will not be changed.
- */
- if (glade_widget_superuser () == FALSE &&
- !GLADE_IS_PLACEHOLDER (child))
- {
- GList *l;
- GtkBox *box = GTK_BOX (object);
-
- for (l = g_list_last (box->children); l; l = g_list_previous (l))
- {
- GtkWidget *child_widget = ((GtkBoxChild *) (l->data))->widget;
- if (GLADE_IS_PLACEHOLDER (child_widget))
- {
- gtk_container_remove (GTK_CONTAINER (box), child_widget);
- break;
- }
- }
- }
-
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- num_children = g_list_length (GTK_BOX (object)->children);
- glade_widget_property_set (gbox, "size", num_children);
-
- gchild = glade_widget_get_from_gobject (child);
-
- /* Packing props arent around when parenting during a glade_widget_dup() */
- if (gchild && gchild->packing_properties)
- glade_widget_pack_property_set (gchild, "position", num_children - 1);
-}
-
-GObject *
-glade_gtk_box_get_internal_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *name)
-{
- GList *children, *l;
- GObject *child = NULL;
-
- g_return_val_if_fail (GTK_IS_BOX (object), NULL);
-
- children = l = gtk_container_get_children (GTK_CONTAINER (object));
-
- while (l)
- {
- GladeWidget *gw = glade_widget_get_from_gobject (l->data);
-
- if (gw && gw->internal && strcmp (gw->internal, name) == 0)
- {
- child = G_OBJECT (l->data);
- break;
- }
-
- l= l->next;
- }
- g_list_free (children);
-
- return child;
-}
-
-void
-glade_gtk_box_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- GladeWidget *gbox;
- gint size;
-
- g_return_if_fail (GTK_IS_BOX (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gbox = glade_widget_get_from_gobject (object);
-
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- if (glade_widget_superuser () == FALSE)
- {
- glade_widget_property_get (gbox, "size", &size);
- glade_widget_property_set (gbox, "size", size);
- }
-}
-
-static void
-glade_gtk_box_notebook_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *object,
- const gchar *size_prop,
- const gchar *group_format,
- gboolean remove,
- gboolean after);
-
-void
-glade_gtk_box_child_action_activate (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *object,
- const gchar *action_path)
-{
- if (strcmp (action_path, "insert_after") == 0)
- {
- glade_gtk_box_notebook_child_insert_remove_action (adaptor, container,
- object, "size",
- _("Insert placeholder to %s"),
- FALSE, TRUE);
- }
- else if (strcmp (action_path, "insert_before") == 0)
- {
- glade_gtk_box_notebook_child_insert_remove_action (adaptor, container,
- object, "size",
- _("Insert placeholder to %s"),
- FALSE, FALSE);
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_action_activate (adaptor,
- container,
- object,
- action_path);
-}
-
-/* ----------------------------- GtkTable ------------------------------ */
-typedef struct {
- /* comparable part: */
- GladeWidget *widget;
- gint left_attach;
- gint right_attach;
- gint top_attach;
- gint bottom_attach;
-} GladeGtkTableChild;
-
-typedef enum {
- DIR_UP,
- DIR_DOWN,
- DIR_LEFT,
- DIR_RIGHT
-} GladeTableDir;
-
-#define TABLE_CHILD_CMP_SIZE (sizeof (GladeWidget *) + (sizeof (gint) * 4))
-
-static GladeGtkTableChild table_edit = { 0, };
-static GladeGtkTableChild table_cur_attach = { 0, };
-
-
-/* Takes a point (x or y depending on 'row') relative to
- * table, and returns the row or column in which the point
- * was found.
- */
-static gint
-glade_gtk_table_get_row_col_from_point (GtkTable *table,
- gboolean row,
- gint point)
-{
- GtkTableChild *tchild;
- GList *list;
- gint span, trans_point, size, base, end;
-
- for (list = table->children; list; list = list->next)
- {
- tchild = list->data;
-
- if (row)
- gtk_widget_translate_coordinates
- (GTK_WIDGET (table), tchild->widget,
- 0, point, NULL, &trans_point);
- else
- gtk_widget_translate_coordinates
- (GTK_WIDGET (table), tchild->widget,
- point, 0, &trans_point, NULL);
-
- /* Find any widget in our row/column
- */
- end = row ?
- tchild->widget->allocation.height :
- tchild->widget->allocation.width;
-
- if (trans_point >= 0 &&
- /* should be trans_point < end ... test FIXME ! */
- trans_point < end)
- {
- base = row ? tchild->top_attach : tchild->left_attach;
- size = row ? (tchild->widget->allocation.height) :
- (tchild->widget->allocation.width);
- span = row ? (tchild->bottom_attach - tchild->top_attach) :
- (tchild->right_attach - tchild->left_attach);
-
- return base + (trans_point * span / size);
- }
- }
-
- return -1;
-}
-
-
-static gboolean
-glade_gtk_table_point_crosses_threshold (GtkTable *table,
- gboolean row,
- gint num,
- GladeTableDir dir,
- gint point)
-{
-
- GtkTableChild *tchild;
- GList *list;
- gint span, trans_point, size, rowcol_size, base;
-
- for (list = table->children; list; list = list->next)
- {
- tchild = list->data;
-
- /* Find any widget in our row/column
- */
- if ((row && num >= tchild->top_attach && num < tchild->bottom_attach) ||
- (!row && num >= tchild->left_attach && num < tchild->right_attach))
- {
-
- if (row)
- gtk_widget_translate_coordinates
- (GTK_WIDGET (table), tchild->widget,
- 0, point, NULL, &trans_point);
- else
- gtk_widget_translate_coordinates
- (GTK_WIDGET (table), tchild->widget,
- point, 0, &trans_point, NULL);
-
- span = row ? (tchild->bottom_attach - tchild->top_attach) :
- (tchild->right_attach - tchild->left_attach);
- size = row ? (tchild->widget->allocation.height) :
- (tchild->widget->allocation.width);
-
- base = row ? tchild->top_attach : tchild->left_attach;
- rowcol_size = size / span;
- trans_point -= (num - base) * rowcol_size;
-
-#if 0
- g_print ("dir: %s, widget size: %d, rowcol size: %d, "
- "requested rowcol: %d, widget base rowcol: %d, trim: %d, "
- "widget point: %d, thresh: %d\n",
- dir == DIR_UP ? "up" : dir == DIR_DOWN ? "down" :
- dir == DIR_LEFT ? "left" : "right",
- size, rowcol_size, num, base, (num - base) * rowcol_size,
- trans_point,
- dir == DIR_UP || dir == DIR_LEFT ?
- (rowcol_size / 2) :
- (rowcol_size / 2));
-#endif
- switch (dir)
- {
- case DIR_UP:
- case DIR_LEFT:
- return trans_point <= (rowcol_size / 2);
- case DIR_DOWN:
- case DIR_RIGHT:
- return trans_point >= (rowcol_size / 2);
- default:
- break;
- }
- }
-
- }
- return FALSE;
-}
-
-static gboolean
-glade_gtk_table_get_attachments (GladeFixed *fixed,
- GtkTable *table,
- GdkRectangle *rect,
- GladeGtkTableChild *configure)
-{
- gint center_x, center_y, row, column;
- center_x = rect->x + (rect->width / 2);
- center_y = rect->y + (rect->height / 2);
-
- column = glade_gtk_table_get_row_col_from_point
- (table, FALSE, center_x);
-
- row = glade_gtk_table_get_row_col_from_point
- (table, TRUE, center_y);
-
- /* its a start, now try to grow when the rect extents
- * reach at least half way into the next row/column
- */
- configure->left_attach = column;
- configure->right_attach = column + 1;
- configure->top_attach = row;
- configure->bottom_attach = row +1;
-
- if (column >= 0 && row >= 0)
- {
-
- /* Check and expand left
- */
- while (configure->left_attach > 0)
- {
- if (rect->x < fixed->child_x_origin &&
- fixed->operation != GLADE_CURSOR_DRAG &&
- GLADE_FIXED_CURSOR_LEFT (fixed->operation) == FALSE)
- break;
-
- if (glade_gtk_table_point_crosses_threshold
- (table, FALSE, configure->left_attach -1,
- DIR_LEFT, rect->x) == FALSE)
- break;
-
- configure->left_attach--;
- }
-
- /* Check and expand right
- */
- while (configure->right_attach < (table->ncols))
- {
- if (rect->x + rect->width >
- fixed->child_x_origin + fixed->child_width_origin &&
- fixed->operation != GLADE_CURSOR_DRAG &&
- GLADE_FIXED_CURSOR_RIGHT (fixed->operation) == FALSE)
- break;
-
- if (glade_gtk_table_point_crosses_threshold
- (table, FALSE, configure->right_attach,
- DIR_RIGHT, rect->x + rect->width) == FALSE)
- break;
-
- configure->right_attach++;
- }
-
- /* Check and expand top
- */
- while (configure->top_attach > 0)
- {
- if (rect->y < fixed->child_y_origin &&
- fixed->operation != GLADE_CURSOR_DRAG &&
- GLADE_FIXED_CURSOR_TOP (fixed->operation) == FALSE)
- break;
-
- if (glade_gtk_table_point_crosses_threshold
- (table, TRUE, configure->top_attach -1,
- DIR_UP, rect->y) == FALSE)
- break;
-
- configure->top_attach--;
- }
-
- /* Check and expand bottom
- */
- while (configure->bottom_attach < (table->nrows))
- {
- if (rect->y + rect->height >
- fixed->child_y_origin + fixed->child_height_origin &&
- fixed->operation != GLADE_CURSOR_DRAG &&
- GLADE_FIXED_CURSOR_BOTTOM (fixed->operation) == FALSE)
- break;
-
- if (glade_gtk_table_point_crosses_threshold
- (table, TRUE, configure->bottom_attach,
- DIR_DOWN, rect->y + rect->height) == FALSE)
- break;
-
- configure->bottom_attach++;
- }
- }
-
- /* Keep the same row/col span when performing a drag
- */
- if (fixed->operation == GLADE_CURSOR_DRAG)
- {
- gint col_span = table_edit.right_attach - table_edit.left_attach;
- gint row_span = table_edit.bottom_attach - table_edit.top_attach;
-
- if (rect->x < fixed->child_x_origin)
- configure->right_attach = configure->left_attach + col_span;
- else
- configure->left_attach = configure->right_attach - col_span;
-
- if (rect->y < fixed->child_y_origin)
- configure->bottom_attach = configure->top_attach + row_span;
- else
- configure->top_attach = configure->bottom_attach - row_span;
- } else if (fixed->operation == GLADE_CURSOR_RESIZE_RIGHT) {
- configure->left_attach = table_edit.left_attach;
- configure->top_attach = table_edit.top_attach;
- configure->bottom_attach = table_edit.bottom_attach;
- } else if (fixed->operation == GLADE_CURSOR_RESIZE_LEFT) {
- configure->right_attach = table_edit.right_attach;
- configure->top_attach = table_edit.top_attach;
- configure->bottom_attach = table_edit.bottom_attach;
- } else if (fixed->operation == GLADE_CURSOR_RESIZE_TOP) {
- configure->left_attach = table_edit.left_attach;
- configure->right_attach = table_edit.right_attach;
- configure->bottom_attach = table_edit.bottom_attach;
- } else if (fixed->operation == GLADE_CURSOR_RESIZE_BOTTOM) {
- configure->left_attach = table_edit.left_attach;
- configure->right_attach = table_edit.right_attach;
- configure->top_attach = table_edit.top_attach;
- }
-
- return column >= 0 && row >= 0;
-}
-
-static gboolean
-glade_gtk_table_configure_child (GladeFixed *fixed,
- GladeWidget *child,
- GdkRectangle *rect,
- GtkWidget *table)
-{
- GladeGtkTableChild configure = { child, };
-
- /* Sometimes we are unable to find a widget in the appropriate column,
- * usually because a placeholder hasnt had its size allocation yet.
- */
- if (glade_gtk_table_get_attachments (fixed, GTK_TABLE (table), rect, &configure))
- {
- if (memcmp (&configure, &table_cur_attach, TABLE_CHILD_CMP_SIZE) != 0)
- {
-
- glade_property_push_superuser ();
- glade_widget_pack_property_set (child, "left-attach",
- configure.left_attach);
- glade_widget_pack_property_set (child, "right-attach",
- configure.right_attach);
- glade_widget_pack_property_set (child, "top-attach",
- configure.top_attach);
- glade_widget_pack_property_set (child, "bottom-attach",
- configure.bottom_attach);
- glade_property_pop_superuser ();
-
- memcpy (&table_cur_attach, &configure, TABLE_CHILD_CMP_SIZE);
- }
- }
- return TRUE;
-}
-
-
-static gboolean
-glade_gtk_table_configure_begin (GladeFixed *fixed,
- GladeWidget *child,
- GtkWidget *table)
-{
-
- table_edit.widget = child;
-
- glade_widget_pack_property_get (child, "left-attach",
- &table_edit.left_attach);
- glade_widget_pack_property_get (child, "right-attach",
- &table_edit.right_attach);
- glade_widget_pack_property_get (child, "top-attach",
- &table_edit.top_attach);
- glade_widget_pack_property_get (child, "bottom-attach",
- &table_edit.bottom_attach);
-
- memcpy (&table_cur_attach, &table_edit, TABLE_CHILD_CMP_SIZE);
-
- return TRUE;
-}
-
-static gboolean
-glade_gtk_table_configure_end (GladeFixed *fixed,
- GladeWidget *child,
- GtkWidget *table)
-{
- GladeGtkTableChild new_child = { child, };
-
- glade_widget_pack_property_get (child, "left-attach",
- &new_child.left_attach);
- glade_widget_pack_property_get (child, "right-attach",
- &new_child.right_attach);
- glade_widget_pack_property_get (child, "top-attach",
- &new_child.top_attach);
- glade_widget_pack_property_get (child, "bottom-attach",
- &new_child.bottom_attach);
-
- /* Compare the meaningfull part of the current edit. */
- if (memcmp (&new_child, &table_edit, TABLE_CHILD_CMP_SIZE) != 0)
- {
- GValue left_attach_value = { 0, };
- GValue right_attach_value = { 0, };
- GValue top_attach_value = { 0, };
- GValue bottom_attach_value = { 0, };
-
- GValue new_left_attach_value = { 0, };
- GValue new_right_attach_value = { 0, };
- GValue new_top_attach_value = { 0, };
- GValue new_bottom_attach_value = { 0, };
-
- GladeProperty *left_attach_prop, *right_attach_prop,
- *top_attach_prop, *bottom_attach_prop;
-
- left_attach_prop = glade_widget_get_pack_property (child, "left-attach");
- right_attach_prop = glade_widget_get_pack_property (child, "right-attach");
- top_attach_prop = glade_widget_get_pack_property (child, "top-attach");
- bottom_attach_prop = glade_widget_get_pack_property (child, "bottom-attach");
-
- g_return_val_if_fail (GLADE_IS_PROPERTY (left_attach_prop), FALSE);
- g_return_val_if_fail (GLADE_IS_PROPERTY (right_attach_prop), FALSE);
- g_return_val_if_fail (GLADE_IS_PROPERTY (top_attach_prop), FALSE);
- g_return_val_if_fail (GLADE_IS_PROPERTY (bottom_attach_prop), FALSE);
-
- glade_property_get_value (left_attach_prop, &new_left_attach_value);
- glade_property_get_value (right_attach_prop, &new_right_attach_value);
- glade_property_get_value (top_attach_prop, &new_top_attach_value);
- glade_property_get_value (bottom_attach_prop, &new_bottom_attach_value);
-
- g_value_init (&left_attach_value, G_TYPE_UINT);
- g_value_init (&right_attach_value, G_TYPE_UINT);
- g_value_init (&top_attach_value, G_TYPE_UINT);
- g_value_init (&bottom_attach_value, G_TYPE_UINT);
-
- g_value_set_uint (&left_attach_value, table_edit.left_attach);
- g_value_set_uint (&right_attach_value, table_edit.right_attach);
- g_value_set_uint (&top_attach_value, table_edit.top_attach);
- g_value_set_uint (&bottom_attach_value, table_edit.bottom_attach);
-
- glade_command_push_group (_("Placing %s inside %s"),
- child->name,
- GLADE_WIDGET (fixed)->name);
- glade_command_set_properties
- (left_attach_prop, &left_attach_value, &new_left_attach_value,
- right_attach_prop, &right_attach_value, &new_right_attach_value,
- top_attach_prop, &top_attach_value, &new_top_attach_value,
- bottom_attach_prop, &bottom_attach_value, &new_bottom_attach_value,
- NULL);
- glade_command_pop_group ();
-
- g_value_unset (&left_attach_value);
- g_value_unset (&right_attach_value);
- g_value_unset (&top_attach_value);
- g_value_unset (&bottom_attach_value);
- g_value_unset (&new_left_attach_value);
- g_value_unset (&new_right_attach_value);
- g_value_unset (&new_top_attach_value);
- g_value_unset (&new_bottom_attach_value);
- }
-
- return TRUE;
-}
-
-void
-glade_gtk_table_post_create (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GladeCreateReason reason)
-{
- GladeWidget *gwidget =
- glade_widget_get_from_gobject (container);
-
- g_signal_connect (G_OBJECT (gwidget), "configure-child",
- G_CALLBACK (glade_gtk_table_configure_child), container);
-
- g_signal_connect (G_OBJECT (gwidget), "configure-begin",
- G_CALLBACK (glade_gtk_table_configure_begin), container);
-
- g_signal_connect (G_OBJECT (gwidget), "configure-end",
- G_CALLBACK (glade_gtk_table_configure_end), container);
-}
-
-static gboolean
-glade_gtk_table_has_child (GtkTable *table, guint left_attach, guint top_attach)
-{
- GList *list;
-
- for (list = table->children; list && list->data; list = list->next)
- {
- GtkTableChild *child = list->data;
-
- if (left_attach >= child->left_attach && left_attach < child->right_attach &&
- top_attach >= child->top_attach && top_attach < child->bottom_attach)
- return TRUE;
- }
- return FALSE;
-}
-
-static gboolean
-glade_gtk_table_widget_exceeds_bounds (GtkTable *table, gint n_rows, gint n_cols)
-{
- GList *list;
- for (list = table->children; list && list->data; list = list->next)
- {
- GtkTableChild *child = list->data;
- if (GLADE_IS_PLACEHOLDER(child->widget) == FALSE &&
- (child->right_attach > n_cols ||
- child->bottom_attach > n_rows))
- return TRUE;
- }
- return FALSE;
-}
-
-static void
-glade_gtk_table_refresh_placeholders (GtkTable *table)
-{
- GList *list, *toremove = NULL;
- gint i, j;
-
- for (list = table->children; list && list->data; list = list->next)
- {
- GtkTableChild *child = list->data;
-
- if (GLADE_IS_PLACEHOLDER (child->widget))
- toremove = g_list_prepend (toremove, child->widget);
- }
-
- if (toremove)
- {
- for (list = toremove; list; list = list->next)
- gtk_container_remove (GTK_CONTAINER (table),
- GTK_WIDGET (list->data));
- g_list_free (toremove);
- }
-
- for (i = 0; i < table->ncols; i++)
- for (j = 0; j < table->nrows; j++)
- if (glade_gtk_table_has_child (table, i, j) == FALSE)
- gtk_table_attach_defaults (table,
- glade_placeholder_new (),
- i, i + 1, j, j + 1);
-
- gtk_container_check_resize (GTK_CONTAINER (table));
-}
-
-
-void
-glade_gtk_table_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_TABLE (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- glade_gtk_table_refresh_placeholders (GTK_TABLE (object));
-}
-
-void
-glade_gtk_table_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_TABLE (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- glade_gtk_table_refresh_placeholders (GTK_TABLE (object));
-}
-
-void
-glade_gtk_table_replace_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *current,
- GtkWidget *new_widget)
-{
- g_return_if_fail (GTK_IS_TABLE (container));
- g_return_if_fail (GTK_IS_WIDGET (current));
- g_return_if_fail (GTK_IS_WIDGET (new_widget));
-
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->replace_child (adaptor,
- G_OBJECT (container),
- G_OBJECT (current),
- G_OBJECT (new_widget));
-
- /* If we are replacing a GladeWidget, we must refresh placeholders
- * because the widget may have spanned multiple rows/columns, we must
- * not do so in the case we are pasting multiple widgets into a table,
- * where destroying placeholders results in default packing properties
- * (since the remaining placeholder templates no longer exist, only the
- * first pasted widget would have proper packing properties).
- */
- if (glade_widget_get_from_gobject (new_widget) == FALSE)
- glade_gtk_table_refresh_placeholders (GTK_TABLE (container));
-
-}
-
-static void
-glade_gtk_table_set_n_common (GObject *object, const GValue *value, gboolean for_rows)
-{
- GladeWidget *widget;
- GtkTable *table;
- guint new_size, old_size;
-
- table = GTK_TABLE (object);
- g_return_if_fail (GTK_IS_TABLE (table));
-
- new_size = g_value_get_uint (value);
- old_size = for_rows ? table->nrows : table->ncols;
-
- if (new_size < 1)
- return;
-
- if (glade_gtk_table_widget_exceeds_bounds
- (table,
- for_rows ? new_size : table->nrows,
- for_rows ? table->ncols : new_size))
- /* Refuse to shrink if it means orphaning widgets */
- return;
-
- widget = glade_widget_get_from_gobject (GTK_WIDGET (table));
- g_return_if_fail (widget != NULL);
-
- if (for_rows)
- gtk_table_resize (table, new_size, table->ncols);
- else
- gtk_table_resize (table, table->nrows, new_size);
-
- /* Fill table with placeholders */
- glade_gtk_table_refresh_placeholders (table);
-
- if (new_size < old_size)
- {
- /* Remove from the bottom up */
- GList *list;
- GList *list_to_free = NULL;
-
- for (list = table->children; list && list->data; list = list->next)
- {
- GtkTableChild *child = list->data;
- guint start = for_rows ? child->top_attach : child->left_attach;
- guint end = for_rows ? child->bottom_attach : child->right_attach;
-
- /* We need to completely remove it */
- if (start >= new_size)
- {
- list_to_free = g_list_prepend (list_to_free, child->widget);
- continue;
- }
-
- /* If the widget spans beyond the new border,
- * we should resize it to fit on the new table */
- if (end > new_size)
- gtk_container_child_set
- (GTK_CONTAINER (table), GTK_WIDGET (child),
- for_rows ? "bottom_attach" : "right_attach",
- new_size, NULL);
- }
-
- if (list_to_free)
- {
- for (list = g_list_first(list_to_free);
- list && list->data;
- list = list->next)
- {
- g_object_ref (G_OBJECT (list->data));
- gtk_container_remove (GTK_CONTAINER (table),
- GTK_WIDGET(list->data));
- /* This placeholder is no longer valid, force destroy */
- gtk_widget_destroy (GTK_WIDGET(list->data));
- }
- g_list_free (list_to_free);
- }
- gtk_table_resize (table,
- for_rows ? new_size : table->nrows,
- for_rows ? table->ncols : new_size);
- }
-}
-
-void
-glade_gtk_table_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "n-rows"))
- glade_gtk_table_set_n_common (object, value, TRUE);
- else if (!strcmp (id, "n-columns"))
- glade_gtk_table_set_n_common (object, value, FALSE);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object,
- id, value);
-}
-
-static gboolean
-glade_gtk_table_verify_n_common (GObject *object, const GValue *value, gboolean for_rows)
-{
- GtkTable *table = GTK_TABLE(object);
- guint new_size = g_value_get_uint (value);
-
- if (glade_gtk_table_widget_exceeds_bounds
- (table,
- for_rows ? new_size : table->nrows,
- for_rows ? table->ncols : new_size))
- /* Refuse to shrink if it means orphaning widgets */
- return FALSE;
-
- return TRUE;
-}
-
-gboolean
-glade_gtk_table_verify_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "n-rows"))
- return glade_gtk_table_verify_n_common (object, value, TRUE);
- else if (!strcmp (id, "n-columns"))
- return glade_gtk_table_verify_n_common (object, value, FALSE);
- else if (GWA_GET_CLASS (GTK_TYPE_CONTAINER)->verify_property)
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->verify_property (adaptor, object,
- id, value);
-
- return TRUE;
-}
-
-void
-glade_gtk_table_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- g_return_if_fail (GTK_IS_TABLE (container));
- g_return_if_fail (GTK_IS_WIDGET (child));
- g_return_if_fail (property_name != NULL && value != NULL);
-
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
- container, child,
- property_name, value);
-
- if (strcmp (property_name, "bottom-attach") == 0 ||
- strcmp (property_name, "left-attach") == 0 ||
- strcmp (property_name, "right-attach") == 0 ||
- strcmp (property_name, "top-attach") == 0)
- {
- /* Refresh placeholders */
- glade_gtk_table_refresh_placeholders (GTK_TABLE (container));
- }
-
-}
-
-static gboolean
-glade_gtk_table_verify_attach_common (GObject *object,
- GValue *value,
- guint *val,
- const gchar *prop,
- guint *prop_val,
- const gchar *parent_prop,
- guint *parent_val)
-{
- GladeWidget *widget, *parent;
-
- widget = glade_widget_get_from_gobject (object);
- g_return_val_if_fail (GLADE_IS_WIDGET (widget), TRUE);
- parent = glade_widget_get_parent (widget);
- g_return_val_if_fail (GLADE_IS_WIDGET (parent), TRUE);
-
- *val = g_value_get_uint (value);
- glade_widget_property_get (widget, prop, prop_val);
- glade_widget_property_get (parent, parent_prop, parent_val);
-
- return FALSE;
-}
-
-static gboolean
-glade_gtk_table_verify_left_top_attach (GObject *object,
- GValue *value,
- const gchar *prop,
- const gchar *parent_prop)
-{
- guint val, prop_val, parent_val;
-
- if (glade_gtk_table_verify_attach_common (object, value, &val,
- prop, &prop_val,
- parent_prop, &parent_val))
- return FALSE;
-
- if (val >= parent_val || val >= prop_val)
- return FALSE;
-
- return TRUE;
-}
-
-static gboolean
-glade_gtk_table_verify_right_bottom_attach (GObject *object,
- GValue *value,
- const gchar *prop,
- const gchar *parent_prop)
-{
- guint val, prop_val, parent_val;
-
- if (glade_gtk_table_verify_attach_common (object, value, &val,
- prop, &prop_val,
- parent_prop, &parent_val))
- return FALSE;
-
- if (val <= prop_val || val > parent_val)
- return FALSE;
-
- return TRUE;
-}
-
-gboolean
-glade_gtk_table_child_verify_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *id,
- GValue *value)
-{
- if (!strcmp (id, "left-attach"))
- return glade_gtk_table_verify_left_top_attach (child,
- value,
- "right-attach",
- "n-columns");
- else if (!strcmp (id, "right-attach"))
- return glade_gtk_table_verify_right_bottom_attach (child,
- value,
- "left-attach",
- "n-columns");
- else if (!strcmp (id, "top-attach"))
- return glade_gtk_table_verify_left_top_attach (child,
- value,
- "bottom-attach",
- "n-rows");
- else if (!strcmp (id, "bottom-attach"))
- return glade_gtk_table_verify_right_bottom_attach (child,
- value,
- "top-attach",
- "n-rows");
- else if (GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_verify_property)
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_verify_property (adaptor,
- container, child,
- id, value);
-
- return TRUE;
-}
-
-static void
-glade_gtk_table_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *object,
- const gchar *group_format,
- const gchar *n_row_col,
- const gchar *attach1,
- const gchar *attach2,
- gboolean remove,
- gboolean after)
-{
- GladeWidget *parent;
- GList *children, *l;
- gint child_pos, size, offset;
-
- gtk_container_child_get (GTK_CONTAINER (container),
- GTK_WIDGET (object),
- attach1, &child_pos, NULL);
-
- parent = glade_widget_get_from_gobject (container);
- glade_command_push_group (group_format, glade_widget_get_name (parent));
-
- children = glade_widget_adaptor_get_children (adaptor, container);
- /* Make sure widgets does not get destroyed */
- g_list_foreach (children, (GFunc) g_object_ref, NULL);
-
- glade_widget_property_get (parent, n_row_col, &size);
-
- if (remove)
- {
- GList *del = NULL;
- /* Remove children first */
- for (l = children; l; l = g_list_next (l))
- {
- GladeWidget *gchild = glade_widget_get_from_gobject (l->data);
- gint pos;
-
- /* Skip placeholders */
- if (gchild == NULL) continue;
-
- glade_widget_pack_property_get (gchild, attach1, &pos);
- if (pos == child_pos) del = g_list_prepend (del, gchild);
- }
- if (del)
- {
- glade_command_delete (del);
- g_list_free (del);
- }
- offset = -1;
- }
- else
- {
- /* Expand the table */
- glade_command_set_property (glade_widget_get_property (parent, n_row_col),
- size + 1);
- offset = 1;
- }
-
- /* Reorder children */
- for (l = children; l; l = g_list_next (l))
- {
- GladeWidget *gchild = glade_widget_get_from_gobject (l->data);
- gint pos, pos2;
-
- /* Skip placeholders */
- if (gchild == NULL) continue;
-
- glade_widget_pack_property_get (gchild, attach1, &pos);
- if ((after) ? pos > child_pos : pos >= child_pos)
- {
- glade_widget_pack_property_get (gchild, attach2, &pos2);
- glade_command_set_property (glade_widget_get_pack_property (gchild, attach1),
- pos + offset);
- glade_command_set_property (glade_widget_get_pack_property (gchild, attach2),
- pos2 + offset);
- }
- }
-
- if (remove)
- {
- /* Shrink the table */
- glade_command_set_property (glade_widget_get_property (parent, n_row_col),
- size - 1);
- }
-
- g_list_foreach (children, (GFunc) g_object_unref, NULL);
- g_list_free (children);
-
- glade_command_pop_group ();
-}
-
-void
-glade_gtk_table_child_action_activate (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *object,
- const gchar *action_path)
-{
- if (strcmp (action_path, "insert_row/after") == 0)
- {
- glade_gtk_table_child_insert_remove_action (adaptor, container, object,
- _("Insert Row on %s"),
- "n-rows","top-attach",
- "bottom-attach",
- FALSE, TRUE);
- }
- else if (strcmp (action_path, "insert_row/before") == 0)
- {
- glade_gtk_table_child_insert_remove_action (adaptor, container, object,
- _("Insert Row on %s"),
- "n-rows","top-attach",
- "bottom-attach",
- FALSE, FALSE);
- }
- else if (strcmp (action_path, "insert_column/after") == 0)
- {
- glade_gtk_table_child_insert_remove_action (adaptor, container, object,
- _("Insert Column on %s"),
- "n-columns","right-attach",
- "left-attach",
- FALSE, TRUE);
- }
- else if (strcmp (action_path, "insert_column/before") == 0)
- {
- glade_gtk_table_child_insert_remove_action (adaptor, container, object,
- _("Insert Column on %s"),
- "n-columns","right-attach",
- "left-attach",
- FALSE, FALSE);
- }
- else if (strcmp (action_path, "remove_column") == 0)
- {
- glade_gtk_table_child_insert_remove_action (adaptor, container, object,
- _("Remove Column on %s"),
- "n-columns","right-attach",
- "left-attach",
- TRUE, TRUE);
- }
- else if (strcmp (action_path, "remove_row") == 0)
- {
- glade_gtk_table_child_insert_remove_action (adaptor, container, object,
- _("Remove Row on %s"),
- "n-rows","top-attach",
- "bottom-attach",
- TRUE, TRUE);
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_action_activate (adaptor,
- container,
- object,
- action_path);
-}
-
-/* ----------------------------- GtkFrame ------------------------------ */
-void
-glade_gtk_frame_post_create (GladeWidgetAdaptor *adaptor,
- GObject *frame,
- GladeCreateReason reason)
-{
- static GladeWidgetAdaptor *label_adaptor = NULL, *alignment_adaptor = NULL;
- GladeWidget *gframe, *glabel, *galignment;
- GtkWidget *label;
- gchar *label_text;
-
- if (reason != GLADE_CREATE_USER)
- return;
-
- g_return_if_fail (GTK_IS_FRAME (frame));
- gframe = glade_widget_get_from_gobject (frame);
- g_return_if_fail (GLADE_IS_WIDGET (gframe));
-
- /* If we didnt put this object here or if frame is an aspect frame... */
- if (((label = gtk_frame_get_label_widget (GTK_FRAME (frame))) == NULL ||
- (glade_widget_get_from_gobject (label) == NULL)) &&
- (GTK_IS_ASPECT_FRAME (frame) == FALSE))
- {
-
- if (label_adaptor == NULL)
- label_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_LABEL);
- if (alignment_adaptor == NULL)
- alignment_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_ALIGNMENT);
-
- /* add label (as an internal child) */
- glabel = glade_widget_adaptor_create_widget (label_adaptor, FALSE,
- "parent", gframe,
- "project", glade_widget_get_project (gframe),
- NULL);
-
- label_text = g_strdup_printf ("<b>%s</b>", glade_widget_get_name (gframe));
-
- glade_widget_property_set (glabel, "label", label_text);
- glade_widget_property_set (glabel, "use-markup", "TRUE");
-
- g_object_set_data (glabel->object, "special-child-type", "label_item");
- gtk_frame_set_label_widget (GTK_FRAME (frame), GTK_WIDGET (glabel->object));
- gtk_widget_show (GTK_WIDGET (glabel->object));
- g_free (label_text);
-
- /* add alignment */
- galignment = glade_widget_adaptor_create_widget (alignment_adaptor, FALSE,
- "parent", gframe,
- "project", glade_widget_get_project (gframe),
- NULL);
-
- glade_widget_property_set (galignment, "left-padding", 12);
- gtk_container_add (GTK_CONTAINER (frame), GTK_WIDGET (galignment->object));
- gtk_widget_show (GTK_WIDGET (galignment->object));
- }
-
- /* Chain Up */
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->post_create (adaptor, frame, reason);
-}
-
-void
-glade_gtk_frame_replace_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *current,
- GtkWidget *new_widget)
-{
- gchar *special_child_type;
-
- special_child_type =
- g_object_get_data (G_OBJECT (current), "special-child-type");
-
- if (special_child_type && !strcmp (special_child_type, "label_item"))
- {
- g_object_set_data (G_OBJECT (new_widget), "special-child-type", "label_item");
- gtk_frame_set_label_widget (GTK_FRAME (container), new_widget);
- return;
- }
-
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->replace_child (adaptor,
- G_OBJECT (container),
- G_OBJECT (current),
- G_OBJECT (new_widget));
-}
-
-void
-glade_gtk_frame_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- gchar *special_child_type;
-
- special_child_type = g_object_get_data (child, "special-child-type");
-
- if (special_child_type &&
- !strcmp (special_child_type, "label_item"))
- {
- gtk_frame_set_label_widget (GTK_FRAME (object),
- GTK_WIDGET (child));
- }
- else
- {
- gtk_container_add (GTK_CONTAINER (object),
- GTK_WIDGET (child));
- }
-}
-
-/* ----------------------------- GtkNotebook ------------------------------ */
-typedef struct
-{
- gint pages;
- gint page;
-
- GList *children;
- GList *tabs;
-
- GList *extra_children;
- GList *extra_tabs;
-} NotebookChildren;
-
-static gboolean glade_gtk_notebook_setting_position = FALSE;
-
-static gint
-notebook_child_compare_func (GtkWidget *widget_a, GtkWidget *widget_b)
-{
- GladeWidget *gwidget_a, *gwidget_b;
- gint pos_a = 0, pos_b = 0;
-
- gwidget_a = glade_widget_get_from_gobject (widget_a);
- gwidget_b = glade_widget_get_from_gobject (widget_b);
-
- g_assert (gwidget_a && gwidget_b);
-
- glade_widget_pack_property_get (gwidget_a, "position", &pos_a);
- glade_widget_pack_property_get (gwidget_b, "position", &pos_b);
-
- return pos_a - pos_b;
-}
-
-static gint
-notebook_find_child (GtkWidget *check,
- gpointer cmp_pos_p)
-{
- GladeWidget *gcheck;
- gint position = 0, cmp_pos = GPOINTER_TO_INT (cmp_pos_p);
-
- gcheck = glade_widget_get_from_gobject (check);
- g_assert (gcheck);
-
- glade_widget_pack_property_get (gcheck, "position", &position);
-
- return position - cmp_pos;
-}
-
-static gint
-notebook_search_tab (GtkNotebook *notebook,
- GtkWidget *tab)
-{
- GtkWidget *page;
- gint i;
-
- for (i = 0; i < gtk_notebook_get_n_pages (notebook); i++)
- {
- page = gtk_notebook_get_nth_page (notebook, i);
-
- if (tab == gtk_notebook_get_tab_label (notebook, page))
- return i;
- }
- g_critical ("Unable to find tab position in a notebook");
- return -1;
-}
-
-static GtkWidget *
-notebook_get_filler (NotebookChildren *nchildren, gboolean page)
-{
- GtkWidget *widget = NULL;
-
- if (page && nchildren->extra_children)
- {
- widget = nchildren->extra_children->data;
- nchildren->extra_children =
- g_list_remove (nchildren->extra_children, widget);
- g_assert (widget);
- }
- else if (!page && nchildren->extra_tabs)
- {
- widget = nchildren->extra_tabs->data;
- nchildren->extra_tabs =
- g_list_remove (nchildren->extra_tabs, widget);
- g_assert (widget);
- }
-
- if (widget == NULL)
- {
- /* Need explicit reference here */
- widget = glade_placeholder_new ();
-
- g_object_ref (G_OBJECT (widget));
-
- if (!page)
- g_object_set_data (G_OBJECT (widget),
- "special-child-type", "tab");
-
- }
- return widget;
-}
-
-static GtkWidget *
-notebook_get_page (NotebookChildren *nchildren, gint position)
-{
- GList *node;
- GtkWidget *widget = NULL;
-
- if ((node = g_list_find_custom
- (nchildren->children,
- GINT_TO_POINTER (position),
- (GCompareFunc)notebook_find_child)) != NULL)
- {
- widget = node->data;
- nchildren->children =
- g_list_remove (nchildren->children, widget);
- }
- else
- widget = notebook_get_filler (nchildren, TRUE);
-
- return widget;
-}
-
-static GtkWidget *
-notebook_get_tab (NotebookChildren *nchildren, gint position)
-{
- GList *node;
- GtkWidget *widget = NULL;
-
- if ((node = g_list_find_custom
- (nchildren->tabs,
- GINT_TO_POINTER (position),
- (GCompareFunc)notebook_find_child)) != NULL)
- {
- widget = node->data;
- nchildren->tabs =
- g_list_remove (nchildren->tabs, widget);
- }
- else
- widget = notebook_get_filler (nchildren, FALSE);
-
- return widget;
-}
-
-static NotebookChildren *
-glade_gtk_notebook_extract_children (GtkWidget *notebook)
-{
- NotebookChildren *nchildren;
- gchar *special_child_type;
- GList *list, *children =
- glade_util_container_get_all_children (GTK_CONTAINER (notebook));
- GladeWidget *gchild;
- GtkWidget *page;
- gint position = 0;
-
- nchildren = g_new0 (NotebookChildren, 1);
- nchildren->pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook));
- nchildren->page = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook));
-
- /* Ref all the project widgets and build returned list first */
- for (list = children; list; list = list->next)
- {
- if ((gchild = glade_widget_get_from_gobject (list->data)) != NULL)
- {
- special_child_type =
- g_object_get_data (G_OBJECT (list->data),
- "special-child-type");
-
- glade_widget_pack_property_get (gchild, "position", &position);
-
- g_object_ref (G_OBJECT (list->data));
-
- /* Sort it into the proper struct member
- */
- if (special_child_type == NULL)
- {
- if (g_list_find_custom (nchildren->children,
- GINT_TO_POINTER (position),
- (GCompareFunc)notebook_find_child))
- nchildren->extra_children =
- g_list_insert_sorted
- (nchildren->extra_children, list->data,
- (GCompareFunc)notebook_child_compare_func);
- else
- nchildren->children =
- g_list_insert_sorted
- (nchildren->children, list->data,
- (GCompareFunc)notebook_child_compare_func);
- } else {
- if (g_list_find_custom (nchildren->tabs,
- GINT_TO_POINTER (position),
- (GCompareFunc)notebook_find_child))
- nchildren->extra_tabs =
- g_list_insert_sorted
- (nchildren->extra_tabs, list->data,
- (GCompareFunc)notebook_child_compare_func);
- else
- nchildren->tabs =
- g_list_insert_sorted
- (nchildren->tabs, list->data,
- (GCompareFunc)notebook_child_compare_func);
- }
- }
- }
-
- /* Remove all pages, resulting in the unparenting of all widgets including tab-labels.
- */
- while (gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)) > 0)
- {
- page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0);
-
- /* Explicitly remove the tab label first */
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), page, NULL);
- gtk_notebook_remove_page (GTK_NOTEBOOK (notebook), 0);
- }
-
- if (children)
- g_list_free (children);
-
- return nchildren;
-}
-
-static void
-glade_gtk_notebook_insert_children (GtkWidget *notebook, NotebookChildren *nchildren)
-{
- gint i;
-
- /*********************************************************
- INSERT PAGES
- *********************************************************/
- for (i = 0; i < nchildren->pages; i++)
- {
- GtkWidget *page = notebook_get_page (nchildren, i);
- GtkWidget *tab = notebook_get_tab (nchildren, i);
-
- gtk_notebook_insert_page (GTK_NOTEBOOK (notebook), page, NULL, i);
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), page, tab);
-
- g_object_unref (G_OBJECT (page));
- g_object_unref (G_OBJECT (tab));
- }
-
- /* Stay on the same page */
- gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), nchildren->page);
-
- /* Free the original lists now */
- if (nchildren->children)
- g_list_free (nchildren->children);
-
- if (nchildren->tabs)
- g_list_free (nchildren->tabs);
-
- if (nchildren->children ||
- nchildren->tabs ||
- nchildren->extra_children ||
- nchildren->extra_tabs)
- g_critical ("Unbalanced children when inserting notebook children"
- " (pages: %d tabs: %d extra pages: %d extra tabs %d)",
- g_list_length (nchildren->children),
- g_list_length (nchildren->tabs),
- g_list_length (nchildren->extra_children),
- g_list_length (nchildren->extra_tabs));
-
- g_free (nchildren);
-}
-
-static void
-glade_gtk_notebook_switch_page (GtkNotebook *notebook,
- GtkNotebookPage *page,
- guint page_num,
- gpointer user_data)
-{
- GladeWidget *gnotebook = glade_widget_get_from_gobject (notebook);
-
- glade_widget_property_set (gnotebook, "page", page_num);
-
-}
-
-
-void
-glade_gtk_notebook_post_create (GladeWidgetAdaptor *adaptor,
- GObject *notebook,
- GladeCreateReason reason)
-{
- gtk_notebook_popup_disable (GTK_NOTEBOOK (notebook));
-
- g_signal_connect (G_OBJECT (notebook), "switch-page",
- G_CALLBACK (glade_gtk_notebook_switch_page), NULL);
-}
-
-static gint
-glade_gtk_notebook_get_first_blank_page (GtkNotebook *notebook)
-{
- GladeWidget *gwidget;
- GtkWidget *widget;
- gint position;
-
- for (position = 0; position < gtk_notebook_get_n_pages (notebook); position++)
- {
- widget = gtk_notebook_get_nth_page (notebook, position);
- if ((gwidget = glade_widget_get_from_gobject (widget)) != NULL)
- {
- GladeProperty *property =
- glade_widget_get_property (gwidget, "position");
- gint gwidget_position = g_value_get_int (property->value);
-
- if ((gwidget_position - position) > 0)
- return position;
- }
- }
- return position;
-}
-
-static void
-glade_gtk_notebook_set_n_pages (GObject *object, const GValue *value)
-{
- GladeWidget *widget;
- GtkNotebook *notebook;
- GtkWidget *child_widget, *tab_widget;
- gint new_size, i;
- gint old_size;
-
- notebook = GTK_NOTEBOOK (object);
- g_return_if_fail (GTK_IS_NOTEBOOK (notebook));
-
- widget = glade_widget_get_from_gobject (GTK_WIDGET (notebook));
- g_return_if_fail (widget != NULL);
-
- new_size = g_value_get_int (value);
-
- /* Ensure base size of notebook */
- if (glade_widget_superuser () == FALSE)
- {
- for (i = gtk_notebook_get_n_pages (notebook); i < new_size; i++)
- {
- gint position = glade_gtk_notebook_get_first_blank_page (notebook);
- GtkWidget *placeholder = glade_placeholder_new ();
- GtkWidget *tab_placeholder = glade_placeholder_new ();
-
- gtk_notebook_insert_page (notebook, placeholder,
- NULL, position);
-
- gtk_notebook_set_tab_label (notebook, placeholder, tab_placeholder);
- g_object_set_data (G_OBJECT (tab_placeholder), "special-child-type", "tab");
- }
- }
-
- old_size = gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook));
-
- /*
- * Thing to remember is that GtkNotebook starts the
- * page numbers from 0, not 1 (C-style). So we need to do
- * old_size-1, where we're referring to "nth" widget.
- */
- while (old_size > new_size) {
- /* Get the last widget. */
- child_widget = gtk_notebook_get_nth_page (notebook, old_size-1);
- tab_widget = gtk_notebook_get_tab_label (notebook, child_widget);
-
- /*
- * If we got it, and its not a placeholder, remove it
- * from project.
- */
- if (glade_widget_get_from_gobject (child_widget) ||
- glade_widget_get_from_gobject (tab_widget))
- break;
-
- gtk_notebook_remove_page (notebook, old_size-1);
- old_size--;
- }
-}
-
-void
-glade_gtk_notebook_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "pages"))
- glade_gtk_notebook_set_n_pages (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object,
- id, value);
-}
-
-static gboolean
-glade_gtk_notebook_verify_n_pages (GObject *object, const GValue *value)
-{
- GtkNotebook *notebook = GTK_NOTEBOOK(object);
- GtkWidget *child_widget, *tab_widget;
- gint old_size, new_size = g_value_get_int (value);
-
- for (old_size = gtk_notebook_get_n_pages (notebook);
- old_size > new_size; old_size--) {
- /* Get the last widget. */
- child_widget = gtk_notebook_get_nth_page (notebook, old_size-1);
- tab_widget = gtk_notebook_get_tab_label (notebook, child_widget);
-
- /*
- * If we got it, and its not a placeholder, remove it
- * from project.
- */
- if (glade_widget_get_from_gobject (child_widget) ||
- glade_widget_get_from_gobject (tab_widget))
- return FALSE;
- }
- return TRUE;
-}
-
-gboolean
-glade_gtk_notebook_verify_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "pages"))
- return glade_gtk_notebook_verify_n_pages (object, value);
- else if (GWA_GET_CLASS (GTK_TYPE_CONTAINER)->verify_property)
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->verify_property (adaptor, object,
- id, value);
-
- return TRUE;
-}
-
-void
-glade_gtk_notebook_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- GtkNotebook *notebook;
- gint num_page, position = 0;
- GtkWidget *last_page;
- GladeWidget *gwidget;
- gchar *special_child_type;
-
- notebook = GTK_NOTEBOOK (object);
-
- num_page = gtk_notebook_get_n_pages (notebook);
-
- /* Just append pages blindly when loading/dupping
- */
- if (glade_widget_superuser ())
- {
- special_child_type = g_object_get_data (child, "special-child-type");
- if (special_child_type &&
- !strcmp (special_child_type, "tab"))
- {
- last_page = gtk_notebook_get_nth_page (notebook, num_page - 1);
- gtk_notebook_set_tab_label (notebook, last_page,
- GTK_WIDGET (child));
- }
- else
- {
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- gwidget = glade_widget_get_from_gobject (object);
- glade_widget_property_set (gwidget, "pages", num_page + 1);
-
- gwidget = glade_widget_get_from_gobject (child);
- if (gwidget && gwidget->packing_properties)
- glade_widget_pack_property_set (gwidget, "position", num_page);
- }
- }
- else
- {
- NotebookChildren *nchildren;
-
- /* Just destroy placeholders */
- if (GLADE_IS_PLACEHOLDER (child))
- {
- if (GTK_OBJECT_FLOATING (child))
- gtk_object_sink (GTK_OBJECT (child));
- else
- g_object_unref (G_OBJECT (child));
- }
- else
- {
- gwidget = glade_widget_get_from_gobject (child);
- g_assert (gwidget);
-
- glade_widget_pack_property_get (gwidget, "position", &position);
-
- nchildren = glade_gtk_notebook_extract_children (GTK_WIDGET (notebook));
-
- if (g_object_get_data (child, "special-child-type") != NULL)
- {
- if (g_list_find_custom (nchildren->tabs,
- GINT_TO_POINTER (position),
- (GCompareFunc)notebook_find_child))
- nchildren->extra_tabs =
- g_list_insert_sorted
- (nchildren->extra_tabs, child,
- (GCompareFunc)notebook_child_compare_func);
- else
- nchildren->tabs =
- g_list_insert_sorted
- (nchildren->tabs, child,
- (GCompareFunc)notebook_child_compare_func);
- }
- else
- {
- if (g_list_find_custom (nchildren->children,
- GINT_TO_POINTER (position),
- (GCompareFunc)notebook_find_child))
- nchildren->extra_children =
- g_list_insert_sorted
- (nchildren->extra_children, child,
- (GCompareFunc)notebook_child_compare_func);
- else
- nchildren->children =
- g_list_insert_sorted
- (nchildren->children, child,
- (GCompareFunc)notebook_child_compare_func);
- }
-
- /* Takes an explicit reference when sitting on the list */
- g_object_ref (child);
-
- glade_gtk_notebook_insert_children (GTK_WIDGET (notebook), nchildren);
- }
- }
-}
-
-void
-glade_gtk_notebook_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- NotebookChildren *nchildren;
-
- nchildren = glade_gtk_notebook_extract_children (GTK_WIDGET (object));
-
- if (g_list_find (nchildren->children, child))
- {
- nchildren->children =
- g_list_remove (nchildren->children, child);
- g_object_unref (child);
- }
- else if (g_list_find (nchildren->extra_children, child))
- {
- nchildren->extra_children =
- g_list_remove (nchildren->extra_children, child);
- g_object_unref (child);
- }
- else if (g_list_find (nchildren->tabs, child))
- {
- nchildren->tabs =
- g_list_remove (nchildren->tabs, child);
- g_object_unref (child);
- }
- else if (g_list_find (nchildren->extra_tabs, child))
- {
- nchildren->extra_tabs =
- g_list_remove (nchildren->extra_tabs, child);
- g_object_unref (child);
- }
-
- glade_gtk_notebook_insert_children (GTK_WIDGET (object), nchildren);
-
-}
-
-void
-glade_gtk_notebook_replace_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *current,
- GtkWidget *new_widget)
-{
- GtkNotebook *notebook;
- GladeWidget *gcurrent, *gnew;
- gint position = 0;
-
- notebook = GTK_NOTEBOOK (container);
-
- if ((gcurrent = glade_widget_get_from_gobject (current)) != NULL)
- glade_widget_pack_property_get (gcurrent, "position", &position);
- else
- {
- g_assert (GLADE_IS_PLACEHOLDER (current));
-
- if ((position = gtk_notebook_page_num (notebook, current)) < 0)
- {
- position = notebook_search_tab (notebook, current);
- g_assert (position >= 0);
- }
- }
-
- if (g_object_get_data (G_OBJECT (current), "special-child-type"))
- g_object_set_data (G_OBJECT (new_widget), "special-child-type", "tab");
-
- glade_gtk_notebook_remove_child (adaptor,
- G_OBJECT (container),
- G_OBJECT (current));
-
- if (GLADE_IS_PLACEHOLDER (new_widget) == FALSE)
- {
- gnew = glade_widget_get_from_gobject (new_widget);
-
- glade_gtk_notebook_add_child (adaptor,
- G_OBJECT (container),
- G_OBJECT (new_widget));
-
- if (glade_widget_pack_property_set (gnew, "position", position) == FALSE)
- g_critical ("No position property found on new widget");
- }
- else
- gtk_widget_destroy (GTK_WIDGET (new_widget));
-}
-
-gboolean
-glade_gtk_notebook_child_verify_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *id,
- GValue *value)
-{
- if (!strcmp (id, "position"))
- return g_value_get_int (value) >= 0 &&
- g_value_get_int (value) <
- gtk_notebook_get_n_pages (GTK_NOTEBOOK (container));
- else if (GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_verify_property)
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_verify_property (adaptor,
- container, child,
- id, value);
-
- return TRUE;
-}
-
-void
-glade_gtk_notebook_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- const GValue *value)
-{
- NotebookChildren *nchildren;
-
- if (strcmp (property_name, "position") == 0)
- {
- /* If we are setting this internally, avoid feedback. */
- if (glade_gtk_notebook_setting_position ||
- glade_widget_superuser ())
- return;
-
- /* Just rebuild the notebook, property values are already set at this point */
- nchildren = glade_gtk_notebook_extract_children (GTK_WIDGET (container));
- glade_gtk_notebook_insert_children (GTK_WIDGET (container), nchildren);
- }
- /* packing properties are unsupported on tabs ... except "position" */
- else if (g_object_get_data (child, "special-child-type") == NULL)
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
- container, child,
- property_name, value);
-}
-
-void
-glade_gtk_notebook_get_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- gint position;
-
- if (strcmp (property_name, "position") == 0)
- {
- if (g_object_get_data (child, "special-child-type") != NULL)
- {
- if ((position = notebook_search_tab (GTK_NOTEBOOK (container),
- GTK_WIDGET (child))) >= 0)
- g_value_set_int (value, position);
- else
- g_value_set_int (value, 0);
- }
- else
- gtk_container_child_get_property (GTK_CONTAINER (container),
- GTK_WIDGET (child),
- property_name,
- value);
- }
- /* packing properties are unsupported on tabs ... except "position" */
- else if (g_object_get_data (child, "special-child-type") == NULL)
- gtk_container_child_get_property (GTK_CONTAINER (container),
- GTK_WIDGET (child),
- property_name,
- value);
-}
-
-static void
-glade_gtk_box_notebook_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *object,
- const gchar *size_prop,
- const gchar *group_format,
- gboolean remove,
- gboolean after)
-{
- GladeWidget *parent;
- GList *children, *l;
- gint child_pos, size, offset;
-
- if (GTK_IS_NOTEBOOK (container) &&
- g_object_get_data (object, "special-child-type"))
- /* Its a Tab! */
- child_pos = notebook_search_tab (GTK_NOTEBOOK (container),
- GTK_WIDGET (object));
- else
- gtk_container_child_get (GTK_CONTAINER (container),
- GTK_WIDGET (object),
- "position", &child_pos, NULL);
-
- parent = glade_widget_get_from_gobject (container);
- glade_command_push_group (group_format, glade_widget_get_name (parent));
-
- children = glade_widget_adaptor_get_children (adaptor, container);
- /* Make sure widgets does not get destroyed */
- g_list_foreach (children, (GFunc) g_object_ref, NULL);
-
- glade_widget_property_get (parent, size_prop, &size);
-
- if (remove)
- {
- GList *del = NULL;
- offset = -1;
- /* Remove children first */
- for (l = children; l; l = g_list_next (l))
- {
- GladeWidget *gchild = glade_widget_get_from_gobject (l->data);
- gint pos;
-
- /* Skip placeholders */
- if (gchild == NULL) continue;
-
- glade_widget_pack_property_get (gchild, "position", &pos);
- if (pos == child_pos) del = g_list_prepend (del, gchild);
- }
- if (del)
- {
- glade_command_delete (del);
- g_list_free (del);
- }
- }
- else
- {
- /* Expand container */
- glade_command_set_property (glade_widget_get_property (parent, size_prop),
- size + 1);
- offset = 1;
- }
-
- /* Reoder children */
- for (l = children; l; l = g_list_next (l))
- {
- GladeWidget *gchild = glade_widget_get_from_gobject (l->data);
- gint pos;
-
- /* Skip placeholders */
- if (gchild == NULL) continue;
-
- glade_widget_pack_property_get (gchild, "position", &pos);
- if ((after) ? pos > child_pos : pos >= child_pos)
- glade_command_set_property (glade_widget_get_pack_property (gchild, "position"),
- pos + offset);
- }
-
- if (remove)
- {
- /* Shrink container */
- glade_command_set_property (glade_widget_get_property (parent, size_prop),
- size - 1);
- }
-
- g_list_foreach (children, (GFunc) g_object_unref, NULL);
- g_list_free (children);
- glade_command_pop_group ();
-}
-
-void
-glade_gtk_notebook_child_action_activate (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *object,
- const gchar *action_path)
-{
- if (strcmp (action_path, "insert_page_after") == 0)
- {
- glade_gtk_box_notebook_child_insert_remove_action (adaptor, container,
- object, "pages",
- _("Insert page on %s"),
- FALSE, TRUE);
- }
- else if (strcmp (action_path, "insert_page_before") == 0)
- {
- glade_gtk_box_notebook_child_insert_remove_action (adaptor, container,
- object, "pages",
- _("Insert page on %s"),
- FALSE, FALSE);
- }
- else if (strcmp (action_path, "remove_page") == 0)
- {
- glade_gtk_box_notebook_child_insert_remove_action (adaptor, container,
- object, "pages",
- _("Remove page from %s"),
- TRUE, TRUE);
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_action_activate (adaptor,
- container,
- object,
- action_path);
-}
-
-/* ----------------------------- GtkPaned ------------------------------ */
-void
-glade_gtk_paned_post_create (GladeWidgetAdaptor *adaptor,
- GObject *paned,
- GladeCreateReason reason)
-{
- g_return_if_fail (GTK_IS_PANED (paned));
-
- if (reason == GLADE_CREATE_USER && gtk_paned_get_child1 (GTK_PANED (paned)) == NULL)
- gtk_paned_add1 (GTK_PANED (paned), glade_placeholder_new ());
-
- if (reason == GLADE_CREATE_USER && gtk_paned_get_child2 (GTK_PANED (paned)) == NULL)
- gtk_paned_add2 (GTK_PANED (paned), glade_placeholder_new ());
-}
-
-void
-glade_gtk_paned_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- GtkPaned *paned;
- GtkWidget *child1, *child2;
- gboolean loading;
-
- g_return_if_fail (GTK_IS_PANED (object));
-
- paned = GTK_PANED (object);
- loading = glade_util_object_is_loading (object);
-
- child1 = gtk_paned_get_child1 (paned);
- child2 = gtk_paned_get_child2 (paned);
-
- if (loading == FALSE)
- {
- /* Remove a placeholder */
- if (child1 && GLADE_IS_PLACEHOLDER (child1))
- {
- gtk_container_remove (GTK_CONTAINER (object), child1);
- child1 = NULL;
- }
- else if (child2 && GLADE_IS_PLACEHOLDER (child2))
- {
- gtk_container_remove (GTK_CONTAINER (object), child2);
- child2 = NULL;
- }
- }
-
- /* Add the child */
- if (child1 == NULL)
- gtk_paned_add1 (paned, GTK_WIDGET (child));
- else if (child2 == NULL)
- gtk_paned_add2 (paned, GTK_WIDGET (child));
-
- if (GLADE_IS_PLACEHOLDER (child) == FALSE && loading)
- {
- GladeWidget *gchild = glade_widget_get_from_gobject (child);
-
- if (gchild && gchild->packing_properties)
- {
- if (child1 == NULL)
- glade_widget_pack_property_set (gchild, "first", TRUE);
- else if (child2 == NULL)
- glade_widget_pack_property_set (gchild, "first", FALSE);
- }
- }
-}
-
-void
-glade_gtk_paned_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- glade_gtk_paned_post_create (adaptor, object, GLADE_CREATE_USER);
-}
-
-void
-glade_gtk_paned_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- const GValue *value)
-{
- if (strcmp (property_name, "first") == 0)
- {
- GtkPaned *paned = GTK_PANED (container);
- gboolean first = g_value_get_boolean (value);
- GtkWidget *place, *wchild = GTK_WIDGET (child);
-
- place = (first) ? gtk_paned_get_child1 (paned) :
- gtk_paned_get_child2 (paned);
-
- if (place && GLADE_IS_PLACEHOLDER (place))
- gtk_container_remove (GTK_CONTAINER (container), place);
-
- g_object_ref (child);
- gtk_container_remove (GTK_CONTAINER (container), wchild);
- if (first)
- gtk_paned_add1 (paned, wchild);
- else
- gtk_paned_add2 (paned, wchild);
- g_object_unref (child);
-
- /* Ensure placeholders */
- if (glade_util_object_is_loading (child) == FALSE)
- {
- if ((place = gtk_paned_get_child1 (paned)) == NULL)
- gtk_paned_add1 (paned, glade_placeholder_new ());
-
- if ((place = gtk_paned_get_child2 (paned)) == NULL)
- gtk_paned_add2 (paned, glade_placeholder_new ());
- }
- }
- else
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
- container, child,
- property_name, value);
-}
-
-void
-glade_gtk_paned_get_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- if (strcmp (property_name, "first") == 0)
- g_value_set_boolean (value, GTK_WIDGET (child) ==
- gtk_paned_get_child1 (GTK_PANED (container)));
- else
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_get_property (adaptor,
- container, child,
- property_name, value);
-}
-
-/* ----------------------------- GtkExpander ------------------------------ */
-void
-glade_gtk_expander_post_create (GladeWidgetAdaptor *adaptor,
- GObject *expander,
- GladeCreateReason reason)
-{
- static GladeWidgetAdaptor *wadaptor = NULL;
- GladeWidget *gexpander, *glabel;
- GtkWidget *label;
-
- if (wadaptor == NULL)
- wadaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_LABEL);
-
- if (reason != GLADE_CREATE_USER) return;
-
- g_return_if_fail (GTK_IS_EXPANDER (expander));
- gexpander = glade_widget_get_from_gobject (expander);
- g_return_if_fail (GLADE_IS_WIDGET (gexpander));
-
- /* If we didnt put this object here... */
- if ((label = gtk_expander_get_label_widget (GTK_EXPANDER (expander))) == NULL ||
- (glade_widget_get_from_gobject (label) == NULL))
- {
- glabel = glade_widget_adaptor_create_widget (wadaptor, FALSE,
- "parent", gexpander,
- "project", glade_widget_get_project (gexpander),
- NULL);
-
- glade_widget_property_set (glabel, "label", "expander");
-
- g_object_set_data (glabel->object, "special-child-type", "label_item");
- gtk_expander_set_label_widget (GTK_EXPANDER (expander),
- GTK_WIDGET (glabel->object));
-
- gtk_widget_show (GTK_WIDGET (glabel->object));
- }
-
- gtk_expander_set_expanded (GTK_EXPANDER (expander), TRUE);
-
- gtk_container_add (GTK_CONTAINER (expander), glade_placeholder_new ());
-
-}
-
-void
-glade_gtk_expander_replace_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *current,
- GtkWidget *new_widget)
-{
- gchar *special_child_type;
-
- special_child_type =
- g_object_get_data (G_OBJECT (current), "special-child-type");
-
- if (special_child_type && !strcmp (special_child_type, "label_item"))
- {
- g_object_set_data (G_OBJECT (new_widget), "special-child-type", "label_item");
- gtk_expander_set_label_widget (GTK_EXPANDER (container), new_widget);
- return;
- }
-
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->replace_child (adaptor,
- G_OBJECT (container),
- G_OBJECT (current),
- G_OBJECT (new_widget));
-}
-
-
-void
-glade_gtk_expander_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- gchar *special_child_type;
-
- special_child_type = g_object_get_data (child, "special-child-type");
-
- if (special_child_type &&
- !strcmp (special_child_type, "label_item"))
- {
- gtk_expander_set_label_widget (GTK_EXPANDER (object),
- GTK_WIDGET (child));
- }
- else
- /* Chain Up */
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->add (adaptor, object, child);
-}
-
-void
-glade_gtk_expander_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- gchar *special_child_type;
-
- special_child_type = g_object_get_data (child, "special-child-type");
- if (special_child_type &&
- !strcmp (special_child_type, "label_item"))
- {
- gtk_expander_set_label_widget (GTK_EXPANDER (object),
- glade_placeholder_new ());
- }
- else
- {
- gtk_container_remove (GTK_CONTAINER (object),
- GTK_WIDGET (child));
- gtk_container_add (GTK_CONTAINER (object),
- glade_placeholder_new ());
- }
-}
-
-/* -------------------------------- GtkEntry -------------------------------- */
-static void
-glade_gtk_entry_changed (GtkEditable *editable, GladeWidget *gentry)
-{
- const gchar *text, *text_prop;
- GladeProperty *prop;
-
- text = gtk_entry_get_text (GTK_ENTRY (editable));
-
- glade_widget_property_get (gentry, "text", &text_prop);
-
- if (strcmp (text, text_prop))
- if ((prop = glade_widget_get_property (gentry, "text")))
- glade_command_set_property (prop, text);
-}
-
-void
-glade_gtk_entry_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeWidget *gentry;
-
- g_return_if_fail (GTK_IS_ENTRY (object));
- gentry = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gentry));
-
- g_signal_connect (object, "changed",
- G_CALLBACK (glade_gtk_entry_changed), gentry);
-}
-
-/* ----------------------------- GtkFixed/GtkLayout ------------------------------ */
-static void
-glade_gtk_fixed_layout_finalize(GdkPixmap *backing)
-{
- g_object_unref(backing);
-}
-
-static void
-glade_gtk_fixed_layout_realize (GtkWidget *widget)
-{
- GdkPixmap *backing =
- gdk_pixmap_colormap_create_from_xpm_d (NULL, gtk_widget_get_colormap (widget),
- NULL, NULL, fixed_bg_xpm);
-
- if (GTK_IS_LAYOUT (widget))
- gdk_window_set_back_pixmap (GTK_LAYOUT (widget)->bin_window, backing, FALSE);
- else
- gdk_window_set_back_pixmap (widget->window, backing, FALSE);
-
- /* For cleanup later
- */
- g_object_weak_ref(G_OBJECT(widget),
- (GWeakNotify)glade_gtk_fixed_layout_finalize, backing);
-}
-
-void
-glade_gtk_fixed_layout_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- /* This is needed at least to set a backing pixmap. */
- GTK_WIDGET_UNSET_FLAGS(object, GTK_NO_WINDOW);
-
- /* For backing pixmap
- */
- g_signal_connect_after(object, "realize",
- G_CALLBACK(glade_gtk_fixed_layout_realize), NULL);
-}
-
-void
-glade_gtk_fixed_layout_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_CONTAINER (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-void
-glade_gtk_fixed_layout_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_CONTAINER (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-/* ----------------------------- GtkWindow ------------------------------ */
-void
-glade_gtk_window_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GtkWindow *window = GTK_WINDOW (object);
-
- g_return_if_fail (GTK_IS_WINDOW (window));
-
- /* Chain her up first */
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->post_create (adaptor, object, reason);
-}
-
-/* ----------------------------- GtkDialog(s) ------------------------------ */
-static void
-glade_gtk_file_chooser_default_forall (GtkWidget *widget, gpointer data)
-{
- static gpointer hierarchy = NULL, screen;
-
- /* Since GtkFileChooserDefault is not exposed we check if its a
- * GtkFileChooser
- */
- if (GTK_IS_FILE_CHOOSER (widget))
- {
- if (hierarchy == NULL)
- {
- hierarchy = GUINT_TO_POINTER (g_signal_lookup (
- "hierarchy-changed",
- GTK_TYPE_WIDGET));
- screen = GUINT_TO_POINTER (g_signal_lookup (
- "screen-changed",
- GTK_TYPE_WIDGET));
- }
- /* Finally we can connect to the signals we want to stop its
- * default handler. Since both signals has the same signature
- * we use one callback for both :)
- */
- g_signal_connect (widget, "hierarchy-changed",
- G_CALLBACK (glade_gtk_stop_emission_POINTER),
- hierarchy);
- g_signal_connect (widget, "screen-changed",
- G_CALLBACK (glade_gtk_stop_emission_POINTER),
- screen);
- }
-}
-
-static void
-glade_gtk_file_chooser_forall (GtkWidget *widget, gpointer data)
-{
- /* GtkFileChooserWidget packs a GtkFileChooserDefault */
- if (GTK_IS_FILE_CHOOSER_WIDGET (widget))
- gtk_container_forall (GTK_CONTAINER (widget),
- glade_gtk_file_chooser_default_forall,
- NULL);
-}
-
-static void
-glade_gtk_input_dialog_forall (GtkWidget *widget, gpointer data)
-{
- /* Make every option menu insensitive, yes it use a deprecated widget */
- if (GTK_IS_OPTION_MENU (widget))
- gtk_widget_set_sensitive (widget, FALSE);
- else if (GTK_IS_CONTAINER (widget))
- gtk_container_forall (GTK_CONTAINER (widget),
- glade_gtk_input_dialog_forall,
- NULL);
-}
-
-void
-glade_gtk_dialog_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GtkDialog *dialog = GTK_DIALOG (object);
- GladeWidget *widget;
- GladeWidget *vbox_widget, *actionarea_widget, *colorsel, *fontsel;
- GladeWidget *save_button = NULL, *close_button = NULL, *ok_button = NULL,
- *cancel_button = NULL, *help_button = NULL, *apply_button = NULL;
-
- g_return_if_fail (GTK_IS_DIALOG (dialog));
-
- widget = glade_widget_get_from_gobject (GTK_WIDGET (dialog));
- if (!widget)
- return;
-
- if (reason == GLADE_CREATE_USER)
- {
- /* HIG complient border-width defaults on dialogs */
- glade_widget_property_set (widget, "border-width", 5);
- }
-
- if (GTK_IS_INPUT_DIALOG (object))
- {
- GtkInputDialog *id = GTK_INPUT_DIALOG (dialog);
-
- save_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (id->save_button),
- "save_button", "inputdialog", FALSE, reason);
- close_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (id->close_button),
- "close_button", "inputdialog", FALSE, reason);
- /*
- On device and mode menu items "activate" signal handlers
- GtkInputDialog call gtk_widget_get_toplevel() and assume that
- the toplevel returned is the GtkInputDialog but since the
- dialog is embed inside glade the returned pointer is not what
- expected and this gives a segfault :S
- */
- gtk_container_forall (GTK_CONTAINER (dialog),
- glade_gtk_input_dialog_forall,
- NULL);
- }
- else if (GTK_IS_FILE_SELECTION (object))
- {
- ok_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_FILE_SELECTION (object)->ok_button),
- "ok_button", "filesel", FALSE, reason);
-
- cancel_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_FILE_SELECTION (object)->cancel_button),
- "cancel_button", "filesel", FALSE, reason);
- }
- else if (GTK_IS_COLOR_SELECTION_DIALOG (object))
- {
- ok_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_COLOR_SELECTION_DIALOG (object)->ok_button),
- "ok_button", "colorsel", FALSE, reason);
-
- cancel_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_COLOR_SELECTION_DIALOG (object)->cancel_button),
- "cancel_button", "colorsel", FALSE, reason);
-
- help_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_COLOR_SELECTION_DIALOG (object)->help_button),
- "help_button", "colorsel", FALSE, reason);
-
- colorsel = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_COLOR_SELECTION_DIALOG (object)->colorsel),
- "color_selection", "colorsel", FALSE, reason);
-
- /* Set this to 1 at load time, if there are any children then
- * size will adjust appropriately (otherwise the default "3" gets
- * set and we end up with extra placeholders).
- */
- if (reason == GLADE_CREATE_LOAD)
- glade_widget_property_set (colorsel, "size", 1);
-
- }
- else if (GTK_IS_FONT_SELECTION_DIALOG (object))
- {
- ok_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_FONT_SELECTION_DIALOG (object)->ok_button),
- "ok_button", "fontsel", FALSE, reason);
-
- apply_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_FONT_SELECTION_DIALOG (object)->apply_button),
- "apply_button", "fontsel", FALSE, reason);
-
- cancel_button = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_FONT_SELECTION_DIALOG (object)->cancel_button),
- "cancel_button", "fontsel", FALSE, reason);
-
- fontsel = glade_widget_adaptor_create_internal
- (widget, G_OBJECT (GTK_FONT_SELECTION_DIALOG (object)->fontsel),
- "font_selection", "fontsel", FALSE, reason);
-
- /* Set this to 1 at load time, if there are any children then
- * size will adjust appropriately (otherwise the default "3" gets
- * set and we end up with extra placeholders).
- */
- if (reason == GLADE_CREATE_LOAD)
- glade_widget_property_set (fontsel, "size", 2);
- }
- else
- {
- /* We need to stop default emissions of "hierarchy-changed" and
- * "screen-changed" of GtkFileChooserDefault to avoid an abort()
- * when doing a reparent.
- * GtkFileChooserDialog packs a GtkFileChooserWidget in
- * his internal vbox.
- */
- if (GTK_IS_FILE_CHOOSER_DIALOG (object))
- gtk_container_forall (GTK_CONTAINER (dialog->vbox),
- glade_gtk_file_chooser_forall,
- NULL);
-
- vbox_widget = glade_widget_adaptor_create_internal
- (widget, G_OBJECT(dialog->vbox),
- "vbox", "dialog", FALSE, reason);
-
- actionarea_widget = glade_widget_adaptor_create_internal
- (vbox_widget, G_OBJECT(dialog->action_area),
- "action_area", "dialog", FALSE, reason);
-
- /* These properties are controlled by the GtkDialog style properties:
- * "content-area-border", "button-spacing" and "action-area-border",
- * so we must disable thier use.
- */
- glade_widget_remove_property (vbox_widget, "border-width");
- glade_widget_remove_property (actionarea_widget, "border-width");
- glade_widget_remove_property (actionarea_widget, "spacing");
-
- /* Only set these on the original create. */
- if (reason == GLADE_CREATE_USER)
- {
-
- /* HIG complient spacing defaults on dialogs */
- glade_widget_property_set (vbox_widget, "spacing", 2);
-
- if (GTK_IS_MESSAGE_DIALOG (object))
- glade_widget_property_set (vbox_widget, "size", 2);
- else if (GTK_IS_ABOUT_DIALOG (object))
- glade_widget_property_set (vbox_widget, "size", 3);
- else if (GTK_IS_FILE_CHOOSER_DIALOG (object))
- glade_widget_property_set (vbox_widget, "size", 3);
- else
- glade_widget_property_set (vbox_widget, "size", 2);
-
- glade_widget_property_set (actionarea_widget, "size", 2);
- glade_widget_property_set (actionarea_widget, "layout-style", GTK_BUTTONBOX_END);
- }
- }
-}
-
-
-GtkWidget *
-glade_gtk_dialog_get_internal_child (GladeWidgetAdaptor *adaptor,
- GtkDialog *dialog,
- const gchar *name)
-{
- GtkWidget *child = NULL;
-
- g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
-
- if (GTK_IS_INPUT_DIALOG (dialog))
- {
- if (strcmp ("close_button", name) == 0)
- child = GTK_INPUT_DIALOG (dialog)->close_button;
- else if (strcmp ("save_button", name) == 0)
- child = GTK_INPUT_DIALOG (dialog)->save_button;
- }
- else if (GTK_IS_FILE_SELECTION (dialog))
- {
- if (strcmp ("ok_button", name) == 0)
- child = GTK_FILE_SELECTION (dialog)->ok_button;
- else if (strcmp ("cancel_button", name) == 0)
- child = GTK_FILE_SELECTION (dialog)->cancel_button;
- }
- else if (GTK_IS_COLOR_SELECTION_DIALOG (dialog))
- {
- if (strcmp ("ok_button", name) == 0)
- child = GTK_COLOR_SELECTION_DIALOG (dialog)->ok_button;
- else if (strcmp ("cancel_button", name) == 0)
- child = GTK_COLOR_SELECTION_DIALOG (dialog)->cancel_button;
- else if (strcmp ("help_button", name) == 0)
- child = GTK_COLOR_SELECTION_DIALOG (dialog)->help_button;
- else if (strcmp ("color_selection", name) == 0)
- child = GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel;
- }
- else if (GTK_IS_FONT_SELECTION_DIALOG (dialog))
- {
- if (strcmp ("ok_button", name) == 0)
- child = GTK_FONT_SELECTION_DIALOG (dialog)->ok_button;
- else if (strcmp ("apply_button", name) == 0)
- child = GTK_FONT_SELECTION_DIALOG (dialog)->apply_button;
- else if (strcmp ("cancel_button", name) == 0)
- child = GTK_FONT_SELECTION_DIALOG (dialog)->cancel_button;
- else if (strcmp ("font_selection", name) == 0)
- child = GTK_FONT_SELECTION_DIALOG (dialog)->fontsel;
- }
- else
- {
- /* Default generic dialog handling
- */
- if (strcmp ("vbox", name) == 0)
- child = dialog->vbox;
- else if (strcmp ("action_area", name) == 0)
- child = dialog->action_area;
- }
-
- return child;
-}
-
-GList *
-glade_gtk_dialog_get_children (GladeWidgetAdaptor *adaptor,
- GtkDialog *dialog)
-{
- GList *list = NULL;
-
- g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
-
- list = glade_util_container_get_all_children (GTK_CONTAINER (dialog));
-
- if (GTK_IS_INPUT_DIALOG (dialog))
- {
- list = g_list_prepend (list, GTK_INPUT_DIALOG (dialog)->close_button);
- list = g_list_prepend (list, GTK_INPUT_DIALOG (dialog)->save_button);
- }
- else if (GTK_IS_FILE_SELECTION (dialog))
- {
- list = g_list_prepend (list, GTK_FILE_SELECTION (dialog)->ok_button);
- list = g_list_prepend (list, GTK_FILE_SELECTION (dialog)->cancel_button);
- }
- else if (GTK_IS_COLOR_SELECTION_DIALOG (dialog))
- {
- list = g_list_prepend (list, GTK_COLOR_SELECTION_DIALOG (dialog)->ok_button);
- list = g_list_prepend (list, GTK_COLOR_SELECTION_DIALOG (dialog)->cancel_button);
- list = g_list_prepend (list, GTK_COLOR_SELECTION_DIALOG (dialog)->help_button);
- list = g_list_prepend (list, GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);
- }
- else if (GTK_IS_FONT_SELECTION_DIALOG (dialog))
- {
- list = g_list_prepend (list, GTK_FONT_SELECTION_DIALOG (dialog)->ok_button);
- list = g_list_prepend (list, GTK_FONT_SELECTION_DIALOG (dialog)->apply_button);
- list = g_list_prepend (list, GTK_FONT_SELECTION_DIALOG (dialog)->cancel_button);
- list = g_list_prepend (list, GTK_FONT_SELECTION_DIALOG (dialog)->fontsel);
- }
- return list;
-}
-
-
-void
-glade_gtk_dialog_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (GTK_IS_MESSAGE_DIALOG (object) && !strcmp (id, "image"))
- {
- /* Gtk+ 2.10 crashes when you unset the image of
- * a message dialog, so we dont ever unset it.
- */
- if (g_value_get_object (value))
- gtk_message_dialog_set_image (GTK_MESSAGE_DIALOG (object),
- GTK_WIDGET (g_value_get_object (value)));
- }
- else
- GWA_GET_CLASS (GTK_TYPE_WINDOW)->set_property (adaptor, object,
- id, value);
-}
-
-/* ----------------------------- GtkFileChooserWidget ------------------------------ */
-void
-glade_gtk_file_chooser_widget_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- gtk_container_forall (GTK_CONTAINER (object),
- glade_gtk_file_chooser_default_forall,
- NULL);
-}
-
-/* ----------------------------- GtkFontButton ------------------------------ */
-/* Use the font-buttons launch dialog to actually set the font-name
- * glade property through the glade-command api.
- */
-static void
-glade_gtk_font_button_refresh_font_name (GtkFontButton *button,
- GladeWidget *gbutton)
-{
- GladeProperty *property;
-
- if ((property =
- glade_widget_get_property (gbutton, "font-name")) != NULL)
- glade_command_set_property (property,
- gtk_font_button_get_font_name (button));
-}
-
-
-/* ----------------------------- GtkColorButton ------------------------------ */
-static void
-glade_gtk_color_button_refresh_color (GtkColorButton *button,
- GladeWidget *gbutton)
-{
- GladeProperty *property;
- GdkColor color = { 0, };
-
- if ((property = glade_widget_get_property (gbutton, "color")) != NULL)
- glade_command_set_property (property, &color);
-}
-
-/* ----------------------------- GtkButton ------------------------------ */
-static void
-glade_gtk_button_disable_label (GladeWidget *gwidget)
-{
- glade_widget_property_set (gwidget, "use-underline", FALSE);
-
- glade_widget_property_set_sensitive
- (gwidget, "label", FALSE,
- _("This only applies with label type buttons"));
-
- glade_widget_property_set_sensitive
- (gwidget, "use-underline", FALSE,
- _("This only applies with label type buttons"));
-}
-
-static void
-glade_gtk_button_disable_stock (GladeWidget *gwidget)
-{
- glade_widget_property_set (gwidget, "use-stock", FALSE);
- glade_widget_property_set (gwidget, "stock", 0);
-
- glade_widget_property_set_sensitive
- (gwidget, "stock", FALSE,
- _("This only applies with stock type buttons"));
-
- glade_widget_property_set_sensitive
- (gwidget, "image-position", FALSE,
- _("This only applies with stock type buttons"));
-
-}
-
-static void
-glade_gtk_button_restore_container (GladeWidget *gwidget)
-{
- GtkWidget *child = GTK_BIN (gwidget->object)->child;
- if (child && glade_widget_get_from_gobject (child) == NULL)
- gtk_container_remove (GTK_CONTAINER (gwidget->object), child);
-
- if (GTK_BIN (gwidget->object)->child == NULL)
- gtk_container_add (GTK_CONTAINER (gwidget->object),
- glade_placeholder_new ());
-}
-
-static void
-glade_gtk_button_post_create_parse_finished (GladeProject *project,
- GObject *button)
-{
- gboolean use_stock = FALSE;
- gchar *label = NULL;
- GEnumValue *eval;
- GEnumClass *eclass;
- GladeWidget *gbutton = glade_widget_get_from_gobject (button);
- GladeCreateReason reason;
-
- eclass = g_type_class_ref (GLADE_TYPE_STOCK);
-
- g_object_set_data (button, "glade-button-post-ran", GINT_TO_POINTER (1));
- reason = GPOINTER_TO_INT (g_object_get_data (button, "glade-reason"));
-
- glade_widget_property_get (gbutton, "use-stock", &use_stock);
- glade_widget_property_get (gbutton, "label", &label);
-
- if (GTK_BIN (button)->child != NULL &&
- glade_widget_get_from_gobject (GTK_BIN (button)->child) != NULL)
- {
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_BUTTON_CONTAINER);
- }
- else if (use_stock)
- {
- if (label != NULL && strcmp (label, "glade-none") != 0 &&
- (eval = g_enum_get_value_by_nick (eclass, label)) != NULL)
- {
- g_object_set_data (G_OBJECT (gbutton), "stock",
- GINT_TO_POINTER (eval->value));
-
- glade_widget_property_set (gbutton, "stock", eval->value);
- }
-
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_BUTTON_STOCK);
- }
- else
- /* Fallback to label type */
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_BUTTON_LABEL);
-
- g_type_class_unref (eclass);
-}
-
-void
-glade_gtk_button_post_create (GladeWidgetAdaptor *adaptor,
- GObject *button,
- GladeCreateReason reason)
-{
- GladeWidget *gbutton = glade_widget_get_from_gobject (button);
-
- g_return_if_fail (GTK_IS_BUTTON (button));
- g_return_if_fail (GLADE_IS_WIDGET (gbutton));
-
- if (GTK_IS_FONT_BUTTON (button))
- g_signal_connect
- (button, "font-set",
- G_CALLBACK (glade_gtk_font_button_refresh_font_name), gbutton);
- else if (GTK_IS_COLOR_BUTTON (button))
- g_signal_connect
- (button, "color-set",
- G_CALLBACK (glade_gtk_color_button_refresh_color), gbutton);
-
-
- if (GTK_IS_COLOR_BUTTON (button) ||
- GTK_IS_FONT_BUTTON (button))
- return;
-
- /* Internal buttons get there stock stuff introspected. */
- if (reason == GLADE_CREATE_USER && gbutton->internal == NULL)
- {
- g_object_set_data (button, "glade-button-post-ran", GINT_TO_POINTER (1));
-
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_BUTTON_LABEL);
- glade_project_selection_set (GLADE_PROJECT (gbutton->project),
- G_OBJECT (button), TRUE);
- }
- else
- {
- g_object_set_data (button, "glade-reason", GINT_TO_POINTER (reason));
- g_signal_connect (glade_widget_get_project (gbutton),
- "parse-finished",
- G_CALLBACK (glade_gtk_button_post_create_parse_finished),
- button);
- }
-}
-
-static void
-glade_gtk_button_set_type (GObject *object, const GValue *value)
-{
- GladeWidget *gwidget;
- GladeGtkButtonType type;
-
- gwidget = glade_widget_get_from_gobject (object);
- g_return_if_fail (GTK_IS_BUTTON (object));
- g_return_if_fail (GLADE_IS_WIDGET (gwidget));
-
- /* Exit if we're still loading project objects
- */
- if (GPOINTER_TO_INT (g_object_get_data
- (object, "glade-button-post-ran")) == 0)
- return;
-
- type = g_value_get_enum (value);
-
- switch (type)
- {
- case GLADEGTK_BUTTON_LABEL:
- glade_widget_property_set_sensitive (gwidget, "label", TRUE, NULL);
- glade_widget_property_set_sensitive (gwidget, "use-underline", TRUE, NULL);
- glade_gtk_button_disable_stock (gwidget);
- break;
- case GLADEGTK_BUTTON_STOCK:
- glade_widget_property_set (gwidget, "use-stock", TRUE);
- glade_widget_property_set_sensitive (gwidget, "stock", TRUE, NULL);
- glade_widget_property_set_sensitive (gwidget, "image-position", TRUE, NULL);
- glade_gtk_button_disable_label (gwidget);
- break;
- case GLADEGTK_BUTTON_CONTAINER:
-
- if (GPOINTER_TO_INT (g_object_get_data
- (object, "button-type-initially-set")) != 0)
- {
- /* Skip this on the initial setting */
- glade_gtk_button_disable_label (gwidget);
- glade_gtk_button_disable_stock (gwidget);
- }
- else
- {
- /* Initially setting container mode after a load is
- * a delicate dance.
- */
- glade_widget_property_set (gwidget, "label", NULL);
-
- glade_widget_property_set_sensitive
- (gwidget, "stock", FALSE,
- _("This only applies with stock type buttons"));
-
- glade_widget_property_set_sensitive
- (gwidget, "image-position", FALSE,
- _("This only applies with stock type buttons"));
-
- glade_widget_property_set_sensitive
- (gwidget, "label", FALSE,
- _("This only applies with label type buttons"));
-
- glade_widget_property_set_sensitive
- (gwidget, "use-underline", FALSE,
- _("This only applies with label type buttons"));
- }
- glade_widget_property_set (gwidget, "label", NULL);
- glade_gtk_button_restore_container (gwidget);
- break;
- }
- g_object_set_data (object, "button-type-initially-set", GINT_TO_POINTER (1));
-}
-
-static void
-glade_gtk_button_set_stock (GObject *object, const GValue *value)
-{
- GladeWidget *gwidget;
- GEnumClass *eclass;
- GEnumValue *eval;
- gint val;
-
- gwidget = glade_widget_get_from_gobject (object);
- g_return_if_fail (GTK_IS_BUTTON (object));
- g_return_if_fail (GLADE_IS_WIDGET (gwidget));
-
- /* Exit if we're still loading project objects
- */
- if (GPOINTER_TO_INT (g_object_get_data
- (object, "glade-button-post-ran")) == 0)
- return;
-
- val = g_value_get_enum (value);
- if (val == GPOINTER_TO_INT (g_object_get_data (G_OBJECT (gwidget), "stock")))
- return;
- g_object_set_data (G_OBJECT (gwidget), "stock", GINT_TO_POINTER (val));
-
- eclass = g_type_class_ref (G_VALUE_TYPE (value));
- if ((eval = g_enum_get_value (eclass, val)) != NULL)
- {
- /* setting to "none", ensure an appropriate label */
- if (val == 0)
- glade_widget_property_set (gwidget, "label", NULL);
- else
- {
- if (GTK_BIN (object)->child)
- {
- /* Here we would delete the coresponding GladeWidget from
- * the project (like we created it and added it), but this
- * screws up the undo stack, so instead we keep the stock
- * button insensitive while ther are usefull children in the
- * button.
- */
- gtk_container_remove (GTK_CONTAINER (object),
- GTK_BIN (object)->child);
- }
-
- /* Here we should remove any previously added GladeWidgets manualy
- * and from the project, not to leak them.
- */
- glade_widget_property_set (gwidget, "label", eval->value_nick);
- }
- }
- g_type_class_unref (eclass);
-}
-
-void
-glade_gtk_button_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "glade-type"))
- glade_gtk_button_set_type (object, value);
- else if (!strcmp (id, "stock"))
- glade_gtk_button_set_stock (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object,
- id, value);
-}
-
-void
-glade_gtk_button_replace_child (GladeWidgetAdaptor *adaptor,
- GtkWidget *container,
- GtkWidget *current,
- GtkWidget *new_widget)
-{
- GladeWidget *gbutton = glade_widget_get_from_gobject (container);
-
- g_return_if_fail (GLADE_IS_WIDGET (gbutton));
-
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->replace_child (adaptor,
- G_OBJECT (container),
- G_OBJECT (current),
- G_OBJECT (new_widget));
-
- if (GLADE_IS_PLACEHOLDER (new_widget))
- glade_widget_property_set_sensitive (gbutton, "glade-type", TRUE, NULL);
- else
- glade_widget_property_set_sensitive (gbutton, "glade-type", FALSE,
- _("You must remove any children before "
- "you can set the type"));
-
-}
-
-void
-glade_gtk_button_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- GladeWidget *gwidget;
-
- if (GTK_BIN (object)->child)
- gtk_container_remove (GTK_CONTAINER (object),
- GTK_BIN (object)->child);
-
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-
- if (GLADE_IS_PLACEHOLDER (child) == FALSE)
- {
- gwidget = glade_widget_get_from_gobject (object);
- glade_widget_property_set_sensitive (gwidget, "glade-type", FALSE,
- _("You must remove any children before "
- "you can set the type"));
- }
-}
-
-void
-glade_gtk_button_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- GladeWidget *gwidget = glade_widget_get_from_gobject (object);
-
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
- gtk_container_add (GTK_CONTAINER (object), glade_placeholder_new());
-
- glade_widget_property_set_sensitive (gwidget, "glade-type", TRUE, NULL);
-}
-
-/* ----------------------------- GtkImage ------------------------------ */
-static void
-glade_gtk_image_disable_filename (GladeWidget *gwidget)
-{
- glade_widget_property_set (gwidget, "pixbuf", NULL);
- glade_widget_property_set_sensitive (gwidget, "pixbuf", FALSE,
- _("This only applies with file type images"));
-}
-
-static void
-glade_gtk_image_disable_icon_name (GladeWidget *gwidget)
-{
- glade_widget_property_reset (gwidget, "icon-name");
- glade_widget_property_set_sensitive (gwidget, "icon-name", FALSE,
- _("This only applies to Icon Theme type images"));
-}
-
-static void
-glade_gtk_image_disable_stock (GladeWidget *gwidget)
-{
- glade_widget_property_set (gwidget, "glade-stock", NULL);
- glade_widget_property_set (gwidget, "stock", NULL);
- glade_widget_property_set_sensitive (gwidget, "glade-stock", FALSE,
- _("This only applies with stock type images"));
-}
-
-static void
-glade_gtk_image_pixel_size_changed (GladeProperty *property,
- GValue *old_value,
- GValue *value,
- GladeWidget *gimage)
-{
- gint size = g_value_get_int (value);
- glade_widget_property_set_sensitive
- (gimage, "icon-size", size < 0 ? TRUE : FALSE,
- _("Pixel Size takes precedence over Icon Size; "
- "if you want to use Icon Size, set Pixel size to -1"));
-}
-
-static void
-glade_gtk_image_parse_finished (GladeProject *project, GladeWidget *gimage)
-{
- GladeProperty *property;
- gint size;
-
- if (glade_widget_property_original_default (gimage, "icon-name") == FALSE)
- glade_widget_property_set (gimage, "glade-type", GLADEGTK_IMAGE_ICONTHEME);
- else if (glade_widget_property_original_default (gimage, "stock") == FALSE)
- glade_widget_property_set (gimage, "glade-type", GLADEGTK_IMAGE_STOCK);
- else if (glade_widget_property_original_default (gimage, "pixbuf") == FALSE)
- glade_widget_property_set (gimage, "glade-type", GLADEGTK_IMAGE_FILENAME);
- else
- glade_widget_property_reset (gimage, "glade-type");
-
- if ((property = glade_widget_get_property (gimage, "pixel-size")) == NULL)
- return;
-
- glade_widget_property_get (gimage, "pixel-size", &size);
-
- if (size >= 0)
- glade_widget_property_set_sensitive (gimage, "icon-size", FALSE,
- _("Pixel Size takes precedence over Icon size"));
-
- g_signal_connect (G_OBJECT (property), "value-changed",
- G_CALLBACK (glade_gtk_image_pixel_size_changed),
- gimage);
-}
-
-void
-glade_gtk_image_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeWidget *gimage;
-
- if (reason == GLADE_CREATE_LOAD)
- {
- gimage = glade_widget_get_from_gobject (object);
-
- g_signal_connect (glade_widget_get_project (gimage),
- "parse-finished",
- G_CALLBACK (glade_gtk_image_parse_finished),
- gimage);
- }
-}
-
-static void
-glade_gtk_image_set_icon_name (GObject *object, const GValue *value)
-{
- GladeWidget *gimage;
- gint icon_size;
-
- g_return_if_fail (GTK_IS_IMAGE (object));
- gimage = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gimage));
-
- glade_widget_property_get (gimage, "icon-size", &icon_size);
-
- gtk_image_set_from_icon_name (GTK_IMAGE (object),
- g_value_get_string (value),
- icon_size);
-}
-
-static void
-glade_gtk_image_refresh (GladeWidget *gwidget, const gchar *property)
-{
- gpointer p;
- glade_widget_property_set_sensitive (gwidget, property, TRUE, NULL);
- glade_widget_property_get (gwidget, property, &p);
- glade_widget_property_set (gwidget, property, p);
-}
-
-static void
-glade_gtk_image_set_type (GObject *object, const GValue *value)
-{
- GladeWidget *gwidget;
- GladeGtkImageType type;
-
- gwidget = glade_widget_get_from_gobject (object);
- g_return_if_fail (GTK_IS_IMAGE (object));
- g_return_if_fail (GLADE_IS_WIDGET (gwidget));
-
- /* Exit if we're still loading project objects */
- if (glade_util_object_is_loading (object)) return;
-
- switch ((type = g_value_get_enum (value)))
- {
- case GLADEGTK_IMAGE_STOCK:
- glade_gtk_image_disable_filename (gwidget);
- glade_gtk_image_disable_icon_name (gwidget);
- glade_gtk_image_refresh (gwidget, "glade-stock");
- break;
-
- case GLADEGTK_IMAGE_ICONTHEME:
- glade_gtk_image_disable_filename (gwidget);
- glade_gtk_image_disable_stock (gwidget);
- glade_gtk_image_refresh (gwidget, "icon-name");
- break;
-
- case GLADEGTK_IMAGE_FILENAME:
- default:
- glade_gtk_image_disable_stock (gwidget);
- glade_gtk_image_disable_icon_name (gwidget);
- glade_gtk_image_refresh (gwidget, "pixbuf");
- break;
- }
-}
-
-/* This basicly just sets the virtual "glade-stock" property
- * based on the image's "stock" property (for glade file loading purposes)
- */
-static void
-glade_gtk_image_set_stock (GObject *object, const GValue *value)
-{
- GladeWidget *gwidget;
- gchar *str;
- gint icon_size;
-
- g_return_if_fail (GTK_IS_IMAGE (object));
- gwidget = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gwidget));
-
- if ((str = g_value_dup_string (value)) &&
- glade_util_object_is_loading (object))
- {
- GEnumClass *eclass = g_type_class_ref (GLADE_TYPE_STOCK_IMAGE);
- GEnumValue *eval;
-
- if ((eval = g_enum_get_value_by_nick (eclass, str)) != NULL)
- glade_widget_property_set (gwidget, "glade-stock",
- eval->value);
- g_type_class_unref (eclass);
- }
-
- if (str == NULL && glade_widget_superuser ()) return;
-
- /* Set the real property */
- glade_widget_property_get (gwidget, "icon-size", &icon_size);
- gtk_image_set_from_stock (GTK_IMAGE (object), str, icon_size);
-
- /* Sometimes it gets recursive around here, valgrind says
- * we should dup a string for this purpose ;-)
- */
- g_free (str);
-}
-
-static void
-glade_gtk_image_set_glade_stock (GObject *object, const GValue *value)
-{
- GladeWidget *gwidget;
- GEnumClass *eclass;
- GEnumValue *eval;
- gint val;
-
- g_return_if_fail (GTK_IS_IMAGE (object));
- gwidget = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gwidget));
-
- /* This is triggered by glade_widget_sync_custom_props () from glade_widget_new_from_widget_info()
- which makes "stock" property to reset */
- if (glade_util_object_is_loading (object)) return;
-
- val = g_value_get_enum (value);
- eclass = g_type_class_ref (G_VALUE_TYPE (value));
- if ((eval = g_enum_get_value (eclass, val)) != NULL)
- {
- if (val == 0)
- glade_widget_property_reset (gwidget, "stock");
- else
- glade_widget_property_set (gwidget, "stock", eval->value_nick);
-
- }
- g_type_class_unref (eclass);
-}
-
-void
-glade_gtk_image_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "glade-type"))
- glade_gtk_image_set_type (object, value);
- else if (!strcmp (id, "stock"))
- glade_gtk_image_set_stock (object, value);
- else if (!strcmp (id, "glade-stock"))
- glade_gtk_image_set_glade_stock (object, value);
- else if (!strcmp (id, "icon-name"))
- glade_gtk_image_set_icon_name (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor, object,
- id, value);
-}
-
-/* ----------------------------- GtkMenuShell ------------------------------ */
-void
-glade_gtk_menu_shell_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
-
- g_return_if_fail (GTK_IS_MENU_SHELL (object));
- g_return_if_fail (GTK_IS_MENU_ITEM (child));
-
- gtk_menu_shell_append (GTK_MENU_SHELL (object), GTK_WIDGET (child));
-}
-
-
-void
-glade_gtk_menu_shell_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_MENU_SHELL (object));
- g_return_if_fail (GTK_IS_MENU_ITEM (child));
-
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-static gint
-glade_gtk_menu_shell_get_item_position (GObject *container, GObject *child)
-{
- gint position = 0;
- GList *list = GTK_MENU_SHELL (container)->children;
-
- while (list)
- {
- if (G_OBJECT (list->data) == child) break;
-
- list = list->next;
- position++;
- }
-
- return position;
-}
-
-void
-glade_gtk_menu_shell_get_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- g_return_if_fail (GTK_IS_MENU_SHELL (container));
- g_return_if_fail (GTK_IS_MENU_ITEM (child));
-
- if (strcmp (property_name, "position") == 0)
- {
- g_value_set_int (value,
- glade_gtk_menu_shell_get_item_position (container,
- child));
- }
- else
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_get_property (adaptor,
- container,
- child,
- property_name,
- value);
-}
-
-void
-glade_gtk_menu_shell_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- g_return_if_fail (GTK_IS_MENU_SHELL (container));
- g_return_if_fail (GTK_IS_MENU_ITEM (child));
- g_return_if_fail (property_name != NULL || value != NULL);
-
- if (strcmp (property_name, "position") == 0)
- {
- GladeWidget *gitem;
- gint position;
-
- gitem = glade_widget_get_from_gobject (child);
- g_return_if_fail (GLADE_IS_WIDGET (gitem));
-
- position = g_value_get_int (value);
-
- if (position < 0)
- {
- position = glade_gtk_menu_shell_get_item_position (container, child);
- g_value_set_int (value, position);
- }
-
- g_object_ref (child);
- gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (child));
- gtk_menu_shell_insert (GTK_MENU_SHELL (container), GTK_WIDGET (child), position);
- g_object_unref (child);
-
- }
- else
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
- container, child,
- property_name, value);
-}
-
-static gchar *
-glade_gtk_menu_shell_get_display_name (GladeBaseEditor *editor,
- GladeWidget *gchild,
- gpointer user_data)
-{
- GObject *child = glade_widget_get_object (gchild);
- gchar *name;
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (child))
- name = _("<separator>");
- else
- glade_widget_property_get (gchild, "label", &name);
-
- return g_strdup (name);
-}
-
-static GladeWidget *
-glade_gtk_menu_shell_item_get_parent (GladeWidget *gparent, GObject *parent)
-{
- GtkWidget *submenu;
-
- if ((submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (parent))))
- gparent = glade_widget_get_from_gobject (submenu);
- else
- gparent = glade_command_create (glade_widget_adaptor_get_by_type (GTK_TYPE_MENU),
- gparent, NULL, glade_widget_get_project (gparent));
- return gparent;
-}
-
-static GladeWidget *
-glade_gtk_menu_shell_build_child (GladeBaseEditor *editor,
- GladeWidget *gparent,
- GType type,
- gpointer data)
-{
- GObject *parent = glade_widget_get_object (gparent);
- GladeWidget *gitem_new;
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (parent))
- return NULL;
-
- /* Get or build real parent */
- if (GTK_IS_MENU_ITEM (parent))
- gparent = glade_gtk_menu_shell_item_get_parent (gparent, parent);
-
- /* Build child */
- gitem_new = glade_command_create (glade_widget_adaptor_get_by_type (type),
- gparent, NULL,
- glade_widget_get_project (gparent));
-
- if (type != GTK_TYPE_SEPARATOR_MENU_ITEM)
- {
- glade_widget_property_set (gitem_new, "label",
- glade_widget_get_name (gitem_new));
- glade_widget_property_set (gitem_new, "use-underline", TRUE);
- }
-
- return gitem_new;
-}
-
-static gboolean
-glade_gtk_menu_shell_delete_child (GladeBaseEditor *editor,
- GladeWidget *gparent,
- GladeWidget *gchild,
- gpointer data)
-{
- GObject *item = glade_widget_get_object (gparent);
- GtkWidget *submenu = NULL;
- GList list = {0, };
- gint n_children;
-
- if (GTK_IS_MENU_ITEM (item) &&
- (submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))))
- {
- GList *l = gtk_container_get_children (GTK_CONTAINER (submenu));
- n_children = g_list_length (l);
- g_list_free (l);
- }
-
- if (submenu && n_children == 1)
- list.data = glade_widget_get_parent (gchild);
- else
- list.data = gchild;
-
- /* Remove widget */
- glade_command_delete (&list);
-
- return TRUE;
-}
-
-static gboolean
-glade_gtk_menu_shell_move_child (GladeBaseEditor *editor,
- GladeWidget *gparent,
- GladeWidget *gchild,
- gpointer data)
-{
- GObject *parent = glade_widget_get_object (gparent);
- GList list = {0, };
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (parent)) return FALSE;
-
- if (GTK_IS_MENU_ITEM (parent))
- gparent = glade_gtk_menu_shell_item_get_parent (gparent, parent);
-
- if (gparent != glade_widget_get_parent (gchild))
- {
- list.data = gchild;
- glade_command_dnd (&list, gparent, NULL);
- }
-
- return TRUE;
-}
-
-static gboolean
-glade_gtk_menu_shell_change_type (GladeBaseEditor *editor,
- GladeWidget *gchild,
- GType type,
- gpointer data)
-{
- GObject *child = glade_widget_get_object (gchild);
-
- if (type == GTK_TYPE_SEPARATOR_MENU_ITEM &&
- gtk_menu_item_get_submenu (GTK_MENU_ITEM (child)))
- return TRUE;
-
- return FALSE;
-}
-
-static void
-glade_gtk_menu_shell_child_selected (GladeBaseEditor *editor,
- GladeWidget *gchild,
- gpointer data)
-{
- GObject *child = glade_widget_get_object (gchild);
- GType type = G_OBJECT_TYPE (child);
-
- glade_base_editor_add_label (editor, "Menu Item");
-
- glade_base_editor_add_default_properties (editor, gchild);
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (child)) return;
-
- glade_base_editor_add_label (editor, "Properties");
-
- glade_base_editor_add_properties (editor, gchild, "label", "tooltip", NULL);
-
- if (type == GTK_TYPE_IMAGE_MENU_ITEM)
- {
- GtkWidget *image;
- GladeWidget *internal;
-
- glade_base_editor_add_properties (editor, gchild, "stock", NULL);
-
- if ((image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (child))))
- {
- if ((internal = glade_widget_get_from_gobject (image)) &&
- internal->internal)
- {
- glade_base_editor_add_label
- (editor, "Internal Image Properties");
- glade_base_editor_add_properties
- (editor, internal, "glade-type", "pixbuf",
- "glade-stock", "icon-name", NULL);
- }
- }
- }
- else if (type == GTK_TYPE_CHECK_MENU_ITEM)
- glade_base_editor_add_properties (editor, gchild,
- "active", "draw-as-radio",
- "inconsistent", NULL);
- else if (type == GTK_TYPE_RADIO_MENU_ITEM)
- glade_base_editor_add_properties (editor, gchild,
- "active", "group", NULL);
-}
-
-static void
-glade_gtk_menu_shell_launch_editor (GObject *object, gchar *title)
-{
- GladeBaseEditor *editor;
- GtkWidget *window;
-
- /* Editor */
- editor = glade_base_editor_new (object, TRUE,
- _("Normal"), GTK_TYPE_MENU_ITEM,
- _("Image"), GTK_TYPE_IMAGE_MENU_ITEM,
- _("Check"), GTK_TYPE_CHECK_MENU_ITEM,
- _("Radio"), GTK_TYPE_RADIO_MENU_ITEM,
- _("Separator"), GTK_TYPE_SEPARATOR_MENU_ITEM,
- NULL);
-
- glade_base_editor_add_popup_items (editor,
- _("Add Item"), GTK_TYPE_MENU_ITEM, FALSE,
- _("Add Child Item"), GTK_TYPE_MENU_ITEM, TRUE,
- _("Add Separator"), GTK_TYPE_SEPARATOR_MENU_ITEM, FALSE,
- NULL);
-
- g_signal_connect (editor, "get-display-name", G_CALLBACK (glade_gtk_menu_shell_get_display_name), NULL);
- g_signal_connect (editor, "child-selected", G_CALLBACK (glade_gtk_menu_shell_child_selected), NULL);
- g_signal_connect (editor, "change-type", G_CALLBACK (glade_gtk_menu_shell_change_type), NULL);
- g_signal_connect (editor, "build-child", G_CALLBACK (glade_gtk_menu_shell_build_child), NULL);
- g_signal_connect (editor, "delete-child", G_CALLBACK (glade_gtk_menu_shell_delete_child), NULL);
- g_signal_connect (editor, "move-child", G_CALLBACK (glade_gtk_menu_shell_move_child), NULL);
-
- gtk_widget_show (GTK_WIDGET (editor));
-
- window = glade_base_editor_pack_new_window (editor, title,
- _("<big><b>Tips:</b></big>\n"
- " * Right click over the treeview to add items.\n"
- " * Press Delete to remove the selected item.\n"
- " * Drag &amp; Drop to reorder.\n"
- " * Type column is editable."));
- gtk_widget_show (window);
-}
-
-void
-glade_gtk_menu_shell_action_activate (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *action_path)
-{
- if (strcmp (action_path, "launch_editor") == 0)
- {
- if (GTK_IS_MENU_BAR (object))
- glade_gtk_menu_shell_launch_editor (object, _("Edit Menu Bar"));
- else if (GTK_IS_MENU (object))
- glade_gtk_menu_shell_launch_editor (object, _("Edit Menu"));
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->action_activate (adaptor,
- object,
- action_path);
-}
-
-/* ----------------------------- GtkMenuItem(s) ------------------------------ */
-GList *
-glade_gtk_menu_item_get_children (GladeWidgetAdaptor *adaptor,
- GObject *object)
-{
- GList *list = NULL;
- GtkWidget *child;
-
- g_return_val_if_fail (GTK_IS_MENU_ITEM (object), NULL);
-
- if ((child = gtk_menu_item_get_submenu (GTK_MENU_ITEM (object))))
- list = g_list_append (list, child);
-
- if (GTK_IS_IMAGE_MENU_ITEM (object) &&
- (child = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (object))))
- list = g_list_append (list, child);
-
- return list;
-}
-
-void
-glade_gtk_menu_item_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object, GObject *child)
-{
- g_return_if_fail (GTK_IS_MENU_ITEM (object));
- g_return_if_fail (GTK_IS_MENU (child));
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (object))
- {
- g_warning ("You shouldn't try to add a GtkMenu to a GtkSeparatorMenuItem");
- return;
- }
-
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (object), GTK_WIDGET (child));
-}
-
-void
-glade_gtk_menu_item_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object, GObject *child)
-{
- g_return_if_fail (GTK_IS_MENU_ITEM (object));
- g_return_if_fail (GTK_IS_MENU (child));
-
- gtk_menu_item_remove_submenu (GTK_MENU_ITEM (object));
-}
-
-#define glade_return_if_re_entrancy(o,p,v) \
- if ((v) == GPOINTER_TO_INT (g_object_get_data (G_OBJECT (o), p))) return; g_object_set_data (G_OBJECT (o), p, GINT_TO_POINTER ((v)))
-
-void
-glade_gtk_menu_item_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeWidget *gitem, *gimage;
-
- g_return_if_fail (GTK_IS_MENU_ITEM (object));
- gitem = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gitem));
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (object)) return;
-
- if (gtk_bin_get_child (GTK_BIN (object)) == NULL)
- {
- GtkWidget *label = gtk_label_new ("");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_container_add (GTK_CONTAINER (object), label);
- }
-
- if (GTK_IS_IMAGE_MENU_ITEM (object))
- {
- gboolean use_stock;
-
- glade_widget_property_get (gitem, "use-stock", &use_stock);
- if (use_stock)
- {
- GEnumClass *eclass;
- GEnumValue *eval;
- gchar *label;
-
- glade_widget_property_get (gitem, "label", &label);
-
- eclass = g_type_class_ref (GLADE_TYPE_STOCK);
- eval = g_enum_get_value_by_nick (eclass, label);
- if (eval)
- glade_widget_property_set(gitem, "stock", eval->value);
-
- glade_widget_property_set (gitem, "use-underline", TRUE);
- }
- else
- {
- if (reason == GLADE_CREATE_USER)
- {
- GtkWidget *image = gtk_image_new ();
-
- gimage = glade_widget_adaptor_create_internal
- (gitem, G_OBJECT (image),
- "image", "menu-item", FALSE, reason);
- gtk_image_menu_item_set_image
- (GTK_IMAGE_MENU_ITEM (object), image);
- }
- }
- }
-}
-
-static void
-glade_gtk_menu_item_set_label (GObject *object, const GValue *value)
-{
- GladeWidget *gitem;
- GtkWidget *label;
- gboolean use_underline, use_stock;
- const gchar *label_str, *last_label_str;
-
- g_return_if_fail (GTK_IS_MENU_ITEM (object));
- gitem = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gitem));
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (object)) return;
-
- label_str = g_value_get_string (value);
-
- last_label_str = g_object_get_data (G_OBJECT (gitem), "label");
- if (last_label_str)
- if (strcmp(label_str, last_label_str) == 0) return;
- g_object_set_data_full (G_OBJECT (gitem), "label", g_strdup(label_str), g_free);
-
- if (GTK_IS_IMAGE_MENU_ITEM (object))
- {
- glade_widget_property_get (gitem, "use-stock", &use_stock);
-
- if (use_stock)
- {
- GtkWidget *image;
- GEnumClass *eclass;
- GEnumValue *eval;
-
- eclass = g_type_class_ref (GLADE_TYPE_STOCK);
- eval = g_enum_get_value_by_nick (eclass, label_str);
-
- if (eval)
- {
- label_str = eval->value_name;
-
- image = gtk_image_new_from_stock (eval->value_nick, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (object), image);
- }
-
- g_type_class_unref (eclass);
- }
- }
-
- label = gtk_bin_get_child (GTK_BIN (object));
- gtk_label_set_text (GTK_LABEL (label), label_str);
-
- glade_widget_property_get (gitem, "use-underline", &use_underline);
- gtk_label_set_use_underline (GTK_LABEL (label), use_underline);
-}
-
-static void
-glade_gtk_menu_item_set_use_underline (GObject *object, const GValue *value)
-{
- GtkMenuItem *item;
- GtkWidget *label;
-
- g_return_if_fail (GTK_IS_MENU_ITEM (object));
-
- item = GTK_MENU_ITEM (object);
-
- if (GTK_IS_SEPARATOR_MENU_ITEM (item)) return;
-
- label = gtk_bin_get_child (GTK_BIN (item));
-
- gtk_label_set_use_underline (GTK_LABEL (label), g_value_get_boolean (value));
-}
-
-GObject *
-glade_gtk_image_menu_item_get_internal_child (GladeWidgetAdaptor *adaptor,
- GObject *parent,
- const gchar *name);
-
-static void
-glade_gtk_menu_item_set_stock_item (GObject *object, const GValue *value)
-{
- GladeWidget *gitem, *gimage;
- GEnumClass *eclass;
- GEnumValue *eval;
- gint val;
- gchar *label, *icon;
- GObject *image;
- gboolean is_image_item;
-
- g_return_if_fail (GTK_IS_MENU_ITEM (object));
-
- if ((val = g_value_get_enum (value)) == GNOMEUIINFO_MENU_NONE)
- return;
-
- eclass = g_type_class_ref (G_VALUE_TYPE (value));
- if ((eval = g_enum_get_value (eclass, val)) == NULL)
- {
- g_type_class_unref (eclass);
- return;
- }
-
- g_type_class_unref (eclass);
-
- /* set use-underline */
- gitem = glade_widget_get_from_gobject (object);
- glade_widget_property_set (gitem, "use-underline", TRUE);
-
- is_image_item = GTK_IS_IMAGE_MENU_ITEM (object);
-
- /* If its a GtkImageMenuItem */
- if (is_image_item && eval->value_nick)
- {
- glade_widget_property_set (gitem, "use-stock", TRUE);
- glade_widget_property_set (gitem, "label", eval->value_nick);
- return;
- }
-
- icon = NULL;
- switch (val)
- {
- case GNOMEUIINFO_MENU_PRINT_SETUP_ITEM:
- icon = "gtk-print";
- label = _("Print S_etup");
- break;
- case GNOMEUIINFO_MENU_FIND_AGAIN_ITEM:
- icon = "gtk-find";
- label = _("Find Ne_xt");
- break;
- case GNOMEUIINFO_MENU_UNDO_MOVE_ITEM:
- icon = "gtk-undo";
- label = _("_Undo Move");
- break;
- case GNOMEUIINFO_MENU_REDO_MOVE_ITEM:
- icon = "gtk-redo";
- label = _("_Redo Move");
- break;
- case GNOMEUIINFO_MENU_SELECT_ALL_ITEM:
- label = _("Select _All");
- break;
- case GNOMEUIINFO_MENU_NEW_GAME_ITEM:
- label = _("_New Game");
- break;
- case GNOMEUIINFO_MENU_PAUSE_GAME_ITEM:
- label = _("_Pause game");
- break;
- case GNOMEUIINFO_MENU_RESTART_GAME_ITEM:
- label = _("_Restart Game");
- break;
- case GNOMEUIINFO_MENU_HINT_ITEM:
- label = _("_Hint");
- break;
- case GNOMEUIINFO_MENU_SCORES_ITEM:
- label = _("_Scores...");
- break;
- case GNOMEUIINFO_MENU_END_GAME_ITEM:
- label = _("_End Game");
- break;
- case GNOMEUIINFO_MENU_NEW_WINDOW_ITEM:
- label = _("Create New _Window");
- break;
- case GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM:
- label = _("_Close This Window");
- break;
- case GNOMEUIINFO_MENU_FILE_TREE:
- label = _("_File");
- break;
- case GNOMEUIINFO_MENU_EDIT_TREE:
- label = _("_Edit");
- break;
- case GNOMEUIINFO_MENU_VIEW_TREE:
- label = _("_View");
- break;
- case GNOMEUIINFO_MENU_SETTINGS_TREE:
- label = _("_Settings");
- break;
- case GNOMEUIINFO_MENU_FILES_TREE:
- label = _("Fi_les");
- break;
- case GNOMEUIINFO_MENU_WINDOWS_TREE:
- label = _("_Windows");
- break;
- case GNOMEUIINFO_MENU_HELP_TREE:
- label = _("_Help");
- break;
- case GNOMEUIINFO_MENU_GAME_TREE:
- label = _("_Game");
- break;
- default:
- return;
- break;
- }
-
- if (is_image_item && icon)
- {
- eclass = g_type_class_ref (GLADE_TYPE_STOCK);
- eval = g_enum_get_value_by_nick (eclass, icon);
- g_type_class_unref (eclass);
-
- image = glade_gtk_image_menu_item_get_internal_child
- (gitem->adaptor, object, "image");
-
- gimage = glade_widget_get_from_gobject (image);
- glade_widget_property_set (gimage, "icon-size", GTK_ICON_SIZE_MENU);
- glade_widget_property_set (gimage, "glade-stock", eval->value);
- }
-
- glade_widget_property_set (gitem, "label", label);
-}
-
-void
-glade_gtk_menu_item_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "use-underline"))
- glade_gtk_menu_item_set_use_underline (object, value);
- else if (!strcmp (id, "label"))
- glade_gtk_menu_item_set_label (object, value);
- else if (!strcmp (id, "stock-item"))
- glade_gtk_menu_item_set_stock_item (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object,
- id, value);
-}
-
-GObject *
-glade_gtk_image_menu_item_get_internal_child (GladeWidgetAdaptor *adaptor,
- GObject *parent,
- const gchar *name)
-{
- GtkWidget *image;
- GObject *child = NULL;
-
- if (GTK_IS_IMAGE_MENU_ITEM (parent) && strcmp (name, "image") == 0)
- {
- image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (parent));
- if (image == NULL)
- {
- GladeWidget *gitem, *gimage;
-
- gitem = glade_widget_get_from_gobject (parent);
- image = gtk_image_new ();
-
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (parent), image);
-
- gimage = glade_widget_adaptor_create_internal
- (gitem, G_OBJECT (image), "image", "menu-item",
- FALSE, GLADE_CREATE_LOAD);
- }
- child = G_OBJECT (image);
- }
-
- return child;
-}
-
-static void
-glade_gtk_image_menu_item_set_use_stock (GObject *object, const GValue *value)
-{
- GladeWidget *gitem, *gimage;
- gboolean use_stock;
- GtkWidget *image;
-
- g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (object));
- gitem = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gitem));
-
- use_stock = g_value_get_boolean (value);
-
- glade_return_if_re_entrancy (gitem, "use-stock", use_stock);
-
- if ((image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (object))))
- if(glade_widget_get_from_gobject (G_OBJECT(image)))
- {
- glade_project_remove_object (glade_widget_get_project (gitem), G_OBJECT(image));
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (object), NULL);
- }
-
- if (use_stock)
- {
- glade_widget_property_set_sensitive (gitem, "label", FALSE,
- _("This does not apply with stock items"));
- }
- else
- {
- image = gtk_image_new ();
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (object), image);
- gimage = glade_widget_adaptor_create_internal
- (gitem, G_OBJECT (image), "image", "menu-item", FALSE,
- GLADE_CREATE_LOAD);
- glade_project_add_object (glade_widget_get_project (gitem),
- NULL, G_OBJECT (image));
-
- glade_widget_property_set_sensitive (gitem, "label", TRUE, NULL);
- }
-}
-
-static void
-glade_gtk_image_menu_item_set_stock (GObject *object, const GValue *value)
-{
- GladeWidget *gitem;
- GEnumClass *eclass;
- GEnumValue *eval;
- gint val;
-
- g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (object));
- gitem = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gitem));
-
- val = g_value_get_enum (value);
-
- glade_return_if_re_entrancy (gitem, "stock", val);
-
- glade_widget_property_set (gitem, "use-stock", val);
-
- eclass = g_type_class_ref (GLADE_TYPE_STOCK);
- eval = g_enum_get_value (eclass, val);
- if (eval && val)
- glade_widget_property_set (gitem, "label", eval->value_nick);
-
- g_type_class_unref (eclass);
-}
-
-void
-glade_gtk_image_menu_item_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "stock"))
- glade_gtk_image_menu_item_set_stock (object, value);
- else if (!strcmp (id, "use-stock"))
- glade_gtk_image_menu_item_set_use_stock (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_MENU_ITEM)->set_property (adaptor, object,
- id, value);
-}
-
-static void
-glade_gtk_radio_menu_item_set_group (GObject *object, const GValue *value)
-{
- GObject *val;
-
- g_return_if_fail (GTK_IS_RADIO_MENU_ITEM (object));
-
- if ((val = g_value_get_object (value)))
- {
- GSList *group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (val));
-
- if (! g_slist_find (group, GTK_RADIO_MENU_ITEM (object)))
- gtk_radio_menu_item_set_group (GTK_RADIO_MENU_ITEM (object), group);
- }
-}
-
-void
-glade_gtk_radio_menu_item_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
-
- if (!strcmp (id, "group"))
- glade_gtk_radio_menu_item_set_group (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_MENU_ITEM)->set_property (adaptor, object,
- id, value);
-}
-
-void
-glade_gtk_menu_item_action_activate (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *action_path)
-{
- if (strcmp (action_path, "launch_editor") == 0)
- {
- GladeWidget *w = glade_widget_get_from_gobject (object);
-
- while ((w = glade_widget_get_parent (w)))
- {
- GObject *obj = glade_widget_get_object (w);
- if (GTK_IS_MENU_SHELL (obj)) object = obj;
- }
-
- if (GTK_IS_MENU_BAR (object))
- glade_gtk_menu_shell_launch_editor (object, _("Edit Menu Bar"));
- else if (GTK_IS_MENU (object))
- glade_gtk_menu_shell_launch_editor (object, _("Edit Menu"));
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->action_activate (adaptor,
- object,
- action_path);
-}
-
-/* ----------------------------- GtkMenuBar ------------------------------ */
-static GladeWidget *
-glade_gtk_menu_bar_append_new_submenu (GladeWidget *parent, GladeProject *project)
-{
- static GladeWidgetAdaptor *submenu_adaptor = NULL;
- GladeWidget *gsubmenu;
-
- if (submenu_adaptor == NULL)
- submenu_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_MENU);
-
- gsubmenu = glade_widget_adaptor_create_widget (submenu_adaptor, FALSE,
- "parent", parent,
- "project", project,
- NULL);
-
- glade_widget_add_child (parent, gsubmenu, FALSE);
-
- return gsubmenu;
-}
-
-static GladeWidget *
-glade_gtk_menu_bar_append_new_item (GladeWidget *parent,
- GladeProject *project,
- const gchar *label,
- gboolean use_stock)
-{
- static GladeWidgetAdaptor *item_adaptor = NULL, *image_item_adaptor, *separator_adaptor;
- GladeWidget *gitem;
-
- if (item_adaptor == NULL)
- {
- item_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_MENU_ITEM);
- image_item_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_IMAGE_MENU_ITEM);
- separator_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_SEPARATOR_MENU_ITEM);
- }
-
- if (label)
- {
- gitem = glade_widget_adaptor_create_widget ((use_stock) ? image_item_adaptor : item_adaptor,
- FALSE, "parent", parent,
- "project", project,
- NULL);
-
- glade_widget_property_set (gitem, "use-underline", TRUE);
-
- if (use_stock)
- {
- GEnumClass *eclass;
- GEnumValue *eval;
-
- eclass = g_type_class_ref (GLADE_TYPE_STOCK);
- eval = g_enum_get_value_by_nick (eclass, label);
-
- if (eval)
- glade_widget_property_set (gitem, "stock", eval->value);
-
- g_type_class_unref (eclass);
- }
- else
- {
- glade_widget_property_set (gitem, "label", label);
- }
- }
- else
- {
- gitem = glade_widget_adaptor_create_widget (separator_adaptor,
- FALSE, "parent", parent,
- "project", project,
- NULL);
- }
-
- glade_widget_add_child (parent, gitem, FALSE);
-
- return gitem;
-}
-
-void
-glade_gtk_menu_bar_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeProject *project;
- GladeWidget *gmenubar, *gitem, *gsubmenu;
-
- g_return_if_fail (GTK_IS_MENU_BAR (object));
- gmenubar = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gmenubar));
-
- if (reason != GLADE_CREATE_USER) return;
-
- project = glade_widget_get_project (gmenubar);
-
- /* File */
- gitem = glade_gtk_menu_bar_append_new_item (gmenubar, project, _("_File"), FALSE);
- gsubmenu = glade_gtk_menu_bar_append_new_submenu (gitem, project);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-new", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-open", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-save", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-save-as", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, NULL, FALSE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-quit", TRUE);
-
- /* Edit */
- gitem = glade_gtk_menu_bar_append_new_item (gmenubar, project, _("_Edit"), FALSE);
- gsubmenu = glade_gtk_menu_bar_append_new_submenu (gitem, project);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-cut", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-copy", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-paste", TRUE);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-delete", TRUE);
-
- /* View */
- gitem = glade_gtk_menu_bar_append_new_item (gmenubar, project, _("_View"), FALSE);
-
- /* Help */
- gitem = glade_gtk_menu_bar_append_new_item (gmenubar, project, _("_Help"), FALSE);
- gsubmenu = glade_gtk_menu_bar_append_new_submenu (gitem, project);
- glade_gtk_menu_bar_append_new_item (gsubmenu, project, "gtk-about", TRUE);
-}
-
-/* ----------------------------- GtkToolBar ------------------------------ */
-void
-glade_gtk_toolbar_get_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- g_return_if_fail (GTK_IS_TOOLBAR (container));
- if (GTK_IS_TOOL_ITEM (child) == FALSE) return;
-
- if (strcmp (property_name, "position") == 0)
- {
- g_value_set_int (value,
- gtk_toolbar_get_item_index (GTK_TOOLBAR (container),
- GTK_TOOL_ITEM (child)));
- }
- else
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_get_property (adaptor,
- container, child,
- property_name, value);
-}
-
-void
-glade_gtk_toolbar_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- g_return_if_fail (GTK_IS_TOOLBAR (container));
- g_return_if_fail (GTK_IS_TOOL_ITEM (child));
-
- g_return_if_fail (property_name != NULL || value != NULL);
-
- if (strcmp (property_name, "position") == 0)
- {
- GtkToolbar *toolbar = GTK_TOOLBAR (container);
- gint position, size;
-
- position = g_value_get_int (value);
- size = gtk_toolbar_get_n_items (toolbar);
-
- if (position >= size) position = size - 1;
-
- g_object_ref (child);
- gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (child));
- gtk_toolbar_insert (toolbar, GTK_TOOL_ITEM (child), position);
- g_object_unref (child);
- }
- else
- /* Chain Up */
- GWA_GET_CLASS
- (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
- container, child,
- property_name, value);
-}
-
-void
-glade_gtk_toolbar_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object, GObject *child)
-{
- GtkToolbar *toolbar;
- GtkToolItem *item;
-
- g_return_if_fail (GTK_IS_TOOLBAR (object));
- g_return_if_fail (GTK_IS_TOOL_ITEM (child));
-
- toolbar = GTK_TOOLBAR (object);
- item = GTK_TOOL_ITEM (child);
-
- gtk_toolbar_insert (toolbar, item, -1);
-
- if (glade_util_object_is_loading (object))
- {
- GladeWidget *gchild = glade_widget_get_from_gobject (child);
-
- /* Packing props arent around when parenting during a glade_widget_dup() */
- if (gchild && gchild->packing_properties)
- glade_widget_pack_property_set (gchild, "position",
- gtk_toolbar_get_item_index (toolbar, item));
- }
-}
-
-void
-glade_gtk_toolbar_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object, GObject *child)
-{
- gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-static gchar *
-glade_gtk_toolbar_get_display_name (GladeBaseEditor *editor,
- GladeWidget *gchild,
- gpointer user_data)
-{
- GObject *child = glade_widget_get_object (gchild);
- gchar *name;
-
- if (GTK_IS_SEPARATOR_TOOL_ITEM (child))
- name = _("<separator>");
- else
- if (GTK_IS_TOOL_BUTTON (child))
- {
- glade_widget_property_get (gchild, "label", &name);
- if (name == NULL || strlen (name) == 0)
- glade_widget_property_get (gchild, "stock-id", &name);
- }
- else
- name = _("<custom>");
-
- return g_strdup (name);
-}
-
-static void
-glade_gtk_toolbar_child_selected (GladeBaseEditor *editor,
- GladeWidget *gchild,
- gpointer data)
-{
- GObject *child = glade_widget_get_object (gchild);
- GType type = G_OBJECT_TYPE (child);
-
- glade_base_editor_add_label (editor, "Tool Item");
-
- glade_base_editor_add_default_properties (editor, gchild);
-
- glade_base_editor_add_label (editor, "Properties");
-
- glade_base_editor_add_properties (editor, gchild,
- "visible-horizontal",
- "visible-vertical",
- NULL);
-
- if (type == GTK_TYPE_SEPARATOR_TOOL_ITEM) return;
-
- if (GTK_IS_TOOL_BUTTON (child))
- glade_base_editor_add_properties (editor, gchild,
- "label",
- "glade-type",
- "icon",
- "glade-stock",
- "icon-name",
- NULL);
-
- if (type == GTK_TYPE_RADIO_TOOL_BUTTON)
- glade_base_editor_add_properties (editor, gchild,
- "group", "active", NULL);
-}
-
-static void
-glade_gtk_toolbar_launch_editor (GladeWidgetAdaptor *adaptor,
- GObject *toolbar)
-{
- GladeBaseEditor *editor;
- GtkWidget *window;
- /* Editor */
- editor = glade_base_editor_new (toolbar, FALSE,
- _("Button"), GTK_TYPE_TOOL_BUTTON,
- _("Toggle"), GTK_TYPE_TOGGLE_TOOL_BUTTON,
- _("Radio"), GTK_TYPE_RADIO_TOOL_BUTTON,
- _("Menu"), GTK_TYPE_MENU_TOOL_BUTTON,
- _("Item"), GTK_TYPE_TOOL_ITEM,
- _("Separator"), GTK_TYPE_SEPARATOR_TOOL_ITEM,
- NULL);
-
- glade_base_editor_add_popup_items (editor,
- _("Add Tool Button"), GTK_TYPE_TOOL_BUTTON, FALSE,
- _("Add Toggle Button"), GTK_TYPE_TOGGLE_TOOL_BUTTON, FALSE,
- _("Add Radio Button"), GTK_TYPE_RADIO_TOOL_BUTTON, FALSE,
- _("Add Menu Button"), GTK_TYPE_MENU_TOOL_BUTTON, FALSE,
- _("Add Tool Item"), GTK_TYPE_TOOL_ITEM, FALSE,
- _("Add Separator"), GTK_TYPE_SEPARATOR_TOOL_ITEM, FALSE,
- NULL);
-
- g_signal_connect (editor, "get-display-name", G_CALLBACK (glade_gtk_toolbar_get_display_name), NULL);
- g_signal_connect (editor, "child-selected", G_CALLBACK (glade_gtk_toolbar_child_selected), NULL);
-
- gtk_widget_show (GTK_WIDGET (editor));
-
- window = glade_base_editor_pack_new_window (editor, _("Tool Bar Editor"), NULL);
- gtk_widget_show (window);
-}
-
-void
-glade_gtk_toolbar_action_activate (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *action_path)
-{
- if (strcmp (action_path, "launch_editor") == 0)
- {
- glade_gtk_toolbar_launch_editor (adaptor, object);
- }
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->action_activate (adaptor,
- object,
- action_path);
-}
-
-/* ----------------------------- GtkToolItem ------------------------------ */
-void
-glade_gtk_tool_item_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- g_return_if_fail (GTK_IS_TOOL_ITEM (object));
-
- if (GTK_IS_SEPARATOR_TOOL_ITEM (object)) return;
-
- if (reason == GLADE_CREATE_USER &&
- gtk_bin_get_child (GTK_BIN (object)) == NULL)
- gtk_container_add (GTK_CONTAINER (object),
- glade_placeholder_new ());
-}
-
-/* ----------------------------- GtkToolButton ------------------------------ */
-static void
-glade_gtk_tool_button_set_type (GObject *object, const GValue *value)
-{
- GladeWidget *gbutton;
-
- g_return_if_fail (GTK_IS_TOOL_BUTTON (object));
- gbutton = glade_widget_get_from_gobject (object);
-
- if (glade_util_object_is_loading (object)) return;
-
- glade_widget_property_set_sensitive (gbutton, "icon", FALSE,
- _("This only applies with file type images"));
- glade_widget_property_set_sensitive (gbutton, "glade-stock", FALSE,
- _("This only applies with stock type images"));
- glade_widget_property_set_sensitive (gbutton, "icon-name", FALSE,
- _("This only applies to Icon Theme type images"));
-
- switch (g_value_get_enum (value))
- {
- case GLADEGTK_IMAGE_FILENAME:
- glade_widget_property_set_sensitive (gbutton, "icon",
- TRUE, NULL);
- glade_widget_property_set (gbutton, "glade-stock", NULL);
- glade_widget_property_set (gbutton, "icon-name", NULL);
- break;
- case GLADEGTK_IMAGE_STOCK:
- glade_widget_property_set_sensitive (gbutton, "glade-stock",
- TRUE, NULL);
- glade_widget_property_set (gbutton, "icon", NULL);
- glade_widget_property_set (gbutton, "icon-name", NULL);
- break;
- case GLADEGTK_IMAGE_ICONTHEME:
- glade_widget_property_set_sensitive (gbutton, "icon-name",
- TRUE, NULL);
- glade_widget_property_set (gbutton, "icon", NULL);
- glade_widget_property_set (gbutton, "glade-stock", NULL);
- break;
- }
-}
-
-static void
-glade_gtk_tool_button_set_label (GObject *object, const GValue *value)
-{
- const gchar *label;
-
- g_return_if_fail (GTK_IS_TOOL_BUTTON (object));
-
- label = g_value_get_string (value);
-
- if (label && strlen (label) == 0) label = NULL;
-
- gtk_tool_button_set_label (GTK_TOOL_BUTTON (object), label);
-}
-
-static void
-glade_gtk_tool_button_set_stock_id (GObject *object, const GValue *value)
-{
- GladeWidget *gbutton;
- GEnumClass *eclass;
- GEnumValue *eval;
- const gchar *stock_id;
-
- g_return_if_fail (GTK_IS_TOOL_BUTTON (object));
- gbutton = glade_widget_get_from_gobject (object);
-
- if ((stock_id = g_value_get_string (value)))
- {
- eclass = g_type_class_ref (GLADE_TYPE_STOCK_IMAGE);
-
- if ((eval = g_enum_get_value_by_nick (eclass, stock_id)) != NULL)
- glade_widget_property_set (gbutton, "glade-stock", eval->value);
- else
- {
- glade_widget_property_set (gbutton, "glade-stock",
- "gtk-missing-image");
- g_warning ("Invalid stock-id '%s' found in toolbutton", stock_id);
- }
-
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_IMAGE_STOCK);
-
- g_type_class_unref (eclass);
- }
-
- if (stock_id && strlen (stock_id) == 0) stock_id = NULL;
-
- gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON (object), stock_id);
-}
-
-static void
-glade_gtk_tool_button_set_glade_stock (GObject *object, const GValue *value)
-{
- GladeWidget *gbutton;
- GEnumClass *eclass;
- GEnumValue *eval;
- gint val;
-
- g_return_if_fail (GTK_IS_TOOL_BUTTON (object));
- gbutton = glade_widget_get_from_gobject (object);
-
- val = g_value_get_enum (value);
-
- if (val)
- {
- eclass = g_type_class_ref (GLADE_TYPE_STOCK_IMAGE);
-
- if ((eval = g_enum_get_value (eclass, val)) != NULL)
- glade_widget_property_set (gbutton, "stock-id", eval->value_nick);
- else
- {
- glade_widget_property_set (gbutton, "stock-id", "gtk-missing-image");
- g_warning ("Invalid glade stock id '%d' found in toolbutton", val);
- }
- g_type_class_unref (eclass);
- }
- else
- glade_widget_property_set (gbutton, "stock-id", NULL);
-}
-
-static void
-glade_gtk_tool_button_set_icon (GObject *object, const GValue *value)
-{
- GladeWidget *gbutton;
- GObject *pixbuf;
- GtkWidget *image = NULL;
-
- g_return_if_fail (GTK_IS_TOOL_BUTTON (object));
- gbutton = glade_widget_get_from_gobject (object);
-
- if ((pixbuf = g_value_get_object (value)))
- {
- image = gtk_image_new_from_pixbuf (GDK_PIXBUF (pixbuf));
- gtk_widget_show (image);
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_IMAGE_FILENAME);
- }
-
- gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (object), image);
-}
-
-static void
-glade_gtk_tool_button_set_icon_name (GObject *object, const GValue *value)
-{
- GladeWidget *gbutton;
- const gchar *name;
-
- g_return_if_fail (GTK_IS_TOOL_BUTTON (object));
-
- if ((name = g_value_get_string (value)))
- {
- gbutton = glade_widget_get_from_gobject (object);
- glade_widget_property_set (gbutton, "glade-type", GLADEGTK_IMAGE_ICONTHEME);
- }
-
- if (name && strlen (name) == 0) name = NULL;
-
- gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (object), name);
-}
-
-void
-glade_gtk_tool_button_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "glade-type"))
- glade_gtk_tool_button_set_type (object, value);
- else if (!strcmp (id, "glade-stock"))
- glade_gtk_tool_button_set_glade_stock (object, value);
- else if (!strcmp (id, "icon-name"))
- glade_gtk_tool_button_set_icon_name (object, value);
- else if (!strcmp (id, "icon"))
- glade_gtk_tool_button_set_icon (object, value);
- else if (!strcmp (id, "stock-id"))
- glade_gtk_tool_button_set_stock_id (object, value);
- else if (!strcmp (id, "label"))
- glade_gtk_tool_button_set_label (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_TOOL_ITEM)->set_property (adaptor,
- object,
- id, value);
-}
-
-/* ----------------------------- GtkLabel ------------------------------ */
-static void
-glade_gtk_label_set_label (GObject *object, const GValue *value)
-{
- GladeWidget *glabel;
- gboolean use_markup = FALSE, use_underline = FALSE;
-
- g_return_if_fail (GTK_IS_LABEL (object));
- glabel = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (glabel));
-
- glade_widget_property_get (glabel, "use-markup", &use_markup);
-
- if (use_markup)
- gtk_label_set_markup (GTK_LABEL (object), g_value_get_string (value));
- else
- gtk_label_set_text (GTK_LABEL (object), g_value_get_string (value));
-
- glade_widget_property_get (glabel, "use-underline", &use_underline);
- if (use_underline)
- gtk_label_set_use_underline (GTK_LABEL (object), use_underline);
-}
-
-void
-glade_gtk_label_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "label"))
- glade_gtk_label_set_label (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_WIDGET)->set_property (adaptor,
- object,
- id, value);
-}
-
-/* ----------------------------- GtkTextView ------------------------------ */
-static void
-glade_gtk_text_view_changed (GtkTextBuffer *buffer, GladeWidget *gtext)
-{
- const gchar *text_prop;
- GladeProperty *prop;
- gchar *text;
-
- g_object_get (buffer, "text", &text, NULL);
-
- glade_widget_property_get (gtext, "text", &text_prop);
-
- if (strcmp (text, text_prop))
- if ((prop = glade_widget_get_property (gtext, "text")))
- glade_command_set_property (prop, text);
-
- g_free (text);
-}
-
-static gboolean
-glade_gtk_text_view_stop_double_click (GtkWidget *widget,
- GdkEventButton *event,
- gpointer user_data)
-{
- /* Return True if the event is double or triple click */
- return (event->type == GDK_2BUTTON_PRESS ||
- event->type == GDK_3BUTTON_PRESS);
-}
-
-void
-glade_gtk_text_view_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GtkTextBuffer *buffy = gtk_text_buffer_new (NULL);
- GladeWidget *gtext;
-
- g_return_if_fail (GTK_IS_TEXT_VIEW (object));
- gtext = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gtext));
-
- /* This makes gtk_text_view_set_buffer() stop complaing */
- gtk_drag_dest_set (GTK_WIDGET (object), 0, NULL, 0, 0);
-
- gtk_text_view_set_buffer (GTK_TEXT_VIEW (object), buffy);
- g_signal_connect (buffy, "changed",
- G_CALLBACK (glade_gtk_text_view_changed),
- gtext);
-
- g_object_unref (G_OBJECT (buffy));
-
- /* Glade3 hangs when a TextView gets a double click. So we stop them */
- g_signal_connect (object, "button-press-event",
- G_CALLBACK (glade_gtk_text_view_stop_double_click),
- NULL);
-}
-
-static void
-glade_gtk_text_view_set_text (GObject *object, const GValue *value)
-{
- GtkTextBuffer *buffy;
- GladeWidget *gtext;
- const gchar *text;
-
- g_return_if_fail (GTK_IS_TEXT_VIEW (object));
- gtext = glade_widget_get_from_gobject (object);
- g_return_if_fail (GLADE_IS_WIDGET (gtext));
-
- buffy = gtk_text_view_get_buffer (GTK_TEXT_VIEW (object));
-
- if ((text = g_value_get_string (value)) == NULL) return;
-
- g_signal_handlers_block_by_func (buffy, glade_gtk_text_view_changed, gtext);
- gtk_text_buffer_set_text (buffy, text, -1);
- g_signal_handlers_unblock_by_func (buffy, glade_gtk_text_view_changed, gtext);
-}
-
-void
-glade_gtk_text_view_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "text"))
- glade_gtk_text_view_set_text (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
- object,
- id, value);
-}
-
-
-/* ----------------------------- GtkComboBox ------------------------------ */
-void
-glade_gtk_combo_box_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GtkCellRenderer *cell;
- GtkListStore *store;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (object));
-
- /* Add store */
- store = gtk_list_store_new (1, G_TYPE_STRING);
- gtk_combo_box_set_model (GTK_COMBO_BOX (object), GTK_TREE_MODEL (store));
- g_object_unref (store);
-
- /* Add cell renderer */
- cell = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (object), cell, TRUE);
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (object), cell,
- "text", 0, NULL);
-}
-
-static void
-glade_gtk_combo_box_set_items (GObject *object, const GValue *value)
-{
- GtkComboBox *combo;
- gchar **split;
- gint i;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (object));
-
- combo = GTK_COMBO_BOX (object);
-
- /* Empty the combo box */
- gtk_list_store_clear (GTK_LIST_STORE (gtk_combo_box_get_model (combo)));
-
- /* Refill the combo box */
- split = g_value_get_boxed (value);
-
- if (split)
- for (i = 0; split[i] != NULL; i++)
- if (split[i][0] != '\0')
- gtk_combo_box_append_text (combo, split[i]);
-}
-
-void
-glade_gtk_combo_box_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "items"))
- glade_gtk_combo_box_set_items (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
- object,
- id, value);
-}
-
-/* ----------------------------- GtkComboBoxEntry ------------------------------ */
-void
-glade_gtk_combo_box_entry_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeWidget *gcombo = glade_widget_get_from_gobject (object);
-
- /* Chain up */
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->post_create (adaptor, object, reason);
-
- glade_widget_adaptor_create_internal
- (gcombo, G_OBJECT (GTK_BIN (object)->child),
- "entry", "comboboxentry", FALSE, reason);
-}
-
-GObject *
-glade_gtk_combo_box_entry_get_internal_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *name)
-{
- GObject *child = NULL;
- g_return_val_if_fail (GTK_IS_COMBO_BOX_ENTRY (object), NULL);
-
- if (strcmp ("entry", name) == 0)
- child = G_OBJECT (gtk_bin_get_child (GTK_BIN (object)));
-
- return child;
-}
-
-/* ----------------------------- GtkSpinButton ------------------------------ */
-static void
-glade_gtk_spin_button_set_adjustment (GObject *object, const GValue *value)
-{
- GObject *adjustment;
- GtkAdjustment *adj;
-
- g_return_if_fail (GTK_IS_SPIN_BUTTON (object));
-
- adjustment = g_value_get_object (value);
-
- if (adjustment && GTK_IS_ADJUSTMENT (adjustment))
- {
- adj = GTK_ADJUSTMENT (adjustment);
- gtk_spin_button_set_adjustment (GTK_SPIN_BUTTON (object), adj);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (object), adj->value);
- }
-}
-
-void
-glade_gtk_spin_button_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "adjustment"))
- glade_gtk_spin_button_set_adjustment (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_ENTRY)->set_property (adaptor,
- object,
- id, value);
-}
-
-/* ----------------------------- GtkTreeView ------------------------------ */
-void
-glade_gtk_tree_view_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GtkWidget *tree_view = GTK_WIDGET (object);
- GtkTreeStore *store;
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
-
- store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
-
- gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (store));
- g_object_unref (G_OBJECT (store));
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes
- ("Column 1", renderer, "text", 0, NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes
- ("Column 2", renderer, "text", 1, NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-}
-
-
-/* ----------------------------- GtkCombo ------------------------------ */
-void
-glade_gtk_combo_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeWidget *gcombo, *gentry, *glist;
-
- g_return_if_fail (GTK_IS_COMBO (object));
-
- if ((gcombo = glade_widget_get_from_gobject (object)) == NULL)
- return;
-
- gentry = glade_widget_adaptor_create_internal
- (gcombo, G_OBJECT (GTK_COMBO (object)->entry),
- "entry", "combo", FALSE, reason);
-
- /* We mark this 'anarchist' since its outside of the hierarchy */
- glist = glade_widget_adaptor_create_internal
- (gcombo, G_OBJECT (GTK_COMBO (object)->list),
- "list", "combo", TRUE, reason);
-
-}
-
-GObject *
-glade_gtk_combo_get_internal_child (GladeWidgetAdaptor *adaptor,
- GtkCombo *combo,
- const gchar *name)
-{
- GObject *child = NULL;
-
- g_return_val_if_fail (GTK_IS_COMBO (combo), NULL);
-
- if (strcmp ("list", name) == 0)
- child = G_OBJECT (combo->list);
- else if (strcmp ("entry", name) == 0)
- child = G_OBJECT (combo->entry);
-
- return child;
-}
-
-GList *
-glade_gtk_combo_get_children (GtkCombo *combo)
-{
- GList *list = NULL;
-
- g_return_val_if_fail (GTK_IS_COMBO (combo), NULL);
-
- list = glade_util_container_get_all_children (GTK_CONTAINER (combo));
-
- /* Ensure that we only return one 'combo->list' */
- if (g_list_find (list, combo->list) == NULL)
- list = g_list_append (list, combo->list);
-
- return list;
-}
-
-/* ----------------------------- GtkListItem ------------------------------ */
-void
-glade_gtk_list_item_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GtkWidget *label;
-
- g_return_if_fail (GTK_IS_LIST_ITEM (object));
-
- label = gtk_label_new ("");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_misc_set_padding (GTK_MISC (label), 0, 1);
-
- gtk_container_add (GTK_CONTAINER (object), label);
- gtk_widget_show (label);
-}
-
-static void
-glade_gtk_list_item_set_label (GObject *object, const GValue *value)
-{
- GtkWidget *label;
-
- g_return_if_fail (GTK_IS_LIST_ITEM (object));
-
- label = GTK_BIN (object)->child;
-
- gtk_label_set_text (GTK_LABEL (label), g_value_get_string (value));
-}
-
-static void
-glade_gtk_list_item_get_label (GObject *object, GValue *value)
-{
- GtkWidget *label;
-
- g_return_if_fail (GTK_IS_LIST_ITEM (object));
-
- label = GTK_BIN (object)->child;
-
- g_value_set_string (value, gtk_label_get_text (GTK_LABEL (label)));
-}
-
-void
-glade_gtk_list_item_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- const GValue *value)
-{
- if (!strcmp (id, "label"))
- glade_gtk_list_item_set_label (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
- object,
- id, value);
-}
-
-void
-glade_gtk_list_item_get_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *id,
- GValue *value)
-{
- if (!strcmp (id, "label"))
- glade_gtk_list_item_get_label (object, value);
- else
- GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
- object,
- id, value);
-}
-
-
-void
-glade_gtk_listitem_add_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_CONTAINER (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-void
-glade_gtk_listitem_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GObject *child)
-{
- g_return_if_fail (GTK_IS_CONTAINER (object));
- g_return_if_fail (GTK_IS_WIDGET (child));
-
- gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child));
-}
-
-/* ------------------------------ GtkAssistant ------------------------------ */
-static void
-glade_gtk_assistant_append_new_page (GladeWidget *parent,
- GladeProject *project,
- const gchar *label,
- GtkAssistantPageType type)
-{
- static GladeWidgetAdaptor *adaptor = NULL;
- GladeWidget *page;
-
- if (adaptor == NULL)
- adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_LABEL);
-
- page = glade_widget_adaptor_create_widget (adaptor, FALSE,
- "parent", parent,
- "project", project,
- NULL);
-
- glade_widget_add_child (parent, page, FALSE);
-
- glade_widget_property_set (page, "label", label);
- glade_widget_pack_property_set (page, "page-type", type);
-}
-/*
- GtkAssistant is a very weird widget, why is it derived from GtkWindow
- instead of GtkNotebook I do not know!
-
- If there is no GTK_ASSISTANT_PAGE_CONFIRM, GtkAssistant abort when trying to
- update its navigation buttons!
-*/
-static void
-glade_gtk_assistant_update_page_type (GtkAssistant *assistant)
-{
- gint i, current, pages;
- GtkWidget *page;
-
- current = gtk_assistant_get_current_page (assistant);
- pages = gtk_assistant_get_n_pages (assistant) - 1;
- if (pages < 0) return;
-
- /* Last Page */
- page = gtk_assistant_get_nth_page (assistant, pages);
- gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONFIRM);
-
- /* First page */
- page = gtk_assistant_get_nth_page (assistant, 0);
- gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_INTRO);
-
- /* In betwen pages */
- for (i = 1; i < pages; i++)
- {
- page = gtk_assistant_get_nth_page (assistant, i);
- gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONTENT);
-
- }
-
- /* Now we have set page-type in every page, force button update */
- for (i = 0; i <= pages; i++)
- {
- page = gtk_assistant_get_nth_page (assistant, i);
- gtk_assistant_set_page_complete (assistant, page, TRUE);
- gtk_assistant_set_current_page (assistant, i);
- gtk_assistant_update_buttons_state (assistant);
- }
-
- if (current >= 0) gtk_assistant_set_current_page (assistant, current);
-}
-
-static gint
-glade_gtk_assistant_get_page (GtkAssistant *assistant, GtkWidget *page)
-{
- gint i, pages = gtk_assistant_get_n_pages (assistant);
-
- for (i = 0; i < pages; i++)
- if (gtk_assistant_get_nth_page (assistant, i) == page)
- return i;
-
- return -1;
-}
-
-static void
-glade_gtk_assistant_update_position (GtkAssistant *assistant)
-{
- gint i, pages = gtk_assistant_get_n_pages (assistant);
-
- for (i = 0; i < pages; i++)
- {
- GtkWidget *page = gtk_assistant_get_nth_page (assistant, i);
- GladeWidget *gpage = glade_widget_get_from_gobject (G_OBJECT (page));
- if (gpage) glade_widget_pack_property_set (gpage, "position", i);
- }
-}
-
-static void
-glade_gtk_assistant_parse_finished (GladeProject *project,
- GObject *object)
-{
- GtkAssistant *assistant = GTK_ASSISTANT (object);
- gint pages = gtk_assistant_get_n_pages (assistant);
-
- if (pages)
- {
- gtk_assistant_set_current_page (assistant, 0);
- glade_widget_property_set (glade_widget_get_from_gobject (object),
- "size", pages);
- }
-}
-
-void
-glade_gtk_assistant_post_create (GladeWidgetAdaptor *adaptor,
- GObject *object,
- GladeCreateReason reason)
-{
- GladeWidget *parent = glade_widget_get_from_gobject (object);
- GladeProject *project = glade_widget_get_project (parent);
-
- if (reason == GLADE_CREATE_LOAD)
- {
- g_signal_connect (project, "parse-finished",
- G_CALLBACK (glade_gtk_assistant_parse_finished),
- object);
- return;
- }
-
- if (reason == GLADE_CREATE_USER)
- {
- glade_gtk_assistant_append_new_page (parent, project,
- _("Introduction page"),
- GTK_ASSISTANT_PAGE_INTRO);
-
- glade_gtk_assistant_append_new_page (parent, project,
- _("Content page"),
- GTK_ASSISTANT_PAGE_CONTENT);
-
- glade_gtk_assistant_append_new_page (parent, project,
- _("Confirmation page"),
- GTK_ASSISTANT_PAGE_CONFIRM);
-
- gtk_assistant_set_current_page (GTK_ASSISTANT (object), 0);
-
- glade_widget_property_set (parent, "size", 3);
- }
-}
-
-void
-glade_gtk_assistant_add_child (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child)
-{
- GtkAssistant *assistant = GTK_ASSISTANT (container);
- GtkWidget *widget = GTK_WIDGET (child);
-
- gtk_assistant_append_page (assistant, widget);
-}
-
-void
-glade_gtk_assistant_remove_child (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child)
-{
- GtkAssistant *assistant = GTK_ASSISTANT (container);
- GladeWidget *gassistant = glade_widget_get_from_gobject (container);
-
- gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (child));
- glade_widget_property_set (gassistant, "size",
- gtk_assistant_get_n_pages (assistant));
-}
-
-void
-glade_gtk_assistant_replace_child (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *current,
- GObject *new_object)
-{
- GtkAssistant *assistant = GTK_ASSISTANT (container);
- GtkWidget *page = GTK_WIDGET (new_object), *old_page = GTK_WIDGET (current);
- gint pos = glade_gtk_assistant_get_page (assistant, old_page);
- gboolean set_current = gtk_assistant_get_current_page (assistant) == pos;
-
- gtk_container_remove (GTK_CONTAINER (container), old_page);
-
- gtk_assistant_insert_page (assistant, page, pos);
- glade_gtk_assistant_update_page_type (assistant);
-
- if (set_current) gtk_assistant_set_current_page (assistant, pos);
-}
-
-gboolean
-glade_gtk_assistant_verify_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *property_name,
- const GValue *value)
-{
- if (strcmp (property_name, "size") == 0)
- return g_value_get_int (value) >
- gtk_assistant_get_n_pages (GTK_ASSISTANT (object));
-
- /* Chain Up */
- if (GWA_GET_CLASS (GTK_TYPE_WINDOW)->verify_property == NULL)
- return TRUE;
- return GWA_GET_CLASS (GTK_TYPE_WINDOW)->verify_property (adaptor,
- object,
- property_name,
- value);
-}
-
-void
-glade_gtk_assistant_set_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *property_name,
- const GValue *value)
-{
- if (strcmp (property_name, "size") == 0)
- {
- GtkAssistant *assistant = GTK_ASSISTANT (object);
- gint size, i;
-
- for (i = gtk_assistant_get_n_pages (GTK_ASSISTANT (object)),
- size = g_value_get_int (value); i < size; i++)
- gtk_assistant_append_page (assistant, glade_placeholder_new ());
-
- glade_gtk_assistant_update_page_type (assistant);
-
- return;
- }
-
- /* Chain Up */
- GWA_GET_CLASS (GTK_TYPE_WINDOW)->set_property (adaptor,
- object,
- property_name,
- value);
-}
-
-void
-glade_gtk_assistant_get_property (GladeWidgetAdaptor *adaptor,
- GObject *object,
- const gchar *property_name,
- GValue *value)
-{
- if (strcmp (property_name, "size") == 0)
- {
- g_value_set_int (value,
- gtk_assistant_get_n_pages (GTK_ASSISTANT (object)));
- return;
- }
-
- /* Chain Up */
- GWA_GET_CLASS (GTK_TYPE_WINDOW)->get_property (adaptor,
- object,
- property_name,
- value);
-}
-
-void
-glade_gtk_assistant_set_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- const GValue *value)
-{
- if (strcmp (property_name, "position") == 0)
- {
- GtkAssistant *assistant = GTK_ASSISTANT (container);
- GtkWidget *widget = GTK_WIDGET (child);
- gint pos, size;
- gboolean set_current;
-
- if ((pos = g_value_get_int (value)) < 0);
- set_current = gtk_assistant_get_current_page (assistant) ==
- glade_gtk_assistant_get_page (assistant, widget);
-
- size = gtk_assistant_get_n_pages (assistant);
-
- g_object_ref (child);
- gtk_container_remove (GTK_CONTAINER (container), widget);
- gtk_assistant_insert_page (assistant, widget, pos);
- g_object_unref (child);
-
- if (set_current) gtk_assistant_set_current_page (assistant, pos);
-
- glade_gtk_assistant_update_page_type (assistant);
-
- glade_gtk_assistant_update_position (assistant);
-
- return;
- }
-
- /* Chain Up */
- GWA_GET_CLASS (GTK_TYPE_WINDOW)->child_set_property (adaptor,
- container,
- child,
- property_name,
- value);
-}
-
-void
-glade_gtk_assistant_get_child_property (GladeWidgetAdaptor *adaptor,
- GObject *container,
- GObject *child,
- const gchar *property_name,
- GValue *value)
-{
- if (strcmp (property_name, "position") == 0)
- {
- gint pos;
- pos = glade_gtk_assistant_get_page (GTK_ASSISTANT (container),
- GTK_WIDGET (child));
- if (pos >= 0) g_value_set_int (value, pos);
- return;
- }
-
- /* Chain Up */
- GWA_GET_CLASS (GTK_TYPE_WINDOW)->child_get_property (adaptor,
- container,
- child,
- property_name,
- value);
-}
diff --git a/plugins/gtk+/glade-gtk.h b/plugins/gtk+/glade-gtk.h
deleted file mode 100644
index f984a9d6..00000000
--- a/plugins/gtk+/glade-gtk.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-#ifndef __GLADE_GTK_H__
-#define __GLADE_GTK_H__
-
-#include <gladeui/glade.h>
-#include <gtk/gtk.h>
-
-/* Types */
-
-typedef enum {
- GLADEGTK_IMAGE_FILENAME = 0,
- GLADEGTK_IMAGE_STOCK,
- GLADEGTK_IMAGE_ICONTHEME
-} GladeGtkImageType;
-
-typedef enum {
- GLADEGTK_BUTTON_LABEL = 0,
- GLADEGTK_BUTTON_STOCK,
- GLADEGTK_BUTTON_CONTAINER
-} GladeGtkButtonType;
-
-GType glade_gtk_image_type_get_type (void);
-GType glade_gtk_button_type_get_type (void);
-
-GParamSpec *glade_gtk_gnome_ui_info_spec (void);
-
-GParamSpec *glade_gtk_image_type_spec (void);
-
-GParamSpec *glade_gtk_button_type_spec (void);
-
-
-#endif /* __GLADE_GTK_H__ */
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
deleted file mode 100644
index efffea9f..00000000
--- a/plugins/gtk+/gtk+.xml.in
+++ /dev/null
@@ -1,1598 +0,0 @@
-<glade-catalog name="gtk+"
- icon-prefix="gtk"
- library="gladegtk"
- domain="glade3"
- book="gtk">
- <glade-widget-classes>
-
- <glade-widget-class name="GtkWidget" _title="Widget" default-width="100" default-height="60">
-
- <set-property-function>glade_gtk_widget_set_property</set-property-function>
- <get-property-function>glade_gtk_widget_get_property</get-property-function>
-
- <properties>
- <property id="visible" default="True" common="True" ignore="True"/>
- <property id="width-request" common="True" optional="True" optional-default="False" default="0"/>
- <property id="height-request" common="True" optional="True" optional-default="False" default="0"/>
- <property id="no-show-all" weight="4.6" ignore="True"/>
-
- <property common="True" id="tooltip" _name="Tooltip" default="" translatable="True" weight="4.5">
- <spec>glade_standard_string_spec</spec>
- <_tooltip>A tooltip text for this widget</_tooltip>
- </property>
-
- <property common="True" id="extension-events">
- <displayable-values>
- <value id="GDK_EXTENSION_EVENTS_NONE" _name="None"/>
- <value id="GDK_EXTENSION_EVENTS_ALL" _name="All"/>
- <value id="GDK_EXTENSION_EVENTS_CURSOR" _name="Cursor"/>
- </displayable-values>
- </property>
-
- <property common="True" id="events" ignore="True">
- <displayable-values>
- <value id="GDK_EXPOSURE_MASK" _name="Exposure"/>
- <value id="GDK_POINTER_MOTION_MASK" _name="Pointer Motion"/>
- <value id="GDK_POINTER_MOTION_HINT_MASK" _name="Pointer Motion Hint"/>
- <value id="GDK_BUTTON_MOTION_MASK" _name="Button Motion"/>
- <value id="GDK_BUTTON1_MOTION_MASK" _name="Button 1 Motion"/>
- <value id="GDK_BUTTON2_MOTION_MASK" _name="Button 2 Motion"/>
- <value id="GDK_BUTTON3_MOTION_MASK" _name="Button 3 Motion"/>
- <value id="GDK_BUTTON_PRESS_MASK" _name="Button Press"/>
- <value id="GDK_BUTTON_RELEASE_MASK" _name="Button Release"/>
- <value id="GDK_KEY_PRESS_MASK" _name="Key Press"/>
- <value id="GDK_KEY_RELEASE_MASK" _name="Key Release"/>
- <value id="GDK_ENTER_NOTIFY_MASK" _name="Enter Notify"/>
- <value id="GDK_LEAVE_NOTIFY_MASK" _name="Leave Notify"/>
- <value id="GDK_FOCUS_CHANGE_MASK" _name="Focus Change"/>
- <value id="GDK_STRUCTURE_MASK" _name="Structure"/>
- <value id="GDK_PROPERTY_CHANGE_MASK" _name="Property Change"/>
- <value id="GDK_VISIBILITY_NOTIFY_MASK" _name="Visibility Notify"/>
- <value id="GDK_PROXIMITY_IN_MASK" _name="Proximity In"/>
- <value id="GDK_PROXIMITY_OUT_MASK" _name="Proximity Out"/>
- <value id="GDK_SUBSTRUCTURE_MASK" _name="Substructure"/>
- <value id="GDK_SCROLL_MASK" _name="Scroll"/>
- <value id="GDK_ALL_EVENTS_MASK" _name="All Events"/>
- </displayable-values>
- </property>
-
- <property id="name" disabled="True"/>
- <property id="parent" disabled="True"/>
- <property id="style" disabled="True"/>
- <property id="sensitive" ignore="True"/>
- <property id="has-default" ignore="True" common="True"/>
-
- <!-- Accelerators -->
- <property id="accelerator" _name="Accelerators" ignore="True" common="True">
- <spec>glade_standard_accel_spec</spec>
- </property>
-
- <!-- Atk name and description properties -->
- <property id="accessible-name" _name="Accessible Name" ignore="True" atk-property="True" translatable="True">
- <_tooltip>Object instance's name formatted for assistive technology access</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
-
- <property id="accessible-description" _name="Accessible Description" ignore="True" atk-property="True" translatable="True">
- <_tooltip>Description of an object, formatted for assistive technology access</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
-
- <!-- Atk relationset properties -->
- <property id="controlled-by" _name="Controlled By" ignore="True" atk-property="True">
- <_tooltip>Indicates an object controlled by one or more target objects</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="controller-for" _name="Controller For" ignore="True" atk-property="True">
- <_tooltip>Indicates an object is a controller for one or more target objects</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="labelled-by" _name="Labelled By" ignore="True" atk-property="True">
- <_tooltip>Indicates an object is labelled by one or more target objects</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="label-for" _name="Label For" ignore="True" atk-property="True">
- <_tooltip>Indicates an object is a label for one or more target objects</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="member-of" _name="Member Of" ignore="True" atk-property="True">
- <_tooltip>Indicates an object is a member of a group of one or more target objects</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="node-child-of" _name="Node Child Of" ignore="True" atk-property="True">
- <_tooltip>Indicates an object is a cell in a treetable which is displayed because a
-cell in the same column is expanded and identifies that cell</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="flows-to" _name="Flows To" ignore="True" atk-property="True">
- <_tooltip>Indicates that the object has content that flows logically to another
-AtkObject in a sequential way, (for instance text-flow)</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="flows-from" _name="Flows From" ignore="True" atk-property="True">
- <_tooltip>Indicates that the object has content that flows logically from another
-AtkObject in a sequential way, (for instance text-flow)</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="subwindow-of" _name="Subwindow Of" ignore="True" atk-property="True">
- <_tooltip>Indicates a subwindow attached to a component but otherwise has no
-connection in the UI hierarchy to that component</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="embeds" _name="Embeds" ignore="True" atk-property="True">
- <_tooltip>Indicates that the object visually embeds another object's content, i.e.
-this object's content flows around another's content</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="embedded-by" _name="Embedded By" ignore="True" atk-property="True">
- <_tooltip>Inverse of 'Embeds', indicates that this object's content is visually
-embedded in another object</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="popup-for" _name="Popup For" ignore="True" atk-property="True">
- <_tooltip>Indicates that an object is a popup for another object</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="parent-window-of" _name="Parent Window Of" ignore="True" atk-property="True">
- <_tooltip>Indicates that an object is a parent window of another object</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="described-by" _name="Described By" ignore="True" atk-property="True">
- <_tooltip>Indicates that another object provides descriptive information about this object; more verbose than 'Labelled By'</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
-
- <property id="description-for" _name="Description For" ignore="True" atk-property="True">
- <_tooltip>Indicates that an object provides descriptive information about another object; more verbose than 'Label For'</_tooltip>
- <spec>glade_standard_objects_spec</spec>
- </property>
- </properties>
-
- </glade-widget-class>
-
- <glade-widget-class name="GtkContainer" _title="Container" use-placeholders="True">
- <post-create-function>glade_gtk_container_post_create</post-create-function>
-
- <add-child-function>glade_gtk_container_add_child</add-child-function>
- <remove-child-function>glade_gtk_container_remove_child</remove-child-function>
- <replace-child-function>glade_gtk_container_replace_child</replace-child-function>
- <child-set-property-function>glade_gtk_container_set_child_property</child-set-property-function>
- <child-get-property-function>glade_gtk_container_get_child_property</child-get-property-function>
- <get-children-function>glade_gtk_container_get_children</get-children-function>
-
- <properties>
- <property id="border-width" common="True" weight="2.5"/>
- <property id="resize-mode" common="True" weight="4.7">
- <displayable-values>
- <value id="GTK_RESIZE_PARENT" _name="Parent"/>
- <value id="GTK_RESIZE_QUEUE" _name="Queue"/>
- <value id="GTK_RESIZE_IMMEDIATE" _name="Immediate"/>
- </displayable-values>
- </property>
- <property id="child" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkBox" _title="Box" fixed="True">
- <post-create-function>glade_gtk_box_post_create</post-create-function>
- <get-internal-child-function>glade_gtk_box_get_internal_child</get-internal-child-function>
- <set-property-function>glade_gtk_box_set_property</set-property-function>
- <get-property-function>glade_gtk_box_get_property</get-property-function>
- <verify-function>glade_gtk_box_verify_property</verify-function>
- <add-child-function>glade_gtk_box_add_child</add-child-function>
- <remove-child-function>glade_gtk_box_remove_child</remove-child-function>
- <child-set-property-function>glade_gtk_box_set_child_property</child-set-property-function>
- <child-action-activate-function>glade_gtk_box_child_action_activate</child-action-activate-function>
-
- <packing-actions>
- <action id="insert_before" _name="Insert Before" stock="gtk-add"/>
- <action id="insert_after" _name="Insert After" stock="gtk-add"/>
- </packing-actions>
-
- <properties>
- <property id="size" _name="Number of items" query="True" default="3" save="False">
- <spec>glade_standard_int_spec</spec>
- <_tooltip>The number of items in the box</_tooltip>
- </property>
- </properties>
-
- <packing-properties>
- <property id="position" weight="0"/>
- <property id="padding" transfer-on-paste="True" weight="0.5"/>
- <property id="expand" transfer-on-paste="True"/>
- <property id="fill" transfer-on-paste="True"/>
- <property id="pack-type" transfer-on-paste="True">
- <displayable-values>
- <value id="GTK_PACK_START" _name="Start"/>
- <value id="GTK_PACK_END" _name="End"/>
- </displayable-values>
- </property>
- </packing-properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkWindow" generic-name="window" _title="Window" toplevel="True" default-width="440" default-height="250">
- <post-create-function>glade_gtk_window_post_create</post-create-function>
-
- <properties>
- <property id="visible" default="False"/>
- <property common="True" id="gravity">
- <displayable-values>
- <value id="GDK_GRAVITY_NORTH_WEST" _name="North West"/>
- <value id="GDK_GRAVITY_NORTH" _name="North"/>
- <value id="GDK_GRAVITY_NORTH_EAST" _name="North East"/>
- <value id="GDK_GRAVITY_WEST" _name="West"/>
- <value id="GDK_GRAVITY_CENTER" _name="Center"/>
- <value id="GDK_GRAVITY_EAST" _name="East"/>
- <value id="GDK_GRAVITY_SOUTH_WEST" _name="South West"/>
- <value id="GDK_GRAVITY_SOUTH" _name="South"/>
- <value id="GDK_GRAVITY_SOUTH_EAST" _name="South East"/>
- <value id="GDK_GRAVITY_STATIC" _name="Static"/>
- </displayable-values>
- </property>
- <property id="modal" ignore="True"/>
- <property id="default-width" default="0" optional="True" optional-default="False"/>
- <property id="default-height" default="0" optional="True" optional-default="False"/>
- <property id="type-hint" ignore="True">
- <displayable-values>
- <value id="GDK_WINDOW_TYPE_HINT_NORMAL" _name="Normal"/>
- <value id="GDK_WINDOW_TYPE_HINT_DIALOG" _name="Dialog"/>
- <value id="GDK_WINDOW_TYPE_HINT_MENU" _name="Menu"/>
- <value id="GDK_WINDOW_TYPE_HINT_TOOLBAR" _name="Toolbar"/>
- <value id="GDK_WINDOW_TYPE_HINT_SPLASHSCREEN" _name="Splash Screen"/>
- <value id="GDK_WINDOW_TYPE_HINT_UTILITY" _name="Utility"/>
- <value id="GDK_WINDOW_TYPE_HINT_DOCK" _name="Dock"/>
- <value id="GDK_WINDOW_TYPE_HINT_DESKTOP" _name="Desktop"/>
- <value id="GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU" _name="Drop Down Menu"/>
- <value id="GDK_WINDOW_TYPE_HINT_POPUP_MENU" _name="Popup Menu"/>
- <value id="GDK_WINDOW_TYPE_HINT_TOOLTIP" _name="Tooltip"/>
- <value id="GDK_WINDOW_TYPE_HINT_NOTIFICATION" _name="Notification"/>
- <value id="GDK_WINDOW_TYPE_HINT_COMBO" _name="Combo"/>
- <value id="GDK_WINDOW_TYPE_HINT_DND" _name="Drag and Drop"/>
- </displayable-values>
- </property>
- <property id="type" ignore="True">
- <displayable-values>
- <value id="GTK_WINDOW_TOPLEVEL" _name="Top Level"/>
- <value id="GTK_WINDOW_POPUP" _name="Popup"/>
- </displayable-values>
- </property>
- <property id="allow-shrink" disabled="True" />
- <property id="allow-grow" disabled="True" />
- <property id="resize-mode" disabled="True" />
- <property id="screen" disabled="True" />
- <property id="role"/>
- <property id="icon-name"/>
- <property id="resizable" ignore="True" />
- <property id="decorated" ignore="True" />
- <property id="title" ignore="True" translatable="True"/>
- <property id="window-position" ignore="True">
- <displayable-values>
- <value id="GTK_WIN_POS_NONE" _name="None"/>
- <value id="GTK_WIN_POS_CENTER" _name="Center"/>
- <value id="GTK_WIN_POS_MOUSE" _name="Mouse"/>
- <value id="GTK_WIN_POS_CENTER_ALWAYS" _name="Always Center"/>
- <value id="GTK_WIN_POS_CENTER_ON_PARENT" _name="Center on Parent"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkMenuShell" generic-name="menushell" _title="Menu Shell" use-placeholders="False">
- <post-create-function>empty</post-create-function>
- <add-child-function>glade_gtk_menu_shell_add_child</add-child-function>
- <remove-child-function>glade_gtk_menu_shell_remove_child</remove-child-function>
- <child-set-property-function>glade_gtk_menu_shell_set_child_property</child-set-property-function>
- <child-get-property-function>glade_gtk_menu_shell_get_child_property</child-get-property-function>
- <action-activate-function>glade_gtk_menu_shell_action_activate</action-activate-function>
- <packing-properties>
- <property id="position" _name="Position" default="-1" save="False">
- <spec>glade_standard_int_spec</spec>
- <_tooltip>The position of the menu item in the menu shell</_tooltip>
- </property>
- </packing-properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkMenuItem" generic-name="menuitem" _title="Menu Item" use-placeholders="False">
- <post-create-function>glade_gtk_menu_item_post_create</post-create-function>
- <get-children-function>glade_gtk_menu_item_get_children</get-children-function>
- <set-property-function>glade_gtk_menu_item_set_property</set-property-function>
- <add-child-function>glade_gtk_menu_item_add_child</add-child-function>
- <remove-child-function>glade_gtk_menu_item_remove_child</remove-child-function>
- <action-activate-function>glade_gtk_menu_item_action_activate</action-activate-function>
- <actions>
- <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
- </actions>
- <properties>
- <property id="label" _name="Label" translatable="True">
- <_tooltip>The text of the menu item</_tooltip>
- <spec>glade_standard_string_spec</spec>
- </property>
- <property id="use-underline" _name="Use Underline">
- <spec>glade_standard_boolean_spec</spec>
- </property>
- <!-- Atk click property -->
- <property id="atk-click" _name="Click" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Click atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- <!--
- This property is added by glade2 gnome support and makes reference to
- GNOMEUIINFO_MENU_* macros. The set-property-function maps these properties to
- existing non deprecated gtk ones
- -->
- <property id="stock-item" visible="False" save="False">
- <spec>glade_gtk_gnome_ui_info_spec</spec>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkCheckMenuItem" generic-name="checkmenuitem" _title="Check Menu Item"/>
-
- <glade-widget-class name="GtkRadioMenuItem" generic-name="radiomenuitem" _title="Radio Menu Item">
- <set-property-function>glade_gtk_radio_menu_item_set_property</set-property-function>
- <properties>
- <property id="draw-as-radio" default="True"/>
- <property id="inconsistent" visible="False" save="False" default="False"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkImageMenuItem" generic-name="imagemenuitem" _title="Image Menu Item">
- <get-internal-child-function>glade_gtk_image_menu_item_get_internal_child</get-internal-child-function>
- <set-property-function>glade_gtk_image_menu_item_set_property</set-property-function>
- <properties>
- <property id="use-stock" visible="False">
- <spec>glade_standard_boolean_spec</spec>
- </property>
- <property id="stock" _name="Stock Item" save="False">
- <_tooltip>A stock item, select None to choose a custom image and label</_tooltip>
- <spec>glade_standard_stock_spec</spec>
- </property>
- <property id="image" disabled="True" />
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkSeparatorMenuItem" generic-name="separatormenuitem" _title="Separator Menu Item">
- <properties>
- <property id="label" visible="False"/>
- <property id="use-underline" visible="False"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkMenuBar" generic-name="menubar" _title="Menu Bar">
- <post-create-function>glade_gtk_menu_bar_post_create</post-create-function>
- <!-- menubar is a container you can't add placeholders to it -->
- <actions>
- <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
- </actions>
- <properties>
- <property id="child-pack-direction">
- <displayable-values>
- <value id="GTK_PACK_DIRECTION_LTR" _name="Left to Right"/>
- <value id="GTK_PACK_DIRECTION_RTL" _name="Right to Left"/>
- <value id="GTK_PACK_DIRECTION_TTB" _name="Top to Bottom"/>
- <value id="GTK_PACK_DIRECTION_BTT" _name="Bottom to Top"/>
- </displayable-values>
- </property>
- <property id="pack-direction">
- <displayable-values>
- <value id="GTK_PACK_DIRECTION_LTR" _name="Left to Right"/>
- <value id="GTK_PACK_DIRECTION_RTL" _name="Right to Left"/>
- <value id="GTK_PACK_DIRECTION_TTB" _name="Top to Bottom"/>
- <value id="GTK_PACK_DIRECTION_BTT" _name="Bottom to Top"/>
- </displayable-values>
- </property>
- </properties>
- <packing-defaults>
- <parent-class name="GtkVBox">
- <child-property id="expand" default="false"/>
- </parent-class>
- </packing-defaults>
- </glade-widget-class>
-
- <glade-widget-class name="GtkToolbar" generic-name="toolbar" _title="Tool Bar" use-placeholders="False">
- <post-create-function>empty</post-create-function>
- <add-child-function>glade_gtk_toolbar_add_child</add-child-function>
- <remove-child-function>glade_gtk_toolbar_remove_child</remove-child-function>
- <child-set-property-function>glade_gtk_toolbar_set_child_property</child-set-property-function>
- <child-get-property-function>glade_gtk_toolbar_get_child_property</child-get-property-function>
- <action-activate-function>glade_gtk_toolbar_action_activate</action-activate-function>
-
- <actions>
- <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
- </actions>
- <properties>
- <property id="orientation">
- <displayable-values>
- <value id="GTK_ORIENTATION_HORIZONTAL" _name="Horizontal"/>
- <value id="GTK_ORIENTATION_VERTICAL" _name="Vertical"/>
- </displayable-values>
- </property>
- <property id="toolbar-style">
- <displayable-values>
- <value id="GTK_TOOLBAR_ICONS" _name="Icons only"/>
- <value id="GTK_TOOLBAR_TEXT" _name="Text only"/>
- <value id="GTK_TOOLBAR_BOTH" _name="Text below icons"/>
- <value id="GTK_TOOLBAR_BOTH_HORIZ" _name="Text beside icons"/>
- </displayable-values>
- </property>
- </properties>
-
- <packing-properties>
- <property id="position" _name="Position" default="-1" save="False">
- <spec>glade_standard_int_spec</spec>
- <_tooltip>The position of the tool item in the toolbar</_tooltip>
- </property>
- <property id="expand" transfer-on-paste="True"/>
- <property id="homogeneous" transfer-on-paste="True"/>
- </packing-properties>
-
- <packing-defaults>
- <parent-class name="GtkVBox">
- <child-property id="expand" default="false"/>
- </parent-class>
- </packing-defaults>
- </glade-widget-class>
-
- <glade-widget-class name="GtkToolItem" generic-name="toolitem" title="GtkToolItem">
- <post-create-function>glade_gtk_tool_item_post_create</post-create-function>
- </glade-widget-class>
-
- <glade-widget-class name="GtkSeparatorToolItem" generic-name="separatortoolitem" _title="Separator Tool Item"/>
-
- <glade-widget-class name="GtkToolButton" generic-name="toolbutton" _title="Tool Button">
-
- <set-property-function>glade_gtk_tool_button_set_property</set-property-function>
- <properties>
- <property id="icon-widget" disabled="True"/>
- <property id="label-widget" disabled="True"/>
- <property id="glade-type" _name="Image Type" save="False">
- <spec>glade_gtk_image_type_spec</spec>
- <displayable-values>
- <value id="GLADEGTK_IMAGE_FILENAME" _name="Filename"/>
- <value id="GLADEGTK_IMAGE_STOCK" _name="Stock"/>
- <value id="GLADEGTK_IMAGE_ICONTHEME" _name="Icon Theme"/>
- </displayable-values>
- </property>
- <property id="glade-stock" _name="Stock Image" save="False">
- <spec>glade_standard_stock_image_spec</spec>
- </property>
- <property id="label" translatable="True"/>
- <property id="icon" _name="File Name">
- <spec>glade_standard_pixbuf_spec</spec>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkToggleToolButton" generic-name="toggletoolbutton" _title="Toggle Tool Button"/>
-
- <glade-widget-class name="GtkRadioToolButton" generic-name="radiotoolbutton" _title="Radio Tool Button"/>
-
- <glade-widget-class name="GtkMenuToolButton" generic-name="menutoolbutton" _title="Menu Tool Button"/>
-
- <glade-widget-class name="GtkHandleBox" generic-name="handlebox" _title="Handle Box">
- <properties>
- <property id="handle-position">
- <displayable-values>
- <value id="GTK_POS_LEFT" _name="Left"/>
- <value id="GTK_POS_RIGHT" _name="Right"/>
- <value id="GTK_POS_TOP" _name="Top"/>
- <value id="GTK_POS_BOTTOM" _name="Bottom"/>
- </displayable-values>
- </property>
- <property id="shadow" disabled="True"/>
- <property id="shadow-type">
- <displayable-values>
- <value id="GTK_SHADOW_NONE" _name="None"/>
- <value id="GTK_SHADOW_IN" _name="In"/>
- <value id="GTK_SHADOW_OUT" _name="Out"/>
- <value id="GTK_SHADOW_ETCHED_IN" _name="Etched In"/>
- <value id="GTK_SHADOW_ETCHED_OUT" _name="Etched Out"/>
- </displayable-values>
- </property>
- <property id="snap-edge">
- <displayable-values>
- <value id="GTK_POS_LEFT" _name="Left"/>
- <value id="GTK_POS_RIGHT" _name="Right"/>
- <value id="GTK_POS_TOP" _name="Top"/>
- <value id="GTK_POS_BOTTOM" _name="Bottom"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkLabel" generic-name="label" _title="Label">
- <set-property-function>glade_gtk_label_set_property</set-property-function>
-
- <properties>
- <property id="selectable" ignore="True"/>
- <property id="pattern" default=""/>
- <property id="max-width-chars" _name="Maximum Width"/>
- <property id="label" default="label" translatable="True">
- <visible-lines>2</visible-lines>
- </property>
- <property id="justify">
- <displayable-values>
- <value id="GTK_JUSTIFY_LEFT" _name="Left"/>
- <value id="GTK_JUSTIFY_RIGHT" _name="Right"/>
- <value id="GTK_JUSTIFY_CENTER" _name="Center"/>
- <value id="GTK_JUSTIFY_FILL" _name="Fill"/>
- </displayable-values>
- </property>
- <property id="ellipsize">
- <displayable-values>
- <value id="PANGO_ELLIPSIZE_NONE" _name="None"/>
- <value id="PANGO_ELLIPSIZE_START" _name="Start"/>
- <value id="PANGO_ELLIPSIZE_MIDDLE" _name="Middle"/>
- <value id="PANGO_ELLIPSIZE_END" _name="End"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkEntry" generic-name="entry" _title="Text Entry">
- <post-create-function>glade_gtk_entry_post_create</post-create-function>
- <properties>
- <property id="text" translatable="True"/>
-
- <!-- Atk activate property -->
- <property id="atk-activate" _name="Activate" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Activate atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkTextView" generic-name="textview" _title="Text View">
- <post-create-function>glade_gtk_text_view_post_create</post-create-function>
- <set-property-function>glade_gtk_text_view_set_property</set-property-function>
-
- <properties>
- <!-- Text of the textview -->
- <property id="text" _name="Text" translatable="True">
- <_tooltip>Set the text in the view's text buffer</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- <property id="justification">
- <displayable-values>
- <value id="GTK_JUSTIFY_LEFT" _name="Left"/>
- <value id="GTK_JUSTIFY_RIGHT" _name="Right"/>
- <value id="GTK_JUSTIFY_CENTER" _name="Center"/>
- <value id="GTK_JUSTIFY_FILL" _name="Fill"/>
- </displayable-values>
- </property>
- <property id="wrap-mode">
- <displayable-values>
- <value id="GTK_WRAP_NONE" _name="None"/>
- <value id="GTK_WRAP_CHAR" _name="Character"/>
- <value id="GTK_WRAP_WORD" _name="Word"/>
- <value id="GTK_WRAP_WORD_CHAR" _name="Word Character"/>
- </displayable-values>
- </property>
- <property id="buffer" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkButton" generic-name="button" _title="Button">
- <post-create-function>glade_gtk_button_post_create</post-create-function>
- <add-child-function>glade_gtk_button_add_child</add-child-function>
- <remove-child-function>glade_gtk_button_remove_child</remove-child-function>
- <replace-child-function>glade_gtk_button_replace_child</replace-child-function>
- <set-property-function>glade_gtk_button_set_property</set-property-function>
-
- <properties>
- <property id="image" disabled="True"/>
- <property id="use-stock" visible="False"/>
-
- <property id="label" default="button" translatable="True">
- <visible-lines>2</visible-lines>
- </property>
-
- <property id="use-underline" weight="1.5"/>
-
- <property id="stock" _name="Stock Button" save="False" weight="1.6">
- <spec>glade_standard_stock_spec</spec>
- <_tooltip>The stock item for this button</_tooltip>
- </property>
-
- <property id="image-position" weight="1.7">
- <displayable-values>
- <value id="GTK_POS_LEFT" _name="Left"/>
- <value id="GTK_POS_RIGHT" _name="Right"/>
- <value id="GTK_POS_TOP" _name="Top"/>
- <value id="GTK_POS_BOTTOM" _name="Bottom"/>
- </displayable-values>
- </property>
-
-
- <property id="glade-type" _name="Edit Type" save="False" weight="0">
- <spec>glade_gtk_button_type_spec</spec>
- <displayable-values>
- <value id="GLADEGTK_BUTTON_LABEL" _name="Label"/>
- <value id="GLADEGTK_BUTTON_STOCK" _name="Stock"/>
- <value id="GLADEGTK_BUTTON_CONTAINER" _name="Container"/>
- </displayable-values>
- </property>
-
- <property id="response-id" _name="Response ID" default="0" common="False" ignore="True" save-always="True">
- <spec>glade_standard_int_spec</spec>
- <_tooltip>The response ID of this button in a dialog (it's NOT useful if this button is not in a GtkDialog)</_tooltip>
- </property>
-
- <property id="relief">
- <displayable-values>
- <value id="GTK_RELIEF_NORMAL" _name="Normal"/>
- <value id="GTK_RELIEF_HALF" _name="Half"/>
- <value id="GTK_RELIEF_NONE" _name="None"/>
- </displayable-values>
- </property>
-
- <!-- Atk click property -->
- <property id="atk-click" _name="Click" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Click atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
-
- <!-- Atk press property -->
- <property id="atk-press" _name="Press" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Press atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
-
- <!-- Atk release property -->
- <property id="atk-release" _name="Release" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Release atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
-
- </glade-widget-class>
-
- <glade-widget-class name="GtkToggleButton" generic-name="togglebutton" _title="Toggle Button">
- <properties>
- <property id="label" default="togglebutton"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkCheckButton" generic-name="checkbutton" _title="Check Button">
- <properties>
- <property id="label" default="checkbutton"/>
- <property id="draw-indicator" default="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkSpinButton" generic-name="spinbutton" _title="Spin Button">
- <post-create-function>empty</post-create-function>
- <set-property-function>glade_gtk_spin_button_set_property</set-property-function>
- <properties>
- <property id="text" disabled="True"/>
- <property id="value" disabled="True"/>
- <property id="can-focus" default="True"/>
- <property id="adjustment" default="0 0 100 1 10 10"/>
- <property id="update-policy">
- <displayable-values>
- <value id="GTK_UPDATE_ALWAYS" _name="Always"/>
- <value id="GTK_UPDATE_IF_VALID" _name="If Valid"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkRadioButton" generic-name="radiobutton" _title="Radio Button">
- <properties>
- <property id="label" default="radiobutton"/>
- <property id="draw-indicator" default="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkFileChooserButton" generic-name="filechooserbutton" _title="File Chooser Button">
- <properties>
- <property id="title" translatable="True"/>
- <property id="size" disabled="True"/>
- <property id="dialog" disabled="True"/>
- <property id="action">
- <displayable-values>
- <value id="GTK_FILE_CHOOSER_ACTION_SAVE" _name="Save"/>
- <value id="GTK_FILE_CHOOSER_ACTION_OPEN" _name="Open"/>
- <value id="GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" _name="Select Folder"/>
- <value id="GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER" _name="Create Folder"/>
- </displayable-values>
- </property>
- <property id="extra-widget" disabled="True" />
- <property id="preview-widget" disabled="True" />
- <property id="filter" disabled="True" />
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkFileChooserWidget" generic-name="filechooserwidget" _title="File Chooser Widget">
- <post-create-function>glade_gtk_file_chooser_widget_post_create</post-create-function>
- <properties>
- <property id="size" default="1" query="False" />
- <property id="action">
- <displayable-values>
- <value id="GTK_FILE_CHOOSER_ACTION_SAVE" _name="Save"/>
- <value id="GTK_FILE_CHOOSER_ACTION_OPEN" _name="Open"/>
- <value id="GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" _name="Select Folder"/>
- <value id="GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER" _name="Create Folder"/>
- </displayable-values>
- </property>
- <property id="extra-widget" disabled="True" />
- <property id="preview-widget" disabled="True" />
- <property id="filter" disabled="True" />
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkColorButton" generic-name="colorbutton" _title="Color Button">
- <properties>
- <property id="title" translatable="True"/>
- <property id="color" default="Black"/>
-
- <!-- These props dont apply to color buttons -->
- <property id="glade-type" disabled="True"/>
- <property id="label" disabled="True"/>
- <property id="use-underline" disabled="True"/>
- <property id="stock" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkFontButton" generic-name="fontbutton" _title="Font Button">
- <properties>
- <property id="title" translatable="True"/>
-
- <!-- These props dont apply to font buttons -->
- <property id="glade-type" disabled="True"/>
- <property id="label" disabled="True"/>
- <property id="use-underline" disabled="True"/>
- <property id="stock" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkComboBox" generic-name="combobox" _title="Combo Box">
- <post-create-function>glade_gtk_combo_box_post_create</post-create-function>
- <set-property-function>glade_gtk_combo_box_set_property</set-property-function>
- <properties>
- <property id="model" disabled="True"/>
- <property id="active" ignore="True"/>
- <property id="column-span-column" ignore="True"/>
- <property id="row-span-column" ignore="True"/>
- <property id="items" _name="Items" translatable="True">
- <spec>glade_standard_strv_spec</spec>
- <_tooltip>The items in this combo box</_tooltip>
- </property>
-
- <!-- Atk press property -->
- <property id="atk-press" _name="Press" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Press atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkComboBoxEntry" generic-name="comboboxentry" _title="Combo Box Entry">
- <post-create-function>glade_gtk_combo_box_entry_post_create</post-create-function>
- <get-internal-child-function>glade_gtk_combo_box_entry_get_internal_child</get-internal-child-function>
- </glade-widget-class>
-
- <glade-widget-class name="GtkTreeView" generic-name="treeview" _title="Tree View">
- <post-create-function>glade_gtk_tree_view_post_create</post-create-function>
- <properties>
- <property id="enable-grid-lines" ignore="True">
- <displayable-values>
- <value id="GTK_TREE_VIEW_GRID_LINES_NONE" _name="None"/>
- <value id="GTK_TREE_VIEW_GRID_LINES_HORIZONTAL" _name="Horizontal"/>
- <value id="GTK_TREE_VIEW_GRID_LINES_VERTICAL" _name="Vertical"/>
- <value id="GTK_TREE_VIEW_GRID_LINES_BOTH" _name="Horizontal and Vertical"/>
- </displayable-values>
- </property>
- <property id="hadjustment" disabled="True"/>
- <property id="vadjustment" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkIconView" generic-name="iconview" _title="Icon View" />
-
- <glade-widget-class name="GtkProgressBar" generic-name="progressbar" _title="Progress Bar">
- <properties>
- <property id="text" translatable="True"/>
- <property id="activity-blocks" disabled="True"/>
- <property id="activity-step" disabled="True"/>
- <property id="adjustment" disabled="True"/>
- <property id="bar-style" disabled="True"/>
- <property id="orientation">
- <displayable-values>
- <value id="GTK_PROGRESS_LEFT_TO_RIGHT" _name="Left to Right"/>
- <value id="GTK_PROGRESS_RIGHT_TO_LEFT" _name="Right to Left"/>
- <value id="GTK_PROGRESS_BOTTOM_TO_TOP" _name="Bottom to Top"/>
- <value id="GTK_PROGRESS_TOP_TO_BOTTOM" _name="Top to Bottom"/>
- </displayable-values>
- </property>
- <property id="ellipsize">
- <displayable-values>
- <value id="PANGO_ELLIPSIZE_NONE" _name="None"/>
- <value id="PANGO_ELLIPSIZE_START" _name="Start"/>
- <value id="PANGO_ELLIPSIZE_MIDDLE" _name="Middle"/>
- <value id="PANGO_ELLIPSIZE_END" _name="End"/>
- </displayable-values>
- </property>
- <property id="bar-style">
- <displayable-values>
- <value id="GTK_PROGRESS_CONTINUOUS" _name="Continuous"/>
- <value id="GTK_PROGRESS_DISCRETE" _name="Discrete"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkImage" generic-name="image" _title="Image">
- <post-create-function>glade_gtk_image_post_create</post-create-function>
- <set-property-function>glade_gtk_image_set_property</set-property-function>
- <properties>
- <property id="stock" visible="False" default="gtk-missing-image"/>
- <property id="glade-type" _name="Edit Type" save="False" weight="0">
- <spec>glade_gtk_image_type_spec</spec>
- <displayable-values>
- <value id="GLADEGTK_IMAGE_FILENAME" _name="Filename"/>
- <value id="GLADEGTK_IMAGE_STOCK" _name="Stock"/>
- <value id="GLADEGTK_IMAGE_ICONTHEME" _name="Icon Theme"/>
- </displayable-values>
- </property>
- <property id="pixbuf-animation" disabled="True"/>
- <property id="file" disabled="True"/>
- <property id="pixmap" disabled="True"/>
- <property id="image" disabled="True"/>
- <property id="mask" disabled="True"/>
- <property id="pixbuf" _name="File Name"/>
- <property id="glade-stock" _name="Stock Image" save="False" weight="1.5" default="gtk-missing-image">
- <_tooltip>A builtin stock image</_tooltip>
- <spec>glade_standard_stock_image_spec</spec>
- <_tooltip>The stock item for this image</_tooltip>
- </property>
- <property id="icon-name" _name="Icon Name" weight="1.6"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkDialog" generic-name="dialog" _title="Dialog Box" default-width="320" default-height="260">
- <post-create-function>glade_gtk_dialog_post_create</post-create-function>
- <get-internal-child-function>glade_gtk_dialog_get_internal_child</get-internal-child-function>
- <get-children-function>glade_gtk_dialog_get_children</get-children-function>
- <set-property-function>glade_gtk_dialog_set_property</set-property-function>
- <properties>
- <property id="default-width" default="0" optional="True" optional-default="False"/>
- <property id="default-height" default="0" optional="True" optional-default="False"/>
- <property id="has-separator" default="False"/>
- <property id="type-hint" save-always="True"/>
- </properties>
-
- </glade-widget-class>
-
- <glade-widget-class name="GtkHBox" generic-name="hbox" _title="Horizontal Box"/>
- <glade-widget-class name="GtkVBox" generic-name="vbox" _title="Vertical Box"/>
-
- <glade-widget-class name="GtkTable" generic-name="table" _title="Table" fixed="True">
- <post-create-function>glade_gtk_table_post_create</post-create-function>
- <child-set-property-function>glade_gtk_table_set_child_property</child-set-property-function>
- <child-verify-function>glade_gtk_table_child_verify_property</child-verify-function>
- <add-child-function>glade_gtk_table_add_child</add-child-function>
- <remove-child-function>glade_gtk_table_remove_child</remove-child-function>
- <replace-child-function>glade_gtk_table_replace_child</replace-child-function>
- <set-property-function>glade_gtk_table_set_property</set-property-function>
- <verify-function>glade_gtk_table_verify_property</verify-function>
- <child-action-activate-function>glade_gtk_table_child_action_activate</child-action-activate-function>
-
- <packing-actions>
- <action id="insert_row" _name="Insert Row" stock="gtk-add">
- <action id="before" _name="Before"/>
- <action id="after" _name="After"/>
- </action>
- <action id="insert_column" _name="Insert Column" stock="gtk-add">
- <action id="before" _name="Before"/>
- <action id="after" _name="After"/>
- </action>
- <action id="remove_row" _name="Remove Row" stock="gtk-remove"/>
- <action id="remove_column" _name="Remove Column" stock="gtk-remove"/>
- </packing-actions>
-
- <properties>
- <property id="n-rows" default="3" query="True"/>
- <property id="n-columns" default="3" query="True"/>
- </properties>
-
- <packing-properties>
- <property id="x-options" transfer-on-paste="True">
- <displayable-values>
- <value id="GTK_EXPAND" _name="Expand"/>
- <value id="GTK_SHRINK" _name="Shrink"/>
- <value id="GTK_FILL" _name="Fill"/>
- </displayable-values>
- </property>
- <property id="y-options" transfer-on-paste="True">
- <displayable-values>
- <value id="GTK_EXPAND" _name="Expand"/>
- <value id="GTK_SHRINK" _name="Shrink"/>
- <value id="GTK_FILL" _name="Fill"/>
- </displayable-values>
- </property>
- <property id="x-padding" transfer-on-paste="True"/>
- <property id="y-padding" transfer-on-paste="True"/>
- </packing-properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkPaned" _title="Paned">
- <post-create-function>glade_gtk_paned_post_create</post-create-function>
- <add-child-function>glade_gtk_paned_add_child</add-child-function>
- <remove-child-function>glade_gtk_paned_remove_child</remove-child-function>
- <child-set-property-function>glade_gtk_paned_set_child_property</child-set-property-function>
- <child-get-property-function>glade_gtk_paned_get_child_property</child-get-property-function>
- <packing-properties>
- <property id="resize" transfer-on-paste="True" save-always="True"/>
- <property id="shrink" transfer-on-paste="True" save-always="True"/>
- <!--
- Whether to add the child to the top/left or bottom/right pane.
- This virtual property is used to remember child position in undo/redo.
- -->
- <property id="first" save="False" visible="False">
- <spec>glade_standard_boolean_spec</spec>
- </property>
- </packing-properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkHPaned" generic-name="hpaned" _title="Horizontal Panes"/>
-
- <glade-widget-class name="GtkVPaned" generic-name="vpaned" _title="Vertical Panes"/>
-
- <glade-widget-class name="GtkNotebook" generic-name="notebook" _title="Notebook">
- <post-create-function>glade_gtk_notebook_post_create</post-create-function>
- <add-child-function>glade_gtk_notebook_add_child</add-child-function>
- <remove-child-function>glade_gtk_notebook_remove_child</remove-child-function>
- <replace-child-function>glade_gtk_notebook_replace_child</replace-child-function>
- <child-set-property-function>glade_gtk_notebook_set_child_property</child-set-property-function>
- <child-get-property-function>glade_gtk_notebook_get_child_property</child-get-property-function>
- <child-verify-function>glade_gtk_notebook_child_verify_property</child-verify-function>
- <special-child-type>type</special-child-type>
- <set-property-function>glade_gtk_notebook_set_property</set-property-function>
- <verify-function>glade_gtk_notebook_verify_property</verify-function>
- <child-action-activate-function>glade_gtk_notebook_child_action_activate</child-action-activate-function>
-
- <packing-actions>
- <action id="insert_page_before" _name="Insert Page Before" stock="gtk-add"/>
- <action id="insert_page_after" _name="Insert Page After" stock="gtk-add"/>
- <action id="remove_page" _name="Remove Page" stock="gtk-remove"/>
- </packing-actions>
-
- <properties>
- <property id="page" save="False">
- <_tooltip>Set the current page (strictly for editing purposes)</_tooltip>
- </property>
-
- <property id="pages" _name="Number of pages" save="False" default="3" query="True">
- <spec>glade_standard_int_spec</spec>
- <_tooltip>The number of pages in the notebook</_tooltip>
- </property>
- <property id="tab-pos">
- <displayable-values>
- <value id="GTK_POS_LEFT" _name="Left"/>
- <value id="GTK_POS_RIGHT" _name="Right"/>
- <value id="GTK_POS_TOP" _name="Top"/>
- <value id="GTK_POS_BOTTOM" _name="Bottom"/>
- </displayable-values>
- </property>
- </properties>
-
- <packing-properties>
- <property id="tab-label" disabled="True"/>
- <property id="tab-pack">
- <displayable-values>
- <value id="GTK_PACK_START" _name="Start"/>
- <value id="GTK_PACK_END" _name="End"/>
- </displayable-values>
- </property>
- </packing-properties>
- </glade-widget-class>
-
-
- <glade-widget-class name="GtkAlignment" generic-name="alignment" _title="Alignment"/>
-
- <glade-widget-class name="GtkFrame" generic-name="frame" _title="Frame">
- <post-create-function>glade_gtk_frame_post_create</post-create-function>
- <add-child-function>glade_gtk_frame_add_child</add-child-function>
- <replace-child-function>glade_gtk_frame_replace_child</replace-child-function>
- <special-child-type>type</special-child-type>
-
- <properties>
- <property id="label" disabled="True"/>
- <property id="shadow" disabled="True"/>
- <property id="label-widget" disabled="True"/>
- <property id="label-xalign" default="0.0"/>
- <property id="shadow-type" default="GTK_SHADOW_NONE">
- <displayable-values>
- <value id="GTK_SHADOW_NONE" _name="None"/>
- <value id="GTK_SHADOW_IN" _name="In"/>
- <value id="GTK_SHADOW_OUT" _name="Out"/>
- <value id="GTK_SHADOW_ETCHED_IN" _name="Etched In"/>
- <value id="GTK_SHADOW_ETCHED_OUT" _name="Etched Out"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkAspectFrame" generic-name="aspectframe" _title="Aspect Frame"/>
-
- <glade-widget-class name="GtkRange" _title="Range">
- <properties>
- <property id="adjustment" default="0 0 100 1 10 10"/>
- <property id="update-policy">
- <displayable-values>
- <value id="GTK_UPDATE_CONTINUOUS" _name="Continuous"/>
- <value id="GTK_UPDATE_DISCONTINUOUS" _name="Discontinuous"/>
- <value id="GTK_UPDATE_DELAYED" _name="Delayed"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkScale" _title="Scale">
- <properties>
- <property id="value-pos">
- <displayable-values>
- <value id="GTK_POS_LEFT" _name="Left"/>
- <value id="GTK_POS_RIGHT" _name="Right"/>
- <value id="GTK_POS_TOP" _name="Top"/>
- <value id="GTK_POS_BOTTOM" _name="Bottom"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkHScale" generic-name="hscale" _title="Horizontal Scale"/>
-
- <glade-widget-class name="GtkVScale" generic-name="vscale" _title="Vertical Scale"/>
-
- <glade-widget-class name="GtkCalendar" generic-name="calendar" _title="Calendar"/>
-
- <glade-widget-class name="GtkMenu" generic-name="menu" _title="Popup Menu" toplevel="True">
- <!-- We do not want glade_gtk_container_post_create be executed -->
- <post-create-function>empty</post-create-function>
- <actions>
- <action id="launch_editor" _name="Edit&#8230;" stock="gtk-edit" important="True"/>
- </actions>
- </glade-widget-class>
-
- <glade-widget-class name="GtkHScrollbar" generic-name="hscrollbar" _title="Horizontal Scrollbar"/>
-
- <glade-widget-class name="GtkVScrollbar" generic-name="vscrollbar" _title="Vertical Scrollbar"/>
-
- <glade-widget-class name="GtkButtonBox" _title="Button Box">
- <properties>
- <property id="layout-style">
- <displayable-values>
- <value id="GTK_BUTTONBOX_DEFAULT_STYLE" _name="Default"/>
- <value id="GTK_BUTTONBOX_SPREAD" _name="Spread"/>
- <value id="GTK_BUTTONBOX_EDGE" _name="Edge"/>
- <value id="GTK_BUTTONBOX_START" _name="Start"/>
- <value id="GTK_BUTTONBOX_END" _name="End"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkHButtonBox" generic-name="hbuttonbox" _title="Horizontal Button Box"/>
-
- <glade-widget-class name="GtkVButtonBox" generic-name="vbuttonbox" _title="Vertical Button Box"/>
-
- <glade-widget-class name="GtkHSeparator" generic-name="hseparator" _title="Horizontal Separator">
-
- <packing-defaults>
- <parent-class name="GtkVBox">
- <child-property id="expand" default="false"/>
- </parent-class>
- </packing-defaults>
-
- </glade-widget-class>
-
- <glade-widget-class name="GtkVSeparator" generic-name="vseparator" _title="Vertical Separator">
- <packing-defaults>
- <parent-class name="GtkHBox">
- <child-property id="expand" default="false"/>
- </parent-class>
- </packing-defaults>
- </glade-widget-class>
- <glade-widget-class name="GtkStatusbar" generic-name="statusbar" _title="Status Bar">
- <properties>
- <property id="size" disabled="True" />
- </properties>
- <packing-defaults>
- <parent-class name="GtkVBox">
- <child-property id="expand" default="false"/>
- </parent-class>
- </packing-defaults>
- </glade-widget-class>
-
- <glade-widget-class name="GtkAccelLabel" generic-name="accellabel" _title="Accel Label"/>
-
- <glade-widget-class name="GtkArrow" generic-name="arrow" _title="Arrow">
- <properties>
- <property id="arrow-type">
- <displayable-values>
- <value id="GTK_ARROW_UP" _name="Up"/>
- <value id="GTK_ARROW_DOWN" _name="Down"/>
- <value id="GTK_ARROW_LEFT" _name="Left"/>
- <value id="GTK_ARROW_RIGHT" _name="Right"/>
- <value id="GTK_ARROW_NONE" _name="None"/>
- </displayable-values>
- </property>
- <property id="shadow-type">
- <displayable-values>
- <value id="GTK_SHADOW_NONE" _name="None"/>
- <value id="GTK_SHADOW_IN" _name="In"/>
- <value id="GTK_SHADOW_OUT" _name="Out"/>
- <value id="GTK_SHADOW_ETCHED_IN" _name="Etched In"/>
- <value id="GTK_SHADOW_ETCHED_OUT" _name="Etched Out"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkLayout" generic-name="layout" _title="Layout" fixed="True" use-placeholders="False">
- <post-create-function>glade_gtk_fixed_layout_post_create</post-create-function>
- <add-child-function>glade_gtk_fixed_layout_add_child</add-child-function>
- <remove-child-function>glade_gtk_fixed_layout_remove_child</remove-child-function>
- <properties>
- <property id="hadjustment" disabled="True"/>
- <property id="vadjustment" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkFixed" generic-name="fixed" _title="Fixed" fixed="True" use-placeholders="False">
- <post-create-function>glade_gtk_fixed_layout_post_create</post-create-function>
- <add-child-function>glade_gtk_fixed_layout_add_child</add-child-function>
- <remove-child-function>glade_gtk_fixed_layout_remove_child</remove-child-function>
- </glade-widget-class>
-
- <glade-widget-class name="GtkDrawingArea" generic-name="drawingarea" _title="Drawing Area"/>
-
- <glade-widget-class name="GtkEventBox" generic-name="eventbox" _title="Event Box"/>
-
- <glade-widget-class name="GtkExpander" generic-name="expander" _title="Expander">
- <post-create-function>glade_gtk_expander_post_create</post-create-function>
- <add-child-function>glade_gtk_expander_add_child</add-child-function>
- <remove-child-function>glade_gtk_expander_remove_child</remove-child-function>
- <replace-child-function>glade_gtk_expander_replace_child</replace-child-function>
- <special-child-type>type</special-child-type>
-
- <properties>
- <property id="label" disabled="True"/>
- <property id="label-widget" disabled="True"/>
-
- <!-- Atk activate property -->
- <property id="atk-activate" _name="Activate" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Activate atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkViewport" generic-name="viewport" _title="Viewport">
- <properties>
- <property id="hadjustment" disabled="True"/>
- <property id="vadjustment" disabled="True"/>
- <property id="shadow-type">
- <displayable-values>
- <value id="GTK_SHADOW_NONE" _name="None"/>
- <value id="GTK_SHADOW_IN" _name="In"/>
- <value id="GTK_SHADOW_OUT" _name="Out"/>
- <value id="GTK_SHADOW_ETCHED_IN" _name="Etched In"/>
- <value id="GTK_SHADOW_ETCHED_OUT" _name="Etched Out"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkScrolledWindow" generic-name="scrolledwindow" _title="Scrolled Window">
- <properties>
- <property id="can-focus" save-always="True"/>
- <property id="hadjustment" disabled="True"/>
- <property id="vadjustment" disabled="True"/>
- <property id="window-placement-set" ignore="True"/>
- <property id="shadow-type">
- <displayable-values>
- <value id="GTK_SHADOW_NONE" _name="None"/>
- <value id="GTK_SHADOW_IN" _name="In"/>
- <value id="GTK_SHADOW_OUT" _name="Out"/>
- <value id="GTK_SHADOW_ETCHED_IN" _name="Etched In"/>
- <value id="GTK_SHADOW_ETCHED_OUT" _name="Etched Out"/>
- </displayable-values>
- </property>
- <property id="hscrollbar-policy" default="GTK_POLICY_AUTOMATIC">
- <displayable-values>
- <value id="GTK_POLICY_ALWAYS" _name="Always"/>
- <value id="GTK_POLICY_AUTOMATIC" _name="Automatic"/>
- <value id="GTK_POLICY_NEVER" _name="Never"/>
- </displayable-values>
- </property>
- <property id="vscrollbar-policy" default="GTK_POLICY_AUTOMATIC">
- <displayable-values>
- <value id="GTK_POLICY_ALWAYS" _name="Always"/>
- <value id="GTK_POLICY_AUTOMATIC" _name="Automatic"/>
- <value id="GTK_POLICY_NEVER" _name="Never"/>
- </displayable-values>
- </property>
- <property id="window-placement">
- <displayable-values>
- <value id="GTK_CORNER_TOP_LEFT" _name="Top Left"/>
- <value id="GTK_CORNER_BOTTOM_LEFT" _name="Bottom Left"/>
- <value id="GTK_CORNER_TOP_RIGHT" _name="Top Right"/>
- <value id="GTK_CORNER_BOTTOM_RIGHT" _name="Bottom Right"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <!-- NOT AVAILABLES ON WIN32
- <glade-widget-class name="GtkPlug" generic-name="plug" _title="Plug"/>
- <glade-widget-class name="GtkSocket" generic-name="socket" _title="Socket"/>
- -->
-
- <glade-widget-class name="GtkAboutDialog" generic-name="aboutdialog" _title="About Dialog">
- <properties>
- <property id="copyright" translatable="True">
- <visible-lines>2</visible-lines>
- </property>
- <property id="comments" translatable="True">
- <visible-lines>2</visible-lines>
- </property>
- <property id="license" translatable="True">
- <visible-lines>2</visible-lines>
- </property>
- <property id="website-label" translatable="True">
- <visible-lines>2</visible-lines>
- </property>
-
- <!-- It is disputable whether this should really be translatable -->
- <property id="translator-credits" translatable="True">
- <_tooltip>You can mark this as translatable and set one name/address if you want to show a translation specific translator, otherwise you should list all translators and unmark this string for translation</_tooltip>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkColorSelectionDialog" generic-name="colorselectiondialog" _title="Color Selection Dialog">
- <properties>
- <property id="has-separator" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkFileChooserDialog" generic-name="filechooserdialog" _title="File Chooser Dialog">
- <properties>
- <property id="action">
- <displayable-values>
- <value id="GTK_FILE_CHOOSER_ACTION_OPEN" _name="Open"/>
- <value id="GTK_FILE_CHOOSER_ACTION_SAVE" _name="Save"/>
- <value id="GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" _name="Select Folder"/>
- <value id="GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER" _name="Create Folder"/>
- </displayable-values>
- </property>
- <property id="extra-widget" disabled="True" />
- <property id="preview-widget" disabled="True" />
- <property id="filter" disabled="True" />
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkFontSelectionDialog" generic-name="fontselectiondialog" _title="Font Selection Dialog">
- <properties>
- <property id="has-separator" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkInputDialog" generic-name="inputdialog" _title="Input Dialog">
- <properties>
- <property id="has-separator" disabled="True"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkMessageDialog" generic-name="messagedialog" _title="Message Dialog" default-width="400" default-height="115">
- <properties>
- <property id="default-width" default="0" optional="True" optional-default="False"/>
- <property id="default-height" default="0" optional="True" optional-default="False"/>
-
- <property common="True" id="sensitive"/>
- <property common="True" id="can-default"/>
- <property common="True" id="has-default"/>
- <property common="True" id="can-focus"/>
- <property id="message-type">
- <displayable-values>
- <value id="GTK_MESSAGE_INFO" _name="Info"/>
- <value id="GTK_MESSAGE_WARNING" _name="Warning"/>
- <value id="GTK_MESSAGE_QUESTION" _name="Question"/>
- <value id="GTK_MESSAGE_ERROR" _name="Error"/>
- <value id="GTK_MESSAGE_OTHER" _name="Other"/>
- </displayable-values>
- </property>
- <property id="buttons">
- <displayable-values>
- <value id="GTK_BUTTONS_NONE" _name="None"/>
- <value id="GTK_BUTTONS_OK" _name="Ok"/>
- <value id="GTK_BUTTONS_CLOSE" _name="Close"/>
- <value id="GTK_BUTTONS_CANCEL" _name="Cancel"/>
- <value id="GTK_BUTTONS_YES_NO" _name="Yes, No"/>
- <value id="GTK_BUTTONS_OK_CANCEL" _name="Ok, Cancel"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkRuler" generic-name="ruler" _title="Ruler">
- <properties>
- <property default="10.0" id="upper"/>
- <property default="5.0" id="position"/>
- <property default="10.0" id="max-size"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkHRuler" generic-name="hruler" _title="Horizontal Ruler"/>
-
- <glade-widget-class name="GtkVRuler" generic-name="vruler" _title="Vertical Ruler"/>
-
- <glade-widget-class name="GtkCombo" generic-name="combo" _title="Combo">
- <post-create-function>glade_gtk_combo_post_create</post-create-function>
- <get-internal-child-function>glade_gtk_combo_get_internal_child</get-internal-child-function>
- <get-children-function>glade_gtk_combo_get_children</get-children-function>
-
- <properties>
- <property id="size" disabled="True"/>
-
- <!-- Atk press property -->
- <property id="atk-press" _name="Press" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Press atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
-
- </glade-widget-class>
-
- <glade-widget-class name="GtkOptionMenu" generic-name="optionmenu" _title="Option Menu">
- <properties>
- <!-- Atk press property -->
- <property id="atk-press" _name="Press" ignore="True" atk-action="True">
- <_tooltip>Set the description of the Press atk action</_tooltip>
- <spec>glade_standard_string_spec</spec>
- <visible-lines>2</visible-lines>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkList" generic-name="list" _title="List">
- <add-child-function>glade_gtk_listitem_add_child</add-child-function>
- <remove-child-function>glade_gtk_listitem_remove_child</remove-child-function>
- </glade-widget-class>
-
- <glade-widget-class name="GtkListItem" generic-name="listitem" _title="List Item">
- <post-create-function>glade_gtk_list_item_post_create</post-create-function>
- <set-property-function>glade_gtk_list_item_set_property</set-property-function>
- <get-property-function>glade_gtk_list_item_get_property</get-property-function>
- <properties>
- <property id="label" _name="Label" translatable="True">
- <spec>glade_standard_string_spec</spec>
- <_tooltip>The text to display</_tooltip>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkCList" generic-name="clist" _title="Columned List"/>
-
- <glade-widget-class name="GtkColorSelection" generic-name="colorselection" _title="Color Selection"/>
-
- <glade-widget-class name="GtkFontSelection" generic-name="fontselection" _title="Font Selection"/>
-
- <glade-widget-class name="GtkCurve" generic-name="curve" _title="Curve">
- <properties>
- <property id="curve-type" default="GTK_CURVE_TYPE_SPLINE">
- <displayable-values>
- <value id="GTK_CURVE_TYPE_LINEAR" _name="Linear"/>
- <value id="GTK_CURVE_TYPE_SPLINE" _name="Spline"/>
- <value id="GTK_CURVE_TYPE_FREE" _name="Free"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkGammaCurve" generic-name="gammacurve" _title="Gamma Curve"/>
-
- <glade-widget-class name="GtkFileSelection" generic-name="fileselection" _title="File Selection"/>
- <glade-widget-class name="Custom" generic-name="custom" _title="Custom widget">
- <properties>
- <property id="creation-function"/>
- <property id="string1"/>
- <property id="string2"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkAssistant" generic-name="assistant" _title="Assistant">
- <post-create-function>glade_gtk_assistant_post_create</post-create-function>
- <add-child-function>glade_gtk_assistant_add_child</add-child-function>
- <remove-child-function>glade_gtk_assistant_remove_child</remove-child-function>
- <replace-child-function>glade_gtk_assistant_replace_child</replace-child-function>
- <set-property-function>glade_gtk_assistant_set_property</set-property-function>
- <get-property-function>glade_gtk_assistant_get_property</get-property-function>
- <verify-function>glade_gtk_assistant_verify_property</verify-function>
- <child-set-property-function>glade_gtk_assistant_set_child_property</child-set-property-function>
- <child-get-property-function>glade_gtk_assistant_get_child_property</child-get-property-function>
- <properties>
- <property save="False" id="size" _name="Size">
- <_tooltip>Number of pages</_tooltip>
- <spec>glade_standard_int_spec</spec>
- </property>
- </properties>
- <packing-properties>
- <property id="complete" disabled="True"/>
- <property id="page-type" ignore="True">
- <displayable-values>
- <value id="GTK_ASSISTANT_PAGE_CONTENT" _name="Content"/>
- <value id="GTK_ASSISTANT_PAGE_INTRO" _name="Intro"/>
- <value id="GTK_ASSISTANT_PAGE_CONFIRM" _name="Confirm"/>
- <value id="GTK_ASSISTANT_PAGE_SUMMARY" _name="Summary"/>
- <value id="GTK_ASSISTANT_PAGE_PROGRESS" _name="Progress"/>
- </displayable-values>
- </property>
- <property save="False" id="position" name="Position">
- <spec>glade_standard_int_spec</spec>
- <_tooltip>The page position in the Assistant</_tooltip>
- </property>
- </packing-properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkLinkButton" generic-name="linkbutton" _title="Link Button">
- <properties>
- <!-- The pspec of this prop says that the default is http://www.gtk.org but gtk_link_button_init() does not set it up
- do we need to override it to avoid seting a NULL value. -->
- <property id="uri" default="http://glade.gnome.org"/>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkRecentChooserWidget" generic-name="recentchooser" _title="Recent Chooser">
- <properties>
- <property id="size" disabled="True"/>
- <property id="sort-type">
- <displayable-values>
- <value id="GTK_RECENT_SORT_NONE" _name="None"/>
- <value id="GTK_RECENT_SORT_MRU" _name="Most Recently Used first"/>
- <value id="GTK_RECENT_SORT_LRU" _name="Least Recently Used first"/>
- <value id="GTK_RECENT_SORT_CUSTOM" _name="Custom"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
-
- <glade-widget-class name="GtkRecentChooserDialog" generic-name="recentchooserdialog" _title="Recent Chooser Dialog">
- <properties>
- <property id="sort-type">
- <displayable-values>
- <value id="GTK_RECENT_SORT_NONE" _name="None"/>
- <value id="GTK_RECENT_SORT_MRU" _name="Most Recently Used first"/>
- <value id="GTK_RECENT_SORT_LRU" _name="Least Recently Used first"/>
- <value id="GTK_RECENT_SORT_CUSTOM" _name="Custom"/>
- </displayable-values>
- </property>
- </properties>
- </glade-widget-class>
- </glade-widget-classes>
-
- <glade-widget-group name="gtk-toplevels" _title="Toplevels">
- <glade-widget-class-ref name="GtkWindow"/>
- <glade-widget-class-ref name="GtkDialog"/>
- <glade-widget-class-ref name="GtkAboutDialog"/>
- <glade-widget-class-ref name="GtkColorSelectionDialog"/>
- <glade-widget-class-ref name="GtkFileChooserDialog"/>
- <glade-widget-class-ref name="GtkFontSelectionDialog"/>
- <glade-widget-class-ref name="GtkInputDialog"/>
- <glade-widget-class-ref name="GtkMessageDialog"/>
- <glade-widget-class-ref name="GtkRecentChooserDialog"/>
- <glade-widget-class-ref name="GtkAssistant"/>
- </glade-widget-group>
-
- <glade-widget-group name="gtk-containers" _title="Containers">
- <glade-widget-class-ref name="GtkHBox"/>
- <glade-widget-class-ref name="GtkVBox"/>
- <glade-widget-class-ref name="GtkTable"/>
- <glade-widget-class-ref name="GtkNotebook"/>
- <glade-widget-class-ref name="GtkFrame"/>
- <glade-widget-class-ref name="GtkAspectFrame"/>
- <glade-widget-class-ref name="GtkMenuBar"/>
- <glade-widget-class-ref name="GtkToolbar"/>
- <glade-widget-class-ref name="GtkHPaned"/>
- <glade-widget-class-ref name="GtkVPaned"/>
- <glade-widget-class-ref name="GtkHButtonBox"/>
- <glade-widget-class-ref name="GtkVButtonBox"/>
- <glade-widget-class-ref name="GtkLayout"/>
- <glade-widget-class-ref name="GtkFixed"/>
- <glade-widget-class-ref name="GtkEventBox"/>
- <glade-widget-class-ref name="GtkExpander"/>
- <glade-widget-class-ref name="GtkViewport"/>
- <glade-widget-class-ref name="GtkScrolledWindow"/>
- <glade-widget-class-ref name="GtkAlignment"/>
- </glade-widget-group>
-
- <glade-widget-group name="gtk-control-display" _title="Control and Display">
-
- <glade-widget-class-ref name="GtkButton"/>
- <glade-widget-class-ref name="GtkToggleButton"/>
- <glade-widget-class-ref name="GtkCheckButton"/>
- <glade-widget-class-ref name="GtkSpinButton"/>
- <glade-widget-class-ref name="GtkRadioButton"/>
- <glade-widget-class-ref name="GtkFileChooserButton"/>
- <glade-widget-class-ref name="GtkColorButton"/>
- <glade-widget-class-ref name="GtkFontButton"/>
- <glade-widget-class-ref name="GtkLinkButton"/>
-
- <glade-widget-class-ref name="GtkImage"/>
- <glade-widget-class-ref name="GtkLabel"/>
- <glade-widget-class-ref name="GtkAccelLabel"/>
- <glade-widget-class-ref name="GtkEntry"/>
- <glade-widget-class-ref name="GtkTextView"/>
-
- <glade-widget-class-ref name="GtkHScale"/>
- <glade-widget-class-ref name="GtkVScale"/>
- <glade-widget-class-ref name="GtkHScrollbar"/>
- <glade-widget-class-ref name="GtkVScrollbar"/>
-
- <glade-widget-class-ref name="GtkComboBox"/>
- <glade-widget-class-ref name="GtkComboBoxEntry"/>
- <glade-widget-class-ref name="GtkProgressBar"/>
-
- <glade-widget-class-ref name="GtkTreeView"/>
- <glade-widget-class-ref name="GtkIconView"/>
-
- <glade-widget-class-ref name="GtkHandleBox"/>
- <glade-widget-class-ref name="GtkStatusbar"/>
-
- <glade-widget-class-ref name="GtkCalendar"/>
- <glade-widget-class-ref name="GtkMenu"/>
- <glade-widget-class-ref name="GtkHSeparator"/>
- <glade-widget-class-ref name="GtkVSeparator"/>
- <glade-widget-class-ref name="GtkArrow"/>
- <glade-widget-class-ref name="GtkDrawingArea"/>
-
- <glade-widget-class-ref name="GtkRecentChooserWidget"/>
- <glade-widget-class-ref name="GtkFileChooserWidget"/>
- </glade-widget-group>
-
- <glade-widget-group name="gtk-obsolete" _title="Gtk+ Obsolete">
-
- <default-palette-state expanded="False" />
-
- <glade-widget-class-ref name="GtkCombo"/>
- <glade-widget-class-ref name="GtkOptionMenu"/>
- <glade-widget-class-ref name="GtkHRuler"/>
- <glade-widget-class-ref name="GtkVRuler"/>
- <glade-widget-class-ref name="GtkList"/>
- <glade-widget-class-ref name="GtkCList"/>
- <glade-widget-class-ref name="GtkColorSelection"/>
- <glade-widget-class-ref name="GtkFontSelection"/>
- <glade-widget-class-ref name="GtkCurve"/>
- <glade-widget-class-ref name="GtkGammaCurve"/>
- <glade-widget-class-ref name="GtkFileSelection"/>
- <glade-widget-class-ref name="Custom"/>
- </glade-widget-group>
-</glade-catalog>
diff --git a/plugins/gtk+/gtkunixprint.xml.in b/plugins/gtk+/gtkunixprint.xml.in
deleted file mode 100644
index 4a9be396..00000000
--- a/plugins/gtk+/gtkunixprint.xml.in
+++ /dev/null
@@ -1,18 +0,0 @@
-<glade-catalog name="unixprint"
- library="gladegtk"
- icon-prefix="gtk"
- depends="gtk+"
- domain="glade3"
- book="gtk">
-
- <glade-widget-classes>
- <glade-widget-class name="GtkPageSetupUnixDialog" generic-name="pagesetupdialog" _title="Page Setup Dialog"/>
- <glade-widget-class name="GtkPrintUnixDialog" generic-name="printdialog" _title="Print Dialog"/>
- </glade-widget-classes>
-
- <glade-widget-group name="unixprint-toplevels" _title="GTK+ Unix Print Toplevels">
- <glade-widget-class-ref name="GtkPageSetupUnixDialog"/>
- <glade-widget-class-ref name="GtkPrintUnixDialog"/>
- </glade-widget-group>
-
-</glade-catalog>
diff --git a/plugins/gtk+/icons/16x16/Makefile.am b/plugins/gtk+/icons/16x16/Makefile.am
deleted file mode 100644
index 52583056..00000000
--- a/plugins/gtk+/icons/16x16/Makefile.am
+++ /dev/null
@@ -1,98 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-iconsdir = $(pkgdatadir)/pixmaps/hicolor/16x16/actions
-
-icons_DATA = \
- widget-gtk-aboutdialog.png \
- widget-gtk-accellabel.png \
- widget-gtk-alignment.png \
- widget-gtk-arrow.png \
- widget-gtk-aspectframe.png \
- widget-gtk-assistant.png \
- widget-gtk-button.png \
- widget-gtk-calendar.png \
- widget-gtk-checkbutton.png \
- widget-gtk-checkmenuitem.png \
- widget-gtk-clist.png \
- widget-gtk-colorbutton.png \
- widget-gtk-colorselection.png \
- widget-gtk-colorselectiondialog.png \
- widget-gtk-combo.png \
- widget-gtk-combobox.png \
- widget-gtk-comboboxentry.png \
- widget-gtk-curve.png \
- widget-gtk-custom.png \
- widget-gtk-default.png \
- widget-gtk-dialog.png \
- widget-gtk-drawingarea.png \
- widget-gtk-entry.png \
- widget-gtk-eventbox.png \
- widget-gtk-expander.png \
- widget-gtk-filechooserbutton.png \
- widget-gtk-filechooserdialog.png \
- widget-gtk-filechooserwidget.png \
- widget-gtk-fileselection.png \
- widget-gtk-fixed.png \
- widget-gtk-fontbutton.png \
- widget-gtk-fontselection.png \
- widget-gtk-fontselectiondialog.png \
- widget-gtk-frame.png \
- widget-gtk-gammacurve.png \
- widget-gtk-gtktextview.png \
- widget-gtk-handlebox.png \
- widget-gtk-hbox.png \
- widget-gtk-hbuttonbox.png \
- widget-gtk-hpaned.png \
- widget-gtk-hruler.png \
- widget-gtk-hscale.png \
- widget-gtk-hscrollbar.png \
- widget-gtk-hseparator.png \
- widget-gtk-iconview.png \
- widget-gtk-image.png \
- widget-gtk-imagemenuitem.png \
- widget-gtk-inputdialog.png \
- widget-gtk-label.png \
- widget-gtk-layout.png \
- widget-gtk-linkbutton.png \
- widget-gtk-list.png \
- widget-gtk-listitem.png \
- widget-gtk-menu.png \
- widget-gtk-menubar.png \
- widget-gtk-menuitem.png \
- widget-gtk-menutoolbutton.png \
- widget-gtk-messagedialog.png \
- widget-gtk-notebook.png \
- widget-gtk-optionmenu.png \
- widget-gtk-pagesetupdialog.png \
- widget-gtk-printdialog.png \
- widget-gtk-progressbar.png \
- widget-gtk-radiobutton.png \
- widget-gtk-radiomenuitem.png \
- widget-gtk-radiotoolbutton.png \
- widget-gtk-recentchooser.png \
- widget-gtk-recentchooserdialog.png \
- widget-gtk-ruler.png \
- widget-gtk-scrolledwindow.png \
- widget-gtk-separatormenuitem.png \
- widget-gtk-separatortoolitem.png \
- widget-gtk-spinbutton.png \
- widget-gtk-statusbar.png \
- widget-gtk-table.png \
- widget-gtk-textview.png \
- widget-gtk-togglebutton.png \
- widget-gtk-toggletoolbutton.png \
- widget-gtk-toolbar.png \
- widget-gtk-toolbutton.png \
- widget-gtk-toolitem.png \
- widget-gtk-treeview.png \
- widget-gtk-vbox.png \
- widget-gtk-vbuttonbox.png \
- widget-gtk-viewport.png \
- widget-gtk-vpaned.png \
- widget-gtk-vruler.png \
- widget-gtk-vscale.png \
- widget-gtk-vscrollbar.png \
- widget-gtk-vseparator.png \
- widget-gtk-window.png
-
-EXTRA_DIST = $(icons_DATA)
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-aboutdialog.png b/plugins/gtk+/icons/16x16/widget-gtk-aboutdialog.png
deleted file mode 100644
index 2e64933e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-aboutdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-accellabel.png b/plugins/gtk+/icons/16x16/widget-gtk-accellabel.png
deleted file mode 100644
index bfb41cab..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-accellabel.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-alignment.png b/plugins/gtk+/icons/16x16/widget-gtk-alignment.png
deleted file mode 100644
index 6e4d0729..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-alignment.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-arrow.png b/plugins/gtk+/icons/16x16/widget-gtk-arrow.png
deleted file mode 100644
index d4fe2f24..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-arrow.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-aspectframe.png b/plugins/gtk+/icons/16x16/widget-gtk-aspectframe.png
deleted file mode 100644
index 2a1f0491..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-aspectframe.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-assistant.png b/plugins/gtk+/icons/16x16/widget-gtk-assistant.png
deleted file mode 100644
index ef1bf09d..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-assistant.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-button.png b/plugins/gtk+/icons/16x16/widget-gtk-button.png
deleted file mode 100644
index a8cb6ccf..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-button.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-calendar.png b/plugins/gtk+/icons/16x16/widget-gtk-calendar.png
deleted file mode 100644
index db199fe4..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-calendar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-checkbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-checkbutton.png
deleted file mode 100644
index 94a7d2ae..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-checkbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-checkmenuitem.png b/plugins/gtk+/icons/16x16/widget-gtk-checkmenuitem.png
deleted file mode 100644
index 0314ca4c..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-checkmenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-clist.png b/plugins/gtk+/icons/16x16/widget-gtk-clist.png
deleted file mode 100644
index 74aa4f33..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-clist.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-colorbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-colorbutton.png
deleted file mode 100644
index 49c077db..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-colorbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-colorselection.png b/plugins/gtk+/icons/16x16/widget-gtk-colorselection.png
deleted file mode 100644
index 8e68eb33..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-colorselection.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-colorselectiondialog.png b/plugins/gtk+/icons/16x16/widget-gtk-colorselectiondialog.png
deleted file mode 100644
index 489993eb..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-colorselectiondialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-combo.png b/plugins/gtk+/icons/16x16/widget-gtk-combo.png
deleted file mode 100644
index 55fad234..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-combo.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-combobox.png b/plugins/gtk+/icons/16x16/widget-gtk-combobox.png
deleted file mode 100644
index f940ba17..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-combobox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-comboboxentry.png b/plugins/gtk+/icons/16x16/widget-gtk-comboboxentry.png
deleted file mode 100644
index a76ad8bf..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-comboboxentry.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-curve.png b/plugins/gtk+/icons/16x16/widget-gtk-curve.png
deleted file mode 100644
index bd65d534..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-curve.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-custom.png b/plugins/gtk+/icons/16x16/widget-gtk-custom.png
deleted file mode 100644
index 4f15f868..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-custom.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-default.png b/plugins/gtk+/icons/16x16/widget-gtk-default.png
deleted file mode 100644
index ebd23733..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-default.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-dialog.png b/plugins/gtk+/icons/16x16/widget-gtk-dialog.png
deleted file mode 100644
index 0d5cf63b..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-dialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-drawingarea.png b/plugins/gtk+/icons/16x16/widget-gtk-drawingarea.png
deleted file mode 100644
index b76a6fe0..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-drawingarea.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-entry.png b/plugins/gtk+/icons/16x16/widget-gtk-entry.png
deleted file mode 100644
index d1d0c6fa..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-entry.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-eventbox.png b/plugins/gtk+/icons/16x16/widget-gtk-eventbox.png
deleted file mode 100644
index e3f48e02..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-eventbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-expander.png b/plugins/gtk+/icons/16x16/widget-gtk-expander.png
deleted file mode 100644
index a410114a..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-expander.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-filechooserbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-filechooserbutton.png
deleted file mode 100644
index aec37f30..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-filechooserbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-filechooserdialog.png b/plugins/gtk+/icons/16x16/widget-gtk-filechooserdialog.png
deleted file mode 100644
index cf64b01f..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-filechooserdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-filechooserwidget.png b/plugins/gtk+/icons/16x16/widget-gtk-filechooserwidget.png
deleted file mode 100644
index 7e8a091e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-filechooserwidget.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-fileselection.png b/plugins/gtk+/icons/16x16/widget-gtk-fileselection.png
deleted file mode 100644
index cf64b01f..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-fileselection.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-fixed.png b/plugins/gtk+/icons/16x16/widget-gtk-fixed.png
deleted file mode 100644
index 632f3db2..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-fixed.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-fontbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-fontbutton.png
deleted file mode 100644
index 8fa2d501..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-fontbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-fontselection.png b/plugins/gtk+/icons/16x16/widget-gtk-fontselection.png
deleted file mode 100644
index f0b91baa..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-fontselection.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-fontselectiondialog.png b/plugins/gtk+/icons/16x16/widget-gtk-fontselectiondialog.png
deleted file mode 100644
index fd37e9fd..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-fontselectiondialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-frame.png b/plugins/gtk+/icons/16x16/widget-gtk-frame.png
deleted file mode 100644
index 4c138882..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-frame.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-gammacurve.png b/plugins/gtk+/icons/16x16/widget-gtk-gammacurve.png
deleted file mode 100644
index bd65d534..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-gammacurve.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-gtktextview.png b/plugins/gtk+/icons/16x16/widget-gtk-gtktextview.png
deleted file mode 100644
index db9953dc..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-gtktextview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-handlebox.png b/plugins/gtk+/icons/16x16/widget-gtk-handlebox.png
deleted file mode 100644
index a56584e5..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-handlebox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hbox.png b/plugins/gtk+/icons/16x16/widget-gtk-hbox.png
deleted file mode 100644
index dc65efd8..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hbuttonbox.png b/plugins/gtk+/icons/16x16/widget-gtk-hbuttonbox.png
deleted file mode 100644
index bedcf633..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hbuttonbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hpaned.png b/plugins/gtk+/icons/16x16/widget-gtk-hpaned.png
deleted file mode 100644
index 89c7179e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hpaned.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hruler.png b/plugins/gtk+/icons/16x16/widget-gtk-hruler.png
deleted file mode 100644
index ead5074d..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hruler.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hscale.png b/plugins/gtk+/icons/16x16/widget-gtk-hscale.png
deleted file mode 100644
index be3dfe61..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hscale.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hscrollbar.png b/plugins/gtk+/icons/16x16/widget-gtk-hscrollbar.png
deleted file mode 100644
index 1c3fd316..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hscrollbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-hseparator.png b/plugins/gtk+/icons/16x16/widget-gtk-hseparator.png
deleted file mode 100644
index 7ba5235d..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-hseparator.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-iconview.png b/plugins/gtk+/icons/16x16/widget-gtk-iconview.png
deleted file mode 100644
index 48439286..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-iconview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-image.png b/plugins/gtk+/icons/16x16/widget-gtk-image.png
deleted file mode 100644
index 8a351fcd..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-image.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-imagemenuitem.png b/plugins/gtk+/icons/16x16/widget-gtk-imagemenuitem.png
deleted file mode 100644
index cfca370c..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-imagemenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-inputdialog.png b/plugins/gtk+/icons/16x16/widget-gtk-inputdialog.png
deleted file mode 100644
index 4b875985..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-inputdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-label.png b/plugins/gtk+/icons/16x16/widget-gtk-label.png
deleted file mode 100644
index d9bf150b..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-label.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-layout.png b/plugins/gtk+/icons/16x16/widget-gtk-layout.png
deleted file mode 100644
index ccfd8d37..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-layout.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-linkbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-linkbutton.png
deleted file mode 100644
index cdc839e9..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-linkbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-list.png b/plugins/gtk+/icons/16x16/widget-gtk-list.png
deleted file mode 100644
index e43577b2..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-list.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-listitem.png b/plugins/gtk+/icons/16x16/widget-gtk-listitem.png
deleted file mode 100644
index 76eb0a2d..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-listitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-menu.png b/plugins/gtk+/icons/16x16/widget-gtk-menu.png
deleted file mode 100644
index 76a23179..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-menu.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-menubar.png b/plugins/gtk+/icons/16x16/widget-gtk-menubar.png
deleted file mode 100644
index 1d6f587e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-menubar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-menuitem.png b/plugins/gtk+/icons/16x16/widget-gtk-menuitem.png
deleted file mode 100644
index 14d81749..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-menuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-menutoolbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-menutoolbutton.png
deleted file mode 100644
index 4c97e7ff..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-menutoolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-messagedialog.png b/plugins/gtk+/icons/16x16/widget-gtk-messagedialog.png
deleted file mode 100644
index 020c6038..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-messagedialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-notebook.png b/plugins/gtk+/icons/16x16/widget-gtk-notebook.png
deleted file mode 100644
index 6285a782..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-notebook.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-optionmenu.png b/plugins/gtk+/icons/16x16/widget-gtk-optionmenu.png
deleted file mode 100644
index a76ad8bf..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-optionmenu.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-pagesetupdialog.png b/plugins/gtk+/icons/16x16/widget-gtk-pagesetupdialog.png
deleted file mode 100644
index bdaa307e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-pagesetupdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-printdialog.png b/plugins/gtk+/icons/16x16/widget-gtk-printdialog.png
deleted file mode 100644
index 99bbc716..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-printdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-progressbar.png b/plugins/gtk+/icons/16x16/widget-gtk-progressbar.png
deleted file mode 100644
index dbb9ede0..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-progressbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-radiobutton.png b/plugins/gtk+/icons/16x16/widget-gtk-radiobutton.png
deleted file mode 100644
index c332ad65..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-radiobutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-radiomenuitem.png b/plugins/gtk+/icons/16x16/widget-gtk-radiomenuitem.png
deleted file mode 100644
index 27764c4e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-radiomenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-radiotoolbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-radiotoolbutton.png
deleted file mode 100644
index f224fcb7..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-radiotoolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-recentchooser.png b/plugins/gtk+/icons/16x16/widget-gtk-recentchooser.png
deleted file mode 100644
index 39a0d618..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-recentchooser.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-recentchooserdialog.png b/plugins/gtk+/icons/16x16/widget-gtk-recentchooserdialog.png
deleted file mode 100644
index cab6da29..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-recentchooserdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-ruler.png b/plugins/gtk+/icons/16x16/widget-gtk-ruler.png
deleted file mode 100644
index ead5074d..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-ruler.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-scrolledwindow.png b/plugins/gtk+/icons/16x16/widget-gtk-scrolledwindow.png
deleted file mode 100644
index b2f3a613..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-scrolledwindow.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-separatormenuitem.png b/plugins/gtk+/icons/16x16/widget-gtk-separatormenuitem.png
deleted file mode 100644
index 45ce1d0b..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-separatormenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-separatortoolitem.png b/plugins/gtk+/icons/16x16/widget-gtk-separatortoolitem.png
deleted file mode 100644
index d020aa7d..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-separatortoolitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-spinbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-spinbutton.png
deleted file mode 100644
index 2c854d3e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-spinbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-statusbar.png b/plugins/gtk+/icons/16x16/widget-gtk-statusbar.png
deleted file mode 100644
index bd0ff941..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-statusbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-table.png b/plugins/gtk+/icons/16x16/widget-gtk-table.png
deleted file mode 100644
index be9f7498..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-table.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-textview.png b/plugins/gtk+/icons/16x16/widget-gtk-textview.png
deleted file mode 100644
index 832a5bf4..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-textview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-togglebutton.png b/plugins/gtk+/icons/16x16/widget-gtk-togglebutton.png
deleted file mode 100644
index ead436ff..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-togglebutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-toggletoolbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-toggletoolbutton.png
deleted file mode 100644
index 94c97490..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-toggletoolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-toolbar.png b/plugins/gtk+/icons/16x16/widget-gtk-toolbar.png
deleted file mode 100644
index 21e34541..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-toolbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-toolbutton.png b/plugins/gtk+/icons/16x16/widget-gtk-toolbutton.png
deleted file mode 100644
index 74ea6dcc..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-toolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-toolitem.png b/plugins/gtk+/icons/16x16/widget-gtk-toolitem.png
deleted file mode 100644
index 231c2638..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-toolitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-treeview.png b/plugins/gtk+/icons/16x16/widget-gtk-treeview.png
deleted file mode 100644
index 74aa4f33..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-treeview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vbox.png b/plugins/gtk+/icons/16x16/widget-gtk-vbox.png
deleted file mode 100644
index 73c8213c..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vbuttonbox.png b/plugins/gtk+/icons/16x16/widget-gtk-vbuttonbox.png
deleted file mode 100644
index d37d4df5..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vbuttonbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-viewport.png b/plugins/gtk+/icons/16x16/widget-gtk-viewport.png
deleted file mode 100644
index f2813f75..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-viewport.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vpaned.png b/plugins/gtk+/icons/16x16/widget-gtk-vpaned.png
deleted file mode 100644
index 03363b06..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vpaned.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vruler.png b/plugins/gtk+/icons/16x16/widget-gtk-vruler.png
deleted file mode 100644
index b927c155..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vruler.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vscale.png b/plugins/gtk+/icons/16x16/widget-gtk-vscale.png
deleted file mode 100644
index d5e77fd5..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vscale.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vscrollbar.png b/plugins/gtk+/icons/16x16/widget-gtk-vscrollbar.png
deleted file mode 100644
index fd87b3e5..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vscrollbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-vseparator.png b/plugins/gtk+/icons/16x16/widget-gtk-vseparator.png
deleted file mode 100644
index 6c07eda8..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-vseparator.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/16x16/widget-gtk-window.png b/plugins/gtk+/icons/16x16/widget-gtk-window.png
deleted file mode 100644
index dfbe790e..00000000
--- a/plugins/gtk+/icons/16x16/widget-gtk-window.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/Makefile.am b/plugins/gtk+/icons/22x22/Makefile.am
deleted file mode 100644
index d1c36bfd..00000000
--- a/plugins/gtk+/icons/22x22/Makefile.am
+++ /dev/null
@@ -1,97 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-iconsdir = $(pkgdatadir)/pixmaps/hicolor/22x22/actions
-
-icons_DATA = \
- widget-gtk-aboutdialog.png \
- widget-gtk-accellabel.png \
- widget-gtk-alignment.png \
- widget-gtk-arrow.png \
- widget-gtk-aspectframe.png \
- widget-gtk-assistant.png \
- widget-gtk-button.png \
- widget-gtk-calendar.png \
- widget-gtk-checkbutton.png \
- widget-gtk-checkmenuitem.png \
- widget-gtk-clist.png \
- widget-gtk-colorbutton.png \
- widget-gtk-colorselection.png \
- widget-gtk-colorselectiondialog.png \
- widget-gtk-combo.png \
- widget-gtk-combobox.png \
- widget-gtk-comboboxentry.png \
- widget-gtk-curve.png \
- widget-gtk-custom.png \
- widget-gtk-default.png \
- widget-gtk-dialog.png \
- widget-gtk-drawingarea.png \
- widget-gtk-entry.png \
- widget-gtk-eventbox.png \
- widget-gtk-expander.png \
- widget-gtk-filechooserbutton.png \
- widget-gtk-filechooserdialog.png \
- widget-gtk-filechooserwidget.png \
- widget-gtk-fileselection.png \
- widget-gtk-fixed.png \
- widget-gtk-fontbutton.png \
- widget-gtk-fontselection.png \
- widget-gtk-fontselectiondialog.png \
- widget-gtk-frame.png \
- widget-gtk-gammacurve.png \
- widget-gtk-handlebox.png \
- widget-gtk-hbox.png \
- widget-gtk-hbuttonbox.png \
- widget-gtk-hpaned.png \
- widget-gtk-hruler.png \
- widget-gtk-hscale.png \
- widget-gtk-hscrollbar.png \
- widget-gtk-hseparator.png \
- widget-gtk-iconview.png \
- widget-gtk-image.png \
- widget-gtk-imagemenuitem.png \
- widget-gtk-inputdialog.png \
- widget-gtk-label.png \
- widget-gtk-layout.png \
- widget-gtk-linkbutton.png \
- widget-gtk-list.png \
- widget-gtk-listitem.png \
- widget-gtk-menu.png \
- widget-gtk-menubar.png \
- widget-gtk-menuitem.png \
- widget-gtk-menutoolbutton.png \
- widget-gtk-messagedialog.png \
- widget-gtk-notebook.png \
- widget-gtk-optionmenu.png \
- widget-gtk-pagesetupdialog.png \
- widget-gtk-printdialog.png \
- widget-gtk-progressbar.png \
- widget-gtk-radiobutton.png \
- widget-gtk-radiomenuitem.png \
- widget-gtk-radiotoolbutton.png \
- widget-gtk-recentchooser.png \
- widget-gtk-recentchooserdialog.png \
- widget-gtk-ruler.png \
- widget-gtk-scrolledwindow.png \
- widget-gtk-separatormenuitem.png \
- widget-gtk-separatortoolitem.png \
- widget-gtk-spinbutton.png \
- widget-gtk-statusbar.png \
- widget-gtk-table.png \
- widget-gtk-textview.png \
- widget-gtk-togglebutton.png \
- widget-gtk-toggletoolbutton.png \
- widget-gtk-toolbar.png \
- widget-gtk-toolbutton.png \
- widget-gtk-toolitem.png \
- widget-gtk-treeview.png \
- widget-gtk-vbox.png \
- widget-gtk-vbuttonbox.png \
- widget-gtk-viewport.png \
- widget-gtk-vpaned.png \
- widget-gtk-vruler.png \
- widget-gtk-vscale.png \
- widget-gtk-vscrollbar.png \
- widget-gtk-vseparator.png \
- widget-gtk-window.png
-
-EXTRA_DIST = $(icons_DATA)
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-aboutdialog.png b/plugins/gtk+/icons/22x22/widget-gtk-aboutdialog.png
deleted file mode 100644
index 00152359..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-aboutdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-accellabel.png b/plugins/gtk+/icons/22x22/widget-gtk-accellabel.png
deleted file mode 100644
index 1b1e7c59..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-accellabel.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-alignment.png b/plugins/gtk+/icons/22x22/widget-gtk-alignment.png
deleted file mode 100644
index 8f78d828..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-alignment.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-arrow.png b/plugins/gtk+/icons/22x22/widget-gtk-arrow.png
deleted file mode 100644
index ea133096..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-arrow.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-aspectframe.png b/plugins/gtk+/icons/22x22/widget-gtk-aspectframe.png
deleted file mode 100644
index 2f2939f1..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-aspectframe.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-assistant.png b/plugins/gtk+/icons/22x22/widget-gtk-assistant.png
deleted file mode 100644
index b4afafc0..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-assistant.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-button.png b/plugins/gtk+/icons/22x22/widget-gtk-button.png
deleted file mode 100644
index 842a4328..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-button.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-calendar.png b/plugins/gtk+/icons/22x22/widget-gtk-calendar.png
deleted file mode 100644
index bd297c4e..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-calendar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-checkbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-checkbutton.png
deleted file mode 100644
index 2d05343c..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-checkbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-checkmenuitem.png b/plugins/gtk+/icons/22x22/widget-gtk-checkmenuitem.png
deleted file mode 100644
index a59a9c06..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-checkmenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-clist.png b/plugins/gtk+/icons/22x22/widget-gtk-clist.png
deleted file mode 100644
index ab19494e..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-clist.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-colorbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-colorbutton.png
deleted file mode 100644
index ff4676ac..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-colorbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-colorselection.png b/plugins/gtk+/icons/22x22/widget-gtk-colorselection.png
deleted file mode 100644
index 76a015ca..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-colorselection.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-colorselectiondialog.png b/plugins/gtk+/icons/22x22/widget-gtk-colorselectiondialog.png
deleted file mode 100644
index 9c4a3ba2..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-colorselectiondialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-combo.png b/plugins/gtk+/icons/22x22/widget-gtk-combo.png
deleted file mode 100644
index 19d5a883..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-combo.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-combobox.png b/plugins/gtk+/icons/22x22/widget-gtk-combobox.png
deleted file mode 100644
index 3fc3436b..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-combobox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-comboboxentry.png b/plugins/gtk+/icons/22x22/widget-gtk-comboboxentry.png
deleted file mode 100644
index 89d0fa1f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-comboboxentry.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-curve.png b/plugins/gtk+/icons/22x22/widget-gtk-curve.png
deleted file mode 100644
index d4412862..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-curve.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-custom.png b/plugins/gtk+/icons/22x22/widget-gtk-custom.png
deleted file mode 100644
index 473f6a89..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-custom.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-default.png b/plugins/gtk+/icons/22x22/widget-gtk-default.png
deleted file mode 100644
index dda2ad7f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-default.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-dialog.png b/plugins/gtk+/icons/22x22/widget-gtk-dialog.png
deleted file mode 100644
index 575ebf5d..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-dialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-drawingarea.png b/plugins/gtk+/icons/22x22/widget-gtk-drawingarea.png
deleted file mode 100644
index 6803cc6d..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-drawingarea.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-entry.png b/plugins/gtk+/icons/22x22/widget-gtk-entry.png
deleted file mode 100644
index 443e4c2c..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-entry.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-eventbox.png b/plugins/gtk+/icons/22x22/widget-gtk-eventbox.png
deleted file mode 100644
index 00b93b1e..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-eventbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-expander.png b/plugins/gtk+/icons/22x22/widget-gtk-expander.png
deleted file mode 100644
index 6a8ae07a..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-expander.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-filechooserbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-filechooserbutton.png
deleted file mode 100644
index 6b5c7734..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-filechooserbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-filechooserdialog.png b/plugins/gtk+/icons/22x22/widget-gtk-filechooserdialog.png
deleted file mode 100644
index fbf06dcb..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-filechooserdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-filechooserwidget.png b/plugins/gtk+/icons/22x22/widget-gtk-filechooserwidget.png
deleted file mode 100644
index cb225400..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-filechooserwidget.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-fileselection.png b/plugins/gtk+/icons/22x22/widget-gtk-fileselection.png
deleted file mode 100644
index fbf06dcb..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-fileselection.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-fixed.png b/plugins/gtk+/icons/22x22/widget-gtk-fixed.png
deleted file mode 100644
index e6d5ece8..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-fixed.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-fontbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-fontbutton.png
deleted file mode 100644
index 79a88eb2..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-fontbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-fontselection.png b/plugins/gtk+/icons/22x22/widget-gtk-fontselection.png
deleted file mode 100644
index c1ae1881..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-fontselection.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-fontselectiondialog.png b/plugins/gtk+/icons/22x22/widget-gtk-fontselectiondialog.png
deleted file mode 100644
index 38e76171..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-fontselectiondialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-frame.png b/plugins/gtk+/icons/22x22/widget-gtk-frame.png
deleted file mode 100644
index 8be0acd7..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-frame.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-gammacurve.png b/plugins/gtk+/icons/22x22/widget-gtk-gammacurve.png
deleted file mode 100644
index d4412862..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-gammacurve.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-handlebox.png b/plugins/gtk+/icons/22x22/widget-gtk-handlebox.png
deleted file mode 100644
index a66fd065..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-handlebox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hbox.png b/plugins/gtk+/icons/22x22/widget-gtk-hbox.png
deleted file mode 100644
index eef38243..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hbuttonbox.png b/plugins/gtk+/icons/22x22/widget-gtk-hbuttonbox.png
deleted file mode 100644
index 538a2fb9..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hbuttonbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hpaned.png b/plugins/gtk+/icons/22x22/widget-gtk-hpaned.png
deleted file mode 100644
index b186b261..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hpaned.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hruler.png b/plugins/gtk+/icons/22x22/widget-gtk-hruler.png
deleted file mode 100644
index 85d2470f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hruler.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hscale.png b/plugins/gtk+/icons/22x22/widget-gtk-hscale.png
deleted file mode 100644
index 307f45cd..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hscale.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hscrollbar.png b/plugins/gtk+/icons/22x22/widget-gtk-hscrollbar.png
deleted file mode 100644
index 7330cc3c..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hscrollbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-hseparator.png b/plugins/gtk+/icons/22x22/widget-gtk-hseparator.png
deleted file mode 100644
index cc3ead86..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-hseparator.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-iconview.png b/plugins/gtk+/icons/22x22/widget-gtk-iconview.png
deleted file mode 100644
index fcf5bcb3..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-iconview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-image.png b/plugins/gtk+/icons/22x22/widget-gtk-image.png
deleted file mode 100644
index 414ae1c4..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-image.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-imagemenuitem.png b/plugins/gtk+/icons/22x22/widget-gtk-imagemenuitem.png
deleted file mode 100644
index 5f5a3492..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-imagemenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-inputdialog.png b/plugins/gtk+/icons/22x22/widget-gtk-inputdialog.png
deleted file mode 100644
index 23be2ca3..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-inputdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-label.png b/plugins/gtk+/icons/22x22/widget-gtk-label.png
deleted file mode 100644
index 952520b1..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-label.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-layout.png b/plugins/gtk+/icons/22x22/widget-gtk-layout.png
deleted file mode 100644
index 1ed9807f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-layout.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-linkbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-linkbutton.png
deleted file mode 100644
index 58a78904..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-linkbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-list.png b/plugins/gtk+/icons/22x22/widget-gtk-list.png
deleted file mode 100644
index 80ad0215..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-list.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-listitem.png b/plugins/gtk+/icons/22x22/widget-gtk-listitem.png
deleted file mode 100644
index ebd4873a..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-listitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-menu.png b/plugins/gtk+/icons/22x22/widget-gtk-menu.png
deleted file mode 100644
index d9c9020f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-menu.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-menubar.png b/plugins/gtk+/icons/22x22/widget-gtk-menubar.png
deleted file mode 100644
index 9edfbbc2..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-menubar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-menuitem.png b/plugins/gtk+/icons/22x22/widget-gtk-menuitem.png
deleted file mode 100644
index b14b1452..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-menuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-menutoolbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-menutoolbutton.png
deleted file mode 100644
index 8db5d314..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-menutoolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-messagedialog.png b/plugins/gtk+/icons/22x22/widget-gtk-messagedialog.png
deleted file mode 100644
index b40497d3..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-messagedialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-notebook.png b/plugins/gtk+/icons/22x22/widget-gtk-notebook.png
deleted file mode 100644
index 8aeebe74..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-notebook.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-optionmenu.png b/plugins/gtk+/icons/22x22/widget-gtk-optionmenu.png
deleted file mode 100644
index fcb2a63a..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-optionmenu.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-pagesetupdialog.png b/plugins/gtk+/icons/22x22/widget-gtk-pagesetupdialog.png
deleted file mode 100644
index 19e7e887..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-pagesetupdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-printdialog.png b/plugins/gtk+/icons/22x22/widget-gtk-printdialog.png
deleted file mode 100644
index 6e3f13dc..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-printdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-progressbar.png b/plugins/gtk+/icons/22x22/widget-gtk-progressbar.png
deleted file mode 100644
index 202aeadb..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-progressbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-radiobutton.png b/plugins/gtk+/icons/22x22/widget-gtk-radiobutton.png
deleted file mode 100644
index 080f4b0a..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-radiobutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-radiomenuitem.png b/plugins/gtk+/icons/22x22/widget-gtk-radiomenuitem.png
deleted file mode 100644
index 67b9aec2..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-radiomenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-radiotoolbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-radiotoolbutton.png
deleted file mode 100644
index 78f245fb..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-radiotoolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-recentchooser.png b/plugins/gtk+/icons/22x22/widget-gtk-recentchooser.png
deleted file mode 100644
index ab755f0c..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-recentchooser.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-recentchooserdialog.png b/plugins/gtk+/icons/22x22/widget-gtk-recentchooserdialog.png
deleted file mode 100644
index 2f38896a..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-recentchooserdialog.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-ruler.png b/plugins/gtk+/icons/22x22/widget-gtk-ruler.png
deleted file mode 100644
index 85d2470f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-ruler.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-scrolledwindow.png b/plugins/gtk+/icons/22x22/widget-gtk-scrolledwindow.png
deleted file mode 100644
index d88b4344..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-scrolledwindow.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-separatormenuitem.png b/plugins/gtk+/icons/22x22/widget-gtk-separatormenuitem.png
deleted file mode 100644
index 0c80495e..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-separatormenuitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-separatortoolitem.png b/plugins/gtk+/icons/22x22/widget-gtk-separatortoolitem.png
deleted file mode 100644
index 4bd093ef..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-separatortoolitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-spinbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-spinbutton.png
deleted file mode 100644
index 9693ac83..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-spinbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-statusbar.png b/plugins/gtk+/icons/22x22/widget-gtk-statusbar.png
deleted file mode 100644
index ee0aa60d..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-statusbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-table.png b/plugins/gtk+/icons/22x22/widget-gtk-table.png
deleted file mode 100644
index be61044b..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-table.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-textview.png b/plugins/gtk+/icons/22x22/widget-gtk-textview.png
deleted file mode 100644
index b957492e..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-textview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-togglebutton.png b/plugins/gtk+/icons/22x22/widget-gtk-togglebutton.png
deleted file mode 100644
index e22086a3..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-togglebutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-toggletoolbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-toggletoolbutton.png
deleted file mode 100644
index 4bee9a00..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-toggletoolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-toolbar.png b/plugins/gtk+/icons/22x22/widget-gtk-toolbar.png
deleted file mode 100644
index b003fa40..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-toolbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-toolbutton.png b/plugins/gtk+/icons/22x22/widget-gtk-toolbutton.png
deleted file mode 100644
index 9133dc06..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-toolbutton.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-toolitem.png b/plugins/gtk+/icons/22x22/widget-gtk-toolitem.png
deleted file mode 100644
index 2f6433b0..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-toolitem.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-treeview.png b/plugins/gtk+/icons/22x22/widget-gtk-treeview.png
deleted file mode 100644
index ab19494e..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-treeview.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vbox.png b/plugins/gtk+/icons/22x22/widget-gtk-vbox.png
deleted file mode 100644
index 209d9c7f..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vbuttonbox.png b/plugins/gtk+/icons/22x22/widget-gtk-vbuttonbox.png
deleted file mode 100644
index f241e680..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vbuttonbox.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-viewport.png b/plugins/gtk+/icons/22x22/widget-gtk-viewport.png
deleted file mode 100644
index 79806057..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-viewport.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vpaned.png b/plugins/gtk+/icons/22x22/widget-gtk-vpaned.png
deleted file mode 100644
index f318a2cb..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vpaned.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vruler.png b/plugins/gtk+/icons/22x22/widget-gtk-vruler.png
deleted file mode 100644
index b66f9641..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vruler.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vscale.png b/plugins/gtk+/icons/22x22/widget-gtk-vscale.png
deleted file mode 100644
index 611b5c93..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vscale.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vscrollbar.png b/plugins/gtk+/icons/22x22/widget-gtk-vscrollbar.png
deleted file mode 100644
index ba2807fb..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vscrollbar.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-vseparator.png b/plugins/gtk+/icons/22x22/widget-gtk-vseparator.png
deleted file mode 100644
index 0f078316..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-vseparator.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/22x22/widget-gtk-window.png b/plugins/gtk+/icons/22x22/widget-gtk-window.png
deleted file mode 100644
index b0e939f4..00000000
--- a/plugins/gtk+/icons/22x22/widget-gtk-window.png
+++ /dev/null
Binary files differ
diff --git a/plugins/gtk+/icons/Makefile.am b/plugins/gtk+/icons/Makefile.am
deleted file mode 100644
index bd39c36e..00000000
--- a/plugins/gtk+/icons/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-SUBDIRS = 16x16 22x22