[glade3/glade-3-8] Revert " * configure.ac: Require GTK+ 3.0 and change package domain from glade3 -> glade"
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade3/glade-3-8] Revert " * configure.ac: Require GTK+ 3.0 and change package domain from glade3 -> glade"
- Date: Tue, 14 Dec 2010 07:30:09 +0000 (UTC)
commit 478f59e812dccee1943bafa2566eb343d36bb535
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Tue Dec 14 16:21:45 2010 +0900
Revert " * configure.ac: Require GTK+ 3.0 and change package domain from glade3 -> glade"
This reverts commit 9240c83dddcedaa3dd482418020622b288c6915f.
Conflicts:
ChangeLog
configure.ac
gladeui/Makefile.am
plugins/gtk+/gtk+.xml.in
ChangeLog | 8 +-
configure.ac | 67 +-
gladeui/Makefile.am | 27 +-
gladeui/glade-app.c | 11 +
gladeui/glade-utils.c | 71 +
gladeui/glade-utils.h | 4 +
plugins/Makefile.am | 4 +
plugins/gnome/Makefile.am | 45 +
plugins/gnome/bonobo.xml.in | 56 +
plugins/gnome/canvas.xml.in | 88 +
plugins/gnome/glade-gnome.c | 1736 ++++++++++++++++++++
plugins/gnome/gnome.xml.in | 384 +++++
plugins/gnome/icons/16x16/Makefile.am | 30 +
plugins/gnome/icons/16x16/widget-bonobo-dock.png | Bin 0 -> 142 bytes
.../gnome/icons/16x16/widget-bonobo-dockitem.png | Bin 0 -> 156 bytes
plugins/gnome/icons/16x16/widget-gnome-about.png | Bin 0 -> 221 bytes
plugins/gnome/icons/16x16/widget-gnome-app.png | Bin 0 -> 168 bytes
plugins/gnome/icons/16x16/widget-gnome-appbar.png | Bin 0 -> 113 bytes
plugins/gnome/icons/16x16/widget-gnome-canvas.png | Bin 0 -> 108 bytes
.../gnome/icons/16x16/widget-gnome-colorpicker.png | Bin 0 -> 199 bytes
.../gnome/icons/16x16/widget-gnome-dateedit.png | Bin 0 -> 164 bytes
plugins/gnome/icons/16x16/widget-gnome-dialog.png | Bin 0 -> 206 bytes
plugins/gnome/icons/16x16/widget-gnome-druid.png | Bin 0 -> 150 bytes
.../icons/16x16/widget-gnome-druidpageedge.png | Bin 0 -> 150 bytes
.../icons/16x16/widget-gnome-druidpagestandard.png | Bin 0 -> 155 bytes
plugins/gnome/icons/16x16/widget-gnome-entry.png | Bin 0 -> 153 bytes
.../gnome/icons/16x16/widget-gnome-fileentry.png | Bin 0 -> 164 bytes
.../gnome/icons/16x16/widget-gnome-fontpicker.png | Bin 0 -> 291 bytes
plugins/gnome/icons/16x16/widget-gnome-href.png | Bin 0 -> 121 bytes
.../gnome/icons/16x16/widget-gnome-iconentry.png | Bin 0 -> 204 bytes
.../gnome/icons/16x16/widget-gnome-iconlist.png | Bin 0 -> 241 bytes
.../icons/16x16/widget-gnome-iconselection.png | Bin 0 -> 224 bytes
.../gnome/icons/16x16/widget-gnome-messagebox.png | Bin 0 -> 229 bytes
plugins/gnome/icons/16x16/widget-gnome-pixmap.png | Bin 0 -> 268 bytes
.../gnome/icons/16x16/widget-gnome-pixmapentry.png | Bin 0 -> 164 bytes
.../gnome/icons/16x16/widget-gnome-propertybox.png | Bin 0 -> 224 bytes
plugins/gnome/icons/22x22/Makefile.am | 31 +
plugins/gnome/icons/22x22/widget-bonobo-dock.png | Bin 0 -> 147 bytes
.../gnome/icons/22x22/widget-bonobo-dockitem.png | Bin 0 -> 174 bytes
plugins/gnome/icons/22x22/widget-gnome-about.png | Bin 0 -> 236 bytes
plugins/gnome/icons/22x22/widget-gnome-app.png | Bin 0 -> 181 bytes
plugins/gnome/icons/22x22/widget-gnome-appbar.png | Bin 0 -> 122 bytes
plugins/gnome/icons/22x22/widget-gnome-canvas.png | Bin 0 -> 115 bytes
.../gnome/icons/22x22/widget-gnome-colorpicker.png | Bin 0 -> 168 bytes
.../gnome/icons/22x22/widget-gnome-dateedit.png | Bin 0 -> 177 bytes
plugins/gnome/icons/22x22/widget-gnome-dialog.png | Bin 0 -> 283 bytes
plugins/gnome/icons/22x22/widget-gnome-druid.png | Bin 0 -> 143 bytes
.../icons/22x22/widget-gnome-druidpageedge.png | Bin 0 -> 143 bytes
.../icons/22x22/widget-gnome-druidpagestandard.png | Bin 0 -> 143 bytes
plugins/gnome/icons/22x22/widget-gnome-entry.png | Bin 0 -> 170 bytes
.../gnome/icons/22x22/widget-gnome-fileentry.png | Bin 0 -> 177 bytes
.../gnome/icons/22x22/widget-gnome-fontpicker.png | Bin 0 -> 175 bytes
plugins/gnome/icons/22x22/widget-gnome-href.png | Bin 0 -> 150 bytes
.../gnome/icons/22x22/widget-gnome-iconentry.png | Bin 0 -> 226 bytes
.../gnome/icons/22x22/widget-gnome-iconlist.png | Bin 0 -> 265 bytes
.../icons/22x22/widget-gnome-iconselection.png | Bin 0 -> 274 bytes
.../gnome/icons/22x22/widget-gnome-messagebox.png | Bin 0 -> 310 bytes
plugins/gnome/icons/22x22/widget-gnome-pixmap.png | Bin 0 -> 269 bytes
.../gnome/icons/22x22/widget-gnome-pixmapentry.png | Bin 0 -> 177 bytes
.../gnome/icons/22x22/widget-gnome-propertybox.png | Bin 0 -> 263 bytes
plugins/gnome/icons/Makefile.am | 3 +
plugins/gtk+/Makefile.am | 2 +-
plugins/gtk+/glade-gtk.c | 229 +++-
plugins/gtk+/gtk+.xml.in | 117 ++
src/Makefile.am | 20 +-
src/{glade.rc.in => glade-3.rc.in} | 0
66 files changed, 2865 insertions(+), 68 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1945f50..1f490f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,13 @@
+2010-12-14 Tristan Van Berkom <tristanvb openismus com>
+
+ * Reverted 3.0 commit, now targetting this branch to the final GTK+ 2.x chapter
+
2010-11-12 Johannes Schmid <jhs gnome org>
* gladeui/glade-project.c:
project-model: Don't be picky about non-existing children
It is sometimes possible that children are added before their parents
- in the tree. We simply ignore that for now as it doesn't
+ in the tree. We simply ignore that for now as it doesn't
cause any harm in the tree model.
2010-10-12 Marco Diego Aurélio Mesquita <marcodiegomesquita gmail com>
@@ -78,7 +82,7 @@
* configure.ac: Require GTK+ 3.0 and change package domain from glade3 -> glade
- * src/Makefile.am, gladeui/Makefile.am: application 'glade-3' -> 'glade',
+ * src/Makefile.am, gladeui/Makefile.am: application 'glade-3' -> 'glade',
library libgladeui-1 -> libgladeui-2
* plugins/Makefile.am, plugins/gnome/*: Removed libgnomeui support.
diff --git a/configure.ac b/configure.ac
index 3937147..25c4f0a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ m4_define(glade_minor_version, 7)
m4_define(glade_micro_version, 1)
m4_define(glade_version, glade_major_version.glade_minor_version.glade_micro_version)
-AC_INIT([glade], [glade_version],
+AC_INIT([glade3], [glade_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=glade3])
AC_CONFIG_HEADERS([config.h])
@@ -53,7 +53,7 @@ AM_PROG_LIBTOOL
# If any interfaces have been removed since the last public release, then set GLADE_AGE to 0.
# Reference: http://www.gnu.org/software/libtool/manual.html#Versioning
GLADE_REVISION=0
-GLADE_CURRENT=0
+GLADE_CURRENT=10
GLADE_AGE=0
GLADE_CURRENT_MINUS_AGE=`expr $GLADE_CURRENT - $GLADE_AGE`
AC_SUBST(GLADE_REVISION)
@@ -121,39 +121,9 @@ GTK_DOC_CHECK(1.9)
dnl ================================================================
dnl Check for gtk+
dnl ================================================================
-# Which gtk+ API version to compile against
-
-AC_MSG_CHECKING([which gtk+ version to compile against])
-AC_ARG_WITH([gtk],
- [AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 3.0)])],
- [case "$with_gtk" in
- 2.0|3.0) ;;
- *) AC_MSG_ERROR([invalid gtk version specified]) ;;
- esac],
- [with_gtk=3.0])
-AC_MSG_RESULT([$with_gtk])
-
-case "$with_gtk" in
- 2.0) GTK_API_VERSION=2.0
- GTK_REQUIRED=2.14.0
- ;;
- 3.0) GTK_API_VERSION=3.0
- GTK_REQUIRED=2.90.0
- ;;
-esac
-
+PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.20 gthread-2.0 libxml-2.0 >= 2.4.0])
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
-AC_SUBST([GTK_API_VERSION])
-
-AM_CONDITIONAL([HAVE_GTK_2],[test "$with_gtk" = "2.0"])
-AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk" = "3.0"])
-
-PKG_CHECK_MODULES([GTK],[
- gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
- libxml-2.0 >= 2.4.0
-])
-
dnl ================================================================
dnl Check for the unix print widgets in gtk+
@@ -163,6 +133,25 @@ AC_CHECK_FUNCS(gtk_print_unix_dialog_new,[have_unix_print=yes]; break,[have_unix
AM_CONDITIONAL(HAVE_GTK_UNIX_PRINT, test x"$have_unix_print" = "xyes")
dnl ================================================================
+dnl Check for optional gnome libs
+dnl ================================================================
+AC_ARG_ENABLE(gnome,
+ AS_HELP_STRING([--disable-gnome], [disable gnome catalog]),
+ check_gnome=$enableval, check_gnome=yes)
+
+if test x"$check_gnome" = x"yes"; then
+ PKG_CHECK_MODULES(GNOME, [libbonoboui-2.0 libgnomeui-2.0],
+ [have_gnome=yes],[have_gnome=no])
+ AC_SUBST(GNOME_LIBS)
+ AC_SUBST(GNOME_CFLAGS)
+else
+ have_gnome=no
+fi
+
+AM_CONDITIONAL(BUILD_GNOME, test x"$have_gnome" = "xyes")
+
+
+dnl ================================================================
dnl Python for optional python dev libs
dnl ================================================================
AC_ARG_ENABLE(python,
@@ -260,10 +249,6 @@ if test "x$_gdk_tgt" = xquartz; then
AC_SUBST(IGE_MAC_CFLAGS)
fi
-
-AC_SUBST([GLADE_PREFIX])
-
-
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
@@ -291,12 +276,16 @@ data/icons/hicolor/scalable/apps/Makefile
gladeui/Makefile
gladeui/gladeui.rc
src/Makefile
-src/glade.rc
+src/glade-3.rc
plugins/Makefile
plugins/gtk+/Makefile
plugins/gtk+/icons/Makefile
plugins/gtk+/icons/16x16/Makefile
plugins/gtk+/icons/22x22/Makefile
+plugins/gnome/Makefile
+plugins/gnome/icons/Makefile
+plugins/gnome/icons/16x16/Makefile
+plugins/gnome/icons/22x22/Makefile
plugins/python/Makefile
po/Makefile.in
doc/Makefile
@@ -312,8 +301,8 @@ Configuration:
Source code location: ${srcdir}
Compiler: ${CC}
- GTK+ version: $with_gtk
GTK+ UNIX Print Widgets: ${have_unix_print}
+ GNOME UI Widgets: ${have_gnome}
PYTHON Widgets support: ${have_python}
Build Reference Manual: ${enable_gtk_doc}
diff --git a/gladeui/Makefile.am b/gladeui/Makefile.am
index c52043c..b0e29e8 100644
--- a/gladeui/Makefile.am
+++ b/gladeui/Makefile.am
@@ -36,18 +36,23 @@ glade-win32-res.o: glade-previewer.rc
common_defines = \
-DG_LOG_DOMAIN=\"GladeUI\" \
+ -DGLADE_DATADIR="\"$(pkgdatadir)\"" \
+ -DGLADE_LIBDIR="\"$(pkglibdir)\"" \
-DGLADE_CATALOGSDIR="\"$(pkgdatadir)/catalogs\""\
-DGLADE_MODULESDIR="\"$(pkglibdir)/modules\"" \
+ -DGLADE_PLUGINSDIR="\"$(pkglibdir)/plugins\"" \
-DGLADE_PIXMAPSDIR="\"$(pkgdatadir)/pixmaps\"" \
- -DGLADE_LOCALEDIR="\"$(datadir)/locale\""\
- -DGLADE_BINDIR="\"$(bindir)\""
+ -DGLADE_LOCALEDIR="\"$(datadir)/locale\"" \
+ -DGLADE_BINDIR="\"$(bindir)\""
+
+lib_LTLIBRARIES = libgladeui-1.la
BUILT_SOURCES = glade-marshallers.c glade-marshallers.h
EXTRA_DIST = glade-marshallers.list gladeui.rc.in icon-naming-spec.c glade-previewer.rc.in
# The glade-3 core library
-libgladeui_2_la_SOURCES = \
+libgladeui_1_la_SOURCES = \
glade-widget-adaptor.c \
glade-debug.c \
glade-project.c \
@@ -92,24 +97,24 @@ libgladeui_2_la_SOURCES = \
glade-editor-table.c \
glade-cell-renderer-icon.c
-libgladeui_2_la_CPPFLAGS = \
+libgladeui_1_la_CPPFLAGS = \
$(common_defines) \
-I$(top_srcdir) \
-I$(top_builddir) \
$(AM_CPPFLAGS)
-libgladeui_2_la_CFLAGS = \
+libgladeui_1_la_CFLAGS = \
$(GTK_CFLAGS) \
$(IGE_MAC_BUNDLE_FLAG) \
$(IGE_MAC_CFLAGS) \
$(WARN_CFLAGS) \
$(AM_CFLAGS)
-libgladeui_2_la_LDFLAGS = -version-info $(GLADE_CURRENT):$(GLADE_REVISION):$(GLADE_AGE) $(AM_LDFLAGS)
-libgladeui_2_la_LIBADD = $(GTK_LIBS) $(IGE_MAC_LIBS)
+libgladeui_1_la_LDFLAGS = -version-info $(GLADE_CURRENT):$(GLADE_REVISION):$(GLADE_AGE) $(AM_LDFLAGS)
+libgladeui_1_la_LIBADD = $(GTK_LIBS) $(IGE_MAC_LIBS)
-libgladeuiincludedir=$(includedir)/libgladeui-2.0/gladeui
+libgladeuiincludedir=$(includedir)/libgladeui-1.0/gladeui
libgladeuiinclude_HEADERS = \
glade.h \
glade-debug.h \
@@ -149,12 +154,12 @@ libgladeuiinclude_HEADERS = \
if PLATFORM_WIN32
-libgladeui_2_la_LDFLAGS += -no-undefined
+libgladeui_1_la_LDFLAGS += -no-undefined
endif
if NATIVE_WIN32
-libgladeui_2_la_LDFLAGS += -Wl,gladeui-win32-res.o -export-symbols gladeui.def
-libgladeui_2_la_DEPENDENCIES = gladeui-win32-res.o gladeui.def
+libgladeui_1_la_LDFLAGS += -Wl,gladeui-win32-res.o -export-symbols gladeui.def
+libgladeui_1_la_DEPENDENCIES = gladeui-win32-res.o gladeui.def
endif
gladeui-win32-res.o: gladeui.rc
diff --git a/gladeui/glade-app.c b/gladeui/glade-app.c
index 363d0ee..070c2e3 100644
--- a/gladeui/glade-app.c
+++ b/gladeui/glade-app.c
@@ -101,6 +101,7 @@ static guint glade_app_signals[LAST_SIGNAL] = { 0 };
/* installation paths */
static gchar *catalogs_dir = NULL;
static gchar *modules_dir = NULL;
+static gchar *plugins_dir = NULL;
static gchar *pixmaps_dir = NULL;
static gchar *locale_dir = NULL;
static gchar *bin_dir = NULL;
@@ -341,6 +342,15 @@ glade_app_get_modules_dir (void)
}
const gchar *
+glade_app_get_plugins_dir (void)
+{
+ glade_init_check ();
+
+ return plugins_dir;
+}
+
+
+const gchar *
glade_app_get_pixmaps_dir (void)
{
glade_init_check ();
@@ -391,6 +401,7 @@ build_package_paths (void)
#else
catalogs_dir = g_strdup (GLADE_CATALOGSDIR);
modules_dir = g_strdup (GLADE_MODULESDIR);
+ plugins_dir = g_strdup (GLADE_PLUGINSDIR);
pixmaps_dir = g_strdup (GLADE_PIXMAPSDIR);
locale_dir = g_strdup (GLADE_LOCALEDIR);
bin_dir = g_strdup (GLADE_BINDIR);
diff --git a/gladeui/glade-utils.c b/gladeui/glade-utils.c
index 705f404..e77c8de 100644
--- a/gladeui/glade-utils.c
+++ b/gladeui/glade-utils.c
@@ -421,6 +421,77 @@ glade_util_compare_stock_labels (gconstpointer a, gconstpointer b)
}
/**
+ * glade_util_gtk_combo_func:
+ * @data:
+ *
+ * TODO: write me
+ *
+ * Returns:
+ */
+gchar *
+glade_util_gtk_combo_func (gpointer data)
+{
+ GtkListItem * listitem = data;
+
+ /* I needed to pinch this as well - Damon. */
+ static const gchar *gtk_combo_string_key = "gtk-combo-string-value";
+
+ GtkWidget *label;
+ gchar *ltext = NULL;
+
+ ltext = (gchar *) g_object_get_data (G_OBJECT (listitem),
+ gtk_combo_string_key);
+ if (!ltext) {
+ label = gtk_bin_get_child (GTK_BIN (listitem));
+ if (!label || !GTK_IS_LABEL (label))
+ return NULL;
+ ltext = (gchar*) gtk_label_get_text (GTK_LABEL (label));
+ }
+
+ return ltext;
+}
+
+/* These are pinched from gtkcombo.c */
+/**
+ * glade_util_gtk_combo_find:
+ * @combo:
+ *
+ * TODO: write me
+ *
+ * Returns:
+ */
+gpointer /* GtkListItem * */
+glade_util_gtk_combo_find (GtkCombo * combo)
+{
+ gchar *text;
+ gchar *ltext;
+ GList *clist;
+ gsize len;
+
+ int (*string_compare) (const char *, const char *, gsize);
+
+ if (combo->case_sensitive)
+ string_compare = strncmp;
+ else
+ string_compare = g_ascii_strncasecmp;
+
+ text = (gchar*) gtk_entry_get_text (GTK_ENTRY (combo->entry));
+ len = text ? strlen (text) : 0;
+ clist = GTK_LIST (combo->list)->children;
+
+ while (clist && clist->data) {
+ ltext = glade_util_gtk_combo_func (GTK_LIST_ITEM (clist->data));
+ if (!ltext)
+ continue;
+ if (!(*string_compare) (ltext, text, len))
+ return (GtkListItem *) clist->data;
+ clist = clist->next;
+ }
+
+ return NULL;
+}
+
+/**
* glade_util_hide_window:
* @window: a #GtkWindow
*
diff --git a/gladeui/glade-utils.h b/gladeui/glade-utils.h
index 0d1b1e5..43336a4 100644
--- a/gladeui/glade-utils.h
+++ b/gladeui/glade-utils.h
@@ -49,6 +49,10 @@ gint glade_util_compare_stock_labels (gconstpointer a, gconstpointe
void glade_util_hide_window (GtkWindow *window);
+gchar *glade_util_gtk_combo_func (gpointer data);
+
+gpointer glade_util_gtk_combo_find (GtkCombo *combo);
+
GtkWidget *glade_util_file_dialog_new (const gchar *title,
GladeProject *project,
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 1324bc4..093e188 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -2,6 +2,10 @@
SUBDIRS = gtk+
+if BUILD_GNOME
+SUBDIRS += gnome
+endif
+
if BUILD_PYTHON
SUBDIRS += python
endif
diff --git a/plugins/gnome/Makefile.am b/plugins/gnome/Makefile.am
new file mode 100644
index 0000000..c6be160
--- /dev/null
+++ b/plugins/gnome/Makefile.am
@@ -0,0 +1,45 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = icons
+
+libgladeui = $(top_builddir)/gladeui/libgladeui-1.la
+
+
+# libgladegnome
+
+gladegnome_LTLIBRARIES = libgladegnome.la
+gladegnomedir = $(pkglibdir)/modules
+
+libgladegnome_la_SOURCES = glade-gnome.c
+libgladegnome_la_CPPFLAGS = $(AM_CPPFLAGS)
+libgladegnome_la_CFLAGS = \
+ -DG_LOG_DOMAIN=\"GladeUI-GNOME\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ -I$(top_srcdir)/plugins/gtk+ \
+ $(GNOME_CFLAGS) \
+ $(PLUGINS_WARN_CFLAGS) \
+ $(AM_CPPFLAGS)
+libgladegnome_la_LDFLAGS = -module -avoid-version $(GNOME_LIBS) $(AM_LDFLAGS)
+libgladegnome_la_LIBADD = $(libgladeui) $(GLADE_LIBS)
+
+if PLATFORM_WIN32
+libgladegnome_la_LDFLAGS += -no-undefined
+endif
+
+
+# catalog data
+
+catalogsdir = $(pkgdatadir)/catalogs
+catalogs_DATA = bonobo.xml \
+ canvas.xml \
+ gnome.xml \
+ bonobo.xml.in \
+ canvas.xml.in \
+ gnome.xml.in
+ INTLTOOL_XML_NOMERGE_RULE@
+
+
+CLEANFILES = bonobo.xml canvas.xml gnome.xml
+
+EXTRA_DIST = $(catalogs_DATA)
diff --git a/plugins/gnome/bonobo.xml.in b/plugins/gnome/bonobo.xml.in
new file mode 100644
index 0000000..a1eb806
--- /dev/null
+++ b/plugins/gnome/bonobo.xml.in
@@ -0,0 +1,56 @@
+<glade-catalog name="bonobo"
+ library="gladegnome"
+ supports="libglade"
+ depends="gnome"
+ domain="glade3">
+ <glade-widget-classes>
+ <glade-widget-class name="BonoboDock" generic-name="dock" title="Bonobo Dock">
+ <set-property-function>glade_gnome_bonobodock_set_property</set-property-function>
+ <add-child-function>glade_gnome_bonobodock_add_child</add-child-function>
+ <remove-child-function>glade_gnome_bonobodock_remove_child</remove-child-function>
+ <replace-child-function>glade_gnome_bonobodock_replace_child</replace-child-function>
+ <get-children-function>glade_gnome_bonobodock_get_children</get-children-function>
+ <child-set-property-function>glade_gnome_bonobodock_set_child_property</child-set-property-function>
+ <child-get-property-function>glade_gnome_bonobodock_get_child_property</child-get-property-function>
+ <properties>
+ <property id="allow-floating" name="Allow Floating">
+ <tooltip>If floating dock iteam are allowed</tooltip>
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ </properties>
+
+ <packing-properties>
+ <property id="placement">
+ <spec>glade_gnome_bonobo_dock_placement_spec</spec>
+ <displayable-values>
+ <value id="BONOBO_DOCK_LEFT" _name="Left"/>
+ <value id="BONOBO_DOCK_RIGHT" _name="Right"/>
+ <value id="BONOBO_DOCK_TOP" _name="Top"/>
+ <value id="BONOBO_DOCK_BOTTOM" _name="Bottom"/>
+ <value id="BONOBO_DOCK_FLOATING" _name="Floating"/>
+ </displayable-values>
+ </property>
+ <property id="band" name="Band">
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="position" name="Position">
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="offset" name="Offset">
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="behavior">
+ <spec>glade_gnome_bonobo_dock_item_behavior_spec</spec>
+ <displayable-values>
+ <value id="BONOBO_DOCK_ITEM_BEH_EXCLUSIVE" _name="Exclusive"/>
+ <value id="BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING" _name="Never Floating"/>
+ <value id="BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL" _name="Never Vertical"/>
+ <value id="BONOBO_DOCK_ITEM_BEH_NEVER_HORIZONTAL" _name="Never Horizontal"/>
+ <value id="BONOBO_DOCK_ITEM_BEH_LOCKED" _name="Locked"/>
+ </displayable-values>
+ </property>
+ </packing-properties>
+ </glade-widget-class>
+ <glade-widget-class name="BonoboDockItem" generic-name="dockitem" title="Bonobo Dock Item"/>
+ </glade-widget-classes>
+</glade-catalog>
diff --git a/plugins/gnome/canvas.xml.in b/plugins/gnome/canvas.xml.in
new file mode 100644
index 0000000..a92a92f
--- /dev/null
+++ b/plugins/gnome/canvas.xml.in
@@ -0,0 +1,88 @@
+<glade-catalog name="canvas"
+ icon-prefix="gnome"
+ library="gladegnome"
+ supports="libglade"
+ depends="gnome"
+ domain="glade3">
+ <glade-widget-classes>
+ <glade-widget-class name="GnomeCanvas" generic-name="canvas" _title="GNOME Canvas">
+ <set-property-function>glade_gnome_canvas_set_property</set-property-function>
+ <properties>
+ <property id="scroll-x1" _name="Min X">
+ <_tooltip>The minimum X coordinate</_tooltip>
+ <spec>glade_standard_float_spec</spec>
+ </property>
+ <property id="scroll-y1" _name="Min Y">
+ <_tooltip>The minimum Y coordinate</_tooltip>
+ <spec>glade_standard_float_spec</spec>
+ </property>
+ <property id="scroll-x2" _name="Max X">
+ <_tooltip>The maximum X coordinate</_tooltip>
+ <spec>glade_standard_float_spec</spec>
+ </property>
+ <property id="scroll-y2" _name="Max Y">
+ <_tooltip>The maximum Y coordinate</_tooltip>
+ <spec>glade_standard_float_spec</spec>
+ </property>
+ <property id="pixels-per-unit" _name="Pixels per unit">
+ <_tooltip>The number of pixels corresponding to one unit</_tooltip>
+ <spec>glade_standard_float_spec</spec>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <!-- This is deprecated -->
+ <glade-widget-class name="GnomeIconList" generic-name="iconlist" _title="GNOME Icon List">
+ <post-create-function>glade_gnome_icon_list_post_create</post-create-function>
+ <set-property-function>glade_gnome_icon_list_set_property</set-property-function>
+ <properties>
+ <property id="scroll-x1" disabled="True"/>
+ <property id="scroll-y1" disabled="True"/>
+ <property id="scroll-x2" disabled="True"/>
+ <property id="scroll-y2" disabled="True"/>
+ <property id="pixels-per-unit" disabled="True"/>
+ <property id="selection-mode" _name="Selection Mode">
+ <parameter-spec>
+ <type>GParamEnum</type>
+ <value-type>GnomeIconListMode</value-type>
+ </parameter-spec>
+ <_tooltip>The selection mode</_tooltip>
+ <displayable-values>
+ <value id="GNOME_ICON_LIST_ICONS" _name="List Icons"/>
+ <value id="GNOME_ICON_LIST_TEXT_BELOW" _name="Text Below"/>
+ <value id="GNOME_ICON_LIST_TEXT_RIGHT" _name="Text Right"/>
+ </displayable-values>
+ </property>
+ <property id="icon-width" _name="Icon Width" default="78">
+ <_tooltip>The width of each icon</_tooltip>
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="row-spacing" _name="Row Spacing" default="4">
+ <_tooltip>The number of pixels between rows of icons</_tooltip>
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="column-spacing" _name="Column Spacing" default="2">
+ <_tooltip>The number of pixels between columns of icons</_tooltip>
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="text-spacing" _name="Text Spacing" default="2">
+ <_tooltip>The number of pixels between the text and the icon</_tooltip>
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="text-editable" _name="Text Editable" ignore="True">
+ <_tooltip>If the icon text can be edited by the user</_tooltip>
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ <property id="text-static" _name="Text Static" ignore="True">
+ <_tooltip>If the icon text is static, in which case it will not be copied by the GnomeIconList</_tooltip>
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ </properties>
+ </glade-widget-class>
+ </glade-widget-classes>
+
+ <glade-widget-group name="gnome-canvas" _title="GNOME Canvas">
+ <glade-widget-class-ref name="GnomeCanvas"/>
+ <glade-widget-class-ref name="GnomeIconList"/>
+ </glade-widget-group>
+</glade-catalog>
diff --git a/plugins/gnome/glade-gnome.c b/plugins/gnome/glade-gnome.c
new file mode 100644
index 0000000..55689d9
--- /dev/null
+++ b/plugins/gnome/glade-gnome.c
@@ -0,0 +1,1736 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2006 Juan Pablo Ugarte.
+ *
+ * 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:
+ * Juan Pablo Ugarte <juanpablougarte gmail com>
+ */
+
+#include <config.h>
+
+#include <gladeui/glade.h>
+#include <gladeui/glade-editor-property.h>
+
+#include <glade-gtk.h>
+
+#include <libbonoboui.h>
+#include <libgnome/libgnome.h>
+#include <libgnomeui/libgnomeui.h>
+
+/* This function does absolutely nothing
+ * (and is for use in overriding post_create functions).
+ */
+void
+empty (GObject *container, GladeCreateReason reason)
+{
+}
+
+/* Catalog init function */
+void
+glade_gnomeui_init (const gchar *name)
+{
+ gchar *argv[2] = {"glade-3", NULL};
+ GtkStockItem items [] = {
+ { GNOME_STOCK_TIMER, "GNOME Timer", 0, },
+ { GNOME_STOCK_TIMER_STOP, "GNOME Timer stop", 0, },
+ { GNOME_STOCK_TRASH, "GNOME Trash", 0, },
+ { GNOME_STOCK_TRASH_FULL, "GNOME Trash Full", 0, },
+ { GNOME_STOCK_SCORES, "GNOME Scores", 0, },
+ { GNOME_STOCK_ABOUT, "GNOME About", 0, },
+ { GNOME_STOCK_BLANK, "GNOME Blank", 0, },
+ { GNOME_STOCK_VOLUME, "GNOME Volume", 0, },
+ { GNOME_STOCK_MIDI, "GNOME Midi", 0, },
+ { GNOME_STOCK_MIC, "GNOME Mic", 0, },
+ { GNOME_STOCK_LINE_IN, "GNOME Line In", 0, },
+ { GNOME_STOCK_MAIL, "GNOME Mail", 0, },
+ { GNOME_STOCK_MAIL_RCV, "GNOME Mail Recive", 0, },
+ { GNOME_STOCK_MAIL_SND, "GNOME Mail Send", 0, },
+ { GNOME_STOCK_MAIL_RPL, "GNOME Mail Reply", 0, },
+ { GNOME_STOCK_MAIL_FWD, "GNOME Mail Foward", 0, },
+ { GNOME_STOCK_MAIL_NEW, "GNOME Mail New", 0, },
+ { GNOME_STOCK_ATTACH, "GNOME Attach", 0, },
+ { GNOME_STOCK_BOOK_RED, "GNOME Book Red", 0, },
+ { GNOME_STOCK_BOOK_GREEN, "GNOME Book Green", 0, },
+ { GNOME_STOCK_BOOK_BLUE, "GNOME Book Blue", 0, },
+ { GNOME_STOCK_BOOK_YELLOW, "GNOME Book Yellow", 0, },
+ { GNOME_STOCK_BOOK_OPEN, "GNOME Book Open", 0, },
+ { GNOME_STOCK_MULTIPLE_FILE, "GNOME Multiple File", 0, },
+ { GNOME_STOCK_NOT, "GNOME Not", 0, },
+ { GNOME_STOCK_TABLE_BORDERS, "GNOME Table Borders", 0, },
+ { GNOME_STOCK_TABLE_FILL, "GNOME Table Fill", 0, },
+ { GNOME_STOCK_TEXT_INDENT, "GNOME Indent", 0, },
+ { GNOME_STOCK_TEXT_UNINDENT, "GNOME Unindent", 0, },
+ { GNOME_STOCK_TEXT_BULLETED_LIST, "GNOME Bulleted List", 0, },
+ { GNOME_STOCK_TEXT_NUMBERED_LIST, "GNOME Numbered List", 0, }
+ };
+
+ gnome_program_init ("glade-3", "1.0",
+ LIBGNOMEUI_MODULE, 1, argv,
+ GNOME_PARAM_NONE);
+
+ gtk_stock_add (items, sizeof (items) / sizeof (GtkStockItem));
+
+ glade_standard_stock_append_prefix ("gnome-stock-");
+}
+
+/* GnomeApp */
+void
+glade_gnome_app_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ static GladeWidgetAdaptor *menubar_adaptor = NULL, *dock_item_adaptor;
+ GnomeApp *app = GNOME_APP (object);
+ GladeWidget *gapp = glade_widget_get_from_gobject (object);
+ GladeProject *project = glade_widget_get_project (gapp);
+ GladeWidget *gdock, *gdock_item, *gmenubar;
+
+ /* Add BonoboDock */
+ gdock = glade_widget_adaptor_create_internal
+ (gapp, G_OBJECT (app->dock),
+ "dock",
+ glade_widget_get_name (gapp),
+ FALSE,
+ GLADE_CREATE_LOAD);
+
+ if (reason != GLADE_CREATE_USER) return;
+
+ /* Add MenuBar */
+ if (menubar_adaptor == NULL)
+ {
+ dock_item_adaptor = glade_widget_adaptor_get_by_type (BONOBO_TYPE_DOCK_ITEM);
+ menubar_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_MENU_BAR);
+ }
+
+ /* DockItem */
+ gdock_item = glade_widget_adaptor_create_widget (dock_item_adaptor, FALSE,
+ "parent", gdock,
+ "project", project, NULL);
+ glade_widget_add_child (gdock, gdock_item, FALSE);
+ glade_widget_pack_property_set (gdock_item, "behavior",
+ BONOBO_DOCK_ITEM_BEH_EXCLUSIVE |
+ BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL |
+ BONOBO_DOCK_ITEM_BEH_LOCKED);
+ /* MenuBar */
+ gmenubar = glade_widget_adaptor_create_widget (menubar_adaptor, FALSE,
+ "parent", gdock_item,
+ "project", project, NULL);
+
+ glade_widget_add_child (gdock_item, gmenubar, FALSE);
+
+ /* Add Client Area placeholder */
+ bonobo_dock_set_client_area (BONOBO_DOCK (app->dock),
+ glade_placeholder_new());
+
+ /* Add StatusBar */
+ glade_widget_property_set (gapp, "has-statusbar", TRUE);
+}
+
+GObject *
+glade_gnome_app_get_internal_child (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *name)
+{
+ GObject *child = NULL;
+ GnomeApp *app = GNOME_APP (object);
+ GladeWidget *gapp = glade_widget_get_from_gobject (object);
+
+ if (strcmp ("dock", name) == 0)
+ child = G_OBJECT (app->dock);
+ else if (strcmp ("appbar", name) == 0)
+ {
+ child = G_OBJECT (app->statusbar);
+ if (child == NULL)
+ {
+ /*
+ Create appbar, libglade handle this as an internal
+ widget but appbar is not created by GnomeApp.
+ So we need to create it here for loading purpouses since
+ "has-statusbar" property is not saved in the .glade file.
+ */
+ glade_widget_property_set (gapp, "has-statusbar", TRUE);
+ child = G_OBJECT (app->statusbar);
+ }
+ }
+
+ return child;
+}
+
+GList *
+glade_gnome_app_get_children (GladeWidgetAdaptor *adaptor,
+ GObject *object)
+{
+ GnomeApp *app = GNOME_APP (object);
+ GList *list = NULL;
+
+ if (app->dock) list = g_list_append (list, G_OBJECT (app->dock));
+ if (app->statusbar) list = g_list_append (list, G_OBJECT (app->statusbar));
+ if (app->contents) list = g_list_append (list, G_OBJECT (app->contents));
+
+ return list;
+}
+
+void
+glade_gnome_app_set_child_property (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child,
+ const gchar *property_name,
+ GValue *value)
+{
+ GnomeApp *app = GNOME_APP (container);
+
+ g_return_if_fail (GTK_IS_WIDGET (child));
+
+ gtk_container_child_set_property (GTK_CONTAINER (app->vbox),
+ (GNOME_IS_APPBAR (child))
+ ? gtk_widget_get_parent (GTK_WIDGET (child))
+ : GTK_WIDGET (child),
+ property_name,
+ value);
+}
+
+void
+glade_gnome_app_get_child_property (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child,
+ const gchar *property_name,
+ GValue *value)
+{
+ GnomeApp *app = GNOME_APP (container);
+
+ g_return_if_fail (GTK_IS_WIDGET (child));
+
+ gtk_container_child_get_property (GTK_CONTAINER (app->vbox),
+ (GNOME_IS_APPBAR (child))
+ ? gtk_widget_get_parent (GTK_WIDGET (child))
+ : GTK_WIDGET (child),
+ property_name,
+ value);
+}
+
+static void
+glade_gnome_app_set_has_statusbar (GObject *object, const GValue *value)
+{
+ GnomeApp *app = GNOME_APP (object);
+ GladeWidget *gapp = glade_widget_get_from_gobject (object), *gbar;
+
+ if (g_value_get_boolean (value))
+ {
+ if (app->statusbar == NULL)
+ {
+ GtkWidget *bar = gnome_appbar_new (TRUE, TRUE,
+ GNOME_PREFERENCES_NEVER);
+
+ gnome_app_set_statusbar (app, bar);
+
+ gbar = glade_widget_adaptor_create_internal
+ (gapp, G_OBJECT (bar), "appbar",
+ glade_widget_get_name (gapp),
+ FALSE, GLADE_CREATE_USER);
+
+ glade_widget_set_parent (gbar, gapp);
+ glade_widget_pack_property_set (gbar, "expand", FALSE);
+ }
+ }
+ else
+ {
+ if (app->statusbar)
+ {
+ /* FIXME: we need to destroy GladeWidgets too */
+ glade_project_remove_object (glade_widget_get_project (gapp),
+ G_OBJECT (app->statusbar));
+ gtk_container_remove (GTK_CONTAINER (app->vbox),
+ gtk_widget_get_parent (app->statusbar));
+ app->statusbar = NULL;
+ }
+ }
+}
+
+
+void
+glade_gnome_app_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "has-statusbar"))
+ glade_gnome_app_set_has_statusbar (object, value);
+ else if (!strcmp (id, "enable-layout-config"))
+ /* do nothing */;
+ else
+ GWA_GET_CLASS (GTK_TYPE_WINDOW)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeAppBar */
+GType
+gnome_app_bar_get_type (void)
+{
+ return gnome_appbar_get_type ();
+}
+
+void
+glade_gnome_app_bar_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ gnome_appbar_set_status (GNOME_APPBAR (object), _("Status Message."));
+}
+
+/* GnomeDateEdit */
+static void
+glade_gnome_date_edit_set_no_show_all (GtkWidget *widget, gpointer data)
+{
+ gtk_widget_set_no_show_all (widget, TRUE);
+}
+
+void
+glade_gnome_date_edit_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ /* DateEdit's "dateedit-flags" property hides/shows some widgets so we
+ * need to explicitly tell that they should not be affected by
+ * gtk_widget_show_all() (its, for example, called after a paste)
+ */
+ gtk_container_foreach (GTK_CONTAINER (object),
+ glade_gnome_date_edit_set_no_show_all, NULL);
+}
+
+/* GnomeDruid */
+static GladeWidget *
+glade_gnome_druid_add_page (GladeWidget *gdruid, gboolean edge)
+{
+ GladeWidget *gpage;
+ static GladeWidgetAdaptor *dps_adaptor = NULL, *dpe_adaptor;
+ GladeProject *project = glade_widget_get_project (gdruid);
+
+ if (dps_adaptor == NULL)
+ {
+ dps_adaptor = glade_widget_adaptor_get_by_type (GNOME_TYPE_DRUID_PAGE_STANDARD);
+ dpe_adaptor = glade_widget_adaptor_get_by_type (GNOME_TYPE_DRUID_PAGE_EDGE);
+ }
+
+ gpage = glade_widget_adaptor_create_widget (edge ? dpe_adaptor : dps_adaptor, FALSE,
+ "parent", gdruid,
+ "project", project, NULL);
+
+ glade_widget_add_child (gdruid, gpage, FALSE);
+
+ return gpage;
+}
+
+void
+glade_gnome_druid_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ GladeWidget *gdruid, *gpage;
+
+ if (reason != GLADE_CREATE_USER) return;
+
+ gdruid = glade_widget_get_from_gobject (object);
+
+ /* Add Start Page */
+ gpage = glade_gnome_druid_add_page (gdruid, TRUE);
+ glade_widget_property_set (gpage, "position", GNOME_EDGE_START);
+
+ /* Add Standard Pages */
+ glade_gnome_druid_add_page (gdruid, FALSE);
+
+ /* Add Finish Page */
+ gpage = glade_gnome_druid_add_page (gdruid, TRUE);
+ glade_widget_property_set (gpage, "position", GNOME_EDGE_FINISH);
+}
+
+static gboolean
+glade_gnome_druid_page_cb (GnomeDruidPage *druidpage,
+ GtkWidget *widget,
+ gpointer user_data)
+{
+ GnomeDruid *druid = GNOME_DRUID (widget);
+ GList *children, *l;
+ gboolean next = TRUE, back = TRUE;
+
+ children = l = gtk_container_get_children (GTK_CONTAINER (druid));
+ while (l)
+ {
+ if (druidpage == l->data) break;
+ l = l->next;
+ }
+
+ if (GPOINTER_TO_INT (user_data))
+ {
+ if (l->next)
+ {
+ gnome_druid_set_page (druid, (GnomeDruidPage *) l->next->data);
+ next = l->next->next != NULL;
+ }
+ }
+ else
+ {
+ if (l->prev)
+ {
+ gnome_druid_set_page (druid, (GnomeDruidPage *) l->prev->data);
+ back = l->prev->prev != NULL;
+ }
+ }
+
+ g_list_free (children);
+
+ gnome_druid_set_buttons_sensitive (druid, back, next, TRUE, TRUE);
+
+ return TRUE;
+}
+
+void
+glade_gnome_druid_add_child (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child)
+{
+ g_return_if_fail (GNOME_IS_DRUID_PAGE (child));
+
+ /*
+ Disconnect handlers just in case this child was already added
+ in another druid.
+ */
+ g_signal_handlers_disconnect_matched (child, G_SIGNAL_MATCH_FUNC, 0, 0, NULL,
+ glade_gnome_druid_page_cb, NULL);
+
+ gnome_druid_append_page (GNOME_DRUID (container), GNOME_DRUID_PAGE (child));
+
+ g_signal_connect (child, "next", G_CALLBACK (glade_gnome_druid_page_cb),
+ GINT_TO_POINTER (TRUE));
+ g_signal_connect (child, "back", G_CALLBACK (glade_gnome_druid_page_cb),
+ GINT_TO_POINTER (FALSE));
+}
+
+void
+glade_gnome_druid_remove_child (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child)
+{
+ g_return_if_fail (GNOME_IS_DRUID_PAGE (child));
+
+ g_signal_handlers_disconnect_matched (child, G_SIGNAL_MATCH_FUNC, 0, 0, NULL,
+ glade_gnome_druid_page_cb, NULL);
+
+ gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (child));
+}
+
+static void
+glade_gnome_druid_insert_page (GnomeDruid *druid, GnomeDruidPage *page, gint pos)
+{
+ GList *children, *l;
+ GnomeDruidPage *back_page = NULL;
+ gint i = 0;
+
+ children = l = gtk_container_get_children (GTK_CONTAINER (druid));
+ while (l)
+ {
+ i++;
+ if (i >= pos)
+ {
+ back_page = (GnomeDruidPage *) l->data;
+ break;
+ }
+ l = l->next;
+ }
+
+ gnome_druid_insert_page (druid, back_page, page);
+
+ g_list_free (children);
+}
+
+static gint
+glade_gnome_druid_get_page_position (GnomeDruid *druid, GnomeDruidPage *page)
+{
+ GList *children, *l;
+ gint i = 0;
+
+ children = l = gtk_container_get_children (GTK_CONTAINER (druid));
+ while (l)
+ {
+ GnomeDruidPage *current = (GnomeDruidPage *) l->data;
+ if (current == page) break;
+ i++;
+ l = l->next;
+ }
+
+ g_list_free (children);
+
+ return i;
+}
+
+void
+glade_gnome_druid_set_child_property (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child,
+ const gchar *property_name,
+ GValue *value)
+{
+ g_return_if_fail (GNOME_IS_DRUID_PAGE (child));
+
+ if (strcmp (property_name, "position") == 0)
+ {
+ gint position = g_value_get_int (value);
+
+ if (position < 0)
+ {
+ position = glade_gnome_druid_get_page_position
+ (GNOME_DRUID (container),
+ GNOME_DRUID_PAGE (child));
+ g_value_set_int (value, position);
+ }
+
+ g_object_ref (child);
+ gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (child));
+ glade_gnome_druid_insert_page (GNOME_DRUID (container),
+ GNOME_DRUID_PAGE (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_gnome_druid_get_child_property (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child,
+ const gchar *property_name,
+ GValue *value)
+{
+ g_return_if_fail (GNOME_IS_DRUID_PAGE (child));
+
+ if (strcmp (property_name, "position") == 0)
+ g_value_set_int (value, glade_gnome_druid_get_page_position (
+ GNOME_DRUID (container),
+ GNOME_DRUID_PAGE (child)));
+ else
+ /* Chain Up */
+ GWA_GET_CLASS
+ (GTK_TYPE_CONTAINER)->child_get_property (adaptor,
+ container,
+ child,
+ property_name,
+ value);
+}
+
+/* GnomeDruidPageStandard */
+void
+glade_gnome_dps_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ GladeWidget *gpage, *gvbox;
+ GObject *vbox;
+
+ gpage = glade_widget_get_from_gobject (object);
+ vbox = G_OBJECT (GNOME_DRUID_PAGE_STANDARD (object)->vbox);
+ gvbox = glade_widget_adaptor_create_internal (gpage, vbox, "vbox",
+ glade_widget_get_name (gpage),
+ FALSE, GLADE_CREATE_LOAD);
+
+ if (reason == GLADE_CREATE_USER)
+ glade_widget_property_set (gvbox, "size", 1);
+}
+
+GObject *
+glade_gnome_dps_get_internal_child (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *name)
+{
+ GObject *child = NULL;
+
+ if (strcmp (name, "vbox") == 0)
+ child = G_OBJECT (GNOME_DRUID_PAGE_STANDARD (object)->vbox);
+
+ return child;
+}
+
+GList *
+glade_gnome_dps_get_children (GladeWidgetAdaptor *adaptor,
+ GObject *object)
+{
+ GnomeDruidPageStandard *page = GNOME_DRUID_PAGE_STANDARD (object);
+ GList *list = NULL;
+
+ if (page->vbox) list = g_list_append (list, G_OBJECT (page->vbox));
+
+ return list;
+}
+
+static void
+glade_gnome_dps_set_color_common (GObject *object,
+ const gchar *property_name,
+ const GValue *value)
+{
+ GladeProperty *prop;
+ const gchar *color_str;
+ GValue *color;
+
+ if ((color_str = g_value_get_string (value)) == NULL) return;
+
+ prop = glade_widget_get_property (glade_widget_get_from_gobject (object),
+ property_name);
+
+ color = glade_property_class_make_gvalue_from_string (prop->klass,
+ color_str, NULL, NULL);
+ if (color) glade_property_set_value (prop, color);
+}
+
+void
+glade_gnome_dps_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+
+ if (!strcmp (id, "background"))
+ glade_gnome_dps_set_color_common (object, "background-gdk", value);
+ else if (!strcmp (id, "contents-background"))
+ glade_gnome_dps_set_color_common (object, "contents-background-gdk", value);
+ else if (!strcmp (id, "logo-background"))
+ glade_gnome_dps_set_color_common (object, "logo-background-gdk", value);
+ else if (!strcmp (id, "title-foreground"))
+ glade_gnome_dps_set_color_common (object, "title-foreground-gdk", value);
+
+
+ else if (!strcmp (id, "background-gdk") ||
+ !strcmp (id, "title-foreground-gdk") ||
+ !strcmp (id, "logo-background-gdk") ||
+ !strcmp (id, "contents-background-gdk"))
+ {
+ /* XXX Ignore these they crash */
+ }
+ else
+ /* Skip GNOME_TYPE_DRUID_PAGE since we didnt register an
+ * adaptor for that abstract class.
+ */
+ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+
+/* GnomeDruidPageEdge */
+static GType
+glade_gnome_dpe_position_get_type (void)
+{
+ static GType etype = 0;
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+ { GNOME_EDGE_START, "GNOME_EDGE_START", "Edge Start"},
+ { GNOME_EDGE_FINISH, "GNOME_EDGE_FINISH", "Edge Finish"},
+ { GNOME_EDGE_OTHER, "GNOME_EDGE_OTHER", "Edge Other"},
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static ("GladeGnomeDruidPagePosition", values);
+ }
+ return etype;
+}
+
+GParamSpec *
+glade_gnome_dpe_position_spec (void)
+{
+ return g_param_spec_enum ("position", _("Position"),
+ _("The position in the druid"),
+ glade_gnome_dpe_position_get_type (),
+ GNOME_EDGE_OTHER, G_PARAM_READWRITE);
+}
+
+void
+glade_gnome_dpe_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+
+{
+ GnomeDruidPageEdge *page = GNOME_DRUID_PAGE_EDGE (object);
+ const gchar *text = NULL;
+ GObject *pixbuf = NULL;
+ GdkColor *color = NULL;
+
+ if (G_VALUE_HOLDS (value, G_TYPE_STRING))
+ text = g_value_get_string (value);
+ else if (G_VALUE_HOLDS (value, GDK_TYPE_PIXBUF))
+ pixbuf = g_value_get_object (value);
+ else if (G_VALUE_HOLDS (value, GDK_TYPE_COLOR))
+ color = (GdkColor *) g_value_get_boxed (value);
+
+ if (!strcmp (id, "title"))
+ {
+ if (text) gnome_druid_page_edge_set_title (page, text);
+ }
+ else if (!strcmp (id, "text"))
+ {
+ if (text) gnome_druid_page_edge_set_text (page, text);
+ }
+ else if (!strcmp (id, "title-foreground"))
+ {
+ if (color) gnome_druid_page_edge_set_title_color (page, color);
+ }
+ else if (!strcmp (id, "text-foreground"))
+ {
+ if (color) gnome_druid_page_edge_set_text_color (page, color);
+ }
+ else if (!strcmp (id, "background"))
+ {
+ if (color) gnome_druid_page_edge_set_bg_color (page, color);
+ }
+ else if (!strcmp (id, "contents-background"))
+ {
+ if (color) gnome_druid_page_edge_set_textbox_color (page, color);
+ }
+ else if (!strcmp (id, "logo-background"))
+ {
+ if (color) gnome_druid_page_edge_set_logo_bg_color (page, color);
+ }
+ else if (!strcmp (id, "logo"))
+ gnome_druid_page_edge_set_logo (page, GDK_PIXBUF (pixbuf));
+ else if (!strcmp (id, "watermark"))
+ gnome_druid_page_edge_set_watermark (page, GDK_PIXBUF (pixbuf));
+ else if (!strcmp (id, "top-watermark"))
+ gnome_druid_page_edge_set_top_watermark (page, GDK_PIXBUF (pixbuf));
+ else if (!strcmp (id, "position"));
+ else
+ /* Skip GNOME_TYPE_DRUID_PAGE since we didnt register an
+ * adaptor for that abstract class.
+ */
+ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeIconEntry */
+void
+glade_gnome_icon_entry_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "max-saved"))
+ gnome_icon_entry_set_max_saved (GNOME_ICON_ENTRY (object),
+ g_value_get_uint (value));
+ else
+ GWA_GET_CLASS (GTK_TYPE_VBOX)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeCanvas */
+typedef enum
+{
+ CANVAS_X1,
+ CANVAS_Y1,
+ CANVAS_X2,
+ CANVAS_Y2
+}GnomeCanvasCoordinate;
+
+static void
+glade_gnome_canvas_set_coordinate_common (GObject *object,
+ const GValue *value,
+ GnomeCanvasCoordinate coordinate)
+{
+ gdouble x1, y1, x2, y2;
+
+ gnome_canvas_get_scroll_region (GNOME_CANVAS (object),
+ &x1, &y1, &x2, &y2);
+
+ switch (coordinate)
+ {
+ case CANVAS_X1:
+ x1 = g_value_get_float (value);
+ break;
+ case CANVAS_Y1:
+ y1 = g_value_get_float (value);
+ break;
+ case CANVAS_X2:
+ x2 = g_value_get_float (value);
+ break;
+ case CANVAS_Y2:
+ y2 = g_value_get_float (value);
+ break;
+ }
+
+ gnome_canvas_set_scroll_region (GNOME_CANVAS (object), x1, y1, x2, y2);
+}
+
+void
+glade_gnome_canvas_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "pixels-per-unit"))
+ gnome_canvas_set_pixels_per_unit (GNOME_CANVAS (object),
+ g_value_get_float (value));
+ else if (!strcmp (id, "scroll-x1"))
+ glade_gnome_canvas_set_coordinate_common (object, value, CANVAS_X1);
+ else if (!strcmp (id, "scroll-x2"))
+ glade_gnome_canvas_set_coordinate_common (object, value, CANVAS_X2);
+ else if (!strcmp (id, "scroll-y1"))
+ glade_gnome_canvas_set_coordinate_common (object, value, CANVAS_Y1);
+ else if (!strcmp (id, "scroll-y2"))
+ glade_gnome_canvas_set_coordinate_common (object, value, CANVAS_Y2);
+ else
+ GWA_GET_CLASS (GTK_TYPE_LAYOUT)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeDialog */
+static void
+glade_gnome_dialog_add_button (GladeWidget *gaction_area,
+ GObject *action_area,
+ const gchar *stock)
+{
+ GladeProject *project = glade_widget_get_project (gaction_area);
+ static GladeWidgetAdaptor *button_adaptor = NULL;
+ GladeWidget *gbutton;
+ GObject *button;
+ GEnumClass *eclass;
+ GEnumValue *eval;
+
+ if (button_adaptor == NULL)
+ button_adaptor = glade_widget_adaptor_get_by_type (GTK_TYPE_BUTTON);
+
+ gbutton = glade_widget_adaptor_create_widget (button_adaptor, FALSE,
+ "parent", gaction_area,
+ "project", project, FALSE);
+
+ eclass = g_type_class_ref (glade_standard_stock_get_type ());
+ if ((eval = g_enum_get_value_by_nick (eclass, stock)) != NULL)
+ {
+ glade_widget_property_set (gbutton, "use-stock", TRUE);
+ glade_widget_property_set (gbutton, "stock", eval->value);
+ }
+ g_type_class_unref (eclass);
+
+ button = glade_widget_get_object (gbutton);
+
+ glade_widget_adaptor_add (glade_widget_get_adaptor (gaction_area),
+ action_area, button);
+}
+
+void
+glade_gnome_dialog_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ GladeWidget *gdialog = glade_widget_get_from_gobject (object);
+ GnomeDialog *dialog = GNOME_DIALOG (object);
+ GladeWidget *gvbox, *gaction_area;
+ GtkWidget *separator;
+
+ /* Ignore close signal */
+ g_signal_connect (object, "close", G_CALLBACK (gtk_true), NULL);
+
+ if (GNOME_IS_PROPERTY_BOX (object))
+ {
+ GnomePropertyBox *pbox = GNOME_PROPERTY_BOX (object);
+
+ gaction_area = glade_widget_adaptor_create_internal
+ (gdialog, G_OBJECT (pbox->notebook), "notebook",
+ glade_widget_get_name (gdialog),
+ FALSE, GLADE_CREATE_LOAD);
+ if (reason == GLADE_CREATE_USER)
+ glade_widget_property_set (gaction_area, "pages", 3);
+ return;
+ }
+
+ /* vbox internal child */
+ gvbox = glade_widget_adaptor_create_internal
+ (gdialog, G_OBJECT (dialog->vbox), "vbox",
+ glade_widget_get_name (gdialog),
+ FALSE, GLADE_CREATE_LOAD);
+
+ glade_widget_property_set (gvbox, "size", 0);
+
+ /* action area */
+ dialog->action_area = gtk_hbutton_box_new ();
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog->action_area),
+ GTK_BUTTONBOX_END);
+
+ gtk_box_pack_end (GTK_BOX (dialog->vbox), dialog->action_area,
+ FALSE, TRUE, 0);
+ gtk_widget_show (dialog->action_area);
+
+ /* separator */
+ separator = gtk_hseparator_new ();
+ gtk_box_pack_end (GTK_BOX (dialog->vbox), separator,
+ FALSE, TRUE, GNOME_PAD_SMALL);
+ gtk_widget_show (separator);
+
+ /* action area internal child */
+ gaction_area =
+ glade_widget_adaptor_create_internal (gvbox,
+ G_OBJECT (dialog->action_area),
+ "action_area",
+ glade_widget_get_name (gvbox),
+ FALSE, GLADE_CREATE_LOAD);
+
+ glade_widget_property_set (gaction_area, "size", 0);
+
+ if (reason != GLADE_CREATE_USER) return;
+
+ /* Add a couple of buttons */
+ if (GNOME_IS_MESSAGE_BOX (object))
+ {
+ glade_gnome_dialog_add_button (gaction_area,
+ G_OBJECT (dialog->action_area),
+ "gtk-ok");
+ glade_widget_property_set (gaction_area, "size", 1);
+ }
+ else
+ {
+ glade_gnome_dialog_add_button (gaction_area,
+ G_OBJECT (dialog->action_area),
+ "gtk-cancel");
+ glade_gnome_dialog_add_button (gaction_area,
+ G_OBJECT (dialog->action_area),
+ "gtk-ok");
+ glade_widget_property_set (gaction_area, "size", 2);
+ glade_widget_property_set (gvbox, "size", 3);
+ }
+}
+
+GObject *
+glade_gnome_dialog_get_internal_child (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *name)
+{
+ GObject *child = NULL;
+
+ if (strcmp (name, "vbox") == 0)
+ child = G_OBJECT (GNOME_DIALOG (object)->vbox);
+ else if (GNOME_IS_PROPERTY_BOX (object) && strcmp (name, "notebook") == 0)
+ child = G_OBJECT (GNOME_PROPERTY_BOX (object)->notebook);
+
+ return child;
+}
+
+GList *
+glade_gnome_dialog_get_children (GladeWidgetAdaptor *adaptor,
+ GObject *object)
+{
+ GnomeDialog *dialog = GNOME_DIALOG (object);
+ GList *list = NULL;
+
+ if (dialog->vbox) list = g_list_append (list, G_OBJECT (dialog->vbox));
+
+ if (GNOME_IS_PROPERTY_BOX (object))
+ {
+ GnomePropertyBox *pbox = GNOME_PROPERTY_BOX (object);
+ if (pbox->notebook)
+ list = g_list_append (list, G_OBJECT (pbox->notebook));
+ }
+
+ return list;
+}
+
+/* GnomeAbout */
+void
+glade_gnome_about_dialog_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ gtk_dialog_set_response_sensitive (GTK_DIALOG (object), GTK_RESPONSE_CLOSE, FALSE);
+}
+
+void
+glade_gnome_about_dialog_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "name") ||
+ !strcmp (id, "version"))
+ {
+ if (g_value_get_string (value))
+ g_object_set_property (object, id, value);
+ }
+ else
+ GWA_GET_CLASS (GTK_TYPE_DIALOG)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeMessageBox */
+typedef enum {
+ GLADE_GNOME_MESSAGE_BOX_INFO,
+ GLADE_GNOME_MESSAGE_BOX_WARNING,
+ GLADE_GNOME_MESSAGE_BOX_ERROR,
+ GLADE_GNOME_MESSAGE_BOX_QUESTION,
+ GLADE_GNOME_MESSAGE_BOX_GENERIC
+}GladeGnomeMessageBoxType;
+
+static GType
+glade_gnome_message_box_type_get_type (void)
+{
+ static GType etype = 0;
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+ { GLADE_GNOME_MESSAGE_BOX_INFO, "GNOME_MESSAGE_BOX_INFO", "info"},
+ { GLADE_GNOME_MESSAGE_BOX_WARNING, "GNOME_MESSAGE_BOX_WARNING", "warning"},
+ { GLADE_GNOME_MESSAGE_BOX_ERROR, "GNOME_MESSAGE_BOX_ERROR", "error"},
+ { GLADE_GNOME_MESSAGE_BOX_QUESTION, "GNOME_MESSAGE_BOX_QUESTION", "question"},
+ { GLADE_GNOME_MESSAGE_BOX_GENERIC, "GNOME_MESSAGE_BOX_GENERIC", "generic"},
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static ("GladeGnomeMessageBoxType", values);
+ }
+ return etype;
+}
+
+GParamSpec *
+glade_gnome_message_box_type_spec (void)
+{
+ return g_param_spec_enum ("message_box_type", _("Message box type"),
+ _("The type of the message box"),
+ glade_gnome_message_box_type_get_type (),
+ 0, G_PARAM_READWRITE);
+}
+
+static gchar *
+glade_gnome_message_get_str (GladeGnomeMessageBoxType val)
+{
+ switch (val)
+ {
+ case GLADE_GNOME_MESSAGE_BOX_INFO:
+ return "info";
+ case GLADE_GNOME_MESSAGE_BOX_WARNING:
+ return "warning";
+ case GLADE_GNOME_MESSAGE_BOX_ERROR:
+ return "error";
+ case GLADE_GNOME_MESSAGE_BOX_QUESTION:
+ return "question";
+ case GLADE_GNOME_MESSAGE_BOX_GENERIC:
+ return "generic";
+ }
+ return "";
+}
+
+static void
+glade_gnome_message_clean (GObject *object)
+{
+ GtkContainer *container = GTK_CONTAINER (GNOME_DIALOG (object)->vbox);
+ GList *children, *l;
+
+ children = gtk_container_get_children (container);
+
+ for (l = children; l; l = l->next)
+ {
+ GtkWidget *child = (GtkWidget *) l->data;
+
+ if (GTK_IS_HBOX (child))
+ {
+ gtk_container_remove (container, child);
+ break;
+ }
+ }
+
+ g_list_free (children);
+}
+
+static void
+glade_gnome_message_box_set_type (GObject *object, const GValue *value)
+{
+ gchar *message, *type;
+
+ glade_gnome_message_clean (object);
+ glade_widget_property_get (glade_widget_get_from_gobject (object),
+ "message", &message);
+ type = glade_gnome_message_get_str (g_value_get_enum (value));
+ gnome_message_box_construct (GNOME_MESSAGE_BOX (object),
+ message, type, NULL);
+}
+
+static void
+glade_gnome_message_box_set_message (GObject *object, const GValue *value)
+{
+ GladeGnomeMessageBoxType type;
+
+ glade_gnome_message_clean (object);
+ glade_widget_property_get (glade_widget_get_from_gobject (object),
+ "message-box-type", &type);
+ gnome_message_box_construct (GNOME_MESSAGE_BOX (object),
+ g_value_get_string (value),
+ glade_gnome_message_get_str (type),
+ NULL);
+}
+
+void
+glade_gnome_message_box_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "message-box-type"))
+ glade_gnome_message_box_set_type (object, value);
+ else if (!strcmp (id, "message"))
+ glade_gnome_message_box_set_message (object, value);
+ else
+ GWA_GET_CLASS (GNOME_TYPE_DIALOG)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeEntry & GnomeFileEntry */
+/* GnomeFileEntry is not derived from GnomeEntry... but hey!!! they should :) */
+GObject *
+glade_gnome_entry_get_internal_child (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *name)
+{
+ GObject *child = NULL;
+
+ if (strcmp (name, "entry") == 0)
+ {
+ if (GNOME_IS_ENTRY (object))
+ child = G_OBJECT (gnome_entry_gtk_entry (GNOME_ENTRY (object)));
+ else
+ child = G_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (object)));
+ }
+
+ return child;
+}
+
+void
+glade_gnome_entry_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ GladeWidget *gentry;
+ GObject *child;
+
+ child = glade_gnome_entry_get_internal_child (adaptor, object, "entry");
+
+ gentry = glade_widget_get_from_gobject (object);
+ glade_widget_adaptor_create_internal (gentry,
+ child, "entry",
+ glade_widget_get_name (gentry),
+ FALSE, reason);
+}
+
+GList *
+glade_gnome_entry_get_children (GladeWidgetAdaptor *adaptor,
+ GObject *object)
+{
+ GList *list = NULL;
+ GtkWidget *entry;
+
+ if (GNOME_IS_ENTRY (object))
+ entry = gnome_entry_gtk_entry (GNOME_ENTRY (object));
+ else
+ entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (object));
+
+ if (entry) list = g_list_append (list, G_OBJECT (entry));
+
+ return list;
+}
+
+void
+glade_gnome_entry_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "max-saved"))
+ gnome_entry_set_max_saved (GNOME_ENTRY (object), g_value_get_int (value));
+ else
+ GWA_GET_CLASS (GTK_TYPE_COMBO)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+void
+glade_gnome_file_entry_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ GtkWidget *entry;
+
+ if (!strcmp (id, "max-saved"))
+ {
+ entry = gnome_file_entry_gnome_entry (GNOME_FILE_ENTRY (object));
+ gnome_entry_set_max_saved (GNOME_ENTRY (entry), g_value_get_int (value));
+ }
+ else
+ GWA_GET_CLASS (GTK_TYPE_VBOX)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomeFontPicker */
+static void
+glade_gnome_font_picker_set_mode (GObject *object, const GValue *value)
+{
+ GladeWidget *ggfp, *gchild;
+ GnomeFontPicker *gfp;
+ GnomeFontPickerMode mode;
+ GObject *child;
+
+ mode = g_value_get_enum (value);
+ if (mode == GNOME_FONT_PICKER_MODE_UNKNOWN) return;
+
+ gfp = GNOME_FONT_PICKER (object);
+ child = G_OBJECT (gnome_font_picker_uw_get_widget (gfp));
+ if (child && (gchild = glade_widget_get_from_gobject (child)))
+ glade_project_remove_object (glade_widget_get_project (gchild),
+ child);
+
+ gnome_font_picker_set_mode (gfp, mode);
+
+ ggfp = glade_widget_get_from_gobject (object);
+ switch (mode)
+ {
+ const gchar *reason;
+ case GNOME_FONT_PICKER_MODE_FONT_INFO:
+ glade_widget_property_set_sensitive (ggfp, "show-size", TRUE, NULL);
+ glade_widget_property_set_sensitive (ggfp, "use-font-in-label", TRUE, NULL);
+ glade_widget_property_set_sensitive (ggfp, "label-font-size", TRUE, NULL);
+ break;
+ case GNOME_FONT_PICKER_MODE_USER_WIDGET:
+ gnome_font_picker_uw_set_widget (gfp, glade_placeholder_new ());
+ case GNOME_FONT_PICKER_MODE_PIXMAP:
+ reason = _("This property is valid only in font information mode");
+ glade_widget_property_set_sensitive (ggfp, "show-size", FALSE, reason);
+ glade_widget_property_set_sensitive (ggfp, "use-font-in-label", FALSE, reason);
+ glade_widget_property_set_sensitive (ggfp, "label-font-size", FALSE, reason);
+ default: break;
+ }
+}
+
+void
+glade_gnome_font_picker_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "mode"))
+ glade_gnome_font_picker_set_mode (object, value);
+ else
+ GWA_GET_CLASS (GTK_TYPE_BUTTON)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+GList *
+glade_gnome_font_picker_get_children (GladeWidgetAdaptor *adaptor,
+ GObject *object)
+{
+ GtkWidget *child;
+
+ if ((child = gnome_font_picker_uw_get_widget (GNOME_FONT_PICKER (object))))
+ return g_list_append (NULL, G_OBJECT (child));
+ else
+ return NULL;
+}
+
+void
+glade_gnome_font_picker_add_child (GladeWidgetAdaptor *adaptor,
+ GtkWidget *container,
+ GtkWidget *child)
+{
+ gnome_font_picker_uw_set_widget (GNOME_FONT_PICKER (container), child);
+}
+
+void
+glade_gnome_font_picker_remove_child (GladeWidgetAdaptor *adaptor,
+ GtkWidget *container,
+ GtkWidget *child)
+{
+ gnome_font_picker_uw_set_widget (GNOME_FONT_PICKER (container), glade_placeholder_new ());
+}
+
+void
+glade_gnome_font_picker_replace_child (GladeWidgetAdaptor *adaptor,
+ GtkWidget *container,
+ GtkWidget *current,
+ GtkWidget *new_widget)
+{
+ gnome_font_picker_uw_set_widget (GNOME_FONT_PICKER (container), new_widget);
+}
+
+/* GnomeIconList */
+void
+glade_gnome_icon_list_post_create (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GladeCreateReason reason)
+{
+ /* Freeze the widget so we dont get the signals that cause a segfault */
+ gnome_icon_list_freeze (GNOME_ICON_LIST (object));
+}
+
+static GType
+glade_gnome_icon_list_selection_mode_get_type (void)
+{
+ static GType etype = 0;
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+ { GTK_SELECTION_SINGLE, "GTK_SELECTION_SINGLE", "Single"},
+ { GTK_SELECTION_BROWSE, "GTK_SELECTION_BROWSE", "Browse"},
+ { GTK_SELECTION_MULTIPLE, "GTK_SELECTION_MULTIPLE", "Multiple"},
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static ("GladeGnomeIconListSelectionMode", values);
+ }
+ return etype;
+}
+
+GParamSpec *
+glade_gnome_icon_list_selection_mode_spec (void)
+{
+ return g_param_spec_enum ("selection_mode", _("Selection Mode"),
+ _("Choose the Selection Mode"),
+ glade_gnome_icon_list_selection_mode_get_type (),
+ GTK_SELECTION_SINGLE, G_PARAM_READWRITE);
+}
+
+void
+glade_gnome_icon_list_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "selection-mode"))
+ gnome_icon_list_set_selection_mode (GNOME_ICON_LIST (object),
+ g_value_get_enum (value));
+ else if (!strcmp (id, "icon-width"))
+ gnome_icon_list_set_icon_width (GNOME_ICON_LIST (object),
+ g_value_get_int (value));
+ else if (!strcmp (id, "row-spacing"))
+ gnome_icon_list_set_row_spacing (GNOME_ICON_LIST (object),
+ g_value_get_int (value));
+ else if (!strcmp (id, "column-spacing"))
+ gnome_icon_list_set_col_spacing (GNOME_ICON_LIST (object),
+ g_value_get_int (value));
+ else if (!strcmp (id, "text-spacing"))
+ gnome_icon_list_set_text_spacing (GNOME_ICON_LIST (object),
+ g_value_get_int (value));
+ else
+ GWA_GET_CLASS (GNOME_TYPE_CANVAS)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+/* GnomePixmap */
+static gint
+glade_gnome_pixmap_set_filename_common (GObject *object)
+{
+ GladeWidget *gp;
+ gint width, height;
+
+ gp = glade_widget_get_from_gobject (object);
+ glade_widget_property_get (gp, "scaled-width", &width);
+ glade_widget_property_get (gp, "scaled-height", &height);
+
+ if (width && height)
+ {
+ GladeProperty *property = glade_widget_get_property (gp, "filename");
+ gchar *file =
+ glade_property_class_make_string_from_gvalue
+ (property->klass, property->value,
+ glade_project_get_format (gp->project));
+
+ if (file)
+ {
+ gnome_pixmap_load_file_at_size (GNOME_PIXMAP (object),
+ file, width, height);
+ g_free (file);
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+static void
+glade_gnome_pixmap_set_scaled_common (GObject *object,
+ const GValue *value,
+ const gchar *property)
+{
+ if (glade_gnome_pixmap_set_filename_common (object))
+ {
+ GladeWidget *gp = glade_widget_get_from_gobject (object);
+ gint val2, val = g_value_get_int (value);
+ GObject *pixbuf;
+
+ glade_widget_property_get (gp, "filename", &pixbuf);
+ glade_widget_property_set (gp, "filename", pixbuf);
+
+ if (val)
+ {
+ glade_widget_property_get (gp, property, &val2);
+ if (val2 == 0)
+ glade_widget_property_set (gp, property, val);
+ }
+ else
+ glade_widget_property_set (gp, property, 0);
+ }
+}
+
+void
+glade_gnome_pixmap_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "filename"))
+ {
+ if (glade_gnome_pixmap_set_filename_common (object))
+ gtk_image_set_from_pixbuf (GTK_IMAGE(object),
+ GDK_PIXBUF (g_value_get_object (value)));
+ }
+ else if (!strcmp (id, "scaled-width") ||
+ !strcmp (id, "scaled-height"))
+ glade_gnome_pixmap_set_scaled_common (object, value, id);
+ else
+ GWA_GET_CLASS (GTK_TYPE_IMAGE)->set_property (adaptor,
+ object,
+ id, value);
+}
+
+
+/*
+ BBBB OOOO NN NN OOOO BBBB OOOO
+ BB B OO OO NNN NN OO OO BB B OO OO
+ BBBB OO OO NN N NN OO OO BBBB OO OO
+ BB B OO OO NN NNN OO OO BB B OO OO
+ BBBB OOOO NN NN OOOO BBBB OOOO
+*/
+
+/* GladeGnomeBonoboDockPlacement */
+static GType
+glade_gnome_bonobo_dock_placement_get_type (void)
+{
+ static GType etype = 0;
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+ { BONOBO_DOCK_TOP, "BONOBO_DOCK_TOP", "Top"},
+ { BONOBO_DOCK_RIGHT, "BONOBO_DOCK_RIGHT", "Right"},
+ { BONOBO_DOCK_BOTTOM, "BONOBO_DOCK_BOTTOM", "Bottom"},
+ { BONOBO_DOCK_LEFT, "BONOBO_DOCK_LEFT", "Left"},
+ { BONOBO_DOCK_FLOATING, "BONOBO_DOCK_FLOATING", "Floating"},
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static ("GladeGnomeBonoboDockPlacement", values);
+ }
+ return etype;
+}
+
+GParamSpec *
+glade_gnome_bonobo_dock_placement_spec (void)
+{
+ return g_param_spec_enum ("placement", _("Placement"),
+ _("Choose the BonoboDockPlacement type"),
+ glade_gnome_bonobo_dock_placement_get_type (),
+ 0, G_PARAM_READWRITE);
+}
+
+/* GladeGnomeBonoboDockItemBehavior */
+static GType
+glade_gnome_bonobo_dock_item_behavior_get_type (void)
+{
+ static GType etype = 0;
+ if (etype == 0) {
+ static const GFlagsValue values[] = {
+ /*BONOBO_DOCK_ITEM_BEH_NORMAL is 0 so we do not include it. */
+ { BONOBO_DOCK_ITEM_BEH_EXCLUSIVE, "BONOBO_DOCK_ITEM_BEH_EXCLUSIVE", "Exclusive"},
+ { BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING, "BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING", "Never Floating"},
+ { BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL, "BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL", "Never Vertical"},
+ { BONOBO_DOCK_ITEM_BEH_NEVER_HORIZONTAL, "BONOBO_DOCK_ITEM_BEH_NEVER_HORIZONTAL", "Never Horizontal"},
+ { BONOBO_DOCK_ITEM_BEH_LOCKED, "BONOBO_DOCK_ITEM_BEH_LOCKED", "Locked"},
+ { 0, NULL, NULL }
+ };
+ etype = g_flags_register_static ("GladeGnomeBonoboDockItemBehavior", values);
+ }
+ return etype;
+}
+
+GParamSpec *
+glade_gnome_bonobo_dock_item_behavior_spec (void)
+{
+ return g_param_spec_flags ("behavior", _("Behavior"),
+ _("Choose the BonoboDockItemBehavior type"),
+ glade_gnome_bonobo_dock_item_behavior_get_type (),
+ 0, G_PARAM_READWRITE);
+}
+
+/* GtkPackType */
+GParamSpec *
+glade_gnome_gtk_pack_type_spec (void)
+{
+ return g_param_spec_enum ("pack_type", _("Pack Type"),
+ _("Choose the Pack Type"),
+ g_type_from_name ("GtkPackType"),
+ 0, G_PARAM_READWRITE);
+}
+
+/* BonoboDockBand convenience functions */
+static BonoboDockBand *
+glade_gnome_bdb_get_band (GList *bands, GtkWidget *widget)
+{
+ GList *l;
+
+ for (l = bands; l; l = l->next)
+ {
+ BonoboDockBand *band = (BonoboDockBand *) l->data;
+ GList *cl;
+ for (cl = band->children; cl; cl = cl->next)
+ {
+ BonoboDockBandChild *child = (BonoboDockBandChild *) cl->data;
+ if (child->widget == widget) return band;
+ }
+ }
+
+ return NULL;
+}
+
+static BonoboDockBand *
+glade_gnome_bd_get_band (BonoboDock *dock, GtkWidget *widget)
+{
+ BonoboDockBand *retval = NULL;
+
+ if ((retval = glade_gnome_bdb_get_band (dock->top_bands, widget)) ||
+ (retval = glade_gnome_bdb_get_band (dock->bottom_bands, widget)) ||
+ (retval = glade_gnome_bdb_get_band (dock->right_bands, widget)) ||
+ (retval = glade_gnome_bdb_get_band (dock->left_bands, widget)));
+
+ return retval;
+}
+
+/* BonoboDock */
+void
+glade_gnome_bonobodock_add_child (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GObject *child)
+{
+ if (BONOBO_IS_DOCK_ITEM (child))
+ bonobo_dock_add_item (BONOBO_DOCK (object), BONOBO_DOCK_ITEM (child),
+ 0,0,0,0, TRUE);
+ else if (GTK_IS_WIDGET (child))
+ bonobo_dock_set_client_area (BONOBO_DOCK (object), GTK_WIDGET (child));
+}
+
+void
+glade_gnome_bonobodock_remove_child (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ GObject *child)
+{
+ BonoboDockBand *band;
+
+ band = glade_gnome_bd_get_band (BONOBO_DOCK (object), GTK_WIDGET (child));
+
+ gtk_container_remove (GTK_CONTAINER (band), GTK_WIDGET (child));
+}
+
+GList *
+glade_gnome_bonobodock_get_children (GladeWidgetAdaptor *adaptor,
+ GObject *object)
+{
+ GList *list = NULL, *l;
+ GtkWidget *client_area;
+ BonoboDockLayout *layout;
+
+ layout = bonobo_dock_get_layout (BONOBO_DOCK (object));
+ client_area = bonobo_dock_get_client_area (BONOBO_DOCK (object));
+
+ for (l = layout->items; l; l = l->next)
+ {
+ BonoboDockLayoutItem *li = (BonoboDockLayoutItem *) l->data;
+ list = g_list_prepend (list, li->item);
+ }
+
+ if (client_area)
+ list = g_list_prepend (list, client_area);
+
+ return g_list_reverse (list);
+}
+
+void
+glade_gnome_bonobodock_replace_child (GladeWidgetAdaptor *adaptor,
+ GtkWidget *container,
+ GtkWidget *current,
+ GtkWidget *new_widget)
+{
+ bonobo_dock_set_client_area (BONOBO_DOCK (container), new_widget);
+}
+
+static gboolean
+glade_gnome_bonobodockitem_get_props (BonoboDock *doc,
+ BonoboDockItem *item,
+ BonoboDockPlacement *placement,
+ guint *band_num,
+ guint *band_position,
+ guint *offset)
+{
+ BonoboDockLayout *layout = bonobo_dock_get_layout (doc);
+ GList *l;
+
+ for (l = layout->items; l; l = l->next)
+ {
+ BonoboDockLayoutItem *li = (BonoboDockLayoutItem *) l->data;
+ if (li->item == item)
+ {
+ *placement = li->placement;
+ *band_num = li->position.docked.band_num;
+ *band_position = li->position.docked.band_position;
+ *offset = li->position.docked.offset;
+
+ return TRUE;
+ }
+ }
+
+ g_warning ("Item not found in BonoboDock");
+
+ return FALSE;
+}
+
+void
+glade_gnome_bonobodock_set_child_property (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child,
+ const gchar *property_name,
+ GValue *value)
+{
+ BonoboDock *dock;
+ BonoboDockItem *item;
+ BonoboDockPlacement placement;
+ guint band_num, band_position, offset;
+ BonoboDockBand *band;
+ GtkWidget *wchild;
+ gboolean new_band = FALSE;
+
+ if (!BONOBO_IS_DOCK_ITEM (child))
+ /* Ignore packing properties of client area */
+ return;
+
+ dock = BONOBO_DOCK (container);
+ item = BONOBO_DOCK_ITEM (child);
+
+ if (strcmp ("behavior", property_name) == 0)
+ {
+ bonobo_dock_item_set_behavior (item, g_value_get_flags (value));
+ return;
+ }
+
+ wchild = GTK_WIDGET (child);
+
+ if (glade_gnome_bonobodockitem_get_props (dock, item, &placement, &band_num,
+ &band_position, &offset))
+ {
+ if (strcmp ("placement", property_name) == 0)
+ placement = g_value_get_enum (value);
+ else if (strcmp ("position", property_name) == 0)
+ band_position = g_value_get_int (value);
+ else if (strcmp ("band", property_name) == 0)
+ band_num = g_value_get_int (value);
+ else if (strcmp ("offset", property_name) == 0)
+ offset = g_value_get_int (value);
+ else
+ {
+ g_warning ("No BonoboDock set packing property support for '%s'.", property_name);
+ return;
+ }
+
+ if ((band = glade_gnome_bd_get_band (dock, wchild)))
+ {
+ g_object_ref (child);
+ gtk_container_remove (GTK_CONTAINER (band), wchild);
+
+ if (band->num_children == 0)
+ {
+ new_band = TRUE;
+ gtk_container_remove (GTK_CONTAINER (container),
+ GTK_WIDGET(band));
+ }
+
+ bonobo_dock_add_item (dock, item, placement, band_num,
+ band_position, offset, new_band);
+ bonobo_dock_item_set_behavior (item, item->behavior);
+ g_object_unref (child);
+ }
+ else
+ g_warning ("BonoboDockItem's band not found.\n");
+ }
+}
+
+void
+glade_gnome_bonobodock_get_child_property (GladeWidgetAdaptor *adaptor,
+ GObject *container,
+ GObject *child,
+ const gchar *property_name,
+ GValue *value)
+{
+ BonoboDockPlacement placement;
+ guint band_num, band_position, offset;
+
+ if (!BONOBO_IS_DOCK_ITEM (child))
+ /* Ignore packing properties of client area,
+ *
+ * FIXME: packing properties should actually be removed
+ * from client area children using glade_widget_remove_property();
+ */
+ return;
+
+ if (strcmp ("behavior", property_name) == 0)
+ {
+ g_value_set_flags (value, BONOBO_DOCK_ITEM (child)->behavior);
+ return;
+ }
+
+ if (glade_gnome_bonobodockitem_get_props (BONOBO_DOCK (container),
+ BONOBO_DOCK_ITEM (child),
+ &placement, &band_num,
+ &band_position, &offset))
+ {
+ if (strcmp ("placement", property_name) == 0)
+ g_value_set_enum (value, placement);
+ else if (strcmp ("position", property_name) == 0)
+ g_value_set_int (value, band_position);
+ else if (strcmp ("band", property_name) == 0)
+ g_value_set_int (value, band_num);
+ else if (strcmp ("offset", property_name) == 0)
+ g_value_set_int (value, offset);
+ }
+}
+
+void
+glade_gnome_bonobodock_set_property (GladeWidgetAdaptor *adaptor,
+ GObject *object,
+ const gchar *id,
+ const GValue *value)
+{
+ if (!strcmp (id, "allow-floating"))
+ bonobo_dock_allow_floating_items (BONOBO_DOCK (object),
+ g_value_get_boolean (value));
+ else
+ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor,
+ object,
+ id, value);
+}
diff --git a/plugins/gnome/gnome.xml.in b/plugins/gnome/gnome.xml.in
new file mode 100644
index 0000000..aca5586
--- /dev/null
+++ b/plugins/gnome/gnome.xml.in
@@ -0,0 +1,384 @@
+<glade-catalog name="gnome"
+ library="gladegnome"
+ supports="libglade"
+ depends="gtk+"
+ domain="glade3"
+ book="libgnomeui">
+ <init-function>glade_gnomeui_init</init-function>
+ <glade-widget-classes>
+ <glade-widget-class name="GnomeApp" generic-name="app" _title="GNOME App" default-width="440" default-height="250">
+ <post-create-function>glade_gnome_app_post_create</post-create-function>
+ <get-internal-child-function>glade_gnome_app_get_internal_child</get-internal-child-function>
+ <get-children-function>glade_gnome_app_get_children</get-children-function>
+ <child-set-property-function>glade_gnome_app_set_child_property</child-set-property-function>
+ <child-get-property-function>glade_gnome_app_get_child_property</child-get-property-function>
+ <set-property-function>glade_gnome_app_set_property</set-property-function>
+
+ <properties>
+ <property id="has-statusbar" _name="StatusBar" save="False">
+ <tooltip>If the window has a statusbar</tooltip>
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ <property id="enable-layout-config" _name="Store Config">
+ <tooltip>If the layout is saved and restored automatically</tooltip>
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ </properties>
+ <packing-properties>
+ <property id="position" _name="Position">
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="padding" _name="Padding">
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ <property id="expand" _name="Expand">
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ <property id="fill" _name="Fill">
+ <spec>glade_standard_boolean_spec</spec>
+ </property>
+ <property id="pack-type">
+ <spec>glade_gnome_gtk_pack_type_spec</spec>
+ </property>
+ </packing-properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeDruid" generic-name="druid" _title="GNOME Druid">
+ <post-create-function>glade_gnome_druid_post_create</post-create-function>
+ <add-child-function>glade_gnome_druid_add_child</add-child-function>
+ <remove-child-function>glade_gnome_druid_remove_child</remove-child-function>
+ <child-set-property-function>glade_gnome_druid_set_child_property</child-set-property-function>
+ <child-get-property-function>glade_gnome_druid_get_child_property</child-get-property-function>
+
+ <packing-properties>
+ <property id="position" _name="Position" default="-1" save="False">
+ <spec>glade_standard_int_spec</spec>
+ </property>
+ </packing-properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeDruidPageEdge" generic-name="druidpageedge" _title="GNOME Druid Page Edge">
+ <set-property-function>glade_gnome_dpe_set_property</set-property-function>
+ <properties>
+ <property id="position" _name="Position">
+ <spec>glade_gnome_dpe_position_spec</spec>
+ <_tooltip>Used to pass around information about the position of a GnomeDruidPage within the overall GnomeDruid. This enables the correct "surrounding" content for the page to be drawn</_tooltip>
+ <displayable-values>
+ <value id="GNOME_EDGE_START" _name="Start"/>
+ <value id="GNOME_EDGE_FINISH" _name="End"/>
+ <value id="GNOME_EDGE_OTHER" _name="Other"/>
+ </displayable-values>
+ </property>
+ <property id="title" _name="Title" translatable="True">
+ <spec>glade_standard_string_spec</spec>
+ <visible-lines>2</visible-lines>
+ </property>
+ <property id="text" _name="Text" translatable="True">
+ <spec>glade_standard_string_spec</spec>
+ <visible-lines>4</visible-lines>
+ </property>
+ <property id="title-foreground" _name="Title Foreground Color" default="#FFFFFF">
+ <spec>glade_standard_gdkcolor_spec</spec>
+ </property>
+ <property id="text-foreground" _name="Text Foreground Color" default="#000000">
+ <spec>glade_standard_gdkcolor_spec</spec>
+ </property>
+ <property id="background" _name="Background Color" default="#4B6983">
+ <spec>glade_standard_gdkcolor_spec</spec>
+ </property>
+ <property id="contents-background" _name="Contents Background Color" default="#DCDAD5">
+ <spec>glade_standard_gdkcolor_spec</spec>
+ </property>
+ <property id="logo-background" _name="Logo Background Color" default="#4B6983">
+ <spec>glade_standard_gdkcolor_spec</spec>
+ </property>
+ <property id="logo" _name="Logo">
+ <spec>glade_standard_pixbuf_spec</spec>
+ </property>
+ <property id="watermark" _name="Watermark">
+ <spec>glade_standard_pixbuf_spec</spec>
+ </property>
+ <property id="top-watermark" _name="Top Watermark">
+ <spec>glade_standard_pixbuf_spec</spec>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeDruidPageStandard" generic-name="druidpagestandard" _title="GNOME Druid Page Standard">
+ <post-create-function>glade_gnome_dps_post_create</post-create-function>
+ <get-internal-child-function>glade_gnome_dps_get_internal_child</get-internal-child-function>
+ <get-children-function>glade_gnome_dps_get_children</get-children-function>
+ <set-property-function>glade_gnome_dps_set_property</set-property-function>
+
+ <properties>
+ <property id="title" translatable="True">
+ <visible-lines>2</visible-lines>
+ </property>
+
+ <property id="background-set" disabled="True"/>
+ <property id="background" visible="False" save="False" default="#4B6983"/>
+ <property id="contents-background-set" disabled="True"/>
+ <property id="contents-background" visible="False" save="False" default="#DCDAD5"/>
+ <property id="logo-background-set" disabled="True"/>
+ <property id="logo-background" visible="False" save="False" default="#4B6983"/>
+ <property id="title-foreground-set" disabled="True"/>
+ <property id="title-foreground" visible="False" save="False" default="#FFFFFF"/>
+ </properties>
+ </glade-widget-class>
+
+
+ <glade-widget-class name="GnomeIconSelection" generic-name="iconselection" _title="GNOME Icon Selection">
+ <properties>
+ <property id="size" visible="False" query="False" ignore="True"/>
+ </properties>
+ </glade-widget-class>
+ <glade-widget-class name="GnomeIconEntry" generic-name="iconentry" _title="GNOME Icon Entry">
+ <set-property-function>glade_gnome_icon_entry_set_property</set-property-function>
+ <properties>
+ <property id="max-saved" _name="Max Saved">
+ <spec>glade_standard_uint_spec</spec>
+ <tooltip>The maximum number of history entries saved.</tooltip>
+ </property>
+ <property id="size" visible="False" query="False" ignore="True"/>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeHRef" generic-name="href" _title="GNOME HRef"/>
+
+ <glade-widget-class name="GnomeDateEdit" generic-name="dateedit" _title="GNOME Date Edit">
+ <post-create-function>glade_gnome_date_edit_post_create</post-create-function>
+ <properties>
+ <property id="time" disabled="True"/>
+ <property id="size" visible="False" query="False" ignore="True"/>
+ <property id="dateedit-flags">
+ <displayable-values>
+ <value id="GNOME_DATE_EDIT_SHOW_TIME" _name="Show Time"/>
+ <value id="GNOME_DATE_EDIT_24_HR" _name="24-Hour Format"/>
+ <value id="GNOME_DATE_EDIT_WEEK_STARTS_ON_MONDAY" _name="Monday First"/>
+ <value id="GNOME_DATE_EDIT_DISPLAY_SECONDS" _name="Display Seconds"/>
+ </displayable-values>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeAppBar" generic-name="appbar" _title="GNOME App Bar">
+ <post-create-function>glade_gnome_app_bar_post_create</post-create-function>
+ <properties>
+ <property id="has-progress" default="True" ignore="True"/>
+ <property id="has-status" default="True" ignore="True"/>
+ <property id="size" visible="False" query="False" ignore="True"/>
+ <property id="interactivity">
+ <displayable-values>
+ <value id="GNOME_PREFERENCES_NEVER" _name="Never"/>
+ <value id="GNOME_PREFERENCES_USER" _name="User"/>
+ <value id="GNOME_PREFERENCES_ALWAYS" _name="Always"/>
+ </displayable-values>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <!-- Deprecated Widget Classes :) -->
+ <glade-widget-class name="GnomeDialog" generic-name="dialog" _title="GNOME Dialog">
+ <post-create-function>glade_gnome_dialog_post_create</post-create-function>
+ <get-internal-child-function>glade_gnome_dialog_get_internal_child</get-internal-child-function>
+ <get-children-function>glade_gnome_dialog_get_children</get-children-function>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeAbout" generic-name="about" _title="GNOME About">
+ <post-create-function>glade_gnome_about_dialog_post_create</post-create-function>
+ <set-property-function>glade_gnome_about_dialog_set_property</set-property-function>
+ <properties>
+ <property id="name" _name="Program Name"/>
+ <property id="version" _name="Program Version"/>
+ <property id="comments" translatable="True">
+ <visible-lines>4</visible-lines>
+ </property>
+ <property id="copyright" translatable="True">
+ <visible-lines>4</visible-lines>
+ </property>
+ <property id="translator-credits" translatable="True">
+ <visible-lines>4</visible-lines>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeMessageBox" generic-name="messagebox" _title="GNOME Message Box">
+ <set-property-function>glade_gnome_message_box_set_property</set-property-function>
+ <properties>
+ <property id="message-box-type">
+ <spec>glade_gnome_message_box_type_spec</spec>
+ <displayable-values>
+ <value id="GNOME_MESSAGE_BOX_INFO" _name="Information"/>
+ <value id="GNOME_MESSAGE_BOX_WARNING" _name="Warning"/>
+ <value id="GNOME_MESSAGE_BOX_ERROR" _name="Error"/>
+ <value id="GNOME_MESSAGE_BOX_QUESTION" _name="Question"/>
+ <value id="GNOME_MESSAGE_BOX_GENERIC" _name="Generic"/>
+ </displayable-values>
+ </property>
+ <property id="message" _name="Message">
+ <spec>glade_standard_string_spec</spec>
+ <tooltip>The message to display</tooltip>
+ </property>
+ </properties>
+ </glade-widget-class>
+ <glade-widget-class name="GnomePropertyBox" generic-name="propertybox" _title="GNOME Property Box"/>
+
+ <glade-widget-class name="GnomeEntry" generic-name="entry" title="GNOME Entry">
+ <post-create-function>glade_gnome_entry_post_create</post-create-function>
+ <get-internal-child-function>glade_gnome_entry_get_internal_child</get-internal-child-function>
+ <get-children-function>glade_gnome_entry_get_children</get-children-function>
+ <set-property-function>glade_gnome_entry_set_property</set-property-function>
+ <properties>
+ <property id="gtk-entry" disabled="True"/>
+ <property id="max-saved" _name="Max Saved">
+ <spec>glade_standard_int_spec</spec>
+ <_tooltip>The maximum number of history entries saved</_tooltip>
+ </property>
+ <property id="size" visible="False" query="False" ignore="True"/>
+ </properties>
+
+ <packing-properties>
+ <property id="expand" disabled="True"/>
+ <property id="fill" disabled="True"/>
+ <property id="pack-type" disabled="True"/>
+ <property id="padding" disabled="True"/>
+ <property id="position" disabled="True"/>
+ </packing-properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeFileEntry" generic-name="fileentry" _title="GNOME File Entry">
+ <post-create-function>glade_gnome_entry_post_create</post-create-function>
+ <get-internal-child-function>glade_gnome_entry_get_internal_child</get-internal-child-function>
+ <get-children-function>glade_gnome_entry_get_children</get-children-function>
+ <set-property-function>glade_gnome_file_entry_set_property</set-property-function>
+ <properties>
+ <property id="max-saved" _name="Max Saved">
+ <spec>glade_standard_int_spec</spec>
+ <_tooltip>The maximum number of history entries saved</_tooltip>
+ </property>
+ <property id="size" visible="False" query="False" ignore="True"/>
+ </properties>
+ <packing-properties>
+ <property id="expand" disabled="True"/>
+ <property id="fill" disabled="True"/>
+ <property id="pack-type" disabled="True"/>
+ <property id="padding" disabled="True"/>
+ <property id="position" disabled="True"/>
+ </packing-properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomePixmapEntry" generic-name="pixmapentry" _title="GNOME Pixmap Entry">
+ <packing-properties>
+ <property id="expand" disabled="True"/>
+ <property id="fill" disabled="True"/>
+ <property id="pack-type" disabled="True"/>
+ <property id="padding" disabled="True"/>
+ <property id="position" disabled="True"/>
+ </packing-properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeColorPicker" generic-name="colorpicker" _title="GNOME Color Picker">
+ <post-create-function>empty</post-create-function>
+ <properties>
+ <property id="use-underline" disabled="True"/>
+ <property id="label" disabled="True"/>
+ <property id="glade-type" disabled="True"/>
+ <property id="stock" disabled="True"/>
+ <property id="red" disabled="True"/>
+ <property id="green" disabled="True"/>
+ <property id="blue" disabled="True"/>
+ <property id="alpha" disabled="True"/>
+ <property id="dither" _name="Dither"/>
+ <property id="use-alpha" _name="Use Alpha"/>
+ <property id="title" _name="Title"/>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomeFontPicker" generic-name="fontpicker" _title="GNOME Font Picker">
+ <post-create-function>empty</post-create-function>
+ <get-children-function>glade_gnome_font_picker_get_children</get-children-function>
+ <add-child-function>glade_gnome_font_picker_add_child</add-child-function>
+ <remove-child-function>glade_gnome_font_picker_remove_child</remove-child-function>
+ <replace-child-function>glade_gnome_font_picker_replace_child</replace-child-function>
+ <set-property-function>glade_gnome_font_picker_set_property</set-property-function>
+
+ <properties>
+ <property id="use-underline" disabled="True"/>
+ <property id="label" disabled="True"/>
+ <property id="glade-type" disabled="True"/>
+ <property id="stock" disabled="True"/>
+ <property id="font-name" disabled="True"/>
+ <property id="mode">
+ <displayable-values>
+ <value id="GNOME_FONT_PICKER_MODE_PIXMAP" _name="Pixmap"/>
+ <value id="GNOME_FONT_PICKER_MODE_FONT_INFO" _name="Font Information"/>
+ <value id="GNOME_FONT_PICKER_MODE_USER_WIDGET" _name="User Widget"/>
+ <value id="GNOME_FONT_PICKER_MODE_UNKNOWN" _name="Unknown"/>
+ </displayable-values>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GnomePixmap" generic-name="pixmap" _title="GNOME Pixmap">
+ <post-create-function>empty</post-create-function>
+ <set-property-function>glade_gnome_pixmap_set_property</set-property-function>
+ <properties>
+ <property id="stock" disabled="True"/>
+ <property id="icon-name" disabled="True"/>
+ <property id="glade-stock" disabled="True"/>
+ <property id="glade-type" disabled="True"/>
+ <property id="pixbuf" disabled="True"/>
+ <property id="icon-size" disabled="True"/>
+ <property id="pixel-size" disabled="True"/>
+ <property id="filename" _name="File">
+ <spec>glade_standard_pixbuf_spec</spec>
+ <_tooltip>The pixmap file</_tooltip>
+ </property>
+ <property id="scaled-width" _name="Scaled Width">
+ <spec>glade_standard_int_spec</spec>
+ <_tooltip>The width to scale the pixmap to</_tooltip>
+ </property>
+ <property id="scaled-height" _name="Scaled Height">
+ <spec>glade_standard_int_spec</spec>
+ <_tooltip>The height to scale the pixmap to</_tooltip>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <!-- Unsupported Classes
+ Deprecated and not suported by libglade:
+ * GnomeScores
+
+ These are not widget classes:
+ * GnomeClient
+ * GnomeMdi, GnomeMdiChild, GnomeMdiGenericChild
+ * GnomeCanvasItem, GnomeIconTextItem -->
+ </glade-widget-classes>
+
+ <glade-widget-group name="gnomeui-base" _title="GNOME User Interface">
+
+ <glade-widget-class-ref name="GnomeApp"/>
+ <glade-widget-class-ref name="GnomeDruid"/>
+ <glade-widget-class-ref name="GnomeIconSelection"/>
+ <glade-widget-class-ref name="GnomeHRef"/>
+ <glade-widget-class-ref name="GnomeDateEdit"/>
+ <glade-widget-class-ref name="GnomeIconEntry"/>
+ <glade-widget-class-ref name="GnomeAppBar"/>
+ </glade-widget-group>
+
+ <glade-widget-group name="gnomeui-obsolete" _title="GNOME UI Obsolete">
+
+ <default-palette-state expanded="False" />
+
+ <glade-widget-class-ref name="GnomeDialog"/>
+ <glade-widget-class-ref name="GnomeAbout"/>
+ <glade-widget-class-ref name="GnomeMessageBox"/>
+ <glade-widget-class-ref name="GnomePropertyBox"/>
+ <glade-widget-class-ref name="GnomeEntry"/>
+ <glade-widget-class-ref name="GnomeFileEntry"/>
+ <glade-widget-class-ref name="GnomePixmapEntry"/>
+ <glade-widget-class-ref name="GnomeColorPicker"/>
+ <glade-widget-class-ref name="GnomeFontPicker"/>
+ <glade-widget-class-ref name="GnomePixmap"/>
+ </glade-widget-group>
+</glade-catalog>
diff --git a/plugins/gnome/icons/16x16/Makefile.am b/plugins/gnome/icons/16x16/Makefile.am
new file mode 100644
index 0000000..dec441b
--- /dev/null
+++ b/plugins/gnome/icons/16x16/Makefile.am
@@ -0,0 +1,30 @@
+## Process this file with automake to produce Makefile.in
+
+iconsdir = $(pkgdatadir)/pixmaps/hicolor/16x16/actions
+
+icons_DATA = \
+ widget-gnome-about.png \
+ widget-gnome-app.png \
+ widget-gnome-appbar.png \
+ widget-bonobo-dock.png \
+ widget-bonobo-dockitem.png \
+ widget-gnome-canvas.png \
+ widget-gnome-colorpicker.png \
+ widget-gnome-dateedit.png \
+ widget-gnome-dialog.png \
+ widget-gnome-druid.png \
+ widget-gnome-druidpageedge.png \
+ widget-gnome-druidpagestandard.png \
+ widget-gnome-entry.png \
+ widget-gnome-fileentry.png \
+ widget-gnome-fontpicker.png \
+ widget-gnome-href.png \
+ widget-gnome-iconentry.png \
+ widget-gnome-iconlist.png \
+ widget-gnome-iconselection.png \
+ widget-gnome-messagebox.png \
+ widget-gnome-pixmap.png \
+ widget-gnome-pixmapentry.png \
+ widget-gnome-propertybox.png
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/plugins/gnome/icons/16x16/widget-bonobo-dock.png b/plugins/gnome/icons/16x16/widget-bonobo-dock.png
new file mode 100644
index 0000000..eb8025f
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-bonobo-dock.png differ
diff --git a/plugins/gnome/icons/16x16/widget-bonobo-dockitem.png b/plugins/gnome/icons/16x16/widget-bonobo-dockitem.png
new file mode 100644
index 0000000..a56584e
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-bonobo-dockitem.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-about.png b/plugins/gnome/icons/16x16/widget-gnome-about.png
new file mode 100644
index 0000000..2e64933
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-about.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-app.png b/plugins/gnome/icons/16x16/widget-gnome-app.png
new file mode 100644
index 0000000..ee23fee
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-app.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-appbar.png b/plugins/gnome/icons/16x16/widget-gnome-appbar.png
new file mode 100644
index 0000000..b8297ce
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-appbar.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-canvas.png b/plugins/gnome/icons/16x16/widget-gnome-canvas.png
new file mode 100644
index 0000000..5df4e27
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-canvas.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-colorpicker.png b/plugins/gnome/icons/16x16/widget-gnome-colorpicker.png
new file mode 100644
index 0000000..49c077d
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-colorpicker.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-dateedit.png b/plugins/gnome/icons/16x16/widget-gnome-dateedit.png
new file mode 100644
index 0000000..ec4e622
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-dateedit.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-dialog.png b/plugins/gnome/icons/16x16/widget-gnome-dialog.png
new file mode 100644
index 0000000..ae70aec
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-dialog.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-druid.png b/plugins/gnome/icons/16x16/widget-gnome-druid.png
new file mode 100644
index 0000000..23821b0
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-druid.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-druidpageedge.png b/plugins/gnome/icons/16x16/widget-gnome-druidpageedge.png
new file mode 100644
index 0000000..23821b0
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-druidpageedge.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-druidpagestandard.png b/plugins/gnome/icons/16x16/widget-gnome-druidpagestandard.png
new file mode 100644
index 0000000..78018d9
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-druidpagestandard.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-entry.png b/plugins/gnome/icons/16x16/widget-gnome-entry.png
new file mode 100644
index 0000000..a76ad8b
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-entry.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-fileentry.png b/plugins/gnome/icons/16x16/widget-gnome-fileentry.png
new file mode 100644
index 0000000..ec4e622
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-fileentry.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-fontpicker.png b/plugins/gnome/icons/16x16/widget-gnome-fontpicker.png
new file mode 100644
index 0000000..8fa2d50
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-fontpicker.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-href.png b/plugins/gnome/icons/16x16/widget-gnome-href.png
new file mode 100644
index 0000000..cdc839e
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-href.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-iconentry.png b/plugins/gnome/icons/16x16/widget-gnome-iconentry.png
new file mode 100644
index 0000000..413d2b3
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-iconentry.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-iconlist.png b/plugins/gnome/icons/16x16/widget-gnome-iconlist.png
new file mode 100644
index 0000000..4843928
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-iconlist.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-iconselection.png b/plugins/gnome/icons/16x16/widget-gnome-iconselection.png
new file mode 100644
index 0000000..2f7b08a
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-iconselection.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-messagebox.png b/plugins/gnome/icons/16x16/widget-gnome-messagebox.png
new file mode 100644
index 0000000..c3643f1
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-messagebox.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-pixmap.png b/plugins/gnome/icons/16x16/widget-gnome-pixmap.png
new file mode 100644
index 0000000..7c13c07
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-pixmap.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-pixmapentry.png b/plugins/gnome/icons/16x16/widget-gnome-pixmapentry.png
new file mode 100644
index 0000000..ec4e622
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-pixmapentry.png differ
diff --git a/plugins/gnome/icons/16x16/widget-gnome-propertybox.png b/plugins/gnome/icons/16x16/widget-gnome-propertybox.png
new file mode 100644
index 0000000..32f2790
Binary files /dev/null and b/plugins/gnome/icons/16x16/widget-gnome-propertybox.png differ
diff --git a/plugins/gnome/icons/22x22/Makefile.am b/plugins/gnome/icons/22x22/Makefile.am
new file mode 100644
index 0000000..6e4e430
--- /dev/null
+++ b/plugins/gnome/icons/22x22/Makefile.am
@@ -0,0 +1,31 @@
+## Process this file with automake to produce Makefile.in
+
+iconsdir = $(pkgdatadir)/pixmaps/hicolor/22x22/actions
+
+icons_DATA = \
+ widget-gnome-about.png \
+ widget-gnome-app.png \
+ widget-gnome-appbar.png \
+ widget-bonobo-dock.png \
+ widget-bonobo-dockitem.png \
+ widget-gnome-canvas.png \
+ widget-gnome-colorpicker.png \
+ widget-gnome-dateedit.png \
+ widget-gnome-dialog.png \
+ widget-gnome-druid.png \
+ widget-gnome-druidpageedge.png \
+ widget-gnome-druidpagestandard.png \
+ widget-gnome-entry.png \
+ widget-gnome-fileentry.png \
+ widget-gnome-fontpicker.png \
+ widget-gnome-href.png \
+ widget-gnome-iconentry.png \
+ widget-gnome-iconlist.png \
+ widget-gnome-iconselection.png \
+ widget-gnome-messagebox.png \
+ widget-gnome-pixmap.png \
+ widget-gnome-pixmapentry.png \
+ widget-gnome-propertybox.png
+
+
+EXTRA_DIST = $(icons_DATA)
diff --git a/plugins/gnome/icons/22x22/widget-bonobo-dock.png b/plugins/gnome/icons/22x22/widget-bonobo-dock.png
new file mode 100644
index 0000000..e98ed3d
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-bonobo-dock.png differ
diff --git a/plugins/gnome/icons/22x22/widget-bonobo-dockitem.png b/plugins/gnome/icons/22x22/widget-bonobo-dockitem.png
new file mode 100644
index 0000000..a66fd06
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-bonobo-dockitem.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-about.png b/plugins/gnome/icons/22x22/widget-gnome-about.png
new file mode 100644
index 0000000..0015235
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-about.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-app.png b/plugins/gnome/icons/22x22/widget-gnome-app.png
new file mode 100644
index 0000000..fc6acbe
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-app.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-appbar.png b/plugins/gnome/icons/22x22/widget-gnome-appbar.png
new file mode 100644
index 0000000..85af74f
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-appbar.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-canvas.png b/plugins/gnome/icons/22x22/widget-gnome-canvas.png
new file mode 100644
index 0000000..1911b51
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-canvas.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-colorpicker.png b/plugins/gnome/icons/22x22/widget-gnome-colorpicker.png
new file mode 100644
index 0000000..ff4676a
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-colorpicker.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-dateedit.png b/plugins/gnome/icons/22x22/widget-gnome-dateedit.png
new file mode 100644
index 0000000..7945a48
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-dateedit.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-dialog.png b/plugins/gnome/icons/22x22/widget-gnome-dialog.png
new file mode 100644
index 0000000..575ebf5
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-dialog.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-druid.png b/plugins/gnome/icons/22x22/widget-gnome-druid.png
new file mode 100644
index 0000000..78daffa
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-druid.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-druidpageedge.png b/plugins/gnome/icons/22x22/widget-gnome-druidpageedge.png
new file mode 100644
index 0000000..78daffa
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-druidpageedge.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-druidpagestandard.png b/plugins/gnome/icons/22x22/widget-gnome-druidpagestandard.png
new file mode 100644
index 0000000..03010e6
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-druidpagestandard.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-entry.png b/plugins/gnome/icons/22x22/widget-gnome-entry.png
new file mode 100644
index 0000000..89d0fa1
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-entry.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-fileentry.png b/plugins/gnome/icons/22x22/widget-gnome-fileentry.png
new file mode 100644
index 0000000..7945a48
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-fileentry.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-fontpicker.png b/plugins/gnome/icons/22x22/widget-gnome-fontpicker.png
new file mode 100644
index 0000000..79a88eb
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-fontpicker.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-href.png b/plugins/gnome/icons/22x22/widget-gnome-href.png
new file mode 100644
index 0000000..58a7890
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-href.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-iconentry.png b/plugins/gnome/icons/22x22/widget-gnome-iconentry.png
new file mode 100644
index 0000000..e90c556
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-iconentry.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-iconlist.png b/plugins/gnome/icons/22x22/widget-gnome-iconlist.png
new file mode 100644
index 0000000..fcf5bcb
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-iconlist.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-iconselection.png b/plugins/gnome/icons/22x22/widget-gnome-iconselection.png
new file mode 100644
index 0000000..80711e9
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-iconselection.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-messagebox.png b/plugins/gnome/icons/22x22/widget-gnome-messagebox.png
new file mode 100644
index 0000000..df878d3
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-messagebox.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-pixmap.png b/plugins/gnome/icons/22x22/widget-gnome-pixmap.png
new file mode 100644
index 0000000..414ae1c
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-pixmap.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-pixmapentry.png b/plugins/gnome/icons/22x22/widget-gnome-pixmapentry.png
new file mode 100644
index 0000000..7945a48
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-pixmapentry.png differ
diff --git a/plugins/gnome/icons/22x22/widget-gnome-propertybox.png b/plugins/gnome/icons/22x22/widget-gnome-propertybox.png
new file mode 100644
index 0000000..a36f7c3
Binary files /dev/null and b/plugins/gnome/icons/22x22/widget-gnome-propertybox.png differ
diff --git a/plugins/gnome/icons/Makefile.am b/plugins/gnome/icons/Makefile.am
new file mode 100644
index 0000000..bd39c36
--- /dev/null
+++ b/plugins/gnome/icons/Makefile.am
@@ -0,0 +1,3 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = 16x16 22x22
diff --git a/plugins/gtk+/Makefile.am b/plugins/gtk+/Makefile.am
index c420717..032397d 100644
--- a/plugins/gtk+/Makefile.am
+++ b/plugins/gtk+/Makefile.am
@@ -2,7 +2,7 @@
SUBDIRS = icons
-libgladeui = $(top_builddir)/gladeui/libgladeui-2.la
+libgladeui = $(top_builddir)/gladeui/libgladeui-1.la
# libgladegtk
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index 2e33c3c..5b3be7f 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -5193,6 +5193,18 @@ glade_gtk_file_chooser_forall (GtkWidget *widget, gpointer data)
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,
@@ -5201,8 +5213,8 @@ glade_gtk_dialog_post_create (GladeWidgetAdaptor *adaptor,
GtkDialog *dialog = GTK_DIALOG (object);
GladeWidget *widget;
GladeWidget *vbox_widget, *actionarea_widget, *colorsel, *fontsel;
- GladeWidget *ok_button = NULL, *cancel_button = NULL,
- *help_button = NULL, *apply_button = NULL;
+ 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));
@@ -5216,7 +5228,40 @@ glade_gtk_dialog_post_create (GladeWidgetAdaptor *adaptor,
glade_widget_property_set (widget, "border-width", 5);
}
- if (GTK_IS_COLOR_SELECTION_DIALOG (object))
+ 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);
+
+ glade_gtk_dialog_stop_offending_signals (GTK_WIDGET (dialog));
+ }
+ 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))
{
GtkWidget *child;
@@ -5339,7 +5384,21 @@ glade_gtk_dialog_get_internal_child (GladeWidgetAdaptor *adaptor,
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
- if (GTK_IS_COLOR_SELECTION_DIALOG (dialog))
+ 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_dialog_get_widget_for_response (dialog, GTK_RESPONSE_OK);
@@ -5389,7 +5448,17 @@ glade_gtk_dialog_get_children (GladeWidgetAdaptor *adaptor,
list = glade_util_container_get_all_children (GTK_CONTAINER (dialog));
- if (GTK_IS_COLOR_SELECTION_DIALOG (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))
{
GtkWidget *widget;
@@ -8896,6 +8965,156 @@ glade_gtk_spin_button_set_property (GladeWidgetAdaptor *adaptor,
id, value);
}
+/* ----------------------------- 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 (GladeWidgetAdaptor *adaptor, 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_get_child (GTK_BIN (object));
+
+ 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_get_child (GTK_BIN (object));
+
+ 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,
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index 30fdb07..ef412ec 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -1650,6 +1650,12 @@ embedded in another object</_tooltip>
<property id="has-separator" disabled="True"/>
</properties>
</glade-widget-class>
+
+ <glade-widget-class name="GtkInputDialog" generic-name="inputdialog" deprecated="True" _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">
<set-property-function>glade_gtk_message_dialog_set_property</set-property-function>
@@ -1721,10 +1727,107 @@ embedded in another object</_tooltip>
</properties>
</glade-widget-class>
+ <glade-widget-class name="GtkCombo" generic-name="combo" _title="Combo" deprecated="True" libglade-only="True">
+ <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-property="True" save="False">
+ <parameter-spec>
+ <type>GParamString</type>
+ </parameter-spec>
+ <_tooltip>Set the description of the Press atk action</_tooltip>
+ <visible-lines>2</visible-lines>
+ </property>
+ </properties>
+
+ </glade-widget-class>
+
+ <glade-widget-class name="GtkOptionMenu" generic-name="optionmenu" _title="Option Menu" deprecated="True" libglade-only="True">
+ <properties>
+ <!-- Atk press property -->
+ <property id="atk-press" _name="Press" ignore="True" atk-property="True" save="False">
+ <parameter-spec>
+ <type>GParamString</type>
+ </parameter-spec>
+ <_tooltip>Set the description of the Press atk action</_tooltip>
+ <visible-lines>2</visible-lines>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GtkList" generic-name="list" _title="List" deprecated="True" libglade-only="True">
+ <add-child-function>glade_gtk_listitem_add_child</add-child-function>
+ <remove-child-function>glade_gtk_listitem_remove_child</remove-child-function>
+ <properties>
+ <property id="selection-mode">
+ <displayable-values>
+ <value id="GTK_SELECTION_NONE" _name="None"/>
+ <value id="GTK_SELECTION_SINGLE" _name="Single"/>
+ <value id="GTK_SELECTION_BROWSE" _name="Browse"/>
+ <value id="GTK_SELECTION_MULTIPLE" _name="Multiple"/>
+ <value id="GTK_SELECTION_EXTENDED" _name="Extended"/>
+ </displayable-values>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GtkListItem" generic-name="listitem" _title="List Item" deprecated="True" libglade-only="True">
+ <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">
+ <parameter-spec>
+ <type>GParamString</type>
+ </parameter-spec>
+ <_tooltip>The text to display</_tooltip>
+ </property>
+ </properties>
+ </glade-widget-class>
+
+ <glade-widget-class name="GtkCList" generic-name="clist" _title="Columned List" deprecated="True" libglade-only="True">
+ <properties>
+ <property id="sort-type">
+ <displayable-values>
+ <value id="GTK_SORT_ASCENDING" _name="Ascending"/>
+ <value id="GTK_SORT_DESCENDING" _name="Descending"/>
+ </displayable-values>
+ </property>
+ </properties>
+ </glade-widget-class>
+
<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" deprecated="True">
+ <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" deprecated="True"/>
+
+ <glade-widget-class name="GtkFileSelection" generic-name="fileselection" _title="File Selection" deprecated="True" libglade-only="True"/>
+ <glade-widget-class name="Custom" generic-name="custom" _title="Custom widget" deprecated="True" libglade-only="True">
+ <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" since="2.10">
<post-create-function>glade_gtk_assistant_post_create</post-create-function>
<add-child-function>glade_gtk_assistant_add_child</add-child-function>
@@ -3304,6 +3407,7 @@ embedded in another object</_tooltip>
<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"/>
@@ -3428,6 +3532,19 @@ embedded in another object</_tooltip>
<glade-widget-class-ref name="GtkHRuler"/>
<glade-widget-class-ref name="GtkVRuler"/>
+ <glade-widget-class-ref name="GtkCurve"/>
+ <glade-widget-class-ref name="GtkGammaCurve"/>
</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="GtkList"/>
+ <glade-widget-class-ref name="GtkCList"/>
+ <glade-widget-class-ref name="GtkFileSelection"/>
+ <glade-widget-class-ref name="Custom"/>
+ </glade-widget-group>
</glade-catalog>
diff --git a/src/Makefile.am b/src/Makefile.am
index 1b6a13e..ed147b0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,24 +1,24 @@
## Process this file with automake to produce Makefile.in
-bin_PROGRAMS = glade
+bin_PROGRAMS = glade-3
-glade_CPPFLAGS = \
+glade_3_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\""
$(AM_CPPFLAGS)
-glade_CFLAGS = \
+glade_3_CFLAGS = \
$(GTK_CFLAGS) \
$(IGE_MAC_CFLAGS) \
$(WARN_CFLAGS) \
$(AM_CFLAGS)
-glade_LDFLAGS = $(AM_LDFLAGS)
+glade_3_LDFLAGS = $(AM_LDFLAGS)
-glade_LDADD = $(top_builddir)/gladeui/libgladeui-2.la $(IGE_MAC_LIBS)
+glade_3_LDADD = $(top_builddir)/gladeui/libgladeui-1.la $(IGE_MAC_LIBS)
-glade_SOURCES = \
+glade_3_SOURCES = \
glade-window.c \
glade-window.h \
glade-close-button.c \
@@ -26,13 +26,13 @@ glade_SOURCES = \
main.c
if NATIVE_WIN32
-glade_LDADD += glade-win32-res.o
+glade_3_LDADD += glade-win32-res.o
if !GLADE_UNSTABLE
-glade_LDFLAGS += -mwindows
+glade_3_LDFLAGS += -mwindows
endif
endif
-glade-win32-res.o: glade.rc
+glade-win32-res.o: glade-3.rc
$(WINDRES) $< $@
-EXTRA_DIST = glade.rc.in
+EXTRA_DIST = glade-3.rc.in
diff --git a/src/glade.rc.in b/src/glade-3.rc.in
similarity index 100%
rename from src/glade.rc.in
rename to src/glade-3.rc.in
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]