[Xfce4-commits] <xfc:master> First attempt to make a cmake build work as expected
Bo Lorensen
noreply at xfce.org
Wed Sep 7 20:32:01 CEST 2011
Updating branch refs/heads/master
to 5c873d05c9fbafa4db4d8d822c277927fd16624a (commit)
from 2d1da72894755c1fe5324cfc41c2f4052357450e (commit)
commit 5c873d05c9fbafa4db4d8d822c277927fd16624a
Author: Bo Lorensen <bl at lue.dk>
Date: Sun Aug 7 23:04:25 2011 +0200
First attempt to make a cmake build work as expected
CMakeLists.txt | 17 +
configure.ac | 513 -----
core/CMakeLists.txt | 6 +
{libXFCcore => core}/Makefile.am | 0
core/xfc/CMakeLists.txt | 10 +
{libXFCcore => core}/xfc/Makefile.am | 0
{libXFCcore => core}/xfc/convert.cc | 0
{libXFCcore => core}/xfc/convert.hh | 0
core/xfc/glib/CMakeLists.txt | 9 +
{libXFCcore => core}/xfc/glib/Makefile.am | 0
{libXFCcore => core}/xfc/glib/asyncqueue.cc | 0
{libXFCcore => core}/xfc/glib/asyncqueue.hh | 0
{libXFCcore => core}/xfc/glib/boxed.cc | 0
{libXFCcore => core}/xfc/glib/boxed.hh | 0
{libXFCcore => core}/xfc/glib/completion.cc | 0
{libXFCcore => core}/xfc/glib/completion.hh | 0
{libXFCcore => core}/xfc/glib/connection.cc | 0
{libXFCcore => core}/xfc/glib/date.cc | 0
{libXFCcore => core}/xfc/glib/date.hh | 0
{libXFCcore => core}/xfc/glib/error.cc | 0
{libXFCcore => core}/xfc/glib/error.hh | 0
{libXFCcore => core}/xfc/glib/fileutils.cc | 0
{libXFCcore => core}/xfc/glib/fileutils.hh | 0
{libXFCcore => core}/xfc/glib/g.hh | 0
{libXFCcore => core}/xfc/glib/inline/Makefile.am | 0
.../xfc/glib/inline/asyncqueue.inl | 0
{libXFCcore => core}/xfc/glib/inline/boxed.inl | 0
.../xfc/glib/inline/completion.inl | 0
{libXFCcore => core}/xfc/glib/inline/date.inl | 0
{libXFCcore => core}/xfc/glib/inline/error.inl | 0
{libXFCcore => core}/xfc/glib/inline/fileutils.inl | 0
{libXFCcore => core}/xfc/glib/inline/iochannel.inl | 0
{libXFCcore => core}/xfc/glib/inline/keyfile.inl | 0
{libXFCcore => core}/xfc/glib/inline/main.inl | 0
{libXFCcore => core}/xfc/glib/inline/markup.inl | 0
{libXFCcore => core}/xfc/glib/inline/module.inl | 0
{libXFCcore => core}/xfc/glib/inline/mutex.inl | 0
{libXFCcore => core}/xfc/glib/inline/object.inl | 0
{libXFCcore => core}/xfc/glib/inline/option.inl | 0
{libXFCcore => core}/xfc/glib/inline/pattern.inl | 0
{libXFCcore => core}/xfc/glib/inline/quark.inl | 0
{libXFCcore => core}/xfc/glib/inline/rand.inl | 0
{libXFCcore => core}/xfc/glib/inline/scanner.inl | 0
{libXFCcore => core}/xfc/glib/inline/spawn.inl | 0
{libXFCcore => core}/xfc/glib/inline/thread.inl | 0
.../xfc/glib/inline/threadpool.inl | 0
{libXFCcore => core}/xfc/glib/inline/timer.inl | 0
{libXFCcore => core}/xfc/glib/inline/timeval.inl | 0
{libXFCcore => core}/xfc/glib/inline/type.inl | 0
{libXFCcore => core}/xfc/glib/inline/unicode.inl | 0
{libXFCcore => core}/xfc/glib/inline/utils.inl | 0
{libXFCcore => core}/xfc/glib/inline/value.inl | 0
{libXFCcore => core}/xfc/glib/iochannel.cc | 0
{libXFCcore => core}/xfc/glib/iochannel.hh | 0
{libXFCcore => core}/xfc/glib/keyfile.cc | 0
{libXFCcore => core}/xfc/glib/keyfile.hh | 0
{libXFCcore => core}/xfc/glib/main.cc | 0
{libXFCcore => core}/xfc/glib/main.hh | 0
{libXFCcore => core}/xfc/glib/markup.cc | 0
{libXFCcore => core}/xfc/glib/markup.hh | 0
{libXFCcore => core}/xfc/glib/marshal.cc | 0
{libXFCcore => core}/xfc/glib/module.cc | 0
{libXFCcore => core}/xfc/glib/module.hh | 0
{libXFCcore => core}/xfc/glib/mutex.cc | 0
{libXFCcore => core}/xfc/glib/mutex.hh | 0
{libXFCcore => core}/xfc/glib/object.cc | 0
{libXFCcore => core}/xfc/glib/object.hh | 0
{libXFCcore => core}/xfc/glib/objectsignals.cc | 0
{libXFCcore => core}/xfc/glib/objectsignals.hh | 0
{libXFCcore => core}/xfc/glib/option.cc | 0
{libXFCcore => core}/xfc/glib/option.hh | 0
{libXFCcore => core}/xfc/glib/pattern.cc | 0
{libXFCcore => core}/xfc/glib/pattern.hh | 0
{libXFCcore => core}/xfc/glib/private/Makefile.am | 0
.../xfc/glib/private/connection.hh | 0
{libXFCcore => core}/xfc/glib/private/marshal.hh | 0
.../xfc/glib/private/objectclass.hh | 0
{libXFCcore => core}/xfc/glib/property.cc | 0
{libXFCcore => core}/xfc/glib/property.hh | 0
{libXFCcore => core}/xfc/glib/quark.cc | 0
{libXFCcore => core}/xfc/glib/quark.hh | 0
{libXFCcore => core}/xfc/glib/rand.cc | 0
{libXFCcore => core}/xfc/glib/rand.hh | 0
{libXFCcore => core}/xfc/glib/scanner.cc | 0
{libXFCcore => core}/xfc/glib/scanner.hh | 0
{libXFCcore => core}/xfc/glib/shell.cc | 0
{libXFCcore => core}/xfc/glib/shell.hh | 0
{libXFCcore => core}/xfc/glib/signals.cc | 0
{libXFCcore => core}/xfc/glib/signals.hh | 0
{libXFCcore => core}/xfc/glib/slist.hh | 0
{libXFCcore => core}/xfc/glib/spawn.cc | 0
{libXFCcore => core}/xfc/glib/spawn.hh | 0
{libXFCcore => core}/xfc/glib/thread.cc | 0
{libXFCcore => core}/xfc/glib/thread.hh | 0
{libXFCcore => core}/xfc/glib/threadpool.cc | 0
{libXFCcore => core}/xfc/glib/threadpool.hh | 0
{libXFCcore => core}/xfc/glib/timer.cc | 0
{libXFCcore => core}/xfc/glib/timer.hh | 0
{libXFCcore => core}/xfc/glib/timeval.cc | 0
{libXFCcore => core}/xfc/glib/timeval.hh | 0
{libXFCcore => core}/xfc/glib/type.cc | 0
{libXFCcore => core}/xfc/glib/type.hh | 0
{libXFCcore => core}/xfc/glib/unicode.cc | 0
{libXFCcore => core}/xfc/glib/unicode.hh | 0
{libXFCcore => core}/xfc/glib/utils.cc | 0
{libXFCcore => core}/xfc/glib/utils.hh | 0
{libXFCcore => core}/xfc/glib/value.cc | 0
{libXFCcore => core}/xfc/glib/value.hh | 0
{libXFCcore => core}/xfc/i18n.cc | 0
{libXFCcore => core}/xfc/i18n.hh | 0
{libXFCcore => core}/xfc/integerobject.hh | 0
{libXFCcore => core}/xfc/object.cc | 0
{libXFCcore => core}/xfc/object.hh | 0
{libXFCcore => core}/xfc/pointer.hh | 0
{libXFCcore => core}/xfc/stackobject.cc | 0
{libXFCcore => core}/xfc/stackobject.hh | 0
{libXFCcore => core}/xfc/trackable.cc | 0
{libXFCcore => core}/xfc/trackable.hh | 0
{libXFCcore => core}/xfc/utfstring.cc | 0
{libXFCcore => core}/xfc/utfstring.hh | 0
{libXFCcore => core}/xfc/version.cc | 0
{libXFCcore => core}/xfc/version.hh | 0
{libXFCcore => core}/xfc/version.hh.in | 0
{libXFCcore => core}/xfc/xfccore.hh | 0
{libXFCcore => core}/xfccore-4.3.pc.in | 0
de/CMakeLists.txt | 3 +
{libXFCde => de}/Makefile.am | 0
de/xfc/CMakeLists.txt | 15 +
{libXFCde => de}/xfc/Makefile.am | 0
{libXFCde => de}/xfc/panel/Makefile.am | 0
{libXFCde => de}/xfc/panel/inline/Makefile.am | 0
{libXFCde => de}/xfc/panel/inline/panel.inl | 0
{libXFCde => de}/xfc/panel/panel.cc | 0
{libXFCde => de}/xfc/panel/panel.hh | 0
de/xfc/ui/CMakeLists.txt | 3 +
{libXFCde => de}/xfc/ui/Makefile.am | 0
{libXFCde => de}/xfc/ui/about.cc | 0
{libXFCde => de}/xfc/ui/about.hh | 0
{libXFCde => de}/xfc/ui/dialogs.cc | 0
{libXFCde => de}/xfc/ui/dialogs.hh | 0
{libXFCde => de}/xfc/ui/inline/Makefile.am | 0
{libXFCde => de}/xfc/ui/inline/dialog.inl | 0
de/xfc/utils/CMakeLists.txt | 3 +
{libXFCde => de}/xfc/utils/Makefile.am | 0
{libXFCde => de}/xfc/utils/config.cc | 0
{libXFCde => de}/xfc/utils/config.hh | 0
{libXFCde => de}/xfc/utils/inline/Makefile.am | 0
{libXFCde => de}/xfc/utils/inline/config.inl | 0
{libXFCde => de}/xfcde-4.3.pc.in | 0
demos/xfc-demo/Makefile.am | 3 +-
glade/CMakeLists.txt | 1 +
{libXFCglade => glade}/Makefile.am | 0
{libXFCglade => glade}/xfc/Makefile.am | 0
{libXFCglade => glade}/xfc/glade/Makefile.am | 0
{libXFCglade => glade}/xfc/glade/glade.hh | 0
.../xfc/glade/inline/Makefile.am | 0
{libXFCglade => glade}/xfc/glade/inline/xml.inl | 0
.../xfc/glade/private/Makefile.am | 0
.../xfc/glade/private/xmlclass.hh | 0
{libXFCglade => glade}/xfc/glade/xml.cc | 0
{libXFCglade => glade}/xfc/glade/xml.hh | 0
{libXFCglade => glade}/xfc/xfcglade.hh | 0
{libXFCglade => glade}/xfcglade-4.3.pc.in | 0
libXFCui/xfc/Makefile.am | 28 -
libXFCui/xfc/atk/gobjectaccessible.cc | 76 -
libXFCui/xfc/atk/hypertext.cc | 82 -
libXFCui/xfc/atk/marshal.cc | 85 -
libXFCui/xfc/atk/selection.cc | 82 -
libXFCui/xfc/atk/streamablecontent.cc | 55 -
libXFCui/xfc/atk/table.cc | 296 ---
libXFCui/xfc/atk/text.cc | 431 -----
libXFCui/xfc/atk/value.cc | 60 -
libXFCui/xfc/gdk-pixbuf/pixbuf-animation.cc | 93 -
libXFCui/xfc/gdk-pixbuf/pixbuf-loader.cc | 207 --
libXFCui/xfc/gdk-pixbuf/pixbuf.cc | 410 ----
libXFCui/xfc/gdk/marshal.cc | 42 -
libXFCui/xfc/gdk/screen.cc | 226 ---
libXFCui/xfc/gdk/spawn.cc | 146 --
libXFCui/xfc/gtk/aboutdialog.cc | 300 ---
libXFCui/xfc/gtk/accelmap.cc | 129 --
libXFCui/xfc/gtk/actiongroup.cc | 312 ---
libXFCui/xfc/gtk/celleditable.cc | 98 -
libXFCui/xfc/gtk/dialog.cc | 239 ---
libXFCui/xfc/gtk/editable.cc | 123 --
libXFCui/xfc/gtk/filechooser.cc | 350 ----
libXFCui/xfc/gtk/icontheme.cc | 353 ----
libXFCui/xfc/gtk/liststore.cc | 264 ---
libXFCui/xfc/gtk/marshal.cc | 1348 -------------
libXFCui/xfc/gtk/menu.cc | 197 --
libXFCui/xfc/gtk/printpagesetup.cc | 108 --
libXFCui/xfc/gtk/radioaction.cc | 241 ---
libXFCui/xfc/gtk/radiobutton.cc | 120 --
libXFCui/xfc/gtk/radiomenuitem.cc | 118 --
libXFCui/xfc/gtk/rc.cc | 328 ----
libXFCui/xfc/gtk/selection.cc | 306 ---
libXFCui/xfc/gtk/textiter.cc | 444 -----
libXFCui/xfc/gtk/treemodel.cc | 563 ------
libXFCui/xfc/gtk/treemodelfilter.cc | 192 --
libXFCui/xfc/gtk/treemodelsort.cc | 122 --
libXFCui/xfc/gtk/treesortable.cc | 125 --
libXFCui/xfc/gtk/treestore.cc | 213 ---
libXFCui/xfc/gtk/uimanager.cc | 334 ----
libXFCui/xfc/gtk/widget.cc | 1977 --------------------
libXFCui/xfc/gtk/window.cc | 520 -----
libXFCui/xfc/main.cc | 322 ----
libXFCui/xfc/pango/types.cc | 125 --
sourceview/CMakeLists.txt | 1 +
{libXFCsourceview => sourceview}/Makefile.am | 0
{libXFCsourceview => sourceview}/xfc/Makefile.am | 0
.../xfc/sourceview/Makefile.am | 0
.../xfc/sourceview/private/Makefile.am | 0
.../xfc/sourceview/private/sourcebufferclass.hh | 0
.../xfc/sourceview/private/sourcelanguageclass.hh | 0
.../xfc/sourceview/private/sourceprintjobclass.hh | 0
.../sourceview/private/sourcestyleschemeclass.hh | 0
.../xfc/sourceview/private/sourcetagclass.hh | 0
.../xfc/sourceview/private/sourceviewclass.hh | 0
.../xfc/sourceview/sourcebuffer.cc | 0
.../xfc/sourceview/sourcebuffer.hh | 0
.../xfc/sourceview/sourcebuffersignals.cc | 0
.../xfc/sourceview/sourcebuffersignals.hh | 0
.../xfc/sourceview/sourceiter.cc | 0
.../xfc/sourceview/sourceiter.hh | 0
.../xfc/sourceview/sourcelanguage.cc | 0
.../xfc/sourceview/sourcelanguage.hh | 0
.../xfc/sourceview/sourcelanguagesignals.cc | 0
.../xfc/sourceview/sourcelanguagesignals.hh | 0
.../xfc/sourceview/sourceprintjob.cc | 0
.../xfc/sourceview/sourceprintjob.hh | 0
.../xfc/sourceview/sourceprintjobsignals.cc | 0
.../xfc/sourceview/sourceprintjobsignals.hh | 0
.../xfc/sourceview/sourcestylescheme.cc | 0
.../xfc/sourceview/sourcestylescheme.hh | 0
.../xfc/sourceview/sourcestyleschemesignals.cc | 0
.../xfc/sourceview/sourcestyleschemesignals.hh | 0
.../xfc/sourceview/sourcetag.cc | 0
.../xfc/sourceview/sourcetag.hh | 0
.../xfc/sourceview/sourcetagsignals.cc | 0
.../xfc/sourceview/sourcetagsignals.hh | 0
.../xfc/sourceview/sourcetagstyle.cc | 0
.../xfc/sourceview/sourcetagstyle.hh | 0
.../xfc/sourceview/sourceview.cc | 0
.../xfc/sourceview/sourceview.hh | 0
.../xfcsourceview-4.3.pc.in | 0
ui/CMakeLists.txt | 3 +
{libXFCui => ui}/Makefile.am | 0
ui/xfc/CMakeLists.txt | 20 +
ui/xfc/Makefile.am | 28 +
ui/xfc/atk/CMakeLists.txt | 30 +
{libXFCui => ui}/xfc/atk/Makefile.am | 0
{libXFCui => ui}/xfc/atk/action.cc | 0
{libXFCui => ui}/xfc/atk/action.hh | 0
{libXFCui => ui}/xfc/atk/atk.hh | 0
{libXFCui => ui}/xfc/atk/component.cc | 0
{libXFCui => ui}/xfc/atk/component.hh | 0
{libXFCui => ui}/xfc/atk/document.cc | 0
{libXFCui => ui}/xfc/atk/document.hh | 0
{libXFCui => ui}/xfc/atk/editabletext.cc | 0
{libXFCui => ui}/xfc/atk/editabletext.hh | 0
ui/xfc/atk/gobjectaccessible.cc | 76 +
{libXFCui => ui}/xfc/atk/gobjectaccessible.hh | 0
{libXFCui => ui}/xfc/atk/hyperlink.cc | 0
{libXFCui => ui}/xfc/atk/hyperlink.hh | 0
{libXFCui => ui}/xfc/atk/hyperlinksignals.cc | 0
{libXFCui => ui}/xfc/atk/hyperlinksignals.hh | 0
ui/xfc/atk/hypertext.cc | 82 +
{libXFCui => ui}/xfc/atk/hypertext.hh | 0
{libXFCui => ui}/xfc/atk/hypertextsignals.cc | 0
{libXFCui => ui}/xfc/atk/hypertextsignals.hh | 0
{libXFCui => ui}/xfc/atk/image.cc | 0
{libXFCui => ui}/xfc/atk/image.hh | 0
{libXFCui => ui}/xfc/atk/implementor.cc | 0
{libXFCui => ui}/xfc/atk/implementor.hh | 0
{libXFCui => ui}/xfc/atk/inline/Makefile.am | 0
{libXFCui => ui}/xfc/atk/inline/action.inl | 0
{libXFCui => ui}/xfc/atk/inline/component.inl | 0
{libXFCui => ui}/xfc/atk/inline/document.inl | 0
{libXFCui => ui}/xfc/atk/inline/editabletext.inl | 0
.../xfc/atk/inline/gobjectaccessible.inl | 0
{libXFCui => ui}/xfc/atk/inline/hyperlink.inl | 0
{libXFCui => ui}/xfc/atk/inline/hypertext.inl | 0
{libXFCui => ui}/xfc/atk/inline/image.inl | 0
{libXFCui => ui}/xfc/atk/inline/implementor.inl | 0
{libXFCui => ui}/xfc/atk/inline/object.inl | 0
{libXFCui => ui}/xfc/atk/inline/objectfactory.inl | 0
{libXFCui => ui}/xfc/atk/inline/registry.inl | 0
{libXFCui => ui}/xfc/atk/inline/relation.inl | 0
{libXFCui => ui}/xfc/atk/inline/selection.inl | 0
{libXFCui => ui}/xfc/atk/inline/stateset.inl | 0
.../xfc/atk/inline/streamablecontent.inl | 0
{libXFCui => ui}/xfc/atk/inline/table.inl | 0
{libXFCui => ui}/xfc/atk/inline/text.inl | 0
{libXFCui => ui}/xfc/atk/inline/value.inl | 0
ui/xfc/atk/marshal.cc | 85 +
{libXFCui => ui}/xfc/atk/object.cc | 0
{libXFCui => ui}/xfc/atk/object.hh | 0
{libXFCui => ui}/xfc/atk/objectfactory.cc | 0
{libXFCui => ui}/xfc/atk/objectfactory.hh | 0
{libXFCui => ui}/xfc/atk/objectsignals.cc | 0
{libXFCui => ui}/xfc/atk/objectsignals.hh | 0
{libXFCui => ui}/xfc/atk/private/Makefile.am | 0
.../xfc/atk/private/gobjectaccessibleclass.hh | 0
{libXFCui => ui}/xfc/atk/private/hyperlinkclass.hh | 0
{libXFCui => ui}/xfc/atk/private/hypertextiface.hh | 0
{libXFCui => ui}/xfc/atk/private/marshal.hh | 0
{libXFCui => ui}/xfc/atk/private/objectclass.hh | 0
.../xfc/atk/private/objectfactoryclass.hh | 0
{libXFCui => ui}/xfc/atk/private/registryclass.hh | 0
{libXFCui => ui}/xfc/atk/private/relationclass.hh | 0
{libXFCui => ui}/xfc/atk/private/selectioniface.hh | 0
{libXFCui => ui}/xfc/atk/private/statesetclass.hh | 0
{libXFCui => ui}/xfc/atk/private/tableiface.hh | 0
{libXFCui => ui}/xfc/atk/private/textiface.hh | 0
{libXFCui => ui}/xfc/atk/registry.cc | 0
{libXFCui => ui}/xfc/atk/registry.hh | 0
{libXFCui => ui}/xfc/atk/relation.cc | 0
{libXFCui => ui}/xfc/atk/relation.hh | 0
ui/xfc/atk/selection.cc | 82 +
{libXFCui => ui}/xfc/atk/selection.hh | 0
{libXFCui => ui}/xfc/atk/selectionsignals.cc | 0
{libXFCui => ui}/xfc/atk/selectionsignals.hh | 0
{libXFCui => ui}/xfc/atk/stateset.cc | 0
{libXFCui => ui}/xfc/atk/stateset.hh | 0
ui/xfc/atk/streamablecontent.cc | 55 +
{libXFCui => ui}/xfc/atk/streamablecontent.hh | 0
ui/xfc/atk/table.cc | 296 +++
{libXFCui => ui}/xfc/atk/table.hh | 0
{libXFCui => ui}/xfc/atk/tablesignals.cc | 0
{libXFCui => ui}/xfc/atk/tablesignals.hh | 0
ui/xfc/atk/text.cc | 431 +++++
{libXFCui => ui}/xfc/atk/text.hh | 0
{libXFCui => ui}/xfc/atk/textsignals.cc | 0
{libXFCui => ui}/xfc/atk/textsignals.hh | 0
{libXFCui => ui}/xfc/atk/util.cc | 0
{libXFCui => ui}/xfc/atk/util.hh | 0
ui/xfc/atk/value.cc | 60 +
{libXFCui => ui}/xfc/atk/value.hh | 0
ui/xfc/cairo/CMakeLists.txt | 5 +
{libXFCui => ui}/xfc/cairo/Makefile.am | 0
{libXFCui => ui}/xfc/cairo/cairo.hh | 0
{libXFCui => ui}/xfc/cairo/context.cc | 0
{libXFCui => ui}/xfc/cairo/context.hh | 0
{libXFCui => ui}/xfc/cairo/fontoptions.cc | 0
{libXFCui => ui}/xfc/cairo/fontoptions.hh | 0
{libXFCui => ui}/xfc/cairo/image_surface.cc | 0
{libXFCui => ui}/xfc/cairo/image_surface.hh | 0
{libXFCui => ui}/xfc/cairo/matrix.cc | 0
{libXFCui => ui}/xfc/cairo/matrix.hh | 0
{libXFCui => ui}/xfc/cairo/pattern.cc | 0
{libXFCui => ui}/xfc/cairo/pattern.hh | 0
{libXFCui => ui}/xfc/cairo/pdf_surface.cc | 0
{libXFCui => ui}/xfc/cairo/pdf_surface.hh | 0
{libXFCui => ui}/xfc/cairo/ps_surface.cc | 0
{libXFCui => ui}/xfc/cairo/ps_surface.hh | 0
{libXFCui => ui}/xfc/cairo/surface.cc | 0
{libXFCui => ui}/xfc/cairo/surface.hh | 0
{libXFCui => ui}/xfc/cairo/svg_surface.cc | 0
{libXFCui => ui}/xfc/cairo/svg_surface.hh | 0
{libXFCui => ui}/xfc/cairo/types.hh | 0
{libXFCui => ui}/xfc/cairo/xlib_surface.cc | 0
{libXFCui => ui}/xfc/cairo/xlib_surface.hh | 0
{libXFCui => ui}/xfc/config.h.in | 0
ui/xfc/gdk-pixbuf/CMakeLists.txt | 7 +
{libXFCui => ui}/xfc/gdk-pixbuf/Makefile.am | 0
{libXFCui => ui}/xfc/gdk-pixbuf/gdk-pixbuf.hh | 0
{libXFCui => ui}/xfc/gdk-pixbuf/inline/Makefile.am | 0
.../xfc/gdk-pixbuf/inline/pixbuf-animation.inl | 0
.../xfc/gdk-pixbuf/inline/pixbuf-io.inl | 0
.../xfc/gdk-pixbuf/inline/pixbuf-loader.inl | 0
{libXFCui => ui}/xfc/gdk-pixbuf/inline/pixbuf.inl | 0
ui/xfc/gdk-pixbuf/pixbuf-animation.cc | 93 +
.../xfc/gdk-pixbuf/pixbuf-animation.hh | 0
{libXFCui => ui}/xfc/gdk-pixbuf/pixbuf-io.cc | 0
{libXFCui => ui}/xfc/gdk-pixbuf/pixbuf-io.hh | 0
ui/xfc/gdk-pixbuf/pixbuf-loader.cc | 207 ++
{libXFCui => ui}/xfc/gdk-pixbuf/pixbuf-loader.hh | 0
.../xfc/gdk-pixbuf/pixbuf-loadersignals.cc | 0
.../xfc/gdk-pixbuf/pixbuf-loadersignals.hh | 0
ui/xfc/gdk-pixbuf/pixbuf.cc | 410 ++++
{libXFCui => ui}/xfc/gdk-pixbuf/pixbuf.hh | 0
.../xfc/gdk-pixbuf/private/Makefile.am | 0
.../xfc/gdk-pixbuf/private/pixbuf-loaderclass.hh | 0
ui/xfc/gdk/CMakeLists.txt | 7 +
{libXFCui => ui}/xfc/gdk/Makefile.am | 0
{libXFCui => ui}/xfc/gdk/bitmap.cc | 0
{libXFCui => ui}/xfc/gdk/bitmap.hh | 0
{libXFCui => ui}/xfc/gdk/color.cc | 0
{libXFCui => ui}/xfc/gdk/color.hh | 0
{libXFCui => ui}/xfc/gdk/cursor.cc | 0
{libXFCui => ui}/xfc/gdk/cursor.hh | 0
{libXFCui => ui}/xfc/gdk/display.cc | 0
{libXFCui => ui}/xfc/gdk/display.hh | 0
{libXFCui => ui}/xfc/gdk/displaymanager.cc | 0
{libXFCui => ui}/xfc/gdk/displaymanager.hh | 0
{libXFCui => ui}/xfc/gdk/displaymanagersignals.cc | 0
{libXFCui => ui}/xfc/gdk/displaymanagersignals.hh | 0
{libXFCui => ui}/xfc/gdk/displaysignals.cc | 0
{libXFCui => ui}/xfc/gdk/displaysignals.hh | 0
{libXFCui => ui}/xfc/gdk/dnd.cc | 0
{libXFCui => ui}/xfc/gdk/dnd.hh | 0
{libXFCui => ui}/xfc/gdk/drawable.cc | 0
{libXFCui => ui}/xfc/gdk/drawable.hh | 0
{libXFCui => ui}/xfc/gdk/events.cc | 0
{libXFCui => ui}/xfc/gdk/events.hh | 0
{libXFCui => ui}/xfc/gdk/gc.cc | 0
{libXFCui => ui}/xfc/gdk/gc.hh | 0
{libXFCui => ui}/xfc/gdk/gdk.hh | 0
{libXFCui => ui}/xfc/gdk/image.cc | 0
{libXFCui => ui}/xfc/gdk/image.hh | 0
{libXFCui => ui}/xfc/gdk/inline/Makefile.am | 0
{libXFCui => ui}/xfc/gdk/inline/bitmap.inl | 0
{libXFCui => ui}/xfc/gdk/inline/color.inl | 0
{libXFCui => ui}/xfc/gdk/inline/cursor.inl | 0
{libXFCui => ui}/xfc/gdk/inline/display.inl | 0
{libXFCui => ui}/xfc/gdk/inline/displaymanager.inl | 0
{libXFCui => ui}/xfc/gdk/inline/dnd.inl | 0
{libXFCui => ui}/xfc/gdk/inline/drawable.inl | 0
{libXFCui => ui}/xfc/gdk/inline/event.inl | 0
{libXFCui => ui}/xfc/gdk/inline/gc.inl | 0
{libXFCui => ui}/xfc/gdk/inline/image.inl | 0
{libXFCui => ui}/xfc/gdk/inline/input.inl | 0
{libXFCui => ui}/xfc/gdk/inline/keymap.inl | 0
{libXFCui => ui}/xfc/gdk/inline/keyval.inl | 0
{libXFCui => ui}/xfc/gdk/inline/pangorenderer.inl | 0
{libXFCui => ui}/xfc/gdk/inline/pixmap.inl | 0
{libXFCui => ui}/xfc/gdk/inline/region.inl | 0
{libXFCui => ui}/xfc/gdk/inline/screen.inl | 0
{libXFCui => ui}/xfc/gdk/inline/spawn.inl | 0
{libXFCui => ui}/xfc/gdk/inline/types.inl | 0
{libXFCui => ui}/xfc/gdk/inline/visual.inl | 0
{libXFCui => ui}/xfc/gdk/inline/window.inl | 0
{libXFCui => ui}/xfc/gdk/input.cc | 0
{libXFCui => ui}/xfc/gdk/input.hh | 0
{libXFCui => ui}/xfc/gdk/keymap.cc | 0
{libXFCui => ui}/xfc/gdk/keymap.hh | 0
{libXFCui => ui}/xfc/gdk/keymapsignals.cc | 0
{libXFCui => ui}/xfc/gdk/keymapsignals.hh | 0
{libXFCui => ui}/xfc/gdk/keyval.cc | 0
{libXFCui => ui}/xfc/gdk/keyval.hh | 0
ui/xfc/gdk/marshal.cc | 42 +
{libXFCui => ui}/xfc/gdk/pangorenderer.cc | 0
{libXFCui => ui}/xfc/gdk/pangorenderer.hh | 0
{libXFCui => ui}/xfc/gdk/pixmap.cc | 0
{libXFCui => ui}/xfc/gdk/pixmap.hh | 0
{libXFCui => ui}/xfc/gdk/private/Makefile.am | 0
{libXFCui => ui}/xfc/gdk/private/colormapclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/displayclass.hh | 0
.../xfc/gdk/private/displaymanagerclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/dndclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/drawableclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/gcclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/imageclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/keymapclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/marshal.hh | 0
.../xfc/gdk/private/pangorendererclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/pixmapclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/screenclass.hh | 0
{libXFCui => ui}/xfc/gdk/private/windowclass.hh | 0
{libXFCui => ui}/xfc/gdk/region.cc | 0
{libXFCui => ui}/xfc/gdk/region.hh | 0
ui/xfc/gdk/screen.cc | 226 +++
{libXFCui => ui}/xfc/gdk/screen.hh | 0
{libXFCui => ui}/xfc/gdk/screensignals.cc | 0
{libXFCui => ui}/xfc/gdk/screensignals.hh | 0
ui/xfc/gdk/spawn.cc | 146 ++
{libXFCui => ui}/xfc/gdk/spawn.hh | 0
{libXFCui => ui}/xfc/gdk/types.cc | 0
{libXFCui => ui}/xfc/gdk/types.hh | 0
{libXFCui => ui}/xfc/gdk/visual.cc | 0
{libXFCui => ui}/xfc/gdk/visual.hh | 0
{libXFCui => ui}/xfc/gdk/window.cc | 0
{libXFCui => ui}/xfc/gdk/window.hh | 0
ui/xfc/gtk/CMakeLists.txt | 143 ++
{libXFCui => ui}/xfc/gtk/Makefile.am | 0
ui/xfc/gtk/aboutdialog.cc | 300 +++
{libXFCui => ui}/xfc/gtk/aboutdialog.hh | 0
{libXFCui => ui}/xfc/gtk/accelgroup.cc | 0
{libXFCui => ui}/xfc/gtk/accelgroup.hh | 0
{libXFCui => ui}/xfc/gtk/accelgroupsignals.cc | 0
{libXFCui => ui}/xfc/gtk/accelgroupsignals.hh | 0
{libXFCui => ui}/xfc/gtk/accelkey.cc | 0
{libXFCui => ui}/xfc/gtk/accelkey.hh | 0
{libXFCui => ui}/xfc/gtk/accellabel.cc | 0
{libXFCui => ui}/xfc/gtk/accellabel.hh | 0
ui/xfc/gtk/accelmap.cc | 129 ++
{libXFCui => ui}/xfc/gtk/accelmap.hh | 0
{libXFCui => ui}/xfc/gtk/accessible.cc | 0
{libXFCui => ui}/xfc/gtk/accessible.hh | 0
{libXFCui => ui}/xfc/gtk/action.cc | 0
{libXFCui => ui}/xfc/gtk/action.hh | 0
ui/xfc/gtk/actiongroup.cc | 312 +++
{libXFCui => ui}/xfc/gtk/actiongroup.hh | 0
{libXFCui => ui}/xfc/gtk/actionsignals.cc | 0
{libXFCui => ui}/xfc/gtk/actionsignals.hh | 0
{libXFCui => ui}/xfc/gtk/adjustment.cc | 0
{libXFCui => ui}/xfc/gtk/adjustment.hh | 0
{libXFCui => ui}/xfc/gtk/adjustmentsignals.cc | 0
{libXFCui => ui}/xfc/gtk/adjustmentsignals.hh | 0
{libXFCui => ui}/xfc/gtk/alignment.cc | 0
{libXFCui => ui}/xfc/gtk/alignment.hh | 0
{libXFCui => ui}/xfc/gtk/arrow.cc | 0
{libXFCui => ui}/xfc/gtk/arrow.hh | 0
{libXFCui => ui}/xfc/gtk/aspectframe.cc | 0
{libXFCui => ui}/xfc/gtk/aspectframe.hh | 0
{libXFCui => ui}/xfc/gtk/bin.cc | 0
{libXFCui => ui}/xfc/gtk/bin.hh | 0
{libXFCui => ui}/xfc/gtk/box.cc | 0
{libXFCui => ui}/xfc/gtk/box.hh | 0
{libXFCui => ui}/xfc/gtk/boxchild.cc | 0
{libXFCui => ui}/xfc/gtk/boxchild.hh | 0
{libXFCui => ui}/xfc/gtk/builder.cc | 0
{libXFCui => ui}/xfc/gtk/builder.hh | 0
{libXFCui => ui}/xfc/gtk/button.cc | 0
{libXFCui => ui}/xfc/gtk/button.hh | 0
{libXFCui => ui}/xfc/gtk/buttonbox.cc | 0
{libXFCui => ui}/xfc/gtk/buttonbox.hh | 0
{libXFCui => ui}/xfc/gtk/buttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/buttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/calendar.cc | 0
{libXFCui => ui}/xfc/gtk/calendar.hh | 0
{libXFCui => ui}/xfc/gtk/calendarsignals.cc | 0
{libXFCui => ui}/xfc/gtk/calendarsignals.hh | 0
ui/xfc/gtk/celleditable.cc | 98 +
{libXFCui => ui}/xfc/gtk/celleditable.hh | 0
{libXFCui => ui}/xfc/gtk/celleditablesignals.cc | 0
{libXFCui => ui}/xfc/gtk/celleditablesignals.hh | 0
{libXFCui => ui}/xfc/gtk/celllayout.cc | 0
{libXFCui => ui}/xfc/gtk/celllayout.hh | 0
{libXFCui => ui}/xfc/gtk/cellrenderer.cc | 0
{libXFCui => ui}/xfc/gtk/cellrenderer.hh | 0
{libXFCui => ui}/xfc/gtk/cellrenderercombo.cc | 0
{libXFCui => ui}/xfc/gtk/cellrenderercombo.hh | 0
{libXFCui => ui}/xfc/gtk/cellrendererpixbuf.cc | 0
{libXFCui => ui}/xfc/gtk/cellrendererpixbuf.hh | 0
{libXFCui => ui}/xfc/gtk/cellrendererprogress.cc | 0
{libXFCui => ui}/xfc/gtk/cellrendererprogress.hh | 0
{libXFCui => ui}/xfc/gtk/cellrenderersignals.cc | 0
{libXFCui => ui}/xfc/gtk/cellrenderersignals.hh | 0
{libXFCui => ui}/xfc/gtk/cellrenderertext.cc | 0
{libXFCui => ui}/xfc/gtk/cellrenderertext.hh | 0
.../xfc/gtk/cellrenderertextsignals.cc | 0
.../xfc/gtk/cellrenderertextsignals.hh | 0
{libXFCui => ui}/xfc/gtk/cellrenderertoggle.cc | 0
{libXFCui => ui}/xfc/gtk/cellrenderertoggle.hh | 0
.../xfc/gtk/cellrenderertogglesignals.cc | 0
.../xfc/gtk/cellrenderertogglesignals.hh | 0
{libXFCui => ui}/xfc/gtk/cellview.cc | 0
{libXFCui => ui}/xfc/gtk/cellview.hh | 0
{libXFCui => ui}/xfc/gtk/checkbutton.cc | 0
{libXFCui => ui}/xfc/gtk/checkbutton.hh | 0
{libXFCui => ui}/xfc/gtk/checkmenuitem.cc | 0
{libXFCui => ui}/xfc/gtk/checkmenuitem.hh | 0
{libXFCui => ui}/xfc/gtk/checkmenuitemsignals.cc | 0
{libXFCui => ui}/xfc/gtk/checkmenuitemsignals.hh | 0
{libXFCui => ui}/xfc/gtk/clipboard.cc | 0
{libXFCui => ui}/xfc/gtk/clipboard.hh | 0
{libXFCui => ui}/xfc/gtk/colorbutton.cc | 0
{libXFCui => ui}/xfc/gtk/colorbutton.hh | 0
{libXFCui => ui}/xfc/gtk/colorbuttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/colorbuttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/colorselection.cc | 0
{libXFCui => ui}/xfc/gtk/colorselection.hh | 0
{libXFCui => ui}/xfc/gtk/colorselectionsignals.cc | 0
{libXFCui => ui}/xfc/gtk/colorselectionsignals.hh | 0
{libXFCui => ui}/xfc/gtk/combobox.cc | 0
{libXFCui => ui}/xfc/gtk/combobox.hh | 0
{libXFCui => ui}/xfc/gtk/comboboxentry.cc | 0
{libXFCui => ui}/xfc/gtk/comboboxentry.hh | 0
{libXFCui => ui}/xfc/gtk/comboboxsignals.cc | 0
{libXFCui => ui}/xfc/gtk/comboboxsignals.hh | 0
{libXFCui => ui}/xfc/gtk/container.cc | 0
{libXFCui => ui}/xfc/gtk/container.hh | 0
{libXFCui => ui}/xfc/gtk/containersignals.cc | 0
{libXFCui => ui}/xfc/gtk/containersignals.hh | 0
{libXFCui => ui}/xfc/gtk/curve.cc | 0
{libXFCui => ui}/xfc/gtk/curve.hh | 0
{libXFCui => ui}/xfc/gtk/curvesignals.cc | 0
{libXFCui => ui}/xfc/gtk/curvesignals.hh | 0
ui/xfc/gtk/dialog.cc | 239 +++
{libXFCui => ui}/xfc/gtk/dialog.hh | 0
{libXFCui => ui}/xfc/gtk/dialogsignals.cc | 0
{libXFCui => ui}/xfc/gtk/dialogsignals.hh | 0
{libXFCui => ui}/xfc/gtk/dnd.cc | 0
{libXFCui => ui}/xfc/gtk/dnd.hh | 0
{libXFCui => ui}/xfc/gtk/drawingarea.cc | 0
{libXFCui => ui}/xfc/gtk/drawingarea.hh | 0
ui/xfc/gtk/editable.cc | 123 ++
{libXFCui => ui}/xfc/gtk/editable.hh | 0
{libXFCui => ui}/xfc/gtk/editablesignals.cc | 0
{libXFCui => ui}/xfc/gtk/editablesignals.hh | 0
{libXFCui => ui}/xfc/gtk/entry.cc | 0
{libXFCui => ui}/xfc/gtk/entry.hh | 0
{libXFCui => ui}/xfc/gtk/entrycompletion.cc | 0
{libXFCui => ui}/xfc/gtk/entrycompletion.hh | 0
{libXFCui => ui}/xfc/gtk/entrycompletionsignals.cc | 0
{libXFCui => ui}/xfc/gtk/entrycompletionsignals.hh | 0
{libXFCui => ui}/xfc/gtk/entrysignals.cc | 0
{libXFCui => ui}/xfc/gtk/entrysignals.hh | 0
{libXFCui => ui}/xfc/gtk/enums.hh | 0
{libXFCui => ui}/xfc/gtk/eventbox.cc | 0
{libXFCui => ui}/xfc/gtk/eventbox.hh | 0
{libXFCui => ui}/xfc/gtk/expander.cc | 0
{libXFCui => ui}/xfc/gtk/expander.hh | 0
ui/xfc/gtk/filechooser.cc | 350 ++++
{libXFCui => ui}/xfc/gtk/filechooser.hh | 0
{libXFCui => ui}/xfc/gtk/filechooserbutton.cc | 0
{libXFCui => ui}/xfc/gtk/filechooserbutton.hh | 0
{libXFCui => ui}/xfc/gtk/filechooserdialog.cc | 0
{libXFCui => ui}/xfc/gtk/filechooserdialog.hh | 0
{libXFCui => ui}/xfc/gtk/filechooserwidget.cc | 0
{libXFCui => ui}/xfc/gtk/filechooserwidget.hh | 0
{libXFCui => ui}/xfc/gtk/filefilter.cc | 0
{libXFCui => ui}/xfc/gtk/filefilter.hh | 0
{libXFCui => ui}/xfc/gtk/fixed.cc | 0
{libXFCui => ui}/xfc/gtk/fixed.hh | 0
{libXFCui => ui}/xfc/gtk/fontbutton.cc | 0
{libXFCui => ui}/xfc/gtk/fontbutton.hh | 0
{libXFCui => ui}/xfc/gtk/fontbuttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/fontbuttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/fontselection.cc | 0
{libXFCui => ui}/xfc/gtk/fontselection.hh | 0
{libXFCui => ui}/xfc/gtk/frame.cc | 0
{libXFCui => ui}/xfc/gtk/frame.hh | 0
{libXFCui => ui}/xfc/gtk/gammacurve.cc | 0
{libXFCui => ui}/xfc/gtk/gammacurve.hh | 0
{libXFCui => ui}/xfc/gtk/gc.cc | 0
{libXFCui => ui}/xfc/gtk/gc.hh | 0
{libXFCui => ui}/xfc/gtk/gtk.hh | 0
{libXFCui => ui}/xfc/gtk/handlebox.cc | 0
{libXFCui => ui}/xfc/gtk/handlebox.hh | 0
{libXFCui => ui}/xfc/gtk/handleboxsignals.cc | 0
{libXFCui => ui}/xfc/gtk/handleboxsignals.hh | 0
{libXFCui => ui}/xfc/gtk/iconfactory.cc | 0
{libXFCui => ui}/xfc/gtk/iconfactory.hh | 0
{libXFCui => ui}/xfc/gtk/iconset.cc | 0
{libXFCui => ui}/xfc/gtk/iconset.hh | 0
{libXFCui => ui}/xfc/gtk/iconsource.cc | 0
{libXFCui => ui}/xfc/gtk/iconsource.hh | 0
ui/xfc/gtk/icontheme.cc | 353 ++++
{libXFCui => ui}/xfc/gtk/icontheme.hh | 0
{libXFCui => ui}/xfc/gtk/iconthemesignals.cc | 0
{libXFCui => ui}/xfc/gtk/iconthemesignals.hh | 0
{libXFCui => ui}/xfc/gtk/iconview.cc | 0
{libXFCui => ui}/xfc/gtk/iconview.hh | 0
{libXFCui => ui}/xfc/gtk/iconviewsignals.cc | 0
{libXFCui => ui}/xfc/gtk/iconviewsignals.hh | 0
{libXFCui => ui}/xfc/gtk/image.cc | 0
{libXFCui => ui}/xfc/gtk/image.hh | 0
{libXFCui => ui}/xfc/gtk/imagemenuitem.cc | 0
{libXFCui => ui}/xfc/gtk/imagemenuitem.hh | 0
{libXFCui => ui}/xfc/gtk/inline/Makefile.am | 0
{libXFCui => ui}/xfc/gtk/inline/aboutdialog.inl | 0
{libXFCui => ui}/xfc/gtk/inline/accelgroup.inl | 0
{libXFCui => ui}/xfc/gtk/inline/accelkey.inl | 0
{libXFCui => ui}/xfc/gtk/inline/accellabel.inl | 0
{libXFCui => ui}/xfc/gtk/inline/accelmap.inl | 0
{libXFCui => ui}/xfc/gtk/inline/accessible.inl | 0
{libXFCui => ui}/xfc/gtk/inline/action.inl | 0
{libXFCui => ui}/xfc/gtk/inline/actiongroup.inl | 0
{libXFCui => ui}/xfc/gtk/inline/adjustment.inl | 0
{libXFCui => ui}/xfc/gtk/inline/alignment.inl | 0
{libXFCui => ui}/xfc/gtk/inline/arrow.inl | 0
{libXFCui => ui}/xfc/gtk/inline/aspectframe.inl | 0
{libXFCui => ui}/xfc/gtk/inline/bin.inl | 0
{libXFCui => ui}/xfc/gtk/inline/box.inl | 0
{libXFCui => ui}/xfc/gtk/inline/boxchild.inl | 0
{libXFCui => ui}/xfc/gtk/inline/builder.inl | 0
{libXFCui => ui}/xfc/gtk/inline/button.inl | 0
{libXFCui => ui}/xfc/gtk/inline/buttonbox.inl | 0
{libXFCui => ui}/xfc/gtk/inline/calendar.inl | 0
{libXFCui => ui}/xfc/gtk/inline/celleditable.inl | 0
{libXFCui => ui}/xfc/gtk/inline/celllayout.inl | 0
{libXFCui => ui}/xfc/gtk/inline/cellrenderer.inl | 0
.../xfc/gtk/inline/cellrenderercombo.inl | 0
.../xfc/gtk/inline/cellrendererpixbuf.inl | 0
.../xfc/gtk/inline/cellrendererprogress.inl | 0
.../xfc/gtk/inline/cellrenderertext.inl | 0
.../xfc/gtk/inline/cellrenderertoggle.inl | 0
{libXFCui => ui}/xfc/gtk/inline/cellview.inl | 0
{libXFCui => ui}/xfc/gtk/inline/checkbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/checkmenuitem.inl | 0
{libXFCui => ui}/xfc/gtk/inline/clipboard.inl | 0
{libXFCui => ui}/xfc/gtk/inline/colorbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/colorselection.inl | 0
{libXFCui => ui}/xfc/gtk/inline/combobox.inl | 0
{libXFCui => ui}/xfc/gtk/inline/comboboxentry.inl | 0
{libXFCui => ui}/xfc/gtk/inline/container.inl | 0
{libXFCui => ui}/xfc/gtk/inline/curve.inl | 0
{libXFCui => ui}/xfc/gtk/inline/dialog.inl | 0
{libXFCui => ui}/xfc/gtk/inline/dnd.inl | 0
{libXFCui => ui}/xfc/gtk/inline/drawingarea.inl | 0
{libXFCui => ui}/xfc/gtk/inline/editable.inl | 0
{libXFCui => ui}/xfc/gtk/inline/entry.inl | 0
.../xfc/gtk/inline/entrycompletion.inl | 0
{libXFCui => ui}/xfc/gtk/inline/eventbox.inl | 0
{libXFCui => ui}/xfc/gtk/inline/expander.inl | 0
{libXFCui => ui}/xfc/gtk/inline/filechooser.inl | 0
.../xfc/gtk/inline/filechooserbutton.inl | 0
.../xfc/gtk/inline/filechooserdialog.inl | 0
.../xfc/gtk/inline/filechooserwidget.inl | 0
{libXFCui => ui}/xfc/gtk/inline/filefilter.inl | 0
{libXFCui => ui}/xfc/gtk/inline/fixed.inl | 0
{libXFCui => ui}/xfc/gtk/inline/fontbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/fontselection.inl | 0
{libXFCui => ui}/xfc/gtk/inline/frame.inl | 0
{libXFCui => ui}/xfc/gtk/inline/gammacurve.inl | 0
{libXFCui => ui}/xfc/gtk/inline/handlebox.inl | 0
{libXFCui => ui}/xfc/gtk/inline/iconfactory.inl | 0
{libXFCui => ui}/xfc/gtk/inline/iconset.inl | 0
{libXFCui => ui}/xfc/gtk/inline/iconsource.inl | 0
{libXFCui => ui}/xfc/gtk/inline/icontheme.inl | 0
{libXFCui => ui}/xfc/gtk/inline/iconview.inl | 0
{libXFCui => ui}/xfc/gtk/inline/image.inl | 0
{libXFCui => ui}/xfc/gtk/inline/imagemenuitem.inl | 0
{libXFCui => ui}/xfc/gtk/inline/invisible.inl | 0
{libXFCui => ui}/xfc/gtk/inline/item.inl | 0
{libXFCui => ui}/xfc/gtk/inline/label.inl | 0
{libXFCui => ui}/xfc/gtk/inline/layout.inl | 0
{libXFCui => ui}/xfc/gtk/inline/liststore.inl | 0
{libXFCui => ui}/xfc/gtk/inline/menu.inl | 0
{libXFCui => ui}/xfc/gtk/inline/menubar.inl | 0
{libXFCui => ui}/xfc/gtk/inline/menuitem.inl | 0
{libXFCui => ui}/xfc/gtk/inline/menushell.inl | 0
{libXFCui => ui}/xfc/gtk/inline/menutoolbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/messagedialog.inl | 0
{libXFCui => ui}/xfc/gtk/inline/misc.inl | 0
{libXFCui => ui}/xfc/gtk/inline/notebook.inl | 0
{libXFCui => ui}/xfc/gtk/inline/object.inl | 0
{libXFCui => ui}/xfc/gtk/inline/paned.inl | 0
{libXFCui => ui}/xfc/gtk/inline/plug.inl | 0
.../xfc/gtk/inline/printoperationpreview.inl | 0
{libXFCui => ui}/xfc/gtk/inline/printpagesetup.inl | 0
{libXFCui => ui}/xfc/gtk/inline/progressbar.inl | 0
{libXFCui => ui}/xfc/gtk/inline/radioaction.inl | 0
{libXFCui => ui}/xfc/gtk/inline/radiobutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/radiomenuitem.inl | 0
.../xfc/gtk/inline/radiotoolbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/range.inl | 0
{libXFCui => ui}/xfc/gtk/inline/rc.inl | 0
{libXFCui => ui}/xfc/gtk/inline/ruler.inl | 0
{libXFCui => ui}/xfc/gtk/inline/scale.inl | 0
{libXFCui => ui}/xfc/gtk/inline/scrollbar.inl | 0
{libXFCui => ui}/xfc/gtk/inline/scrolledwindow.inl | 0
{libXFCui => ui}/xfc/gtk/inline/selection.inl | 0
{libXFCui => ui}/xfc/gtk/inline/separator.inl | 0
.../xfc/gtk/inline/separatormenuitem.inl | 0
.../xfc/gtk/inline/separatortoolitem.inl | 0
{libXFCui => ui}/xfc/gtk/inline/settings.inl | 0
{libXFCui => ui}/xfc/gtk/inline/sizegroup.inl | 0
{libXFCui => ui}/xfc/gtk/inline/socket.inl | 0
{libXFCui => ui}/xfc/gtk/inline/spinbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/statusbar.inl | 0
{libXFCui => ui}/xfc/gtk/inline/stock.inl | 0
{libXFCui => ui}/xfc/gtk/inline/stockid.inl | 0
{libXFCui => ui}/xfc/gtk/inline/style.inl | 0
{libXFCui => ui}/xfc/gtk/inline/table.inl | 0
.../xfc/gtk/inline/tearoffmenuitem.inl | 0
{libXFCui => ui}/xfc/gtk/inline/textbuffer.inl | 0
{libXFCui => ui}/xfc/gtk/inline/textiter.inl | 0
{libXFCui => ui}/xfc/gtk/inline/texttag.inl | 0
{libXFCui => ui}/xfc/gtk/inline/textview.inl | 0
{libXFCui => ui}/xfc/gtk/inline/toggleaction.inl | 0
{libXFCui => ui}/xfc/gtk/inline/togglebutton.inl | 0
.../xfc/gtk/inline/toggletoolbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/toolbar.inl | 0
{libXFCui => ui}/xfc/gtk/inline/toolbutton.inl | 0
{libXFCui => ui}/xfc/gtk/inline/toolitem.inl | 0
{libXFCui => ui}/xfc/gtk/inline/tooltips.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treednd.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treemodel.inl | 0
.../xfc/gtk/inline/treemodelfilter.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treemodelsort.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treeselection.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treesortable.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treestore.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treeview.inl | 0
{libXFCui => ui}/xfc/gtk/inline/treeviewcolumn.inl | 0
{libXFCui => ui}/xfc/gtk/inline/uimanager.inl | 0
{libXFCui => ui}/xfc/gtk/inline/viewport.inl | 0
{libXFCui => ui}/xfc/gtk/inline/widget.inl | 0
{libXFCui => ui}/xfc/gtk/inline/window.inl | 0
{libXFCui => ui}/xfc/gtk/invisible.cc | 0
{libXFCui => ui}/xfc/gtk/invisible.hh | 0
{libXFCui => ui}/xfc/gtk/item.cc | 0
{libXFCui => ui}/xfc/gtk/item.hh | 0
{libXFCui => ui}/xfc/gtk/itemsignals.cc | 0
{libXFCui => ui}/xfc/gtk/itemsignals.hh | 0
{libXFCui => ui}/xfc/gtk/label.cc | 0
{libXFCui => ui}/xfc/gtk/label.hh | 0
{libXFCui => ui}/xfc/gtk/labelsignals.cc | 0
{libXFCui => ui}/xfc/gtk/labelsignals.hh | 0
{libXFCui => ui}/xfc/gtk/layout.cc | 0
{libXFCui => ui}/xfc/gtk/layout.hh | 0
{libXFCui => ui}/xfc/gtk/layoutsignals.cc | 0
{libXFCui => ui}/xfc/gtk/layoutsignals.hh | 0
ui/xfc/gtk/liststore.cc | 264 +++
{libXFCui => ui}/xfc/gtk/liststore.hh | 0
ui/xfc/gtk/marshal.cc | 1348 +++++++++++++
ui/xfc/gtk/menu.cc | 197 ++
{libXFCui => ui}/xfc/gtk/menu.hh | 0
{libXFCui => ui}/xfc/gtk/menubar.cc | 0
{libXFCui => ui}/xfc/gtk/menubar.hh | 0
{libXFCui => ui}/xfc/gtk/menuitem.cc | 0
{libXFCui => ui}/xfc/gtk/menuitem.hh | 0
{libXFCui => ui}/xfc/gtk/menuitemsignals.cc | 0
{libXFCui => ui}/xfc/gtk/menuitemsignals.hh | 0
{libXFCui => ui}/xfc/gtk/menushell.cc | 0
{libXFCui => ui}/xfc/gtk/menushell.hh | 0
{libXFCui => ui}/xfc/gtk/menushellsignals.cc | 0
{libXFCui => ui}/xfc/gtk/menushellsignals.hh | 0
{libXFCui => ui}/xfc/gtk/menutoolbutton.cc | 0
{libXFCui => ui}/xfc/gtk/menutoolbutton.hh | 0
{libXFCui => ui}/xfc/gtk/messagedialog.cc | 0
{libXFCui => ui}/xfc/gtk/messagedialog.hh | 0
{libXFCui => ui}/xfc/gtk/misc.cc | 0
{libXFCui => ui}/xfc/gtk/misc.hh | 0
{libXFCui => ui}/xfc/gtk/notebook.cc | 0
{libXFCui => ui}/xfc/gtk/notebook.hh | 0
{libXFCui => ui}/xfc/gtk/notebooksignals.cc | 0
{libXFCui => ui}/xfc/gtk/notebooksignals.hh | 0
{libXFCui => ui}/xfc/gtk/object.cc | 0
{libXFCui => ui}/xfc/gtk/object.hh | 0
{libXFCui => ui}/xfc/gtk/objectsignals.cc | 0
{libXFCui => ui}/xfc/gtk/objectsignals.hh | 0
{libXFCui => ui}/xfc/gtk/paned.cc | 0
{libXFCui => ui}/xfc/gtk/paned.hh | 0
{libXFCui => ui}/xfc/gtk/plug.cc | 0
{libXFCui => ui}/xfc/gtk/plug.hh | 0
{libXFCui => ui}/xfc/gtk/plugsignals.cc | 0
{libXFCui => ui}/xfc/gtk/plugsignals.hh | 0
{libXFCui => ui}/xfc/gtk/printcontext.cc | 0
{libXFCui => ui}/xfc/gtk/printcontext.hh | 0
{libXFCui => ui}/xfc/gtk/printdialogs.cc | 0
{libXFCui => ui}/xfc/gtk/printdialogs.hh | 0
{libXFCui => ui}/xfc/gtk/printer.hh | 0
{libXFCui => ui}/xfc/gtk/printjob.cc | 0
{libXFCui => ui}/xfc/gtk/printjob.hh | 0
{libXFCui => ui}/xfc/gtk/printoperation.cc | 0
{libXFCui => ui}/xfc/gtk/printoperation.hh | 0
{libXFCui => ui}/xfc/gtk/printoperationpreview.cc | 0
{libXFCui => ui}/xfc/gtk/printoperationpreview.hh | 0
.../xfc/gtk/printoperationpreviewsignals.cc | 0
.../xfc/gtk/printoperationpreviewsignals.hh | 0
{libXFCui => ui}/xfc/gtk/printoperationsignals.cc | 0
{libXFCui => ui}/xfc/gtk/printoperationsignals.hh | 0
ui/xfc/gtk/printpagesetup.cc | 108 ++
{libXFCui => ui}/xfc/gtk/printpagesetup.hh | 0
{libXFCui => ui}/xfc/gtk/printsetting.cc | 0
{libXFCui => ui}/xfc/gtk/printsetting.hh | 0
{libXFCui => ui}/xfc/gtk/private/Makefile.am | 0
.../xfc/gtk/private/aboutdialogclass.hh | 0
.../xfc/gtk/private/accelgroupclass.hh | 0
.../xfc/gtk/private/accellabelclass.hh | 0
.../xfc/gtk/private/accessibleclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/actionclass.hh | 0
.../xfc/gtk/private/actiongroupclass.hh | 0
.../xfc/gtk/private/adjustmentclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/alignmentclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/arrowclass.hh | 0
.../xfc/gtk/private/aspectframeclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/binclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/boxclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/buttonboxclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/buttonclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/calendarclass.hh | 0
.../xfc/gtk/private/celleditableiface.hh | 0
.../xfc/gtk/private/cellrendererclass.hh | 0
.../xfc/gtk/private/cellrenderercomboclass.hh | 0
.../xfc/gtk/private/cellrendererpixbufclass.hh | 0
.../xfc/gtk/private/cellrendererprogressclass.hh | 0
.../xfc/gtk/private/cellrenderertextclass.hh | 0
.../xfc/gtk/private/cellrenderertoggleclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/cellviewclass.hh | 0
.../xfc/gtk/private/checkbuttonclass.hh | 0
.../xfc/gtk/private/checkmenuitemclass.hh | 0
.../xfc/gtk/private/colorbuttonclass.hh | 0
.../xfc/gtk/private/colorselectionclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/comboboxclass.hh | 0
.../xfc/gtk/private/comboboxentryclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/containerclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/curveclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/dialogclass.hh | 0
.../xfc/gtk/private/drawingareaclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/editableclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/entryclass.hh | 0
.../xfc/gtk/private/entrycompletionclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/eventboxclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/expanderclass.hh | 0
.../xfc/gtk/private/filechooserbuttonclass.hh | 0
.../xfc/gtk/private/filechooserdialogclass.hh | 0
.../xfc/gtk/private/filechooserwidgetclass.hh | 0
.../xfc/gtk/private/filefilterclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/fixedclass.hh | 0
.../xfc/gtk/private/fontbuttonclass.hh | 0
.../xfc/gtk/private/fontselectionclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/frameclass.hh | 0
.../xfc/gtk/private/gammacurveclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/handleboxclass.hh | 0
.../xfc/gtk/private/iconfactoryclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/iconthemeclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/iconviewclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/imageclass.hh | 0
.../xfc/gtk/private/imagemenuitemclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/invisibleclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/itemclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/labelclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/layoutclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/liststoreclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/marshal.hh | 0
{libXFCui => ui}/xfc/gtk/private/menubarclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/menuclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/menuitemclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/menushellclass.hh | 0
.../xfc/gtk/private/menutoolbuttonclass.hh | 0
.../xfc/gtk/private/messagedialogclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/miscclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/notebookclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/objectclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/panedclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/plugclass.hh | 0
.../xfc/gtk/private/printoperationclass.hh | 0
.../xfc/gtk/private/printoperationpreviewiface.hh | 0
.../xfc/gtk/private/printpagesetupclass.hh | 0
.../xfc/gtk/private/progressbarclass.hh | 0
.../xfc/gtk/private/radioactionclass.hh | 0
.../xfc/gtk/private/radiobuttonclass.hh | 0
.../xfc/gtk/private/radiomenuitemclass.hh | 0
.../xfc/gtk/private/radiotoolbuttonclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/rangeclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/rcclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/rulerclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/scaleclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/scrollbarclass.hh | 0
.../xfc/gtk/private/scrolledwindowclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/separatorclass.hh | 0
.../xfc/gtk/private/separatormenuitemclass.hh | 0
.../xfc/gtk/private/separatortoolitemclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/sizegroupclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/socketclass.hh | 0
.../xfc/gtk/private/spinbuttonclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/statusbarclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/styleclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/tableclass.hh | 0
.../xfc/gtk/private/tearoffmenuitemclass.hh | 0
.../xfc/gtk/private/textbufferclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/texttagclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/textviewclass.hh | 0
.../xfc/gtk/private/toggleactionclass.hh | 0
.../xfc/gtk/private/togglebuttonclass.hh | 0
.../xfc/gtk/private/toggletoolbuttonclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/toolbarclass.hh | 0
.../xfc/gtk/private/toolbuttonclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/toolitemclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/tooltipsclass.hh | 0
.../xfc/gtk/private/treemodelfilterclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/treemodeliface.hh | 0
.../xfc/gtk/private/treemodelsortclass.hh | 0
.../xfc/gtk/private/treesortableiface.hh | 0
{libXFCui => ui}/xfc/gtk/private/treestoreclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/treeviewclass.hh | 0
.../xfc/gtk/private/treeviewcolumnclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/uimanagerclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/viewportclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/widgetclass.hh | 0
{libXFCui => ui}/xfc/gtk/private/windowclass.hh | 0
{libXFCui => ui}/xfc/gtk/progressbar.cc | 0
{libXFCui => ui}/xfc/gtk/progressbar.hh | 0
ui/xfc/gtk/radioaction.cc | 241 +++
{libXFCui => ui}/xfc/gtk/radioaction.hh | 0
{libXFCui => ui}/xfc/gtk/radioactionsignals.cc | 0
{libXFCui => ui}/xfc/gtk/radioactionsignals.hh | 0
ui/xfc/gtk/radiobutton.cc | 120 ++
{libXFCui => ui}/xfc/gtk/radiobutton.hh | 0
{libXFCui => ui}/xfc/gtk/radiobuttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/radiobuttonsignals.hh | 0
ui/xfc/gtk/radiomenuitem.cc | 118 ++
{libXFCui => ui}/xfc/gtk/radiomenuitem.hh | 0
{libXFCui => ui}/xfc/gtk/radiomenuitemsignals.cc | 0
{libXFCui => ui}/xfc/gtk/radiomenuitemsignals.hh | 0
{libXFCui => ui}/xfc/gtk/radiotoolbutton.cc | 0
{libXFCui => ui}/xfc/gtk/radiotoolbutton.hh | 0
{libXFCui => ui}/xfc/gtk/range.cc | 0
{libXFCui => ui}/xfc/gtk/range.hh | 0
{libXFCui => ui}/xfc/gtk/rangesignals.cc | 0
{libXFCui => ui}/xfc/gtk/rangesignals.hh | 0
ui/xfc/gtk/rc.cc | 328 ++++
{libXFCui => ui}/xfc/gtk/rc.hh | 0
{libXFCui => ui}/xfc/gtk/ruler.cc | 0
{libXFCui => ui}/xfc/gtk/ruler.hh | 0
{libXFCui => ui}/xfc/gtk/scale.cc | 0
{libXFCui => ui}/xfc/gtk/scale.hh | 0
{libXFCui => ui}/xfc/gtk/scalesignals.cc | 0
{libXFCui => ui}/xfc/gtk/scalesignals.hh | 0
{libXFCui => ui}/xfc/gtk/scrollbar.cc | 0
{libXFCui => ui}/xfc/gtk/scrollbar.hh | 0
{libXFCui => ui}/xfc/gtk/scrolledwindow.cc | 0
{libXFCui => ui}/xfc/gtk/scrolledwindow.hh | 0
ui/xfc/gtk/selection.cc | 306 +++
{libXFCui => ui}/xfc/gtk/selection.hh | 0
{libXFCui => ui}/xfc/gtk/separator.cc | 0
{libXFCui => ui}/xfc/gtk/separator.hh | 0
{libXFCui => ui}/xfc/gtk/separatormenuitem.cc | 0
{libXFCui => ui}/xfc/gtk/separatormenuitem.hh | 0
{libXFCui => ui}/xfc/gtk/separatortoolitem.cc | 0
{libXFCui => ui}/xfc/gtk/separatortoolitem.hh | 0
{libXFCui => ui}/xfc/gtk/settings.cc | 0
{libXFCui => ui}/xfc/gtk/settings.hh | 0
{libXFCui => ui}/xfc/gtk/sizegroup.cc | 0
{libXFCui => ui}/xfc/gtk/sizegroup.hh | 0
{libXFCui => ui}/xfc/gtk/socket.cc | 0
{libXFCui => ui}/xfc/gtk/socket.hh | 0
{libXFCui => ui}/xfc/gtk/socketsignals.cc | 0
{libXFCui => ui}/xfc/gtk/socketsignals.hh | 0
{libXFCui => ui}/xfc/gtk/spinbutton.cc | 0
{libXFCui => ui}/xfc/gtk/spinbutton.hh | 0
{libXFCui => ui}/xfc/gtk/spinbuttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/spinbuttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/statusbar.cc | 0
{libXFCui => ui}/xfc/gtk/statusbar.hh | 0
{libXFCui => ui}/xfc/gtk/statusbarsignals.cc | 0
{libXFCui => ui}/xfc/gtk/statusbarsignals.hh | 0
{libXFCui => ui}/xfc/gtk/stock.cc | 0
{libXFCui => ui}/xfc/gtk/stock.hh | 0
{libXFCui => ui}/xfc/gtk/stockid.cc | 0
{libXFCui => ui}/xfc/gtk/stockid.hh | 0
{libXFCui => ui}/xfc/gtk/style.cc | 0
{libXFCui => ui}/xfc/gtk/style.hh | 0
{libXFCui => ui}/xfc/gtk/table.cc | 0
{libXFCui => ui}/xfc/gtk/table.hh | 0
{libXFCui => ui}/xfc/gtk/tearoffmenuitem.cc | 0
{libXFCui => ui}/xfc/gtk/tearoffmenuitem.hh | 0
{libXFCui => ui}/xfc/gtk/textbuffer.cc | 0
{libXFCui => ui}/xfc/gtk/textbuffer.hh | 0
{libXFCui => ui}/xfc/gtk/textbuffersignals.cc | 0
{libXFCui => ui}/xfc/gtk/textbuffersignals.hh | 0
ui/xfc/gtk/textiter.cc | 444 +++++
{libXFCui => ui}/xfc/gtk/textiter.hh | 0
{libXFCui => ui}/xfc/gtk/texttag.cc | 0
{libXFCui => ui}/xfc/gtk/texttag.hh | 0
{libXFCui => ui}/xfc/gtk/texttagsignals.cc | 0
{libXFCui => ui}/xfc/gtk/texttagsignals.hh | 0
{libXFCui => ui}/xfc/gtk/textview.cc | 0
{libXFCui => ui}/xfc/gtk/textview.hh | 0
{libXFCui => ui}/xfc/gtk/textviewsignals.cc | 0
{libXFCui => ui}/xfc/gtk/textviewsignals.hh | 0
{libXFCui => ui}/xfc/gtk/toggleaction.cc | 0
{libXFCui => ui}/xfc/gtk/toggleaction.hh | 0
{libXFCui => ui}/xfc/gtk/toggleactionsignals.cc | 0
{libXFCui => ui}/xfc/gtk/toggleactionsignals.hh | 0
{libXFCui => ui}/xfc/gtk/togglebutton.cc | 0
{libXFCui => ui}/xfc/gtk/togglebutton.hh | 0
{libXFCui => ui}/xfc/gtk/togglebuttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/togglebuttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/toggletoolbutton.cc | 0
{libXFCui => ui}/xfc/gtk/toggletoolbutton.hh | 0
.../xfc/gtk/toggletoolbuttonsignals.cc | 0
.../xfc/gtk/toggletoolbuttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/toolbar.cc | 0
{libXFCui => ui}/xfc/gtk/toolbar.hh | 0
{libXFCui => ui}/xfc/gtk/toolbarsignals.cc | 0
{libXFCui => ui}/xfc/gtk/toolbarsignals.hh | 0
{libXFCui => ui}/xfc/gtk/toolbutton.cc | 0
{libXFCui => ui}/xfc/gtk/toolbutton.hh | 0
{libXFCui => ui}/xfc/gtk/toolbuttonsignals.cc | 0
{libXFCui => ui}/xfc/gtk/toolbuttonsignals.hh | 0
{libXFCui => ui}/xfc/gtk/toolitem.cc | 0
{libXFCui => ui}/xfc/gtk/toolitem.hh | 0
{libXFCui => ui}/xfc/gtk/toolitemsignals.cc | 0
{libXFCui => ui}/xfc/gtk/toolitemsignals.hh | 0
{libXFCui => ui}/xfc/gtk/tooltips.cc | 0
{libXFCui => ui}/xfc/gtk/tooltips.hh | 0
{libXFCui => ui}/xfc/gtk/treednd.cc | 0
{libXFCui => ui}/xfc/gtk/treednd.hh | 0
ui/xfc/gtk/treemodel.cc | 563 ++++++
{libXFCui => ui}/xfc/gtk/treemodel.hh | 0
ui/xfc/gtk/treemodelfilter.cc | 192 ++
{libXFCui => ui}/xfc/gtk/treemodelfilter.hh | 0
{libXFCui => ui}/xfc/gtk/treemodelsignals.cc | 0
{libXFCui => ui}/xfc/gtk/treemodelsignals.hh | 0
ui/xfc/gtk/treemodelsort.cc | 122 ++
{libXFCui => ui}/xfc/gtk/treemodelsort.hh | 0
{libXFCui => ui}/xfc/gtk/treeselection.cc | 0
{libXFCui => ui}/xfc/gtk/treeselection.hh | 0
ui/xfc/gtk/treesortable.cc | 125 ++
{libXFCui => ui}/xfc/gtk/treesortable.hh | 0
{libXFCui => ui}/xfc/gtk/treesortablesignals.cc | 0
{libXFCui => ui}/xfc/gtk/treesortablesignals.hh | 0
ui/xfc/gtk/treestore.cc | 213 +++
{libXFCui => ui}/xfc/gtk/treestore.hh | 0
{libXFCui => ui}/xfc/gtk/treeview.cc | 0
{libXFCui => ui}/xfc/gtk/treeview.hh | 0
{libXFCui => ui}/xfc/gtk/treeviewcolumn.cc | 0
{libXFCui => ui}/xfc/gtk/treeviewcolumn.hh | 0
{libXFCui => ui}/xfc/gtk/treeviewcolumnsignals.cc | 0
{libXFCui => ui}/xfc/gtk/treeviewcolumnsignals.hh | 0
{libXFCui => ui}/xfc/gtk/treeviewsignals.cc | 0
{libXFCui => ui}/xfc/gtk/treeviewsignals.hh | 0
ui/xfc/gtk/uimanager.cc | 334 ++++
{libXFCui => ui}/xfc/gtk/uimanager.hh | 0
{libXFCui => ui}/xfc/gtk/uimanagersignals.cc | 0
{libXFCui => ui}/xfc/gtk/uimanagersignals.hh | 0
{libXFCui => ui}/xfc/gtk/viewport.cc | 0
{libXFCui => ui}/xfc/gtk/viewport.hh | 0
{libXFCui => ui}/xfc/gtk/viewportsignals.cc | 0
{libXFCui => ui}/xfc/gtk/viewportsignals.hh | 0
ui/xfc/gtk/widget.cc | 1977 ++++++++++++++++++++
{libXFCui => ui}/xfc/gtk/widget.hh | 0
{libXFCui => ui}/xfc/gtk/widgetsignals.cc | 0
{libXFCui => ui}/xfc/gtk/widgetsignals.hh | 0
ui/xfc/gtk/window.cc | 520 +++++
{libXFCui => ui}/xfc/gtk/window.hh | 0
{libXFCui => ui}/xfc/gtk/windowsignals.cc | 0
{libXFCui => ui}/xfc/gtk/windowsignals.hh | 0
ui/xfc/main.cc | 322 ++++
{libXFCui => ui}/xfc/main.hh | 0
ui/xfc/pango/CMakeLists.txt | 17 +
{libXFCui => ui}/xfc/pango/Makefile.am | 0
{libXFCui => ui}/xfc/pango/attributes.cc | 0
{libXFCui => ui}/xfc/pango/attributes.hh | 0
{libXFCui => ui}/xfc/pango/break.cc | 0
{libXFCui => ui}/xfc/pango/break.hh | 0
{libXFCui => ui}/xfc/pango/context.cc | 0
{libXFCui => ui}/xfc/pango/context.hh | 0
{libXFCui => ui}/xfc/pango/coverage.cc | 0
{libXFCui => ui}/xfc/pango/coverage.hh | 0
{libXFCui => ui}/xfc/pango/font.cc | 0
{libXFCui => ui}/xfc/pango/font.hh | 0
{libXFCui => ui}/xfc/pango/fontmap.cc | 0
{libXFCui => ui}/xfc/pango/fontmap.hh | 0
{libXFCui => ui}/xfc/pango/fontset.cc | 0
{libXFCui => ui}/xfc/pango/fontset.hh | 0
{libXFCui => ui}/xfc/pango/glyph.cc | 0
{libXFCui => ui}/xfc/pango/glyph.hh | 0
{libXFCui => ui}/xfc/pango/inline/Makefile.am | 0
{libXFCui => ui}/xfc/pango/inline/attributes.inl | 0
{libXFCui => ui}/xfc/pango/inline/break.inl | 0
{libXFCui => ui}/xfc/pango/inline/context.inl | 0
{libXFCui => ui}/xfc/pango/inline/coverage.inl | 0
{libXFCui => ui}/xfc/pango/inline/font.inl | 0
{libXFCui => ui}/xfc/pango/inline/fontmap.inl | 0
{libXFCui => ui}/xfc/pango/inline/fontset.inl | 0
{libXFCui => ui}/xfc/pango/inline/glyph.inl | 0
{libXFCui => ui}/xfc/pango/inline/item.inl | 0
{libXFCui => ui}/xfc/pango/inline/layout.inl | 0
{libXFCui => ui}/xfc/pango/inline/renderer.inl | 0
{libXFCui => ui}/xfc/pango/inline/script.inl | 0
{libXFCui => ui}/xfc/pango/inline/tabs.inl | 0
{libXFCui => ui}/xfc/pango/inline/types.inl | 0
{libXFCui => ui}/xfc/pango/item.cc | 0
{libXFCui => ui}/xfc/pango/item.hh | 0
{libXFCui => ui}/xfc/pango/layout.cc | 0
{libXFCui => ui}/xfc/pango/layout.hh | 0
{libXFCui => ui}/xfc/pango/pango.hh | 0
{libXFCui => ui}/xfc/pango/private/Makefile.am | 0
.../xfc/pango/private/rendererclass.hh | 0
{libXFCui => ui}/xfc/pango/renderer.cc | 0
{libXFCui => ui}/xfc/pango/renderer.hh | 0
{libXFCui => ui}/xfc/pango/script.cc | 0
{libXFCui => ui}/xfc/pango/script.hh | 0
{libXFCui => ui}/xfc/pango/tabs.cc | 0
{libXFCui => ui}/xfc/pango/tabs.hh | 0
ui/xfc/pango/types.cc | 125 ++
{libXFCui => ui}/xfc/pango/types.hh | 0
{libXFCui => ui}/xfc/ui.hh | 0
{libXFCui => ui}/xfc/xfcui.hh | 0
{libXFCui => ui}/xfcui-4.3.pc.in | 0
xfc-config.h.in | 68 +-
1167 files changed, 12522 insertions(+), 12742 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..69316ec
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,17 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+PROJECT( XFC )
+
+INCLUDE( FindPkgConfig )
+
+SET( XFC_MAJOR_VERSION 4 )
+SET( XFC_MINOR_VERSION 6 )
+SET( XFC_MICRO_VERSION 0 )
+
+ADD_SUBDIRECTORY( core )
+ADD_SUBDIRECTORY( ui )
+#ADD_SUBDIRECTORY( glade )
+ADD_SUBDIRECTORY( de )
+#ADD_SUBDIRECTORY( sourceview )
+
+CONFIGURE_FILE( xfc-config.h.in xfc-config.h )
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index d0646f6..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,513 +0,0 @@
-# XFC: Xfce Foundation Classes
-# Copyright (C) 2004-2005 The XFC Development Team.
-#
-# configure.ac: An autoconf template that generates the configure script
-
-dnl --------------------------------------------------------------
-dnl Version Information.
-dnl --------------------------------------------------------------
-
-m4_define([xfc_major_version], [4])
-m4_define([xfc_minor_version], [3])
-m4_define([xfc_micro_version], [4])
-m4_define([xfc_api_version], [xfc_major_version.xfc_minor_version])
-m4_define([xfc_version], [xfc_major_version.xfc_minor_version.xfc_micro_version])
-
-dnl --------------------------------------------------------------
-dnl Required versions of other packages
-dnl --------------------------------------------------------------
-
-m4_define([sigc_required_version], [2.0.6])
-m4_define([glib_required_version], [2.6.0])
-m4_define([atk_required_version], [1.9.0])
-m4_define([pango_required_version], [1.8.0])
-m4_define([cairo_required_version], [1.2.4])
-m4_define([gtk_required_version], [2.6.0])
-m4_define([unixprint_required_version], [2.10.0])
-m4_define([glade_required_version], [2.4.0])
-m4_define([gtksourceview_required_version], [0.21.0])
-m4_define([xfcegui_required_version], [4.6.0])
-m4_define([xfcepanel_required_version], [4.7.0])
-m4_define([xfceutil_required_version], [4.6.0])
-m4_define([xfceconf_required_version], [4.6.0])
-
-dnl --------------------------------------------------------------
-dnl Initialization macros.
-dnl --------------------------------------------------------------
-
-AC_PREREQ(2.57)
-AC_INIT([xfc], [xfc_version], [xfc-dev at xfce.org], [xfc])
-AC_CONFIG_HEADER(xfc-config.h)
-AC_CONFIG_HEADER(libXFCui/xfc/config.h)
-
-dnl --------------------------------------------------------------
-dnl Xfce directory name
-dnl --------------------------------------------------------------
-
-XFCEDIR=xfce4
-AC_SUBST(XFCEDIR)
-
-dnl --------------------------------------------------------------
-dnl Package name and version number (user defined)
-dnl --------------------------------------------------------------
-
-XFC_LIBRARY_NAME=xfc
-XFC_CORE_LIBRARY_NAME=xfccore
-XFC_UI_LIBRARY_NAME=xfcui
-XFC_GLADE_LIBRARY_NAME=xfcglade
-XFC_SOURCEVIEW_LIBRARY_NAME=xfcsourceview
-XFC_DE_LIBRARY_NAME=xfcde
-
-XFC_API_VERSION=xfc_api_version
-
-#release versioning
-XFC_MAJOR_VERSION=xfc_major_version
-XFC_MINOR_VERSION=xfc_minor_version
-XFC_MICRO_VERSION=xfc_micro_version
-
-#shared library versioning
-XFC_LIBRARY_VERSION=1:0:0
-# | | |
-# +------+ | +---+
-# | | |
-# current:revision:age
-# | | |
-# | | +- increment if interfaces have been added
-# | | set to zero if interfaces have been removed
-# | | or changed
-# | +- increment if source code has changed
-# | set to zero if current is incremented
-# +- increment if interfaces have been added, removed or changed
-
-dnl --------------------------------------------------------------
-dnl Package name and version number
-dnl --------------------------------------------------------------
-
-AC_SUBST(XFC_MAJOR_VERSION)
-AC_SUBST(XFC_MINOR_VERSION)
-AC_SUBST(XFC_MICRO_VERSION)
-AC_SUBST(XFC_LIBRARY_VERSION)
-
-PACKAGE=$XFC_LIBRARY_NAME
-AC_SUBST(XFC_LIBRARY_NAME)
-AC_SUBST(XFC_CORE_LIBRARY_NAME)
-AC_SUBST(XFC_UI_LIBRARY_NAME)
-AC_SUBST(XFC_GLADE_LIBRARY_NAME)
-AC_SUBST(XFC_SOURCEVIEW_LIBRARY_NAME)
-AC_SUBST(XFC_DE_LIBRARY_NAME)
-
-AC_SUBST(XFC_API_VERSION)
-
-XFC_VERSION=$XFC_MAJOR_VERSION.$XFC_MINOR_VERSION.$XFC_MICRO_VERSION
-XFC_RELEASE=$XFC_MAJOR_VERSION.$XFC_MINOR_VERSION
-AC_SUBST(XFC_RELEASE)
-AC_SUBST(XFC_VERSION)
-
-AC_DEFINE_UNQUOTED(XFC_MAJOR_VERSION, $XFC_MAJOR_VERSION, [Define major version])
-AC_DEFINE_UNQUOTED(XFC_MINOR_VERSION, $XFC_MINOR_VERSION, [Define minor version])
-AC_DEFINE_UNQUOTED(XFC_MICRO_VERSION, $XFC_MICRO_VERSION, [Define micro version])
-
-VERSION=$XFC_VERSION
-
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
-
-dnl --------------------------------------------------------------
-dnl Package options
-dnl --------------------------------------------------------------
-
-AC_ARG_ENABLE(ansi, [AC_HELP_STRING([--enable-ansi], [turn on strict ansi [default=yes]])],, [enable_ansi=yes])
-
-AC_ARG_ENABLE(pedantic-errors, [AC_HELP_STRING([--enable-pedantic-errors],
- [Issue all the warnings demanded by strict ISO C++ [default=yes]])],,
- [enable_pedantic_errors=yes])
-
-AC_ARG_ENABLE(docs, [AC_HELP_STRING([--enable-docs], [build the XFC API reference [default=no]])],, [enable_docs=no])
-if test "x$enable_docs" = "xyes"; then
- DOCS_SUBDIR="docs"
-else
- DOCS_SUBDIR=""
-fi
-
-AC_ARG_ENABLE(debug, [AC_HELP_STRING([--disable-debug], [do not produce debugging information])],, [enable_debug=yes])
-if test "x$enable_debug" = "xyes"; then
- CXXFLAGS="-g -O0"
-else
- CXXFLAGS="-O2"
-fi
-
-AC_ARG_ENABLE(demos, [AC_HELP_STRING([--disable-demos], [do not build the XFC demo program])],, [enable_demos=yes])
-if test "x$enable_demos" = "xyes"; then
- DEMOS_SUBDIR="demos"
-else
- DEMOS_SUBDIR=""
-fi
-
-AC_ARG_ENABLE(examples, [AC_HELP_STRING([--disable-examples], [do not build the XFC example programs])],, [enable_examples=yes])
-if test "x$enable_examples" = "xyes"; then
- EXAMPLES_SUBDIR="examples"
-else
- EXAMPLES_SUBDIR=""
-fi
-
-AC_SUBST(DEMOS_SUBDIR)
-AC_SUBST(DOCS_SUBDIR)
-AC_SUBST(EXAMPLES_SUBDIR)
-
-dnl --------------------------------------------------------------
-dnl Find pkg-config
-dnl ---------------------------------------------------------------
-
-AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-if test x$PKG_CONFIG = xno ; then
- AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
-fi
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.14; then
- :
-else
- AC_MSG_ERROR([*** pkg-config too old; version 0.14 or better required.])
-fi
-
-dnl --------------------------------------------------------------
-dnl Check for dependancies.
-dnl --------------------------------------------------------------
-
-PKG_CHECK_MODULES(XFC_SIGC, sigc++-2.0 >= sigc_required_version)
-AC_SUBST(XFC_SIGC_CFLAGS)
-AC_SUBST(XFC_SIGC_LIBS)
-
-PKG_CHECK_MODULES(XFC_GLIB, glib-2.0 >= glib_required_version gobject-2.0 >= glib_required_version gmodule-2.0 >= glib_required_version gthread-2.0 >= glib_required_version)
-AC_SUBST(XFC_GLIB_CFLAGS)
-AC_SUBST(XFC_GLIB_LIBS)
-
-PKG_CHECK_MODULES(XFC_UNIXPRINT, gtk+-unix-print-2.0 >= unixprint_required_version,
- [UNIXPRINT_FOUND="yes"],
- [UNIXPRINT_FOUND="no"])
-AC_SUBST(XFC_UNIXPRINT_CFLAGS)
-AC_SUBST(XFC_UNIXPRINT_LIBS)
-
-PKG_CHECK_MODULES(XFC_SOURCEVIEW, gtksourceview-1.0 >= gtksourceview_required_version,
- [SOURCEVIEW_SUBDIR="libXFCsourceview"; SOURCEVIEW_EXAMPLEDIR="sourceview"; SOURCEVIEW_FOUND="yes"],
- [SOURCEVIEW_SUBDIR="";SOURCEVIEW_SUBDIR="";SOURCEVIEW_FOUND="no"])
-AC_SUBST(XFC_SOURCEVIEW_CFLAGS)
-AC_SUBST(XFC_SOURCEVIEW_LIBS)
-AC_SUBST(SOURCEVIEW_SUBDIR)
-AC_SUBST(SOURCEVIEW_EXAMPLEDIR)
-
-if test "x$SOURCEVIEW_FOUND"=="xyes"; then
- AC_DEFINE( XFC_SOURCEVIEW, 1, ["Defined if sourceview widget is defined"] )
-fi
-
-# Xfce setup
-PKG_CHECK_MODULES(XFC_DE_PANEL, libxfce4panel-1.0 >= xfcepanel_required_version,
- [DE_PANEL_FOUND="yes"],
- [DE_PANEL_FOUND="no"])
-AC_SUBST(XFC_DE_PANEL_CFLAGS)
-AC_SUBST(XFC_DE_PANEL_LIBS)
-AM_CONDITIONAL(USE_PANEL, [test "x$DE_PANEL_FOUND" == "xyes"])
-
-PKG_CHECK_MODULES(XFC_DE_UI, libxfcegui4-1.0 >= xfcegui_required_version,
- [DE_UI_FOUND="yes"],
- [DE_UI_FOUND="no"])
-AC_SUBST(XFC_DE_UI_CFLAGS)
-AC_SUBST(XFC_DE_UI_LIBS)
-
-PKG_CHECK_MODULES(XFC_DE_CONF, libxfconf-0 >= xfceconf_required_version,
- [DE_CONF_FOUND="yes"],
- [DE_CONF_FOUND="no"])
-AC_SUBST(XFC_DE_CONF_CFLAGS)
-AC_SUBST(XFC_DE_CONF_LIBS)
-
-PKG_CHECK_MODULES(XFC_DE_UTIL, libxfce4util-1.0 >= xfceutil_required_version,
- [DE_UTIL_FOUND="yes"],
- [DE_UTIL_FOUND="no"] )
-AC_SUBST(XFC_DE_UTIL_CFLAGS)
-AC_SUBST(XFC_DE_UTIL_LIBS)
-
-AC_SUBST(DE_SUBDIR)
-AC_SUBST(DE_EXAMPLEDIR)
-
-if test "$DE_UTIL_FOUND"=="yes" -a "$DE_CONF_FOUND"=="yes" -a "$DE_UI_FOUND"=="yes"; then
- AC_DEFINE( XFC_DE_FOUND, 1, ["Defined if XFC support added"] )
- XFC_DE_FOUND="yes"
- DE_SUBDIR="libXFCde"
- DE_EXAMPLE_DIR="de"
-else
- DE_SUBDIR=""
- DE_EXAMPLE_DIR=""
-fi
-
-XFC_CORE_CFLAGS="$XFC_SIGC_CFLAGS $XFC_GLIB_CFLAGS"
-XFC_CORE_LIBS="$XFC_SIGC_LIBS $XFC_GLIB_LIBS"
-AC_SUBST(XFC_CORE_CFLAGS)
-AC_SUBST(XFC_CORE_LIBS)
-
-PKG_CHECK_MODULES(XFC_ATK, atk >= atk_required_version)
-AC_SUBST(XFC_ATK_CFLAGS)
-
-PKG_CHECK_MODULES(XFC_PANGO, pango >= pango_required_version)
-AC_SUBST(XFC_PANGO_CFLAGS)
-
-if test "x$PANGO_FOUND"=="xyes"; then
- AC_DEFINE( XFC_PANGO, 1, [Defined if pango text render is supported"])
-fi
-
-PKG_CHECK_MODULES(XFC_CAIRO, cairo >= cairo_required_version,
- [CAIRO_FOUND="yes"; XFC_CAIRO="1"],
- [CAIRO_FOUND="no"])
-
-if test "x$CAIRO_FOUND"=="xyes"; then
- AC_DEFINE( XFC_CAIRO, 1, ["Define if cairo vector drawing system is enabled"] )
- XFC_CAIRO_CFLAGS="-DXFC_CAIRO=1"
- AC_SUBST(XFC_CAIRO_CFLAGS)
-fi
-
-PKG_CHECK_MODULES(XFC_GTK, gtk+-2.0 >= gtk_required_version)
-AC_SUBST(XFC_GTK_CFLAGS)
-AC_SUBST(XFC_GTK_LIBS)
-
-# Check if we can expect an GtkBuilder
-PKG_CHECK_MODULES(XFC_GTK, gtk+-2.0 >= "2.12.0",
- [XFC_GTKBUILDER="yes"],
- [XFC_GTKBUILDER="no"])
-
-PKG_CHECK_MODULES(XFC_GLADE, libglade-2.0 >= glade_required_version,
- [GLADE_SUBDIR="libXFCglade"; GLADE_EXAMPLESDIR="glade"; GLADE_FOUND="yes"],
- [GLADE_SUBDIR=""; GLADE_EXAMPLESDIR=""; GLADE_FOUND="no"])
-AC_SUBST(XFC_GLADE_CFLAGS)
-AC_SUBST(XFC_GLADE_LIBS)
-AC_SUBST(GLADE_SUBDIR)
-AC_SUBST(GLADE_EXAMPLESDIR)
-
-XFC_UI_CFLAGS="$XFC_CORE_CFLAGS $XFC_ATK_CFLAGS $XFC_PANGO_CFLAGS $XFC_CAIRO_CFLAGS $XFC_GTK_CFLAGS $XFC_UNIXPRINT_CFLAGS"
-XFC_UI_LIBS="$XFC_CORE_LIBS $XFC_GTK_LIBS $XFC_PANGO_LIBS $XFC_CAIRO_CFLAGS $XFC_UNIXPRINT_LIBS"
-AC_SUBST(XFC_UI_CFLAGS)
-AC_SUBST(XFC_UI_LIBS)
-
-dnl --------------------------------------------------------------
-dnl Checks for programs.
-dnl --------------------------------------------------------------
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_CXX
-AC_PROG_MAKE_SET
-AM_DISABLE_STATIC
-AM_PROG_LIBTOOL
-AM_SANITY_CHECK
-
-#CXXFLAGS="-g"
-
-AC_PATH_PROGS([PERL_PATH], [perl perl5], [perl])
-AC_SUBST([PERL_PATH])
-
-if test "x$enable_docs" = "xyes"; then
- AC_PATH_PROG([DOXYGEN_PATH], [doxygen], [no])
- if test x$DOXYGEN_PATH = xno; then
- echo
- AC_MSG_WARN([Doxygen cannot be found, the API reference will not be built. See http://www.stack.nl/~dimitri/doxygen/])
- echo
- REFERENCE_SUBDIR=""
- else
- REFERENCE_SUBDIR="reference"
- fi
- AC_SUBST([DOXYGEN_PATH])
- AC_SUBST([REFERENCE_SUBDIR])
-fi
-
-changequote(,)dnl
-if test "x$GCC" = "xyes"; then
- case " $CXXFLAGS " in
- *[\ \ ]-Wall[\ \ ]*) ;;
- *) CXXFLAGS="$CXXFLAGS -Wall" ;;
- esac
- if test "x$enable_ansi" = "xyes"; then
- case " $CXXFLAGS " in
- *[\ \ ]-ansi[\ \ ]*) ;;
- *) CXXFLAGS="$CXXFLAGS -ansi" ;;
- esac
- fi
- if test "x$enable_pedantic_errors" = "xyes"; then
- case " $CXXFLAGS " in
- *[\ \ ]-pedantic-errors[\ \ ]*) ;;
- *) CXXFLAGS="$CXXFLAGS --pedantic-errors" ;;
- esac
- fi
-fi
-changequote([,])dnl
-
-dnl --------------------------------------------------------------
-dnl Checks for header files.
-dnl --------------------------------------------------------------
-
-AC_HEADER_STDC
-
-dnl --------------------------------------------------------------
-dnl Checks for typedefs, structures, and compiler characteristics.
-dnl --------------------------------------------------------------
-
-AC_C_CONST
-AC_TYPE_SIZE_T
-
-dnl --------------------------------------------------------------
-dnl Checks for functions.
-dnl --------------------------------------------------------------
-
-AC_CHECK_FUNCS(lstat mkstemp flockfile funlockfile getc_unlocked)
-
-dnl --------------------------------------------------------------
-dnl Configure XFC enviroment
-dnl --------------------------------------------------------------
-
-xfc_docdir="$datadir/doc/$PACKAGE-$XFC_API_VERSION"
-AC_SUBST(xfc_docdir)
-
-dnl --------------------------------------------------------------
-dnl Generates Makefile's, configuration files and scripts
-dnl --------------------------------------------------------------
-
-AC_CONFIG_FILES( [Makefile \
- xfc.spec \
- libXFCcore/Makefile \
- libXFCcore/xfccore-4.3.pc \
- libXFCcore/xfc/Makefile \
- libXFCcore/xfc/version.hh \
- libXFCcore/xfc/glib/Makefile \
- libXFCcore/xfc/glib/inline/Makefile \
- libXFCcore/xfc/glib/private/Makefile \
- libXFCui/Makefile \
- libXFCui/xfcui-4.3.pc \
- libXFCui/xfc/Makefile \
- libXFCui/xfc/atk/Makefile \
- libXFCui/xfc/atk/inline/Makefile \
- libXFCui/xfc/atk/private/Makefile \
- libXFCui/xfc/gdk/Makefile \
- libXFCui/xfc/gdk/inline/Makefile \
- libXFCui/xfc/gdk/private/Makefile \
- libXFCui/xfc/gdk-pixbuf/Makefile \
- libXFCui/xfc/gdk-pixbuf/inline/Makefile \
- libXFCui/xfc/gdk-pixbuf/private/Makefile \
- libXFCui/xfc/gtk/Makefile \
- libXFCui/xfc/gtk/inline/Makefile \
- libXFCui/xfc/gtk/private/Makefile \
- libXFCui/xfc/pango/Makefile \
- libXFCui/xfc/pango/inline/Makefile \
- libXFCui/xfc/pango/private/Makefile \
- libXFCui/xfc/cairo/Makefile \
- libXFCglade/Makefile \
- libXFCglade/xfcglade-4.3.pc \
- libXFCglade/xfc/Makefile \
- libXFCglade/xfc/glade/Makefile \
- libXFCglade/xfc/glade/inline/Makefile \
- libXFCglade/xfc/glade/private/Makefile \
- libXFCsourceview/Makefile \
- libXFCsourceview/xfcsourceview-4.3.pc \
- libXFCsourceview/xfc/Makefile \
- libXFCsourceview/xfc/sourceview/Makefile \
- libXFCsourceview/xfc/sourceview/private/Makefile \
- demos/Makefile \
- demos/xfc-demo/Makefile \
- examples/Makefile \
- examples/core/Makefile \
- examples/core/iochannel/Makefile \
- examples/core/mainloop/Makefile \
- examples/core/spawn/Makefile \
- examples/core/threads/Makefile \
- examples/glade/Makefile \
- examples/glade/example-1/Makefile \
- examples/glade/example-2/Makefile \
- examples/glade/example-3/Makefile \
- examples/glade/example-4/Makefile \
- examples/glade/example-5/Makefile \
- examples/howto/Makefile \
- examples/howto/actions/Makefile \
- examples/howto/arrow/Makefile \
- examples/howto/aspectframe/Makefile \
- examples/howto/buttonbox/Makefile \
- examples/howto/buttons/Makefile \
- examples/howto/calendar/Makefile \
- examples/howto/colorselection/Makefile \
- examples/howto/combobox/Makefile \
- examples/howto/dial/Makefile \
- examples/howto/dnd/Makefile \
- examples/howto/drawingarea/Makefile \
- examples/howto/entry/Makefile \
- examples/howto/entrycompletion/Makefile \
- examples/howto/eventbox/Makefile \
- examples/howto/fixed/Makefile \
- examples/howto/fontselection/Makefile \
- examples/howto/frame/Makefile \
- examples/howto/label/Makefile \
- examples/howto/menu/Makefile \
- examples/howto/notebook/Makefile \
- examples/howto/packbox/Makefile \
- examples/howto/paned/Makefile \
- examples/howto/progressbar/Makefile \
- examples/howto/radiobuttons/Makefile \
- examples/howto/rangewidgets/Makefile \
- examples/howto/rulers/Makefile \
- examples/howto/scrolledwindow/Makefile \
- examples/howto/selection/Makefile \
- examples/howto/spinbutton/Makefile \
- examples/howto/statusbar/Makefile \
- examples/howto/table/Makefile \
- examples/howto/textview/Makefile \
- examples/howto/thread/Makefile \
- examples/howto/tictactoe/Makefile \
- examples/howto/toolbar/Makefile \
- examples/howto/treeview/Makefile \
- examples/ui/Makefile \
- examples/ui/actions/Makefile \
- examples/ui/combobox/Makefile \
- examples/ui/entrycompletion/Makefile \
- examples/ui/filechooser/Makefile \
- examples/ui/mergemenus/Makefile \
- examples/ui/toolbar/Makefile \
- examples/ui/cairo/Makefile \
- examples/ui/printing/Makefile \
- examples/tutorial/Makefile \
- examples/tutorial/chapter01/Makefile \
- examples/tutorial/chapter02/Makefile \
- examples/tutorial/chapter03/Makefile \
- examples/tutorial/chapter04/Makefile \
- examples/tutorial/chapter06/Makefile \
- examples/tutorial/chapter07/Makefile \
- examples/tutorial/chapter08/Makefile \
- examples/tutorial/chapter08/src/Makefile \
- examples/tutorial/chapter09/Makefile \
- examples/tutorial/chapter09/src/Makefile \
- examples/sourceview/Makefile \
- examples/sourceview/simple/Makefile \
- docs/index.html \
- docs/Makefile \
- docs/faq/Makefile \
- docs/howto/Makefile \
- docs/images/Makefile \
- docs/reference/Doxyfile \
- docs/reference/Makefile \
- docs/reference/xfc_footer.html \
- docs/tutorial/Makefile] )
-
-AC_CONFIG_FILES([libXFCde/Makefile \
- libXFCde/xfcde-4.3.pc \
- libXFCde/xfc/Makefile \
- libXFCde/xfc/utils/Makefile \
- libXFCde/xfc/utils/inline/Makefile \
- libXFCde/xfc/ui/Makefile \
- libXFCde/xfc/ui/inline/Makefile])
-
-if test "x$DE_PANEL_FOUND" == "xyes"; then
- AC_CONFIG_FILES([
- libXFCde/xfc/panel/Makefile \
- libXFCde/xfc/panel/inline/Makefile])
-fi
-
-AC_OUTPUT()
-
-echo
-echo "Compiling XFC with libglade support: $GLADE_FOUND"
-echo "Compiling XFC with libcairo support: $CAIRO_FOUND"
-echo "Compiling XFC with gtksourceview support: $SOURCEVIEW_FOUND"
-echo "Compiling XFC with gtk unix printing support: $UNIXPRINT_FOUND"
-echo "Compiling XFC with Xfce desktop environment: $XFC_DE_FOUND"
-echo
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
new file mode 100644
index 0000000..b74dde2
--- /dev/null
+++ b/core/CMakeLists.txt
@@ -0,0 +1,6 @@
+PROJECT( XFC_CORE )
+
+pkg_search_module( GLIB REQUIRED glib-2.0)
+pkg_search_module( SIGC REQUIRED sigc++-2.0)
+
+ADD_SUBDIRECTORY( xfc )
diff --git a/libXFCcore/Makefile.am b/core/Makefile.am
similarity index 100%
rename from libXFCcore/Makefile.am
rename to core/Makefile.am
diff --git a/core/xfc/CMakeLists.txt b/core/xfc/CMakeLists.txt
new file mode 100644
index 0000000..9090cba
--- /dev/null
+++ b/core/xfc/CMakeLists.txt
@@ -0,0 +1,10 @@
+ADD_SUBDIRECTORY( glib )
+
+INCLUDE_DIRECTORIES( ${GLIB_INCLUDE_DIRS} ${SIGC_INCLUDE_DIRS} ${XFC_CORE_SOURCE_DIR})
+
+ADD_LIBRARY( xfc_core SHARED convert.cc i18n.cc object.cc stackobject.cc trackable.cc
+ utfstring.cc version.cc)
+
+TARGET_LINK_LIBRARIES( xfc_core xfc_glib ${GLIB_LIBRARIES} ${SIGC_LIBRARIES})
+
+ADD_DEPENDENCIES( xfc_core xfc_glib )
diff --git a/libXFCcore/xfc/Makefile.am b/core/xfc/Makefile.am
similarity index 100%
rename from libXFCcore/xfc/Makefile.am
rename to core/xfc/Makefile.am
diff --git a/libXFCcore/xfc/convert.cc b/core/xfc/convert.cc
similarity index 100%
rename from libXFCcore/xfc/convert.cc
rename to core/xfc/convert.cc
diff --git a/libXFCcore/xfc/convert.hh b/core/xfc/convert.hh
similarity index 100%
rename from libXFCcore/xfc/convert.hh
rename to core/xfc/convert.hh
diff --git a/core/xfc/glib/CMakeLists.txt b/core/xfc/glib/CMakeLists.txt
new file mode 100644
index 0000000..11cb499
--- /dev/null
+++ b/core/xfc/glib/CMakeLists.txt
@@ -0,0 +1,9 @@
+INCLUDE_DIRECTORIES( ${SIGC_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${XFC_SOURCE_DIR} ${XFC_CORE_SOURCE_DIR} )
+
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_glib STATIC asyncqueue.cc boxed.cc completion.cc connection.cc date.cc
+ error.cc fileutils.cc iochannel.cc keyfile.cc main.cc markup.cc marshal.cc module.cc
+ mutex.cc object.cc objectsignals.cc option.cc pattern.cc property.cc quark.cc rand.cc
+ scanner.cc shell.cc signals.cc spawn.cc thread.cc threadpool.cc timer.cc timeval.cc
+ type.cc unicode.cc utils.cc value.cc)
diff --git a/libXFCcore/xfc/glib/Makefile.am b/core/xfc/glib/Makefile.am
similarity index 100%
rename from libXFCcore/xfc/glib/Makefile.am
rename to core/xfc/glib/Makefile.am
diff --git a/libXFCcore/xfc/glib/asyncqueue.cc b/core/xfc/glib/asyncqueue.cc
similarity index 100%
rename from libXFCcore/xfc/glib/asyncqueue.cc
rename to core/xfc/glib/asyncqueue.cc
diff --git a/libXFCcore/xfc/glib/asyncqueue.hh b/core/xfc/glib/asyncqueue.hh
similarity index 100%
rename from libXFCcore/xfc/glib/asyncqueue.hh
rename to core/xfc/glib/asyncqueue.hh
diff --git a/libXFCcore/xfc/glib/boxed.cc b/core/xfc/glib/boxed.cc
similarity index 100%
rename from libXFCcore/xfc/glib/boxed.cc
rename to core/xfc/glib/boxed.cc
diff --git a/libXFCcore/xfc/glib/boxed.hh b/core/xfc/glib/boxed.hh
similarity index 100%
rename from libXFCcore/xfc/glib/boxed.hh
rename to core/xfc/glib/boxed.hh
diff --git a/libXFCcore/xfc/glib/completion.cc b/core/xfc/glib/completion.cc
similarity index 100%
rename from libXFCcore/xfc/glib/completion.cc
rename to core/xfc/glib/completion.cc
diff --git a/libXFCcore/xfc/glib/completion.hh b/core/xfc/glib/completion.hh
similarity index 100%
rename from libXFCcore/xfc/glib/completion.hh
rename to core/xfc/glib/completion.hh
diff --git a/libXFCcore/xfc/glib/connection.cc b/core/xfc/glib/connection.cc
similarity index 100%
rename from libXFCcore/xfc/glib/connection.cc
rename to core/xfc/glib/connection.cc
diff --git a/libXFCcore/xfc/glib/date.cc b/core/xfc/glib/date.cc
similarity index 100%
rename from libXFCcore/xfc/glib/date.cc
rename to core/xfc/glib/date.cc
diff --git a/libXFCcore/xfc/glib/date.hh b/core/xfc/glib/date.hh
similarity index 100%
rename from libXFCcore/xfc/glib/date.hh
rename to core/xfc/glib/date.hh
diff --git a/libXFCcore/xfc/glib/error.cc b/core/xfc/glib/error.cc
similarity index 100%
rename from libXFCcore/xfc/glib/error.cc
rename to core/xfc/glib/error.cc
diff --git a/libXFCcore/xfc/glib/error.hh b/core/xfc/glib/error.hh
similarity index 100%
rename from libXFCcore/xfc/glib/error.hh
rename to core/xfc/glib/error.hh
diff --git a/libXFCcore/xfc/glib/fileutils.cc b/core/xfc/glib/fileutils.cc
similarity index 100%
rename from libXFCcore/xfc/glib/fileutils.cc
rename to core/xfc/glib/fileutils.cc
diff --git a/libXFCcore/xfc/glib/fileutils.hh b/core/xfc/glib/fileutils.hh
similarity index 100%
rename from libXFCcore/xfc/glib/fileutils.hh
rename to core/xfc/glib/fileutils.hh
diff --git a/libXFCcore/xfc/glib/g.hh b/core/xfc/glib/g.hh
similarity index 100%
rename from libXFCcore/xfc/glib/g.hh
rename to core/xfc/glib/g.hh
diff --git a/libXFCcore/xfc/glib/inline/Makefile.am b/core/xfc/glib/inline/Makefile.am
similarity index 100%
rename from libXFCcore/xfc/glib/inline/Makefile.am
rename to core/xfc/glib/inline/Makefile.am
diff --git a/libXFCcore/xfc/glib/inline/asyncqueue.inl b/core/xfc/glib/inline/asyncqueue.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/asyncqueue.inl
rename to core/xfc/glib/inline/asyncqueue.inl
diff --git a/libXFCcore/xfc/glib/inline/boxed.inl b/core/xfc/glib/inline/boxed.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/boxed.inl
rename to core/xfc/glib/inline/boxed.inl
diff --git a/libXFCcore/xfc/glib/inline/completion.inl b/core/xfc/glib/inline/completion.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/completion.inl
rename to core/xfc/glib/inline/completion.inl
diff --git a/libXFCcore/xfc/glib/inline/date.inl b/core/xfc/glib/inline/date.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/date.inl
rename to core/xfc/glib/inline/date.inl
diff --git a/libXFCcore/xfc/glib/inline/error.inl b/core/xfc/glib/inline/error.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/error.inl
rename to core/xfc/glib/inline/error.inl
diff --git a/libXFCcore/xfc/glib/inline/fileutils.inl b/core/xfc/glib/inline/fileutils.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/fileutils.inl
rename to core/xfc/glib/inline/fileutils.inl
diff --git a/libXFCcore/xfc/glib/inline/iochannel.inl b/core/xfc/glib/inline/iochannel.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/iochannel.inl
rename to core/xfc/glib/inline/iochannel.inl
diff --git a/libXFCcore/xfc/glib/inline/keyfile.inl b/core/xfc/glib/inline/keyfile.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/keyfile.inl
rename to core/xfc/glib/inline/keyfile.inl
diff --git a/libXFCcore/xfc/glib/inline/main.inl b/core/xfc/glib/inline/main.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/main.inl
rename to core/xfc/glib/inline/main.inl
diff --git a/libXFCcore/xfc/glib/inline/markup.inl b/core/xfc/glib/inline/markup.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/markup.inl
rename to core/xfc/glib/inline/markup.inl
diff --git a/libXFCcore/xfc/glib/inline/module.inl b/core/xfc/glib/inline/module.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/module.inl
rename to core/xfc/glib/inline/module.inl
diff --git a/libXFCcore/xfc/glib/inline/mutex.inl b/core/xfc/glib/inline/mutex.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/mutex.inl
rename to core/xfc/glib/inline/mutex.inl
diff --git a/libXFCcore/xfc/glib/inline/object.inl b/core/xfc/glib/inline/object.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/object.inl
rename to core/xfc/glib/inline/object.inl
diff --git a/libXFCcore/xfc/glib/inline/option.inl b/core/xfc/glib/inline/option.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/option.inl
rename to core/xfc/glib/inline/option.inl
diff --git a/libXFCcore/xfc/glib/inline/pattern.inl b/core/xfc/glib/inline/pattern.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/pattern.inl
rename to core/xfc/glib/inline/pattern.inl
diff --git a/libXFCcore/xfc/glib/inline/quark.inl b/core/xfc/glib/inline/quark.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/quark.inl
rename to core/xfc/glib/inline/quark.inl
diff --git a/libXFCcore/xfc/glib/inline/rand.inl b/core/xfc/glib/inline/rand.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/rand.inl
rename to core/xfc/glib/inline/rand.inl
diff --git a/libXFCcore/xfc/glib/inline/scanner.inl b/core/xfc/glib/inline/scanner.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/scanner.inl
rename to core/xfc/glib/inline/scanner.inl
diff --git a/libXFCcore/xfc/glib/inline/spawn.inl b/core/xfc/glib/inline/spawn.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/spawn.inl
rename to core/xfc/glib/inline/spawn.inl
diff --git a/libXFCcore/xfc/glib/inline/thread.inl b/core/xfc/glib/inline/thread.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/thread.inl
rename to core/xfc/glib/inline/thread.inl
diff --git a/libXFCcore/xfc/glib/inline/threadpool.inl b/core/xfc/glib/inline/threadpool.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/threadpool.inl
rename to core/xfc/glib/inline/threadpool.inl
diff --git a/libXFCcore/xfc/glib/inline/timer.inl b/core/xfc/glib/inline/timer.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/timer.inl
rename to core/xfc/glib/inline/timer.inl
diff --git a/libXFCcore/xfc/glib/inline/timeval.inl b/core/xfc/glib/inline/timeval.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/timeval.inl
rename to core/xfc/glib/inline/timeval.inl
diff --git a/libXFCcore/xfc/glib/inline/type.inl b/core/xfc/glib/inline/type.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/type.inl
rename to core/xfc/glib/inline/type.inl
diff --git a/libXFCcore/xfc/glib/inline/unicode.inl b/core/xfc/glib/inline/unicode.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/unicode.inl
rename to core/xfc/glib/inline/unicode.inl
diff --git a/libXFCcore/xfc/glib/inline/utils.inl b/core/xfc/glib/inline/utils.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/utils.inl
rename to core/xfc/glib/inline/utils.inl
diff --git a/libXFCcore/xfc/glib/inline/value.inl b/core/xfc/glib/inline/value.inl
similarity index 100%
rename from libXFCcore/xfc/glib/inline/value.inl
rename to core/xfc/glib/inline/value.inl
diff --git a/libXFCcore/xfc/glib/iochannel.cc b/core/xfc/glib/iochannel.cc
similarity index 100%
rename from libXFCcore/xfc/glib/iochannel.cc
rename to core/xfc/glib/iochannel.cc
diff --git a/libXFCcore/xfc/glib/iochannel.hh b/core/xfc/glib/iochannel.hh
similarity index 100%
rename from libXFCcore/xfc/glib/iochannel.hh
rename to core/xfc/glib/iochannel.hh
diff --git a/libXFCcore/xfc/glib/keyfile.cc b/core/xfc/glib/keyfile.cc
similarity index 100%
rename from libXFCcore/xfc/glib/keyfile.cc
rename to core/xfc/glib/keyfile.cc
diff --git a/libXFCcore/xfc/glib/keyfile.hh b/core/xfc/glib/keyfile.hh
similarity index 100%
rename from libXFCcore/xfc/glib/keyfile.hh
rename to core/xfc/glib/keyfile.hh
diff --git a/libXFCcore/xfc/glib/main.cc b/core/xfc/glib/main.cc
similarity index 100%
rename from libXFCcore/xfc/glib/main.cc
rename to core/xfc/glib/main.cc
diff --git a/libXFCcore/xfc/glib/main.hh b/core/xfc/glib/main.hh
similarity index 100%
rename from libXFCcore/xfc/glib/main.hh
rename to core/xfc/glib/main.hh
diff --git a/libXFCcore/xfc/glib/markup.cc b/core/xfc/glib/markup.cc
similarity index 100%
rename from libXFCcore/xfc/glib/markup.cc
rename to core/xfc/glib/markup.cc
diff --git a/libXFCcore/xfc/glib/markup.hh b/core/xfc/glib/markup.hh
similarity index 100%
rename from libXFCcore/xfc/glib/markup.hh
rename to core/xfc/glib/markup.hh
diff --git a/libXFCcore/xfc/glib/marshal.cc b/core/xfc/glib/marshal.cc
similarity index 100%
rename from libXFCcore/xfc/glib/marshal.cc
rename to core/xfc/glib/marshal.cc
diff --git a/libXFCcore/xfc/glib/module.cc b/core/xfc/glib/module.cc
similarity index 100%
rename from libXFCcore/xfc/glib/module.cc
rename to core/xfc/glib/module.cc
diff --git a/libXFCcore/xfc/glib/module.hh b/core/xfc/glib/module.hh
similarity index 100%
rename from libXFCcore/xfc/glib/module.hh
rename to core/xfc/glib/module.hh
diff --git a/libXFCcore/xfc/glib/mutex.cc b/core/xfc/glib/mutex.cc
similarity index 100%
rename from libXFCcore/xfc/glib/mutex.cc
rename to core/xfc/glib/mutex.cc
diff --git a/libXFCcore/xfc/glib/mutex.hh b/core/xfc/glib/mutex.hh
similarity index 100%
rename from libXFCcore/xfc/glib/mutex.hh
rename to core/xfc/glib/mutex.hh
diff --git a/libXFCcore/xfc/glib/object.cc b/core/xfc/glib/object.cc
similarity index 100%
rename from libXFCcore/xfc/glib/object.cc
rename to core/xfc/glib/object.cc
diff --git a/libXFCcore/xfc/glib/object.hh b/core/xfc/glib/object.hh
similarity index 100%
rename from libXFCcore/xfc/glib/object.hh
rename to core/xfc/glib/object.hh
diff --git a/libXFCcore/xfc/glib/objectsignals.cc b/core/xfc/glib/objectsignals.cc
similarity index 100%
rename from libXFCcore/xfc/glib/objectsignals.cc
rename to core/xfc/glib/objectsignals.cc
diff --git a/libXFCcore/xfc/glib/objectsignals.hh b/core/xfc/glib/objectsignals.hh
similarity index 100%
rename from libXFCcore/xfc/glib/objectsignals.hh
rename to core/xfc/glib/objectsignals.hh
diff --git a/libXFCcore/xfc/glib/option.cc b/core/xfc/glib/option.cc
similarity index 100%
rename from libXFCcore/xfc/glib/option.cc
rename to core/xfc/glib/option.cc
diff --git a/libXFCcore/xfc/glib/option.hh b/core/xfc/glib/option.hh
similarity index 100%
rename from libXFCcore/xfc/glib/option.hh
rename to core/xfc/glib/option.hh
diff --git a/libXFCcore/xfc/glib/pattern.cc b/core/xfc/glib/pattern.cc
similarity index 100%
rename from libXFCcore/xfc/glib/pattern.cc
rename to core/xfc/glib/pattern.cc
diff --git a/libXFCcore/xfc/glib/pattern.hh b/core/xfc/glib/pattern.hh
similarity index 100%
rename from libXFCcore/xfc/glib/pattern.hh
rename to core/xfc/glib/pattern.hh
diff --git a/libXFCcore/xfc/glib/private/Makefile.am b/core/xfc/glib/private/Makefile.am
similarity index 100%
rename from libXFCcore/xfc/glib/private/Makefile.am
rename to core/xfc/glib/private/Makefile.am
diff --git a/libXFCcore/xfc/glib/private/connection.hh b/core/xfc/glib/private/connection.hh
similarity index 100%
rename from libXFCcore/xfc/glib/private/connection.hh
rename to core/xfc/glib/private/connection.hh
diff --git a/libXFCcore/xfc/glib/private/marshal.hh b/core/xfc/glib/private/marshal.hh
similarity index 100%
rename from libXFCcore/xfc/glib/private/marshal.hh
rename to core/xfc/glib/private/marshal.hh
diff --git a/libXFCcore/xfc/glib/private/objectclass.hh b/core/xfc/glib/private/objectclass.hh
similarity index 100%
rename from libXFCcore/xfc/glib/private/objectclass.hh
rename to core/xfc/glib/private/objectclass.hh
diff --git a/libXFCcore/xfc/glib/property.cc b/core/xfc/glib/property.cc
similarity index 100%
rename from libXFCcore/xfc/glib/property.cc
rename to core/xfc/glib/property.cc
diff --git a/libXFCcore/xfc/glib/property.hh b/core/xfc/glib/property.hh
similarity index 100%
rename from libXFCcore/xfc/glib/property.hh
rename to core/xfc/glib/property.hh
diff --git a/libXFCcore/xfc/glib/quark.cc b/core/xfc/glib/quark.cc
similarity index 100%
rename from libXFCcore/xfc/glib/quark.cc
rename to core/xfc/glib/quark.cc
diff --git a/libXFCcore/xfc/glib/quark.hh b/core/xfc/glib/quark.hh
similarity index 100%
rename from libXFCcore/xfc/glib/quark.hh
rename to core/xfc/glib/quark.hh
diff --git a/libXFCcore/xfc/glib/rand.cc b/core/xfc/glib/rand.cc
similarity index 100%
rename from libXFCcore/xfc/glib/rand.cc
rename to core/xfc/glib/rand.cc
diff --git a/libXFCcore/xfc/glib/rand.hh b/core/xfc/glib/rand.hh
similarity index 100%
rename from libXFCcore/xfc/glib/rand.hh
rename to core/xfc/glib/rand.hh
diff --git a/libXFCcore/xfc/glib/scanner.cc b/core/xfc/glib/scanner.cc
similarity index 100%
rename from libXFCcore/xfc/glib/scanner.cc
rename to core/xfc/glib/scanner.cc
diff --git a/libXFCcore/xfc/glib/scanner.hh b/core/xfc/glib/scanner.hh
similarity index 100%
rename from libXFCcore/xfc/glib/scanner.hh
rename to core/xfc/glib/scanner.hh
diff --git a/libXFCcore/xfc/glib/shell.cc b/core/xfc/glib/shell.cc
similarity index 100%
rename from libXFCcore/xfc/glib/shell.cc
rename to core/xfc/glib/shell.cc
diff --git a/libXFCcore/xfc/glib/shell.hh b/core/xfc/glib/shell.hh
similarity index 100%
rename from libXFCcore/xfc/glib/shell.hh
rename to core/xfc/glib/shell.hh
diff --git a/libXFCcore/xfc/glib/signals.cc b/core/xfc/glib/signals.cc
similarity index 100%
rename from libXFCcore/xfc/glib/signals.cc
rename to core/xfc/glib/signals.cc
diff --git a/libXFCcore/xfc/glib/signals.hh b/core/xfc/glib/signals.hh
similarity index 100%
rename from libXFCcore/xfc/glib/signals.hh
rename to core/xfc/glib/signals.hh
diff --git a/libXFCcore/xfc/glib/slist.hh b/core/xfc/glib/slist.hh
similarity index 100%
rename from libXFCcore/xfc/glib/slist.hh
rename to core/xfc/glib/slist.hh
diff --git a/libXFCcore/xfc/glib/spawn.cc b/core/xfc/glib/spawn.cc
similarity index 100%
rename from libXFCcore/xfc/glib/spawn.cc
rename to core/xfc/glib/spawn.cc
diff --git a/libXFCcore/xfc/glib/spawn.hh b/core/xfc/glib/spawn.hh
similarity index 100%
rename from libXFCcore/xfc/glib/spawn.hh
rename to core/xfc/glib/spawn.hh
diff --git a/libXFCcore/xfc/glib/thread.cc b/core/xfc/glib/thread.cc
similarity index 100%
rename from libXFCcore/xfc/glib/thread.cc
rename to core/xfc/glib/thread.cc
diff --git a/libXFCcore/xfc/glib/thread.hh b/core/xfc/glib/thread.hh
similarity index 100%
rename from libXFCcore/xfc/glib/thread.hh
rename to core/xfc/glib/thread.hh
diff --git a/libXFCcore/xfc/glib/threadpool.cc b/core/xfc/glib/threadpool.cc
similarity index 100%
rename from libXFCcore/xfc/glib/threadpool.cc
rename to core/xfc/glib/threadpool.cc
diff --git a/libXFCcore/xfc/glib/threadpool.hh b/core/xfc/glib/threadpool.hh
similarity index 100%
rename from libXFCcore/xfc/glib/threadpool.hh
rename to core/xfc/glib/threadpool.hh
diff --git a/libXFCcore/xfc/glib/timer.cc b/core/xfc/glib/timer.cc
similarity index 100%
rename from libXFCcore/xfc/glib/timer.cc
rename to core/xfc/glib/timer.cc
diff --git a/libXFCcore/xfc/glib/timer.hh b/core/xfc/glib/timer.hh
similarity index 100%
rename from libXFCcore/xfc/glib/timer.hh
rename to core/xfc/glib/timer.hh
diff --git a/libXFCcore/xfc/glib/timeval.cc b/core/xfc/glib/timeval.cc
similarity index 100%
rename from libXFCcore/xfc/glib/timeval.cc
rename to core/xfc/glib/timeval.cc
diff --git a/libXFCcore/xfc/glib/timeval.hh b/core/xfc/glib/timeval.hh
similarity index 100%
rename from libXFCcore/xfc/glib/timeval.hh
rename to core/xfc/glib/timeval.hh
diff --git a/libXFCcore/xfc/glib/type.cc b/core/xfc/glib/type.cc
similarity index 100%
rename from libXFCcore/xfc/glib/type.cc
rename to core/xfc/glib/type.cc
diff --git a/libXFCcore/xfc/glib/type.hh b/core/xfc/glib/type.hh
similarity index 100%
rename from libXFCcore/xfc/glib/type.hh
rename to core/xfc/glib/type.hh
diff --git a/libXFCcore/xfc/glib/unicode.cc b/core/xfc/glib/unicode.cc
similarity index 100%
rename from libXFCcore/xfc/glib/unicode.cc
rename to core/xfc/glib/unicode.cc
diff --git a/libXFCcore/xfc/glib/unicode.hh b/core/xfc/glib/unicode.hh
similarity index 100%
rename from libXFCcore/xfc/glib/unicode.hh
rename to core/xfc/glib/unicode.hh
diff --git a/libXFCcore/xfc/glib/utils.cc b/core/xfc/glib/utils.cc
similarity index 100%
rename from libXFCcore/xfc/glib/utils.cc
rename to core/xfc/glib/utils.cc
diff --git a/libXFCcore/xfc/glib/utils.hh b/core/xfc/glib/utils.hh
similarity index 100%
rename from libXFCcore/xfc/glib/utils.hh
rename to core/xfc/glib/utils.hh
diff --git a/libXFCcore/xfc/glib/value.cc b/core/xfc/glib/value.cc
similarity index 100%
rename from libXFCcore/xfc/glib/value.cc
rename to core/xfc/glib/value.cc
diff --git a/libXFCcore/xfc/glib/value.hh b/core/xfc/glib/value.hh
similarity index 100%
rename from libXFCcore/xfc/glib/value.hh
rename to core/xfc/glib/value.hh
diff --git a/libXFCcore/xfc/i18n.cc b/core/xfc/i18n.cc
similarity index 100%
rename from libXFCcore/xfc/i18n.cc
rename to core/xfc/i18n.cc
diff --git a/libXFCcore/xfc/i18n.hh b/core/xfc/i18n.hh
similarity index 100%
rename from libXFCcore/xfc/i18n.hh
rename to core/xfc/i18n.hh
diff --git a/libXFCcore/xfc/integerobject.hh b/core/xfc/integerobject.hh
similarity index 100%
rename from libXFCcore/xfc/integerobject.hh
rename to core/xfc/integerobject.hh
diff --git a/libXFCcore/xfc/object.cc b/core/xfc/object.cc
similarity index 100%
rename from libXFCcore/xfc/object.cc
rename to core/xfc/object.cc
diff --git a/libXFCcore/xfc/object.hh b/core/xfc/object.hh
similarity index 100%
rename from libXFCcore/xfc/object.hh
rename to core/xfc/object.hh
diff --git a/libXFCcore/xfc/pointer.hh b/core/xfc/pointer.hh
similarity index 100%
rename from libXFCcore/xfc/pointer.hh
rename to core/xfc/pointer.hh
diff --git a/libXFCcore/xfc/stackobject.cc b/core/xfc/stackobject.cc
similarity index 100%
rename from libXFCcore/xfc/stackobject.cc
rename to core/xfc/stackobject.cc
diff --git a/libXFCcore/xfc/stackobject.hh b/core/xfc/stackobject.hh
similarity index 100%
rename from libXFCcore/xfc/stackobject.hh
rename to core/xfc/stackobject.hh
diff --git a/libXFCcore/xfc/trackable.cc b/core/xfc/trackable.cc
similarity index 100%
rename from libXFCcore/xfc/trackable.cc
rename to core/xfc/trackable.cc
diff --git a/libXFCcore/xfc/trackable.hh b/core/xfc/trackable.hh
similarity index 100%
rename from libXFCcore/xfc/trackable.hh
rename to core/xfc/trackable.hh
diff --git a/libXFCcore/xfc/utfstring.cc b/core/xfc/utfstring.cc
similarity index 100%
rename from libXFCcore/xfc/utfstring.cc
rename to core/xfc/utfstring.cc
diff --git a/libXFCcore/xfc/utfstring.hh b/core/xfc/utfstring.hh
similarity index 100%
rename from libXFCcore/xfc/utfstring.hh
rename to core/xfc/utfstring.hh
diff --git a/libXFCcore/xfc/version.cc b/core/xfc/version.cc
similarity index 100%
rename from libXFCcore/xfc/version.cc
rename to core/xfc/version.cc
diff --git a/libXFCcore/xfc/version.hh b/core/xfc/version.hh
similarity index 100%
rename from libXFCcore/xfc/version.hh
rename to core/xfc/version.hh
diff --git a/libXFCcore/xfc/version.hh.in b/core/xfc/version.hh.in
similarity index 100%
rename from libXFCcore/xfc/version.hh.in
rename to core/xfc/version.hh.in
diff --git a/libXFCcore/xfc/xfccore.hh b/core/xfc/xfccore.hh
similarity index 100%
rename from libXFCcore/xfc/xfccore.hh
rename to core/xfc/xfccore.hh
diff --git a/libXFCcore/xfccore-4.3.pc.in b/core/xfccore-4.3.pc.in
similarity index 100%
rename from libXFCcore/xfccore-4.3.pc.in
rename to core/xfccore-4.3.pc.in
diff --git a/de/CMakeLists.txt b/de/CMakeLists.txt
new file mode 100644
index 0000000..1eb7fe7
--- /dev/null
+++ b/de/CMakeLists.txt
@@ -0,0 +1,3 @@
+PROJECT( XFC_DE )
+
+ADD_SUBDIRECTORY( xfc )
diff --git a/libXFCde/Makefile.am b/de/Makefile.am
similarity index 100%
rename from libXFCde/Makefile.am
rename to de/Makefile.am
diff --git a/de/xfc/CMakeLists.txt b/de/xfc/CMakeLists.txt
new file mode 100644
index 0000000..06afe40
--- /dev/null
+++ b/de/xfc/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+pkg_search_module( XFCE_PANEL REQUIRED libxfce4panel-1.0 )
+pkg_search_module( XFCE_UTILS REQUIRED libxfce4util-1.0 )
+pkg_search_module( XFCE_UI REQUIRED libxfce4ui-1 )
+pkg_search_module( XFCE_CONF REQUIRED libxfconf-0 )
+
+INCLUDE_DIRECTORIES( ${XFCE_UTILS_INCLUDE_DIRS} ${XFCE_CONF_INCLUDE_DIRS} ${XFCE_UI_INCLUDE_DIRS} )
+
+ADD_LIBRARY( xfc_de SHARED main.cc)
+
+TARGET_LINK_LIBRARIES( xfc_de ${XFCE_UTILS_LIBRARIES} ${XFCE_CONF_LIBRARIES} ${XFCE_UI_LIBARIES})
+
+#ADD_SUBDIRECTORY( ui )
+#ADD_SUBDIRECTORY( panel )
+ADD_SUBDIRECTORY( utils )
diff --git a/libXFCde/xfc/Makefile.am b/de/xfc/Makefile.am
similarity index 100%
rename from libXFCde/xfc/Makefile.am
rename to de/xfc/Makefile.am
diff --git a/libXFCde/xfc/panel/Makefile.am b/de/xfc/panel/Makefile.am
similarity index 100%
rename from libXFCde/xfc/panel/Makefile.am
rename to de/xfc/panel/Makefile.am
diff --git a/libXFCde/xfc/panel/inline/Makefile.am b/de/xfc/panel/inline/Makefile.am
similarity index 100%
rename from libXFCde/xfc/panel/inline/Makefile.am
rename to de/xfc/panel/inline/Makefile.am
diff --git a/libXFCde/xfc/panel/inline/panel.inl b/de/xfc/panel/inline/panel.inl
similarity index 100%
rename from libXFCde/xfc/panel/inline/panel.inl
rename to de/xfc/panel/inline/panel.inl
diff --git a/libXFCde/xfc/panel/panel.cc b/de/xfc/panel/panel.cc
similarity index 100%
rename from libXFCde/xfc/panel/panel.cc
rename to de/xfc/panel/panel.cc
diff --git a/libXFCde/xfc/panel/panel.hh b/de/xfc/panel/panel.hh
similarity index 100%
rename from libXFCde/xfc/panel/panel.hh
rename to de/xfc/panel/panel.hh
diff --git a/de/xfc/ui/CMakeLists.txt b/de/xfc/ui/CMakeLists.txt
new file mode 100644
index 0000000..83fa12d
--- /dev/null
+++ b/de/xfc/ui/CMakeLists.txt
@@ -0,0 +1,3 @@
+INCLUDE_DIRECTORIES(${xfce_core_SOURCE_DIRS} ${XFCE_UI_INCLUDE_DIRS})
+
+ADD_LIBRARY(xfc_de_ui STATIC dialogs.cc)
diff --git a/libXFCde/xfc/ui/Makefile.am b/de/xfc/ui/Makefile.am
similarity index 100%
rename from libXFCde/xfc/ui/Makefile.am
rename to de/xfc/ui/Makefile.am
diff --git a/libXFCde/xfc/ui/about.cc b/de/xfc/ui/about.cc
similarity index 100%
rename from libXFCde/xfc/ui/about.cc
rename to de/xfc/ui/about.cc
diff --git a/libXFCde/xfc/ui/about.hh b/de/xfc/ui/about.hh
similarity index 100%
rename from libXFCde/xfc/ui/about.hh
rename to de/xfc/ui/about.hh
diff --git a/libXFCde/xfc/ui/dialogs.cc b/de/xfc/ui/dialogs.cc
similarity index 100%
rename from libXFCde/xfc/ui/dialogs.cc
rename to de/xfc/ui/dialogs.cc
diff --git a/libXFCde/xfc/ui/dialogs.hh b/de/xfc/ui/dialogs.hh
similarity index 100%
rename from libXFCde/xfc/ui/dialogs.hh
rename to de/xfc/ui/dialogs.hh
diff --git a/libXFCde/xfc/ui/inline/Makefile.am b/de/xfc/ui/inline/Makefile.am
similarity index 100%
rename from libXFCde/xfc/ui/inline/Makefile.am
rename to de/xfc/ui/inline/Makefile.am
diff --git a/libXFCde/xfc/ui/inline/dialog.inl b/de/xfc/ui/inline/dialog.inl
similarity index 100%
rename from libXFCde/xfc/ui/inline/dialog.inl
rename to de/xfc/ui/inline/dialog.inl
diff --git a/de/xfc/utils/CMakeLists.txt b/de/xfc/utils/CMakeLists.txt
new file mode 100644
index 0000000..6645af1
--- /dev/null
+++ b/de/xfc/utils/CMakeLists.txt
@@ -0,0 +1,3 @@
+INCLUDE_DIRECTORIES( ${XFC_DE_SOURCE_DIR} ${XFC_CORE_SOURCE_DIR} ${SIGC_INCLUDE_DIRS} ${XFCE_CONF_INCLUDE_DIRS} ${XFCE_UTIL_INCLUDE_DIRS})
+
+ADD_LIBRARY( xfc_de_utils STATIC config.cc )
diff --git a/libXFCde/xfc/utils/Makefile.am b/de/xfc/utils/Makefile.am
similarity index 100%
rename from libXFCde/xfc/utils/Makefile.am
rename to de/xfc/utils/Makefile.am
diff --git a/libXFCde/xfc/utils/config.cc b/de/xfc/utils/config.cc
similarity index 100%
rename from libXFCde/xfc/utils/config.cc
rename to de/xfc/utils/config.cc
diff --git a/libXFCde/xfc/utils/config.hh b/de/xfc/utils/config.hh
similarity index 100%
rename from libXFCde/xfc/utils/config.hh
rename to de/xfc/utils/config.hh
diff --git a/libXFCde/xfc/utils/inline/Makefile.am b/de/xfc/utils/inline/Makefile.am
similarity index 100%
rename from libXFCde/xfc/utils/inline/Makefile.am
rename to de/xfc/utils/inline/Makefile.am
diff --git a/libXFCde/xfc/utils/inline/config.inl b/de/xfc/utils/inline/config.inl
similarity index 100%
rename from libXFCde/xfc/utils/inline/config.inl
rename to de/xfc/utils/inline/config.inl
diff --git a/libXFCde/xfcde-4.3.pc.in b/de/xfcde-4.3.pc.in
similarity index 100%
rename from libXFCde/xfcde-4.3.pc.in
rename to de/xfcde-4.3.pc.in
diff --git a/demos/xfc-demo/Makefile.am b/demos/xfc-demo/Makefile.am
index 7d35c3c..17a45a8 100644
--- a/demos/xfc-demo/Makefile.am
+++ b/demos/xfc-demo/Makefile.am
@@ -43,7 +43,8 @@ INCLUDES = \
LIBS = \
$(top_builddir)/libXFCcore/xfc/libXFCcore-$(XFC_API_VERSION).la \
- $(top_builddir)/libXFCui/xfc/libXFCui-$(XFC_API_VERSION).la
+ $(top_builddir)/libXFCui/xfc/libXFCui-$(XFC_API_VERSION).la \
+ $(XFC_SIGC_LIBS)
IMAGEFILES = \
alphatest.png \
diff --git a/glade/CMakeLists.txt b/glade/CMakeLists.txt
new file mode 100644
index 0000000..208427a
--- /dev/null
+++ b/glade/CMakeLists.txt
@@ -0,0 +1 @@
+ADD_SUBDIRECTORY( xfc )
diff --git a/libXFCglade/Makefile.am b/glade/Makefile.am
similarity index 100%
rename from libXFCglade/Makefile.am
rename to glade/Makefile.am
diff --git a/libXFCglade/xfc/Makefile.am b/glade/xfc/Makefile.am
similarity index 100%
rename from libXFCglade/xfc/Makefile.am
rename to glade/xfc/Makefile.am
diff --git a/libXFCglade/xfc/glade/Makefile.am b/glade/xfc/glade/Makefile.am
similarity index 100%
rename from libXFCglade/xfc/glade/Makefile.am
rename to glade/xfc/glade/Makefile.am
diff --git a/libXFCglade/xfc/glade/glade.hh b/glade/xfc/glade/glade.hh
similarity index 100%
rename from libXFCglade/xfc/glade/glade.hh
rename to glade/xfc/glade/glade.hh
diff --git a/libXFCglade/xfc/glade/inline/Makefile.am b/glade/xfc/glade/inline/Makefile.am
similarity index 100%
rename from libXFCglade/xfc/glade/inline/Makefile.am
rename to glade/xfc/glade/inline/Makefile.am
diff --git a/libXFCglade/xfc/glade/inline/xml.inl b/glade/xfc/glade/inline/xml.inl
similarity index 100%
rename from libXFCglade/xfc/glade/inline/xml.inl
rename to glade/xfc/glade/inline/xml.inl
diff --git a/libXFCglade/xfc/glade/private/Makefile.am b/glade/xfc/glade/private/Makefile.am
similarity index 100%
rename from libXFCglade/xfc/glade/private/Makefile.am
rename to glade/xfc/glade/private/Makefile.am
diff --git a/libXFCglade/xfc/glade/private/xmlclass.hh b/glade/xfc/glade/private/xmlclass.hh
similarity index 100%
rename from libXFCglade/xfc/glade/private/xmlclass.hh
rename to glade/xfc/glade/private/xmlclass.hh
diff --git a/libXFCglade/xfc/glade/xml.cc b/glade/xfc/glade/xml.cc
similarity index 100%
rename from libXFCglade/xfc/glade/xml.cc
rename to glade/xfc/glade/xml.cc
diff --git a/libXFCglade/xfc/glade/xml.hh b/glade/xfc/glade/xml.hh
similarity index 100%
rename from libXFCglade/xfc/glade/xml.hh
rename to glade/xfc/glade/xml.hh
diff --git a/libXFCglade/xfc/xfcglade.hh b/glade/xfc/xfcglade.hh
similarity index 100%
rename from libXFCglade/xfc/xfcglade.hh
rename to glade/xfc/xfcglade.hh
diff --git a/libXFCglade/xfcglade-4.3.pc.in b/glade/xfcglade-4.3.pc.in
similarity index 100%
rename from libXFCglade/xfcglade-4.3.pc.in
rename to glade/xfcglade-4.3.pc.in
diff --git a/libXFCui/xfc/Makefile.am b/libXFCui/xfc/Makefile.am
deleted file mode 100644
index c97a793..0000000
--- a/libXFCui/xfc/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-## libXFCui source directory
-
-SUBDIRS = atk gdk gdk-pixbuf gtk pango cairo
-
-AM_CXXFLAGS = @CXXFLAGS@ @XFC_CORE_CFLAGS@ @XFC_UI_CFLAGS@
-
-EXTRA_DIST = config.h.in
-
-INCLUDES = \
- -I$(top_builddir)/libXFCcore \
- -I$(top_builddir)/libXFCui
-
-hh_sources = \
- main.hh \
- ui.hh \
- xfcui.hh \
- config.h
-
-cc_sources = \
- main.cc
-
-library_includedir=$(includedir)/$(XFCEDIR)/$(XFC_LIBRARY_NAME)
-library_include_HEADERS = $(hh_sources)
-
-lib_LTLIBRARIES= libXFCui-4.3.la
-libXFCui_4_3_la_SOURCES= $(hh_sources) $(cc_sources)
-libXFCui_4_3_la_LIBADD= atk/libatk.la gdk/libgdk.la gdk-pixbuf/libgdk_pixbuf.la gtk/libgtk.la pango/libpango.la cairo/libcairo.la $(XFC_UI_LIBS)
-libXFCui_4_3_la_LDFLAGS= -version-info $(XFC_LIBRARY_VERSION)
diff --git a/libXFCui/xfc/atk/gobjectaccessible.cc b/libXFCui/xfc/atk/gobjectaccessible.cc
deleted file mode 100755
index 6120220..0000000
--- a/libXFCui/xfc/atk/gobjectaccessible.cc
+++ /dev/null
@@ -1,76 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * gobjectaccessible.cc - AtkGObjectAccessible C++ wrapper implmentation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "gobjectaccessible.hh"
-#include "private/gobjectaccessibleclass.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-
-using namespace Xfc;
-
-/* Atk::GObjectAccessible
- */
-
-Atk::GObjectAccessible::GObjectAccessible(AtkGObjectAccessible *object, bool owns_reference)
-: Atk::Object((AtkObject*)object, owns_reference)
-{
-}
-
-Atk::GObjectAccessible::~GObjectAccessible()
-{
-}
-
-Atk::Object*
-Atk::GObjectAccessible::for_object(G::Object& object)
-{
- return G::Object::wrap<Atk::Object>(atk_gobject_accessible_for_object(object.g_object()));
-}
-
-G::Object*
-Atk::GObjectAccessible::get_object() const
-{
- return G::Object::wrap<G::Object>(atk_gobject_accessible_get_object (atk_gobject_accessible()));
-}
-
-/* Atk::GObjectAccessibleClass
- */
-
-void
-Atk::GObjectAccessibleClass::init(AtkGObjectAccessibleClass *g_class)
-{
- ObjectClass::init((AtkObjectClass*)g_class);
-}
-
-GType
-Atk::GObjectAccessibleClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(ATK_TYPE_GOBJECT_ACCESSIBLE, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Atk::GObjectAccessibleClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
diff --git a/libXFCui/xfc/atk/hypertext.cc b/libXFCui/xfc/atk/hypertext.cc
deleted file mode 100755
index a1bd5cd..0000000
--- a/libXFCui/xfc/atk/hypertext.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * hypertext.cc - AtkHypertext C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "hypertext.hh"
-#include "hypertextsignals.hh"
-#include "hyperlink.hh"
-#include "private/hypertextiface.hh"
-#include "private/marshal.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-
-using namespace Xfc;
-
-/* Atk::Hypertext
- */
-
-Atk::Hypertext::Hypertext()
-{
-}
-
-Atk::Hypertext::~Hypertext()
-{
-}
-
-Atk::Hyperlink*
-Atk::Hypertext::get_link(int link_index) const
-{
- AtkHyperlink *hyperlink = atk_hypertext_get_link(atk_hypertext(), link_index);
- return hyperlink ? G::Object::wrap<Hyperlink>(hyperlink) : 0;
-}
-
-/* Atk::HypertextIface
- */
-
-void
-Atk::HypertextIface::init(AtkHypertextIface *g_iface)
-{
- g_iface->link_selected = &link_selected_proxy;
-}
-
-AtkHypertextIface*
-Atk::HypertextIface::get_parent_iface(void *instance)
-{
- return static_cast<AtkHypertextIface*>(g_type_interface_peek_parent(ATK_HYPERTEXT_GET_IFACE(instance)));
-}
-
-void
-Atk::HypertextIface::link_selected_proxy(AtkHypertext *hypertext, gint link_index)
-{
- HypertextSignals *signals = dynamic_cast<HypertextSignals*>(G::ObjectSignals::pointer((GObject*)hypertext));
- if (signals)
- signals->on_link_selected(link_index);
- else
- {
- AtkHypertextIface *g_iface = get_parent_iface(hypertext);
- if (g_iface && g_iface->link_selected)
- g_iface->link_selected(hypertext, link_index);
- }
-}
-
-/* Atk::Hypertext signals
- */
-
-const Atk::Hypertext::LinkSelectedSignalType Atk::Hypertext::link_selected_signal("link_selected", (GCallback)&G::Marshal::void_int_callback);
-
diff --git a/libXFCui/xfc/atk/marshal.cc b/libXFCui/xfc/atk/marshal.cc
deleted file mode 100644
index fc1d254..0000000
--- a/libXFCui/xfc/atk/marshal.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * marshal.cc - ATK GObject signal callback functions.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <sigc++/sigc++.h>
-#include "private/marshal.hh"
-#include "../../../libXFCcore/xfc/glib/private/connection.hh"
-#include "../../../libXFCcore/xfc/utfstring.hh"
-
-using namespace Xfc;
-
-/* Atk::Marshal::void_int_pvoid_callback
- */
-
-void
-Atk::Marshal::void_int_pvoid_callback(void *data, unsigned int arg1, void *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, unsigned int, void*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg1, arg2);
- }
-}
-
-/* Atk::Marshal::void_patkpropertyvalues_callback
- */
-void
-Atk::Marshal::void_patkpropertyvalues_callback(void *data, AtkPropertyValues *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, AtkPropertyValues*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg);
- }
-}
-
-/* Atk::Marshal::void_string_bool_callback
- */
-void
-Atk::Marshal::void_string_bool_callback(void *data, const char *arg1, bool arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const String&, bool> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s(arg1);
- slot(s, arg2);
- }
-}
-
-/* Atk::Marshal::void_ppvoid_callback
- */
-void
-Atk::Marshal::void_ppvoid_callback(void *data, void **arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, void**> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg);
- }
-}
-
diff --git a/libXFCui/xfc/atk/selection.cc b/libXFCui/xfc/atk/selection.cc
deleted file mode 100755
index 37a4fe7..0000000
--- a/libXFCui/xfc/atk/selection.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * selection.cc - AtkSelection C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "selection.hh"
-#include "selectionsignals.hh"
-#include "object.hh"
-#include "private/marshal.hh"
-#include "private/selectioniface.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-
-using namespace Xfc;
-
-/* Atk::Selection
- */
-
-Atk::Selection::Selection()
-{
-}
-
-Atk::Selection::~Selection()
-{
-}
-
-Atk::Object*
-Atk::Selection::ref_selection(int i)
-{
- AtkObject *object = atk_selection_ref_selection(atk_selection(), i);
- return object ? G::Object::wrap<Atk::Object>(object) : 0;
-}
-
-/* Atk::SelectionIface
- */
-
-void
-Atk::SelectionIface::init(AtkSelectionIface *g_iface)
-{
- g_iface->selection_changed = &selection_changed_proxy;
-}
-
-AtkSelectionIface*
-Atk::SelectionIface::get_parent_iface(void *instance)
-{
- return static_cast<AtkSelectionIface*>(g_type_interface_peek_parent(ATK_SELECTION_GET_IFACE(instance)));
-}
-
-void
-Atk::SelectionIface::selection_changed_proxy(AtkSelection *selection)
-{
- SelectionSignals *signals = dynamic_cast<SelectionSignals*>(G::ObjectSignals::pointer((GObject*)selection));
- if (signals)
- signals->on_selection_changed();
- else
- {
- AtkSelectionIface *g_iface = get_parent_iface(selection);
- if (g_iface && g_iface->selection_changed)
- g_iface->selection_changed(selection);
- }
-}
-
-/* Atk::Selection signals
- */
-
-const Atk::Selection::SelectionChangedSignalType Atk::Selection::selection_changed_signal("selection_changed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/atk/streamablecontent.cc b/libXFCui/xfc/atk/streamablecontent.cc
deleted file mode 100755
index 409a2ef..0000000
--- a/libXFCui/xfc/atk/streamablecontent.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * streamablecontent.cc - AtkStreamableContent C++ wrapper interface
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "streamablecontent.hh"
-#include "../../../libXFCcore/xfc/glib/iochannel.hh"
-
-using namespace Xfc;
-
-/* Atk::StreamableContent
- */
-
-Atk::StreamableContent::StreamableContent()
-{
-}
-
-Atk::StreamableContent::~StreamableContent()
-{
-}
-
-String
-Atk::StreamableContent::get_mime_type(int i) const
-{
- return atk_streamable_content_get_mime_type(atk_streamable_content(), i);
-}
-
-Pointer<G::IOChannel>
-Atk::StreamableContent::get_stream(const char *mime_type) const
-{
- GIOChannel *ioc = atk_streamable_content_get_stream(atk_streamable_content(), mime_type);
- return ioc ? new G::IOChannel(ioc) : 0;
-}
-
-Pointer<G::IOChannel>
-Atk::StreamableContent::get_stream(const String& mime_type) const
-{
- return get_stream(mime_type.c_str());
-}
-
diff --git a/libXFCui/xfc/atk/table.cc b/libXFCui/xfc/atk/table.cc
deleted file mode 100755
index 59f965f..0000000
--- a/libXFCui/xfc/atk/table.cc
+++ /dev/null
@@ -1,296 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * table.cc - AtkTable C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "table.hh"
-#include "tablesignals.hh"
-#include "object.hh"
-#include "private/marshal.hh"
-#include "private/tableiface.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-
-using namespace Xfc;
-
-/* Atk::Table
- */
-
-Atk::Table::Table()
-{
-}
-
-Atk::Table::~Table()
-{
-}
-
-Atk::Object*
-Atk::Table::ref_at(int row, int column) const
-{
- AtkObject *object = atk_table_ref_at(atk_table(), row, column);
- return object ? G::Object::wrap<Object>(object) : 0;
-}
-
-Atk::Object*
-Atk::Table::get_caption() const
-{
- AtkObject *object = atk_table_get_caption(atk_table());
- return object ? G::Object::wrap<Object>(object) : 0;
-}
-
-String
-Atk::Table::get_column_description(int column) const
-{
- return atk_table_get_column_description(atk_table(), column);
-}
-
-Atk::Object*
-Atk::Table::get_column_header(int column) const
-{
- AtkObject *object = atk_table_get_column_header(atk_table(), column);
- return object ? G::Object::wrap<Object>(object) : 0;
-}
-
-String
-Atk::Table::get_row_description(int row) const
-{
- return atk_table_get_row_description(atk_table(), row);
-}
-
-Atk::Object*
-Atk::Table::get_row_header(int row) const
-{
- AtkObject *object = atk_table_get_row_header(atk_table(), row);
- return object ? G::Object::wrap<Object>(object) : 0;
-}
-
-Atk::Object*
-Atk::Table::get_summary() const
-{
- AtkObject *object = atk_table_get_summary(atk_table());
- return object ? G::Object::wrap<Object>(object) : 0;
-}
-
-bool
-Atk::Table::get_selected_columns(std::vector<int>& selected) const
-{
- g_return_val_if_fail(selected.empty(), false);
- int *tmp_selected = 0;
- int n_columns = atk_table_get_selected_columns(atk_table(), &tmp_selected);
-
- int i = 0;
- while (i < n_columns)
- {
- selected.push_back(tmp_selected[i]);
- ++i;
- }
-
- g_free(tmp_selected);
- return !selected.empty();
-}
-
-bool
-Atk::Table::get_selected_rows(std::vector<int>& selected) const
-{
- g_return_val_if_fail(selected.empty(), false);
- int *tmp_selected = 0;
- int n_rows = atk_table_get_selected_rows(atk_table(), &tmp_selected);
-
- int i = 0;
- while (i < n_rows)
- {
- selected.push_back(tmp_selected[i]);
- ++i;
- }
-
- g_free(tmp_selected);
- return !selected.empty();
-}
-
-void
-Atk::Table::set_caption(const Object *caption)
-{
- atk_table_set_caption(atk_table(), *caption);
-}
-
-void
-Atk::Table::set_column_description(int column, const String& description)
-{
- atk_table_set_column_description(atk_table(), column, description.c_str());
-}
-
-void
-Atk::Table::set_column_header(int column, const Object *header)
-{
- atk_table_set_column_header(atk_table(), column, *header);
-}
-
-void
-Atk::Table::set_row_description(int row, const String& description)
-{
- atk_table_set_row_description(atk_table(), row, description.c_str());
-}
-
-void
-Atk::Table::set_row_header(int row, const Object *header)
-{
- atk_table_set_row_header(atk_table(), row, *header);
-}
-
-void
-Atk::Table::set_summary(const Object *accessible)
-{
- atk_table_set_summary(atk_table(), *accessible);
-}
-
-/* Atk::TableIface
- */
-
-void
-Atk::TableIface::init(AtkTableIface *g_iface)
-{
- g_iface->row_inserted = &row_inserted_proxy;
- g_iface->column_inserted = &column_inserted_proxy;
- g_iface->row_deleted = &row_deleted_proxy;
- g_iface->column_deleted = &column_deleted_proxy;
- g_iface->row_reordered = &row_reordered_proxy;
- g_iface->column_reordered = &column_reordered_proxy;
- g_iface->model_changed = &model_changed_proxy;
-}
-
-AtkTableIface*
-Atk::TableIface::get_parent_iface(void *instance)
-{
- return static_cast<AtkTableIface*>(g_type_interface_peek_parent(ATK_TABLE_GET_IFACE(instance)));
-}
-
-void
-Atk::TableIface::row_inserted_proxy(AtkTable *table, gint row, gint num_inserted)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_row_inserted(row, num_inserted);
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->row_inserted)
- g_iface->row_inserted(table, row, num_inserted);
- }
-}
-
-void
-Atk::TableIface::column_inserted_proxy(AtkTable *table, gint column, gint num_inserted)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_column_inserted(column, num_inserted);
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->column_inserted)
- g_iface->column_inserted(table, column, num_inserted);
- }
-}
-
-void
-Atk::TableIface::row_deleted_proxy(AtkTable *table, gint row, gint num_deleted)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_row_deleted(row, num_deleted);
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->row_deleted)
- g_iface->row_deleted(table, row, num_deleted);
- }
-}
-
-void
-Atk::TableIface::column_deleted_proxy(AtkTable *table, gint column, gint num_deleted)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_column_deleted(column, num_deleted);
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->column_deleted)
- g_iface->column_deleted(table, column, num_deleted);
- }
-}
-
-void
-Atk::TableIface::row_reordered_proxy(AtkTable *table)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_row_reordered();
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->row_reordered)
- g_iface->row_reordered(table);
- }
-}
-
-void
-Atk::TableIface::column_reordered_proxy(AtkTable *table)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_column_reordered();
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->column_reordered)
- g_iface->column_reordered(table);
- }
-}
-
-void
-Atk::TableIface::model_changed_proxy(AtkTable *table)
-{
- TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
- if (signals)
- signals->on_model_changed();
- else
- {
- AtkTableIface *g_iface = get_parent_iface(table);
- if (g_iface && g_iface->model_changed)
- g_iface->model_changed(table);
- }
-}
-
-/* Atk::Table signals
- */
-
-const Atk::Table::RowInsertedSignalType Atk::Table::row_inserted_signal("row_inserted", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Atk::Table::ColumnInsertedSignalType Atk::Table::column_inserted_signal("column_inserted", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Atk::Table::RowDeletedSignalType Atk::Table::row_deleted_signal("row_deleted", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Atk::Table::ColumnDeletedSignalType Atk::Table::column_deleted_signal("column_deleted", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Atk::Table::RowReorderedSignalType Atk::Table::row_reordered_signal("row_reordered", (GCallback)&G::Marshal::void_callback);
-
-const Atk::Table::ColumnReorderedSignalType Atk::Table::column_reordered_signal("column_reordered", (GCallback)&G::Marshal::void_callback);
-
-const Atk::Table::ModelChangedSignalType Atk::Table::model_changed_signal("model_changed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/atk/text.cc b/libXFCui/xfc/atk/text.cc
deleted file mode 100755
index f1fbd35..0000000
--- a/libXFCui/xfc/atk/text.cc
+++ /dev/null
@@ -1,431 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * text.cc - AtkText C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "text.hh"
-#include "textsignals.hh"
-#include "private/marshal.hh"
-#include "private/textiface.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-#include "../../../libXFCcore/xfc/glib/unicode.hh"
-
-using namespace Xfc;
-
-/* Atk::text_attribute_register
- */
-
-Atk::TextAttribute
-Atk::text_attribute_register(const String& name)
-{
- return (TextAttribute)atk_text_attribute_register(name.c_str());
-}
-
-/* Atk::text_attribute_get_name
- */
-
-String
-Atk::text_attribute_get_name(TextAttribute attr)
-{
- return atk_text_attribute_get_name((AtkTextAttribute)attr);
-}
-
-/* Atk::text_attribute_for_name
- */
-
-Atk::TextAttribute
-Atk::text_attribute_for_name(const String& name)
-{
- return (TextAttribute)atk_text_attribute_for_name(name.c_str());
-}
-
-/* Atk::text_attribute_get_value
- */
-
-String
-Atk::text_attribute_get_value(TextAttribute attr, int index)
-{
- return atk_text_attribute_get_value((AtkTextAttribute)attr, index);
-}
-
-namespace { // copy and free AtkAttribute
-
-void copy_attribute(AtkAttribute *dest, const AtkAttribute *src)
-{
- dest->name = g_strdup(src->name);
- dest->value = g_strdup(src->value);
-}
-
-void free_attribute(AtkAttribute *attrib)
-{
- if (attrib->name)
- {
- g_free(attrib->name);
- attrib->name = 0;
- }
-
- if (attrib->value)
- {
- g_free(attrib->value);
- attrib->value = 0;
- }
-}
-
-} // copy and free AtkAttribute
-
-/* Atk::Attribute
- */
-
-Atk::Attribute::Attribute()
-{
- attrib_.name = 0;
- attrib_.value = 0;
-}
-
-Atk::Attribute::Attribute(TextAttribute attr, int index)
-{
- set(text_attribute_get_name(attr), text_attribute_get_value(attr, index));
-}
-
-Atk::Attribute::Attribute(TextAttribute attr, const String& value)
-{
- set(text_attribute_get_name(attr), value);
-}
-
-Atk::Attribute::Attribute(const String& name, const String& value)
-{
- set(name, value);
-}
-
-Atk::Attribute::Attribute(const AtkAttribute& attrib)
-{
- copy_attribute(&attrib_, &attrib);
-}
-
-Atk::Attribute::Attribute(const Attribute& src)
-{
- copy_attribute(&attrib_, &src.attrib_);
-}
-
-Atk::Attribute::~Attribute()
-{
- free_attribute(&attrib_);
-}
-
-Atk::Attribute&
-Atk::Attribute::operator=(const Attribute& src)
-{
- if (this != &src)
- {
- free_attribute(&attrib_);
- copy_attribute(&attrib_, &src.attrib_);
- }
- return *this;
-}
-
-String
-Atk::Attribute::name() const
-{
- return attrib_.name;
-}
-
-String
-Atk::Attribute::value() const
-{
- return attrib_.value;
-}
-
-void
-Atk::Attribute::set(const String& name, const String& value)
-{
- free_attribute(&attrib_);
- attrib_.name = g_strndup(name.c_str(), name.size());
- attrib_.value = g_strndup(value.c_str(), value.size());
-}
-
-/* Atk::TextRectangle
- */
-
-Atk::TextRectangle::TextRectangle()
-{
- set(0, 0, 0, 0);
-}
-
-Atk::TextRectangle::TextRectangle(int x, int y, int width, int height)
-{
- set(x, y, width, height);
-}
-
-Atk::TextRectangle::TextRectangle(const AtkTextRectangle& rectangle)
-{
- set(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
-}
-
-void
-Atk::TextRectangle::set(int x, int y, int width, int height)
-{
- rectangle_.x = x;
- rectangle_.y = y;
- rectangle_.width = width;
- rectangle_.height = height;
-}
-
-/* Atk::TextRange
- */
-
-Atk::TextRange::TextRange(const AtkTextRange& range)
-{
- range_.bounds.x = range.bounds.x;
- range_.bounds.y = range.bounds.y;
- range_.bounds.width = range.bounds.width;
- range_.bounds.height = range.bounds.height;
- range_.start_offset = range.start_offset;
- range_.end_offset = range.end_offset;
- range_.content = g_strdup(range.content);
-}
-
-Atk::TextRange::~TextRange()
-{
- g_free(range_.content);
-}
-
-Atk::TextRectangle
-Atk::TextRange::bounds() const
-{
- return TextRectangle(range_.bounds);
-}
-
-/* Atk::Text
- */
-
-Atk::Text::Text()
-{
-}
-
-Atk::Text::~Text()
-{
-}
-
-String
-Atk::Text::get_text(int start_offset, int end_offset) const
-{
- char *text = atk_text_get_text(atk_text(), start_offset, end_offset);
- String s(text);
- g_free(text);
- return s;
-}
-
-G::Unichar
-Atk::Text::get_character_at_offset(int offset) const
-{
- return atk_text_get_character_at_offset(atk_text(), offset);
-}
-
-String
-Atk::Text::get_text_after_offset(int offset, TextBoundary boundary_type, int *start_offset, int *end_offset) const
-{
- char *text = atk_text_get_text_after_offset(atk_text(), offset, (AtkTextBoundary)boundary_type, start_offset, end_offset);
- String s(text);
- g_free(text);
- return s;
-}
-
-String
-Atk::Text::get_text_at_offset(int offset, TextBoundary boundary_type, int *start_offset, int *end_offset) const
-{
- char *text = atk_text_get_text_at_offset(atk_text(), offset, (AtkTextBoundary)boundary_type, start_offset, end_offset);
- String s(text);
- g_free(text);
- return s;
-}
-
-String
-Atk::Text::get_text_before_offset(int offset, TextBoundary boundary_type, int *start_offset, int *end_offset) const
-{
- char *text = atk_text_get_text_before_offset(atk_text(), offset, (AtkTextBoundary)boundary_type, start_offset, end_offset);
- String s(text);
- g_free(text);
- return s;
-}
-
-std::vector<Atk::Attribute>
-Atk::Text::get_run_attributes(int offset, int *start_offset, int *end_offset) const
-{
- std::vector<Attribute> attribs;
- GSList *first = atk_text_get_run_attributes(atk_text(), offset, start_offset, end_offset);
- GSList *next = first;
-
- while (next)
- {
- Attribute attrib(*((AtkAttribute*)next->data));
- attribs.push_back(attrib);
- next = g_slist_next(next);
- }
-
- atk_attribute_set_free(first);
- return attribs;
-}
-
-std::vector<Atk::Attribute>
-Atk::Text::get_default_attributes() const
-{
- std::vector<Attribute> attribs;
- GSList *first = atk_text_get_default_attributes(atk_text());
- GSList *next = first;
-
- while (next)
- {
- Attribute attrib(*((AtkAttribute*)next->data));
- attribs.push_back(attrib);
- next = g_slist_next(next);
- }
-
- atk_attribute_set_free(first);
- return attribs;
-}
-
-String
-Atk::Text::get_selection(int selection_num, int *start_offset, int *end_offset) const
-{
- return atk_text_get_selection(atk_text(), selection_num, start_offset, end_offset);
-}
-
-Atk::TextRectangle
-Atk::Text::get_range_extents(int start_offset, int end_offset, CoordType coord_type)
-{
- TextRectangle rect;
- atk_text_get_range_extents(atk_text(), start_offset, end_offset, (AtkCoordType)coord_type, rect.atk_text_rectangle());
- return rect;
-}
-
-void
-Atk::Text::get_range_extents(int start_offset, int end_offset, CoordType coord_type, TextRectangle& rect)
-{
- atk_text_get_range_extents(atk_text(), start_offset, end_offset, (AtkCoordType)coord_type, rect.atk_text_rectangle());
-}
-
-std::vector<Atk::TextRange>
-Atk::Text::get_bounded_ranges(const TextRectangle& rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type)
-{
- AtkTextRange **ranges = atk_text_get_bounded_ranges(atk_text(), rect.atk_text_rectangle(), (AtkCoordType)coord_type,
- (AtkTextClipType)x_clip_type, (AtkTextClipType)y_clip_type);
- AtkTextRange **first = ranges;
- std::vector<TextRange> tmp_ranges;
-
- if (ranges)
- {
- while (*ranges)
- {
- AtkTextRange *range = *ranges;
- TextRange tmp_range(*range);
- tmp_ranges.push_back(tmp_range);
- *ranges++;
- g_free(range->content);
- g_free(range);
- }
- g_free(first);
- }
- return tmp_ranges;
-}
-
-/* Atk::TextIface
- */
-
-void
-Atk::TextIface::init(AtkTextIface *g_iface)
-{
- g_iface->text_changed = &text_changed_proxy;
- g_iface->text_caret_moved = &text_caret_moved_proxy;
- g_iface->text_selection_changed = &text_selection_changed_proxy;
- g_iface->text_attributes_changed = text_attributes_changed_proxy;
-}
-
-AtkTextIface*
-Atk::TextIface::get_parent_iface(void *instance)
-{
- return static_cast<AtkTextIface*>(g_type_interface_peek_parent(ATK_TEXT_GET_IFACE(instance)));
-}
-
-void
-Atk::TextIface::text_changed_proxy(AtkText *text, gint position, gint length)
-{
- TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
- if (signals)
- signals->on_text_changed(position, length);
- else
- {
- AtkTextIface *g_iface = get_parent_iface(text);
- if (g_iface && g_iface->text_changed)
- g_iface->text_changed(text, position, length);
- }
-}
-
-void
-Atk::TextIface::text_caret_moved_proxy(AtkText *text, gint location)
-{
- TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
- if (signals)
- signals->on_text_caret_moved(location);
- else
- {
- AtkTextIface *g_iface = get_parent_iface(text);
- if (g_iface && g_iface->text_caret_moved)
- g_iface->text_caret_moved(text, location);
- }
-}
-
-void
-Atk::TextIface::text_selection_changed_proxy(AtkText *text)
-{
- TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
- if (signals)
- signals->on_text_selection_changed();
- else
- {
- AtkTextIface *g_iface = get_parent_iface(text);
- if (g_iface && g_iface->text_selection_changed)
- g_iface->text_selection_changed(text);
- }
-}
-
-void
-Atk::TextIface::text_attributes_changed_proxy(AtkText *text)
-{
- TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
- if (signals)
- signals->on_text_attributes_changed();
- else
- {
- AtkTextIface *g_iface = get_parent_iface(text);
- if (g_iface && g_iface->text_attributes_changed)
- g_iface->text_attributes_changed(text);
- }
-}
-
-/* Atk::Text signals
- */
-
-const Atk::Text::TextChangedSignalType Atk::Text::text_changed_signal("text_changed", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Atk::Text::TextCaretMovedSignalType Atk::Text::text_caret_moved_signal("text_caret_moved", (GCallback)&G::Marshal::void_int_callback);
-
-const Atk::Text::TextSelectionChangedSignalType Atk::Text::text_selection_changed_signal("text_selection_changed", (GCallback)&G::Marshal::void_callback);
-
-const Atk::Text::TextAttributesChangedSignalType Atk::Text::text_attributes_changed_signal("text_attributes_changed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/atk/value.cc b/libXFCui/xfc/atk/value.cc
deleted file mode 100755
index 9e43a4c..0000000
--- a/libXFCui/xfc/atk/value.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * value.cc - AtkValue C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "value.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Atk::Value
- */
-
-Atk::Value::Value()
-{
-}
-
-Atk::Value::~Value()
-{
-}
-
-void
-Atk::Value::get_current_value(G::Value& value) const
-{
- atk_value_get_current_value(atk_value(), value.g_value());
-}
-
-void
-Atk::Value::get_maximum_value(G::Value& value) const
-{
- atk_value_get_maximum_value(atk_value(), value.g_value());
-}
-
-void
-Atk::Value::get_minimum_value(G::Value& value) const
-{
- atk_value_get_minimum_value(atk_value(), value.g_value());
-}
-
-bool
-Atk::Value::set_current_value(const G::Value& value)
-{
- return atk_value_set_current_value(atk_value(), value.g_value());
-}
-
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-animation.cc b/libXFCui/xfc/gdk-pixbuf/pixbuf-animation.cc
deleted file mode 100644
index 32f3869..0000000
--- a/libXFCui/xfc/gdk-pixbuf/pixbuf-animation.cc
+++ /dev/null
@@ -1,93 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004 The XFC Development Team.
- *
- * pixbuf-animation.cc - GdkPixbufAnimationIter and GdkPixbufAnimation C++ wrapper interface
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "pixbuf-animation.hh"
-#include "pixbuf.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-
-
-using namespace Xfc;
-
-/* Gdk::PixbufAnimationIter
- */
-
-Gdk::PixbufAnimationIter::PixbufAnimationIter(GdkPixbufAnimationIter *iter, bool owns_reference)
-: G::Object((GObject*)iter, owns_reference)
-{
-}
-
-Gdk::PixbufAnimationIter::~PixbufAnimationIter()
-{
-}
-
-int
-Gdk::PixbufAnimationIter::get_delay_time() const
-{
- return gdk_pixbuf_animation_iter_get_delay_time(gdk_pixbuf_animation_iter());
-}
-
-Gdk::Pixbuf*
-Gdk::PixbufAnimationIter::get_pixbuf() const
-{
- return G::Object::wrap<Pixbuf>(gdk_pixbuf_animation_iter_get_pixbuf(gdk_pixbuf_animation_iter()));
-}
-
-bool
-Gdk::PixbufAnimationIter::advance(const GTimeVal *current_time)
-{
- return gdk_pixbuf_animation_iter_advance(gdk_pixbuf_animation_iter(), current_time);
-}
-
-/* Gdk::PixbufAnimation
- */
-
-Gdk::PixbufAnimation::PixbufAnimation(GdkPixbufAnimation *pixbuf_animation, bool owns_reference)
-: G::Object((GObject*)pixbuf_animation, owns_reference)
-{
-}
-
-Gdk::PixbufAnimation::~PixbufAnimation()
-{
-}
-
-Pointer<Gdk::PixbufAnimation>
-Gdk::PixbufAnimation::create(const char *filename, G::Error *error)
-{
- return G::Object::wrap_new<PixbufAnimation>(gdk_pixbuf_animation_new_from_file(filename, *error), true);
-}
-
-Pointer<Gdk::PixbufAnimation>
-Gdk::PixbufAnimation::create(const String& filename, G::Error *error)
-{
- return create(filename.c_str(), error);
-}
-
-Gdk::Pixbuf*
-Gdk::PixbufAnimation::get_static_image() const
-{
- return G::Object::wrap<Pixbuf>(gdk_pixbuf_animation_get_static_image(gdk_pixbuf_animation()));
-}
-
-Pointer<Gdk::PixbufAnimationIter>
-Gdk::PixbufAnimation::get_iter(const GTimeVal *start_time) const
-{
- return G::Object::wrap_new<PixbufAnimationIter>(gdk_pixbuf_animation_get_iter(gdk_pixbuf_animation(), start_time), true);
-}
-
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-loader.cc b/libXFCui/xfc/gdk-pixbuf/pixbuf-loader.cc
deleted file mode 100755
index 40a6917..0000000
--- a/libXFCui/xfc/gdk-pixbuf/pixbuf-loader.cc
+++ /dev/null
@@ -1,207 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * pixbuf-loader.cc - GdkPixbufLoader C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "pixbuf-loader.hh"
-#include "pixbuf-loadersignals.hh"
-#include "pixbuf.hh"
-#include "pixbuf-animation.hh"
-#include "pixbuf-io.hh"
-#include "private/pixbuf-loaderclass.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-#include "../../../libXFCcore/xfc/glib/private/marshal.hh"
-
-using namespace Xfc;
-
-/* Gdk::PixbufLoader
- */
-
-Gdk::PixbufLoader::PixbufLoader(GdkPixbufLoader *pixbuf_loader, bool owns_reference)
-: G::Object((GObject*)pixbuf_loader, owns_reference)
-{
-}
-
-Gdk::PixbufLoader::PixbufLoader()
-: G::Object((GObject*)PixbufLoaderClass::create())
-{
-}
-
-Gdk::PixbufLoader::~PixbufLoader()
-{
-}
-
-Pointer<Gdk::PixbufLoader>
-Gdk::PixbufLoader::create_with_type(const char *image_type, G::Error *error)
-{
- return G::Object::wrap<PixbufLoader>(gdk_pixbuf_loader_new_with_type(image_type, *error));
-}
-
-Pointer<Gdk::PixbufLoader>
-Gdk::PixbufLoader::create_with_type(const String& image_type, G::Error *error)
-{
- return create_with_type(image_type.c_str(), error);
-}
-
-Pointer<Gdk::PixbufLoader>
-Gdk::PixbufLoader::create_with_mime_type(const char *mime_type, G::Error *error)
-{
- return G::Object::wrap<PixbufLoader>(gdk_pixbuf_loader_new_with_mime_type(mime_type, *error));
-}
-
-Pointer<Gdk::PixbufLoader>
-Gdk::PixbufLoader::create_with_mime_type(const String& mime_type, G::Error *error)
-{
- return create_with_mime_type(mime_type.c_str(), error);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::PixbufLoader::get_pixbuf() const
-{
- GdkPixbuf *pixbuf = gdk_pixbuf_loader_get_pixbuf(gdk_pixbuf_loader());
- return pixbuf ? G::Object::wrap_new<Pixbuf>(pixbuf) : 0;
-}
-
-Pointer<Gdk::PixbufAnimation>
-Gdk::PixbufLoader::get_animation() const
-{
- GdkPixbufAnimation *animation = gdk_pixbuf_loader_get_animation(gdk_pixbuf_loader());
- return animation ? G::Object::wrap_new<PixbufAnimation>(animation) : 0;
-}
-
-Pointer<Gdk::PixbufFormat>
-Gdk::PixbufLoader::get_format() const
-{
- return new PixbufFormat(gdk_pixbuf_loader_get_format(gdk_pixbuf_loader()));
-}
-
-bool
-Gdk::PixbufLoader::write(const unsigned char *buffer, size_t count, G::Error *error)
-{
- return gdk_pixbuf_loader_write(gdk_pixbuf_loader(), buffer, (gsize)count, *error);
-}
-
-bool
-Gdk::PixbufLoader::close(G::Error *error)
-{
- return gdk_pixbuf_loader_close(gdk_pixbuf_loader(), *error);
-}
-
-/* Gdk::PixbufLoaderClass
- */
-
-void
-Gdk::PixbufLoaderClass::init(GdkPixbufLoaderClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
- g_class->size_prepared = &size_prepared_proxy;
- g_class->area_prepared = &area_prepared_proxy;
- g_class->area_updated = &area_updated_proxy;
- g_class->closed = &closed_proxy;
-}
-
-GdkPixbufLoaderClass*
-Gdk::PixbufLoaderClass::get_parent_class(void *instance)
-{
- return static_cast<GdkPixbufLoaderClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gdk::PixbufLoaderClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GDK_TYPE_PIXBUF_LOADER, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gdk::PixbufLoaderClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gdk::PixbufLoaderClass::size_prepared_proxy(GdkPixbufLoader *loader, int width, int height)
-{
- PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
- if (signals)
- signals->on_size_prepared(width, height);
- else
- {
- GdkPixbufLoaderClass *g_class = get_parent_class(loader);
- if (g_class && g_class->size_prepared)
- g_class->size_prepared(loader, width, height);
- }
-}
-
-void
-Gdk::PixbufLoaderClass::area_prepared_proxy(GdkPixbufLoader *loader)
-{
- PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
- if (signals)
- signals->on_area_prepared();
- else
- {
- GdkPixbufLoaderClass *g_class = get_parent_class(loader);
- if (g_class && g_class->area_prepared)
- g_class->area_prepared(loader);
- }
-}
-
-void
-Gdk::PixbufLoaderClass::area_updated_proxy(GdkPixbufLoader *loader, int x, int y, int width, int height)
-{
- PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
- if (signals)
- signals->on_area_updated(x, y, width, height);
- else
- {
- GdkPixbufLoaderClass *g_class = PixbufLoaderClass::get_parent_class(loader);
- if (g_class && g_class->area_updated)
- g_class->area_updated(loader, x, y, width, height);
- }
-}
-
-void
-Gdk::PixbufLoaderClass::closed_proxy(GdkPixbufLoader *loader)
-{
- PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
- if (signals)
- signals->on_closed();
- else
- {
- GdkPixbufLoaderClass *g_class = PixbufLoaderClass::get_parent_class(loader);
- if (g_class && g_class->closed)
- g_class->closed(loader);
- }
-}
-
-/* Gdk::PixbufLoader signals
- */
-
-const Gdk::PixbufLoader::SizePreparedSignalType Gdk::PixbufLoader::size_prepared_signal("size_prepared", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Gdk::PixbufLoader::AreaPreparedSignalType Gdk::PixbufLoader::area_prepared_signal("area_prepared", (GCallback)&G::Marshal::void_callback);
-
-const Gdk::PixbufLoader::AreaUpdatedSignalType Gdk::PixbufLoader::area_updated_signal("area_updated", (GCallback)&G::Marshal::void_int_int_int_int_callback);
-
-const Gdk::PixbufLoader::ClosedSignalType Gdk::PixbufLoader::closed_signal("closed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf.cc b/libXFCui/xfc/gdk-pixbuf/pixbuf.cc
deleted file mode 100755
index 1caa026..0000000
--- a/libXFCui/xfc/gdk-pixbuf/pixbuf.cc
+++ /dev/null
@@ -1,410 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * pixbuf.cc - GdkPixbufFormat and GdkPixbuf C++ wrapper interface
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "pixbuf.hh"
-#include "../gdk/bitmap.hh"
-#include "../gdk/color.hh"
-#include "../gdk/drawable.hh"
-#include "../gdk/gc.hh"
-#include "../gdk/image.hh"
-#include "../gdk/pixmap.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-#include <gdk/gdkpixbuf.h>
-
-using namespace Xfc;
-
-/* Gdk::Pixbuf
- */
-
-Gdk::Pixbuf::Pixbuf(GdkPixbuf *pixbuf, bool owns_reference)
-: G::Object((GObject*)pixbuf, owns_reference)
-{
-}
-
-Gdk::Pixbuf::Pixbuf(const Pixbuf& src, int src_x, int src_y, int width, int height)
-: G::Object((GObject*)gdk_pixbuf_new_subpixbuf(src.gdk_pixbuf(), src_x, src_y, width, height))
-{
-}
-
-Gdk::Pixbuf::Pixbuf(const unsigned char *data, int width, int height, int rowstride, bool has_alpha,
-GdkPixbufDestroyNotify destroy_fn, gpointer destroy_fn_data, int bits_per_sample, Colorspace colorspace)
-: G::Object((GObject*)gdk_pixbuf_new_from_data(data, (GdkColorspace)colorspace, has_alpha, bits_per_sample, width, height,
- rowstride, destroy_fn, destroy_fn_data))
-{
-}
-
-Gdk::Pixbuf::Pixbuf(const char **data)
-: G::Object((GObject*)gdk_pixbuf_new_from_xpm_data(data))
-{
-}
-
-Gdk::Pixbuf::~Pixbuf()
-{
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(const char *filename, G::Error *error)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new_from_file(filename, *error), true);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(const String& filename, G::Error *error)
-{
- return create(filename.c_str(), error);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(const char *filename, int width, int height, bool preserve_aspect_ratio, G::Error *error)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new_from_file_at_scale(filename, width, height,
- preserve_aspect_ratio, *error), true);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(const String& filename, int width, int height, bool preserve_aspect_ratio, G::Error *error)
-{
- return create(filename.c_str(), width, height, preserve_aspect_ratio, error);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(int width, int height, bool has_alpha, int bits_per_sample, Colorspace colorspace)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new((GdkColorspace)colorspace, has_alpha, bits_per_sample, width, height), true);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(const Drawable& drawable, int x, int y, int width, int height, Colormap *colormap)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_get_from_drawable(0, drawable.gdk_drawable(), *colormap,
-
- x, y, 0, 0, width, height), true);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(const Image& image, int x, int y, int width, int height, Colormap *colormap)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_get_from_image(0, image.gdk_image(), *colormap,
- x, y, 0, 0, width, height), true);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::create(int data_length, const unsigned char *data, bool copy_pixels, G::Error *error)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new_from_inline(data_length, data, copy_pixels, *error), true);
-}
-
-bool
-Gdk::Pixbuf::get_from_drawable(const Drawable& src, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Colormap *colormap)
-{
- return gdk_pixbuf_get_from_drawable(gdk_pixbuf(), src.gdk_drawable(), *colormap, src_x, src_y, dest_x, dest_y, width, height);
-}
-
-bool
-Gdk::Pixbuf::get_from_image(const Image& src, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Colormap *colormap)
-{
- return gdk_pixbuf_get_from_image(gdk_pixbuf(), src.gdk_image(), *colormap, src_x, src_y, dest_x, dest_y, width, height);
-}
-
-String
-Gdk::Pixbuf::get_option(const char *key) const
-{
- return gdk_pixbuf_get_option(gdk_pixbuf(), key);
-}
-
-String
-Gdk::Pixbuf::get_option(const String& key) const
-{
- return gdk_pixbuf_get_option(gdk_pixbuf(), key.c_str());
-}
-
-namespace { // collect_save_options (copied from gdk-pixbuf-io.c)
-
-void collect_save_options (va_list opts, char ***keys, char ***vals)
-{
- char *key;
- char *val;
- int count = 0;
- *keys = 0;
- *vals = 0;
-
- char *next = va_arg (opts, char*);
- while (next)
- {
- key = next;
- val = va_arg (opts, char*);
-
- ++count;
-
- // woo, slow
- *keys = (char**)g_realloc (*keys, sizeof(char*) * (count + 1));
- *vals = (char**)g_realloc (*vals, sizeof(char*) * (count + 1));
-
- (*keys)[count-1] = g_strdup (key);
- (*vals)[count-1] = g_strdup (val);
-
- (*keys)[count] = 0;
- (*vals)[count] = 0;
-
- next = va_arg (opts, char*);
- }
-}
-
-} // collect_save_options
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::copy() const
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_copy(gdk_pixbuf()), true);
-}
-
-bool
-Gdk::Pixbuf::save(const String& filename, const char *type, G::Error *error, ...)
-{
- char **keys = 0;
- char **values = 0;
-
- va_list args;
- va_start (args, error);
- collect_save_options (args, &keys, &values);
- va_end (args);
-
- bool result = gdk_pixbuf_savev (gdk_pixbuf(), filename.c_str(), type, keys, values, *error);
-
- g_strfreev (keys);
- g_strfreev (values);
- return result;
-}
-
-bool
-Gdk::Pixbuf::save(const char *filename, const char *type, char **option_keys, char **option_values, G::Error *error)
-{
- return gdk_pixbuf_savev(gdk_pixbuf(), filename, type, option_keys, option_values, *error);
-}
-
-bool
-Gdk::Pixbuf::save(const String& filename, const char *type, char **option_keys, char **option_values, G::Error *error)
-{
- return save(filename.c_str(), type, option_keys, option_values, error);
-}
-
-namespace { // save_slot_callback
-
-gboolean save_slot_callback(const gchar *buffer, gsize count, GError **error, gpointer data)
-{
- Gdk::Pixbuf::SaveSlot& slot = *static_cast<Gdk::Pixbuf::SaveSlot*>(data);
- G::Error tmp_error(*error);
- return slot(buffer, count, &tmp_error);
-}
-
-} // namespace
-
-bool
-Gdk::Pixbuf::save(const SaveSlot& slot, const char *type, G::Error *error, ...)
-{
- char **keys = 0;
- char **values = 0;
-
- va_list args;
- va_start (args, error);
- collect_save_options (args, &keys, &values);
- va_end (args);
-
- SaveSlot tmp_slot(slot);
- bool result = gdk_pixbuf_save_to_callbackv(gdk_pixbuf(), &save_slot_callback, &tmp_slot, type, keys, values, *error);
-
- g_strfreev (keys);
- g_strfreev (values);
- return result;
-}
-
-bool
-Gdk::Pixbuf::save(const SaveSlot& slot, const char *type, char **option_keys, char **option_values, G::Error *error)
-{
- SaveSlot tmp_slot(slot);
- return gdk_pixbuf_save_to_callbackv(gdk_pixbuf(), &save_slot_callback, &tmp_slot, type,
- option_keys, option_values, *error);
-}
-
-bool
-Gdk::Pixbuf::save(char **buffer, size_t *buffer_size, const char *type, G::Error *error, ...)
-{
- char **keys = 0;
- char **values = 0;
-
- va_list args;
- va_start (args, error);
- collect_save_options (args, &keys, &values);
- va_end (args);
-
- bool result = gdk_pixbuf_save_to_bufferv(gdk_pixbuf(), buffer, (gsize*)buffer_size, type, keys, values, *error);
-
- g_strfreev (keys);
- g_strfreev (values);
- return result;
-}
-
-bool
-Gdk::Pixbuf::save(char **buffer, size_t *buffer_size, const char *type, char **keys, char **values, G::Error *error)
-{
- return gdk_pixbuf_save_to_bufferv(gdk_pixbuf(), buffer, buffer_size, type, keys, values, *error);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::add_alpha(bool substitute_color, unsigned char red, unsigned char green, unsigned char blue)
-{
- GdkPixbuf *pixbuf = gdk_pixbuf_add_alpha(gdk_pixbuf(), substitute_color, red, green, blue);
- return pixbuf ? G::Object::wrap_new<Gdk::Pixbuf>(pixbuf, true) : 0;
-}
-
-void
-Gdk::Pixbuf::copy_area(const Pixbuf& src, int src_x, int src_y, int width, int height, int dest_x, int dest_y)
-{
- gdk_pixbuf_copy_area(src.gdk_pixbuf(), src_x, src_y, width, height, gdk_pixbuf(), dest_x, dest_y);
-}
-
-void
-Gdk::Pixbuf::copy_area(const Pixbuf& src, const Rectangle& src_rect, int dest_x, int dest_y)
-{
- gdk_pixbuf_copy_area(src.gdk_pixbuf(), src_rect.x(), src_rect.y(), src_rect.width(),
- src_rect.height(), gdk_pixbuf(), dest_x, dest_y);
-}
-
-void
-Gdk::Pixbuf::saturate_and_pixelate(const Pixbuf& src, float saturation, bool pixelate)
-{
- gdk_pixbuf_saturate_and_pixelate(src.gdk_pixbuf(), gdk_pixbuf(), saturation, pixelate);
-}
-
-void
-Gdk::Pixbuf::saturate_and_pixelate(float saturation, bool pixelate)
-{
- gdk_pixbuf_saturate_and_pixelate(gdk_pixbuf(), gdk_pixbuf(), saturation, pixelate);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::scale_simple(int width, int height, InterpType interp_type)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_scale_simple(gdk_pixbuf(), width, height,
- (GdkInterpType)interp_type), true);
-}
-
-void
-Gdk::Pixbuf::scale(const Pixbuf& src, int dest_x, int dest_y, int dest_width, int dest_height,
- double offset_x, double offset_y, double scale_x, double scale_y, InterpType interp_type)
-{
- gdk_pixbuf_scale(src.gdk_pixbuf(), gdk_pixbuf(), dest_x, dest_y, dest_width, dest_height,
- offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type);
-}
-
-void
-Gdk::Pixbuf::scale(const Pixbuf& src, const Rectangle& dest_rect, double offset_x, double offset_y,
- double scale_x, double scale_y, InterpType interp_type)
-{
- gdk_pixbuf_scale(src.gdk_pixbuf(), gdk_pixbuf(), dest_rect.x(), dest_rect.y(), dest_rect.width(),
- dest_rect.height(), offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::composite_color_simple(int width, int height, InterpType interp_type, int overall_alpha,
- int check_size, unsigned int color1, unsigned int color2)
-{
- return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_composite_color_simple(gdk_pixbuf(),
- width, height, (GdkInterpType)interp_type,
- overall_alpha, check_size, color1, color2), true);
-}
-
-void
-Gdk::Pixbuf::composite(const Pixbuf& src, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x,
- double offset_y, double scale_x, double scale_y, InterpType interp_type, int overall_alpha)
-{
- gdk_pixbuf_composite(src.gdk_pixbuf(), gdk_pixbuf(), dest_x, dest_y, dest_width, dest_height,
- offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type, overall_alpha);
-}
-
-void
-Gdk::Pixbuf::composite(const Pixbuf& src, const Rectangle& dest_rect, double offset_x, double offset_y,
- double scale_x, double scale_y, InterpType interp_type, int overall_alpha)
-{
- gdk_pixbuf_composite(src.gdk_pixbuf(), gdk_pixbuf(), dest_rect.x(), dest_rect.y(),
- dest_rect.width(), dest_rect.height(), offset_x, offset_y,
- scale_x, scale_y, (GdkInterpType)interp_type, overall_alpha);
-}
-
-void
-Gdk::Pixbuf::composite_color(const Pixbuf& src, int dest_x, int dest_y, int dest_width, int dest_height,
- double offset_x, double offset_y, double scale_x, double scale_y,
- InterpType interp_type, int overall_alpha, int check_x, int check_y,
- int check_size, unsigned int color1, unsigned int color2)
-{
- gdk_pixbuf_composite_color(src.gdk_pixbuf(), gdk_pixbuf(), dest_x, dest_y, dest_width, dest_height,
- offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type,
- overall_alpha, check_x, check_y, check_size, color1, color2);
-}
-
-void
-Gdk::Pixbuf::composite_color(const Pixbuf& src, const Rectangle& dest_rect, double offset_x, double offset_y,
- double scale_x, double scale_y, InterpType interp_type, int overall_alpha,
- const Point& check_offset, int check_size, unsigned int color1, unsigned int color2)
-{
- gdk_pixbuf_composite_color(src.gdk_pixbuf(), gdk_pixbuf(), dest_rect.x(), dest_rect.y(),
- dest_rect.width(), dest_rect.height(), offset_x, offset_y,
- scale_x, scale_y, (GdkInterpType)interp_type, overall_alpha,
- check_offset.x(), check_offset.y(), check_size, color1, color2);
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::rotate_simple(PixbufRotation angle)
-{
- GdkPixbuf *pixbuf = gdk_pixbuf_rotate_simple(gdk_pixbuf(), (GdkPixbufRotation)angle);
- return pixbuf ? G::Object::wrap_new<Gdk::Pixbuf>(pixbuf, true) : 0;
-}
-
-Pointer<Gdk::Pixbuf>
-Gdk::Pixbuf::flip(bool horizontal)
-{
- GdkPixbuf *pixbuf = gdk_pixbuf_flip(gdk_pixbuf(), horizontal);
- return pixbuf ? G::Object::wrap_new<Gdk::Pixbuf>(pixbuf, true) : 0;
-}
-
-void
-Gdk::Pixbuf::render_threshold_alpha(Bitmap& bitmap, int src_x, int src_y, int dest_x, int dest_y,
- int width, int height, int alpha_threshold)
-{
- gdk_pixbuf_render_threshold_alpha(gdk_pixbuf(), bitmap.gdk_bitmap(), src_x, src_y,
- dest_x, dest_y, width, height, alpha_threshold);
-}
-
-void
-Gdk::Pixbuf::render_pixmap_and_mask(Pointer<Pixmap> *pixmap_return, Pointer<Bitmap> *mask_return,
- int alpha_threshold, Colormap *colormap)
-{
- GdkPixmap *pixmap = 0;
- GdkBitmap *mask = 0;
- GdkColormap *cmap = colormap ? colormap->gdk_colormap() : gdk_rgb_get_colormap();
- gdk_pixbuf_render_pixmap_and_mask_for_colormap(gdk_pixbuf(), cmap, &pixmap, &mask, alpha_threshold);
-
- if (pixmap_return)
- *pixmap_return = G::Object::wrap_new<Pixmap>(pixmap, true);
-
- if (mask_return)
- *mask_return = G::Object::wrap_new<Bitmap>(mask, true);
-}
-
diff --git a/libXFCui/xfc/gdk/marshal.cc b/libXFCui/xfc/gdk/marshal.cc
deleted file mode 100644
index 56b5c8c..0000000
--- a/libXFCui/xfc/gdk/marshal.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * marshal.cc - GObject signal callback functions.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <gdk/gdk.h>
-#include <sigc++/sigc++.h>
-#include "private/marshal.hh"
-#include "display.hh"
-#include "../../../libXFCcore/xfc/glib/private/connection.hh"
-
-using namespace Xfc;
-
-/* Gdk::Marshal::void_display_callback
- */
-
-void
-Gdk::Marshal::void_display_callback(void *data, GdkDisplay *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Display&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<Display>(arg));
- }
-}
diff --git a/libXFCui/xfc/gdk/screen.cc b/libXFCui/xfc/gdk/screen.cc
deleted file mode 100644
index 99c1e11..0000000
--- a/libXFCui/xfc/gdk/screen.cc
+++ /dev/null
@@ -1,226 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * screen.cc - GdkScreen C++ wrapper interface
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "screen.hh"
-#include "screensignals.hh"
-#include "color.hh"
-#include "display.hh"
-#include "events.hh"
-#include "visual.hh"
-#include "window.hh"
-#include "private/marshal.hh"
-#include "private/screenclass.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Gdk::Screen
- */
-
-Gdk::Screen::Screen(GdkScreen *screen, bool owns_reference)
-: G::Object((GObject*)screen, owns_reference)
-{
-}
-
-Gdk::Screen::~Screen()
-{
-}
-
-Gdk::Screen*
-Gdk::Screen::get_default()
-{
- return G::Object::wrap<Screen>(gdk_screen_get_default());
-}
-
-Gdk::Colormap*
-Gdk::Screen::get_default_colormap() const
-{
- return G::Object::wrap<Colormap>(gdk_screen_get_default_colormap(gdk_screen()));
-}
-
-Gdk::Colormap*
-Gdk::Screen::get_system_colormap() const
-{
- return G::Object::wrap<Colormap>(gdk_screen_get_system_colormap(gdk_screen()));
-}
-
-const Gdk::Visual*
-Gdk::Screen::get_system_visual() const
-{
- return G::Object::wrap<Visual>(gdk_screen_get_system_visual(gdk_screen()));
-}
-
-Gdk::Window*
-Gdk::Screen::get_root_window() const
-{
- return G::Object::wrap<Window>(gdk_screen_get_root_window(gdk_screen()));
-}
-
-Gdk::Display*
-Gdk::Screen::get_display() const
-{
- return G::Object::wrap<Display>(gdk_screen_get_display(gdk_screen()));
-}
-
-bool
-Gdk::Screen::list_visuals(std::vector<const Visual*>& visuals) const
-{
- g_return_val_if_fail(visuals.empty(), false);
- GList *first = gdk_screen_list_visuals(gdk_screen());
- GList *next = first;
-
- while (next)
- {
- visuals.push_back(G::Object::wrap<Visual>((GdkVisual*)next->data));
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return !visuals.empty();
-}
-
-bool
-Gdk::Screen::get_toplevels(std::vector<Window*>& toplevels) const
-{
- g_return_val_if_fail(toplevels.empty(), false);
- GList *first = gdk_screen_get_toplevel_windows(gdk_screen());
- GList *next = first;
-
- while (next)
- {
- toplevels.push_back(G::Object::wrap<Window>((GdkWindow*)next->data));
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return !toplevels.empty();
-}
-
-String
-Gdk::Screen::make_display_name() const
-{
- char *name = gdk_screen_make_display_name(gdk_screen());
- String s(name);
- g_free(name);
- return s;
-}
-
-void
-Gdk::Screen::get_monitor_geometry(int monitor_num, Rectangle& dest) const
-{
- return gdk_screen_get_monitor_geometry(gdk_screen(), monitor_num, dest.gdk_rectangle());
-}
-
-Gdk::Rectangle
-Gdk::Screen::get_monitor_geometry(int monitor_num) const
-{
- GdkRectangle rectangle;
- gdk_screen_get_monitor_geometry(gdk_screen(), monitor_num, &rectangle);
- return rectangle;
-}
-
-int
-Gdk::Screen::get_monitor_at_point(const Point& point) const
-{
- return gdk_screen_get_monitor_at_point(gdk_screen(), point.x(), point.y());
-}
-
-int
-Gdk::Screen::get_monitor_at_window(const Window& window) const
-{
- return gdk_screen_get_monitor_at_window(gdk_screen(), window.gdk_window());
-}
-
-bool
-Gdk::Screen::get_setting(const char *name, G::Value& value) const
-{
- return gdk_screen_get_setting(gdk_screen(), name, value.g_value());
-}
-
-bool
-Gdk::Screen::get_setting(const String& name, G::Value& value) const
-{
- return gdk_screen_get_setting(gdk_screen(), name.c_str(), value.g_value());
-}
-
-void
-Gdk::Screen::set_default_colormap(Colormap& colormap)
-{
- gdk_screen_set_default_colormap(gdk_screen(), colormap.gdk_colormap());
-}
-
-void
-Gdk::Screen::broadcast_client_message(Event& event)
-{
- gdk_screen_broadcast_client_message(gdk_screen(), event.gdk_event());
-}
-
-/* Gdk::ScreenClass
- */
-
-void
-Gdk::ScreenClass::init(GdkScreenClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
- g_class->size_changed = &size_changed_proxy;
-}
-
-GdkScreenClass*
-Gdk::ScreenClass::get_parent_class(void *instance)
-{
- return static_cast<GdkScreenClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gdk::ScreenClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GDK_TYPE_SCREEN, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gdk::ScreenClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gdk::ScreenClass::size_changed_proxy(GdkScreen *screen)
-{
- ScreenSignals *signals = dynamic_cast<ScreenSignals*>(G::ObjectSignals::pointer((GObject*)screen));
- if (signals)
- signals->on_size_changed();
- else
- {
- GdkScreenClass *g_class = get_parent_class(screen);
- if (g_class && g_class->size_changed)
- g_class->size_changed(screen);
- }
-}
-
-/* Gdk::Screen signals
- */
-
-const Gdk::Screen::SizeChangedSignalType Gdk::Screen::size_changed_signal("size_changed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gdk/spawn.cc b/libXFCui/xfc/gdk/spawn.cc
deleted file mode 100644
index 1b72a23..0000000
--- a/libXFCui/xfc/gdk/spawn.cc
+++ /dev/null
@@ -1,146 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * spawn.cc - A C++ interface for the Gdk spawn functions.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "spawn.hh"
-#include "screen.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-#include <glib/gmem.h>
-#include <glib/gmessages.h>
-#include <glib/gshell.h>
-#include <glib/gstrfuncs.h>
-#include <cstring>
-
-extern char **environ;
-
-using namespace Xfc;
-
-/* Gdk::Spawn
- */
-
-namespace { // spawn_init
-
-void spawn_init(G::SpawnAsyncData **data)
-{
- *data = new G::SpawnAsyncData;
- memset(*data, 0, sizeof(G::SpawnAsyncData));
-}
-
-} // namespace
-
-Gdk::Spawn::Spawn(const std::vector<std::string>& argv, G::SpawnFlagsField flags)
-: G::Spawn(argv, flags)
-{
- spawn_init(&data_);
-}
-
-Gdk::Spawn::Spawn(const std::string& command_line, G::Error *error)
-: G::Spawn(command_line, error)
-{
- spawn_init(&data_);
-}
-
-Gdk::Spawn::~Spawn()
-{
- delete data_;
-}
-
-namespace { // make_environment_for_screen (copied from gdkspawn-x11.c)
-
-char**
-make_environment_for_screen(GdkScreen *screen, char **envp)
-{
- if (!envp)
- envp = environ;
-
- int env_len;
- int display_index = -1;
- for (env_len = 0; envp[env_len]; env_len++)
- {
- if (strncmp(envp[env_len], "DISPLAY", strlen("DISPLAY")) == 0)
- display_index = env_len;
- }
-
- char **retval = g_new(char*, env_len + 1);
- retval[env_len] = 0;
-
- char *display_name = gdk_screen_make_display_name(screen);
-
- int i;
- for (i = 0; i < env_len; i++)
- {
- if (i == display_index)
- retval[i] = g_strconcat("DISPLAY=", display_name, NULL);
- else
- retval[i] = g_strdup(envp[i]);
- }
-
- g_assert(i == env_len);
- g_free(display_name);
- return retval;
-}
-
-} //namespace
-
-bool
-Gdk::Spawn::execute(const Screen& screen, G::Error *error)
-{
- char **new_envp = make_environment_for_screen(screen.gdk_screen(), get_envp());
- bool result = g_spawn_async_with_pipes(get_working_directory(), get_argv(), new_envp, get_flags(),
- 0, 0, &data_->child_pid, 0, 0, 0, *error);
- g_strfreev(new_envp);
- return result;
-}
-
-namespace { // spawn_child_setup_slot_callback
-
-void spawn_child_setup_slot_callback(gpointer user_data)
-{
- G::Spawn::ChildSetupSlot& slot = *static_cast<G::Spawn::ChildSetupSlot*>(user_data);
- slot();
-}
-
-} // namespace
-
-bool
-Gdk::Spawn::execute(const Screen& screen, const ChildSetupSlot& slot, G::Error *error)
-{
- char **new_envp = make_environment_for_screen(screen.gdk_screen(), get_envp());
- ChildSetupSlot tmp_slot(slot);
- bool result = g_spawn_async_with_pipes(get_working_directory(), get_argv(), new_envp, get_flags(),
- &spawn_child_setup_slot_callback, &tmp_slot, &data_->child_pid,
- 0, 0, 0, *error);
- g_strfreev(new_envp);
- return result;
-}
-
-bool
-Gdk::Spawn::execute(const Screen& screen, const ChildSetupSlot& slot, int *std_input , int *std_output, int *std_error, G::Error *error)
-{
- char **new_envp = make_environment_for_screen(screen.gdk_screen(), get_envp());
- ChildSetupSlot tmp_slot(slot);
- bool result = g_spawn_async_with_pipes(get_working_directory(), get_argv(), new_envp, get_flags(),
- &spawn_child_setup_slot_callback, &tmp_slot, &data_->child_pid,
- (get_flags() & G_SPAWN_CHILD_INHERITS_STDIN) ? 0 : std_input,
- (get_flags() & G_SPAWN_STDOUT_TO_DEV_NULL) ? 0 : std_output,
- (get_flags() & G_SPAWN_STDERR_TO_DEV_NULL) ? 0 : std_error, *error);
- g_strfreev(new_envp);
- return result;
-}
-
diff --git a/libXFCui/xfc/gtk/aboutdialog.cc b/libXFCui/xfc/gtk/aboutdialog.cc
deleted file mode 100644
index f9cb64a..0000000
--- a/libXFCui/xfc/gtk/aboutdialog.cc
+++ /dev/null
@@ -1,300 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2005 The XFC Development Team.
- *
- * aboutdialog.cc - GtkAboutDialog C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "aboutdialog.hh"
-#include "private/aboutdialogclass.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../../../libXFCcore/xfc/convert.hh"
-
-using namespace Xfc;
-
-/* Gtk::AboutDialog
- */
-
-Gtk::AboutDialog::AboutDialog(GtkAboutDialog *about, bool owns_reference)
-: Dialog((GtkDialog*)about, owns_reference)
-{
-}
-
-Gtk::AboutDialog::AboutDialog()
-: Dialog((GtkDialog*)gtk_about_dialog_new())
-{
-}
-
-Gtk::AboutDialog::AboutDialog(const char *name, const char *version)
-: Dialog((GtkDialog*)gtk_about_dialog_new())
-{
- g_object_set(g_object(), "name", name, "version", version, 0);
-}
-
-Gtk::AboutDialog::AboutDialog(const String& name, const String& version)
-: Dialog((GtkDialog*)gtk_about_dialog_new())
-{
- g_object_set(g_object(), "name", name.c_str(), "version", version.c_str(), 0);
-}
-
-Gtk::AboutDialog::AboutDialog(const char *name, const char *version, const char *copyright, Gdk::Pixbuf *logo)
-: Dialog((GtkDialog*)gtk_about_dialog_new())
-{
- g_object_set(g_object(), "name", name, "version", version, "copyright", copyright, "logo", logo->gdk_pixbuf(), 0);
-}
-
-Gtk::AboutDialog::AboutDialog(const String& name, const String& version, const String& copyright, Gdk::Pixbuf *logo)
-: Dialog((GtkDialog*)gtk_about_dialog_new())
-{
- g_object_set(g_object(), "name", name.c_str(), "version", version.c_str(), "copyright", copyright.c_str(), "logo", logo->gdk_pixbuf(), 0);
-}
-
-Gtk::AboutDialog::~AboutDialog()
-{
-}
-
-String
-Gtk::AboutDialog::get_name() const
-{
- return gtk_about_dialog_get_name(gtk_about_dialog());
-}
-
-String
-Gtk::AboutDialog::get_version() const
-{
- return gtk_about_dialog_get_version(gtk_about_dialog());
-}
-
-String
-Gtk::AboutDialog::get_copyright() const
-{
- return gtk_about_dialog_get_copyright(gtk_about_dialog());
-}
-
-String
-Gtk::AboutDialog::get_comments() const
-{
- return gtk_about_dialog_get_comments(gtk_about_dialog());
-}
-
-String
-Gtk::AboutDialog::get_license() const
-{
- return gtk_about_dialog_get_license(gtk_about_dialog());
-}
-
-String
-Gtk::AboutDialog::get_website() const
-{
- return gtk_about_dialog_get_website(gtk_about_dialog());
-}
-
-String
-Gtk::AboutDialog::get_website_label() const
-{
- return gtk_about_dialog_get_website_label(gtk_about_dialog());
-}
-
-std::vector<String>
-Gtk::AboutDialog::get_authors() const
-{
- return array_to_vector_of_string(gtk_about_dialog_get_authors(gtk_about_dialog()));
-}
-
-std::vector<String>
-Gtk::AboutDialog::get_documenters() const
-{
- return array_to_vector_of_string(gtk_about_dialog_get_documenters(gtk_about_dialog()));
-}
-
-std::vector<String>
-Gtk::AboutDialog::get_artists() const
-{
- return array_to_vector_of_string(gtk_about_dialog_get_artists(gtk_about_dialog()));
-}
-
-String
-Gtk::AboutDialog::get_translator_credits() const
-{
- return gtk_about_dialog_get_translator_credits(gtk_about_dialog());
-}
-
-Gdk::Pixbuf*
-Gtk::AboutDialog::get_logo() const
-{
- GdkPixbuf *logo = gtk_about_dialog_get_logo(gtk_about_dialog());
- return G::Object::wrap<Gdk::Pixbuf>(logo);
-}
-
-String
-Gtk::AboutDialog::get_logo_icon_name() const
-{
- return gtk_about_dialog_get_logo_icon_name(gtk_about_dialog());
-}
-
-void
-Gtk::AboutDialog::set_name(const String& name)
-{
- set_name(name.c_str());
-}
-
-void
-Gtk::AboutDialog::set_version(const String& version)
-{
- set_version(version.c_str());
-}
-
-void
-Gtk::AboutDialog::set_copyright(const String& copyright)
-{
- set_copyright(copyright.c_str());
-}
-
-void
-Gtk::AboutDialog::set_comments(const String& comments)
-{
- set_comments(comments.c_str());
-}
-
-void
-Gtk::AboutDialog::set_license(const String& license)
-{
- set_license(license.c_str());
-}
-
-void
-Gtk::AboutDialog::set_website(const String& website)
-{
- set_website(website.c_str());
-}
-
-void
-Gtk::AboutDialog::set_website_label(const String& website_label)
-{
- set_website_label(website_label.c_str());
-}
-
-void
-Gtk::AboutDialog::set_authors(const std::vector<String>& authors)
-{
- char **tmp_authors = vector_of_string_to_array(authors);
- gtk_about_dialog_set_authors(gtk_about_dialog(), const_cast<const char**>(tmp_authors));
- delete [] tmp_authors;
-}
-
-void
-Gtk::AboutDialog::set_documenters(const std::vector<String>& documenters)
-{
- char **tmp_documenters = vector_of_string_to_array(documenters);
- gtk_about_dialog_set_documenters(gtk_about_dialog(), const_cast<const char**>(tmp_documenters));
- delete [] tmp_documenters;
-}
-
-void
-Gtk::AboutDialog::set_artists(const std::vector<String>& artists)
-{
- char **tmp_artists = vector_of_string_to_array(artists);
- gtk_about_dialog_set_artists(gtk_about_dialog(), const_cast<const char**>(tmp_artists));
- delete [] tmp_artists;
-}
-
-void
-Gtk::AboutDialog::set_translator_credits(const String& translator_credits)
-{
- set_translator_credits(translator_credits.c_str());
-}
-
-void
-Gtk::AboutDialog::set_logo(Gdk::Pixbuf *logo)
-{
- gtk_about_dialog_set_logo(gtk_about_dialog(), *logo);
-}
-
-void
-Gtk::AboutDialog::set_logo_icon_name(const String& icon_name)
-{
- set_logo_icon_name(icon_name.c_str());
-}
-
-namespace { // LinkCallback
-
-struct LinkCallback
-{
- typedef Gtk::AboutDialog::ActivateLinkSlot ActivateLinkSlot;
- ActivateLinkSlot slot_;
-
- LinkCallback(const ActivateLinkSlot& slot)
- : slot_(slot)
- {
- }
-
- static void notify(GtkAboutDialog *about, const char *link, void *data)
- {
- LinkCallback *cb = static_cast<LinkCallback*>(data);
- Gtk::AboutDialog *tmp_about = G::Object::wrap<Gtk::AboutDialog>(about);
- String s(link);
- cb->slot_(*tmp_about, s);
- }
-
- static void destroy(void *data)
- {
- LinkCallback *cb = static_cast<LinkCallback*>(data);
- delete cb;
- }
-};
-
-} // namespace
-
-void
-Gtk::AboutDialog::set_email_hook(const ActivateLinkSlot& slot)
-{
- LinkCallback *cb = new LinkCallback(slot);
- gtk_about_dialog_set_email_hook(&LinkCallback::notify, cb, &LinkCallback::destroy);
-}
-
-void
-Gtk::AboutDialog::set_url_hook(const ActivateLinkSlot& slot)
-{
- LinkCallback *cb = new LinkCallback(slot);
- gtk_about_dialog_set_url_hook(&LinkCallback::notify, cb, &LinkCallback::destroy);
-}
-
-/* Gtk::AboutDialogClass
- */
-
-void
-Gtk::AboutDialogClass::init(GtkAboutDialogClass *g_class)
-{
- DialogClass::init((GtkDialogClass*)g_class);
-}
-
-GType
-Gtk::AboutDialogClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_ABOUT_DIALOG, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::AboutDialogClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
diff --git a/libXFCui/xfc/gtk/accelmap.cc b/libXFCui/xfc/gtk/accelmap.cc
deleted file mode 100755
index 86095b4..0000000
--- a/libXFCui/xfc/gtk/accelmap.cc
+++ /dev/null
@@ -1,129 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * accelmap.cc - GtkAccelMap C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "accelmap.hh"
-#include "private/marshal.hh"
-#include "../../../libXFCcore/xfc/glib/scanner.hh"
-
-using namespace Xfc;
-
-/* Gtk::AccelMap
- */
-
-Gtk::AccelMap::AccelMap(GtkAccelMap *map, bool owns_reference)
-: G::Object((GObject*)map, owns_reference)
-{
-}
-
-Gtk::AccelMap::~AccelMap()
-{
-}
-
-Gtk::AccelMap*
-Gtk::AccelMap::get()
-{
- return G::Object::wrap<AccelMap>(gtk_accel_map_get());
-}
-
-bool
-Gtk::AccelMap::lookup_entry(const String& accel_path, AccelKey *accel_key)
-{
- return gtk_accel_map_lookup_entry(accel_path.c_str(), *accel_key);
-}
-
-void
-Gtk::AccelMap::add_entry(const char *accel_path, const AccelKey& accel_key)
-{
- gtk_accel_map_add_entry(accel_path, accel_key.key(), GdkModifierType(accel_key.mods()));
-}
-
-void
-Gtk::AccelMap::add_entry(const String& accel_path, const AccelKey& accel_key)
-{
- gtk_accel_map_add_entry(accel_path.c_str(), accel_key.key(), GdkModifierType(accel_key.mods()));
-}
-
-bool
-Gtk::AccelMap::change_entry(const char *accel_path, const AccelKey& accel_key, bool replace)
-{
- return gtk_accel_map_change_entry(accel_path, accel_key.key(), GdkModifierType(accel_key.mods()), replace);
-}
-
-bool
-Gtk::AccelMap::change_entry(const String& accel_path, const AccelKey& accel_key, bool replace)
-{
- return gtk_accel_map_change_entry(accel_path.c_str(), accel_key.key(), GdkModifierType(accel_key.mods()), replace);
-}
-
-void
-Gtk::AccelMap::load(const String& filename)
-{
- gtk_accel_map_load(filename.c_str());
-}
-
-void
-Gtk::AccelMap::load(G::Scanner& scanner)
-{
- gtk_accel_map_load_scanner(scanner.g_scanner());
-}
-
-void
-Gtk::AccelMap::save(const String& filename)
-{
- gtk_accel_map_save(filename.c_str());
-}
-
-namespace {
-
-void accel_map_foreach_slot(gpointer data, const char *accel_path, guint accel_key, GdkModifierType accel_mods, gboolean changed)
-{
- Gtk::AccelMap::ForeachSlot& slot = *static_cast<Gtk::AccelMap::ForeachSlot*>(data);
- Gtk::AccelKey tmp_accel_key(accel_key, (Gdk::ModifierTypeField)accel_mods);
- String tmp_accel_path(accel_path);
- slot(tmp_accel_path, tmp_accel_key, changed);
-}
-
-} // namespace
-
-void
-Gtk::AccelMap::foreach(const ForeachSlot& slot)
-{
- ForeachSlot tmp_slot(slot);
- gtk_accel_map_foreach(&tmp_slot, &accel_map_foreach_slot);
-}
-
-void
-Gtk::AccelMap::lock_path(const String& accel_path)
-{
- gtk_accel_map_lock_path(accel_path.c_str());
-}
-
-void
-Gtk::AccelMap::unlock_path(const String& accel_path)
-{
- gtk_accel_map_unlock_path(accel_path.c_str());
-}
-
-/* Gtk::AccelMap signals
- */
-
-const Gtk::AccelMap::ChangedSignalType Gtk::AccelMap::changed_signal("changed",(GCallback)&Marshal::void_string_uint_gdkmodifiertype_callback);
-
-
diff --git a/libXFCui/xfc/gtk/actiongroup.cc b/libXFCui/xfc/gtk/actiongroup.cc
deleted file mode 100644
index c6980a1..0000000
--- a/libXFCui/xfc/gtk/actiongroup.cc
+++ /dev/null
@@ -1,312 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * actiongroup.cc - GtkActionGroup C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "actiongroup.hh"
-#include "private/actiongroupclass.hh"
-#include "private/marshal.hh"
-#include "accelmap.hh"
-#include "stock.hh"
-#include "../../../libXFCcore/xfc/glib/quark.hh"
-
-using namespace Xfc;
-
-namespace { // AccelKeyQuark
-
-const G::Quark AccelKeyQuark("gfc_action_accel_key");
-
-} // namespace
-
-/* Gtk::ActionGroup
- */
-
-Gtk::ActionGroup::ActionGroup(GtkActionGroup *action_group, bool owns_reference)
-: G::Object((GObject*)action_group, owns_reference)
-{
-}
-
-Gtk::ActionGroup::ActionGroup(const char *name)
-: G::Object((GObject*)ActionGroupClass::create(name))
-{
-}
-
-Gtk::ActionGroup::ActionGroup(const String& name)
-: G::Object((GObject*)ActionGroupClass::create(name.c_str()))
-{
-}
-
-Gtk::ActionGroup::~ActionGroup()
-{
-}
-
-String
-Gtk::ActionGroup::get_name() const
-{
- return gtk_action_group_get_name(gtk_action_group());
-}
-
-Gtk::Action*
-Gtk::ActionGroup::get_action(const char *action_name)
-{
- return G::Object::wrap<Action>(gtk_action_group_get_action(gtk_action_group(), action_name));
-}
-
-Gtk::Action*
-Gtk::ActionGroup::get_action(const String &action_name)
-{
- return get_action(action_name.c_str());
-}
-
-bool
-Gtk::ActionGroup::list_actions(std::vector<Action*>& actions) const
-{
- g_return_val_if_fail(actions.empty(), false);
- GList *first = gtk_action_group_list_actions(gtk_action_group());
- GList *next = first;
-
- while (next)
- {
- actions.push_back(G::Object::wrap<Action>((GtkAction*)next->data));
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return !actions.empty();
-}
-
-void
-Gtk::ActionGroup::add_action(Action& action)
-{
- gtk_action_group_add_action(gtk_action_group(), action.gtk_action());
-}
-
-void
-Gtk::ActionGroup::add_action(Action& action, const AccelKey& accel_key)
-{
- String path = "<Actions>/" + get_name() + "/" + action.get_name();
- Gtk::AccelMap::add_entry(path, accel_key);
- action.set_accel_path(path);
- gtk_action_group_add_action(gtk_action_group(), action.gtk_action());
-}
-
-void
-Gtk::ActionGroup::add_action(Action& action, const ActivateSlot& slot)
-{
- add_action(action);
- action.signal_activate().connect(slot);
-}
-
-void
-Gtk::ActionGroup::add_action(Action& action, const AccelKey& accel_key, const ActivateSlot& slot)
-{
- add_action(action, accel_key);
- action.signal_activate().connect(slot);
-}
-
-void
-Gtk::ActionGroup::add_action(RadioAction& action, const AccelKey& accel_key)
-{
- add_action(static_cast<Action&>(action), accel_key);
-}
-
-void
-Gtk::ActionGroup::add_action(RadioAction& action, const ChangedSlot& slot)
-{
- add_action(action);
- action.signal_changed().connect(slot);
-}
-
-void
-Gtk::ActionGroup::add_action(RadioAction& action, const AccelKey& accel_key, const ChangedSlot& slot)
-{
- add_action(action, accel_key);
- action.signal_changed().connect(slot);
-}
-
-void
-Gtk::ActionGroup::add_actions(const RadioActions& group, int value, const ChangedSlot& slot)
-{
- g_return_if_fail(!group.actions_.empty());
- for (unsigned int i = 0; i < group.actions_.size(); i++)
- {
- if (value == group.actions_[i]->get_value())
- group.actions_[i]->set_active(true);
- AccelKey *accel_key = reinterpret_cast<AccelKey*>(group.actions_[i]->get_data(AccelKeyQuark));
- if (accel_key)
- add_action(*group.actions_[i], *accel_key);
- else
- add_action(*group.actions_[i]);
- }
- group.actions_[0]->signal_changed().connect(slot);
-}
-
-void
-Gtk::ActionGroup::remove_action(Action& action)
-{
- gtk_action_group_remove_action(gtk_action_group(), action.gtk_action());
-}
-
-Gtk::Action*
-Gtk::ActionGroup::add(const char *name, const char *label, const char *tooltip)
-{
- Action *action = new Action(name, label);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action);
- action->unref();
- return action;
-}
-
-Gtk::Action*
-Gtk::ActionGroup::add(const char *name, const char *label, const AccelKey& accel_key, const char *tooltip)
-{
- Action *action = new Action(name, label);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action, accel_key);
- action->unref();
- return action;
-}
-
-Gtk::Action*
-Gtk::ActionGroup::add(const char *name, const StockId& stock_id, const char *tooltip)
-{
- return add(name, 0, stock_id, tooltip);
-}
-
-Gtk::Action*
-Gtk::ActionGroup::add(const char *name, const StockId& stock_id, const AccelKey& accel_key, const char *tooltip)
-{
- return add(name, 0, stock_id, accel_key, tooltip);
-}
-
-Gtk::Action*
-Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, const char *tooltip)
-{
- Action *action = new Action(name, label, stock_id);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action);
- action->unref();
- return action;
-}
-
-Gtk::Action*
-Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, const AccelKey& accel_key, const char *tooltip)
-{
- Action *action = new Action(name, label, stock_id);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action, accel_key);
- action->unref();
- return action;
-}
-
-Gtk::ToggleAction*
-Gtk::ActionGroup::add(const char *name, const char *label, bool is_active, const char *tooltip)
-{
- ToggleAction *action = new ToggleAction(name, label, is_active);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action);
- action->unref();
- return action;
-}
-
-Gtk::ToggleAction*
-Gtk::ActionGroup::add(const char *name, const char *label, const AccelKey& accel_key, bool is_active, const char *tooltip)
-{
- ToggleAction *action = new ToggleAction(name, label, is_active);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action, accel_key);
- action->unref();
- return action;
-}
-
-Gtk::ToggleAction*
-Gtk::ActionGroup::add(const char *name, const StockId& stock_id, bool is_active, const char *tooltip)
-{
- return add(name, 0, stock_id, is_active, tooltip);
-}
-
-Gtk::ToggleAction*
-Gtk::ActionGroup::add(const char *name, const StockId& stock_id, const AccelKey& accel_key, bool is_active, const char *tooltip)
-{
- return add(name, 0, stock_id, accel_key, is_active, tooltip);
-}
-
-Gtk::ToggleAction*
-Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, bool is_active, const char *tooltip)
-{
- ToggleAction *action = new ToggleAction(name, label, stock_id, is_active);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action);
- action->unref();
- return action;
-}
-
-Gtk::ToggleAction*
-Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, const AccelKey& accel_key, bool is_active, const char *tooltip)
-{
- ToggleAction *action = new ToggleAction(name, label, stock_id, is_active);
- if (tooltip)
- action->set_tooltip(tooltip);
- add_action(*action, accel_key);
- action->unref();
- return action;
-}
-
-/* Gtk::ActionGroupClass
- */
-
-void
-Gtk::ActionGroupClass::init(GtkActionGroupClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::ActionGroupClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_ACTION_GROUP, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::ActionGroupClass::create(const char *name)
-{
- return g_object_new(get_type(), "name", name, 0);
-}
-
-/* Gtk::ActionGroup signals
- */
-
-const Gtk::ActionGroup::ConnectProxySignalType Gtk::ActionGroup::connect_proxy_signal("connect_proxy", (GCallback)&Marshal::void_action_widget_callback);
-
-const Gtk::ActionGroup::DisconnectProxySignalType Gtk::ActionGroup::disconnect_proxy_signal("disconnect_proxy", (GCallback)&Marshal::void_action_widget_callback);
-
-const Gtk::ActionGroup::PreActivateSignalType Gtk::ActionGroup::pre_activate_signal("pre_activate", (GCallback)&Marshal::void_action_callback);
-
-const Gtk::ActionGroup::PostActivateSignalType Gtk::ActionGroup::post_activate_signal("post_activate", (GCallback)&Marshal::void_action_callback);
diff --git a/libXFCui/xfc/gtk/celleditable.cc b/libXFCui/xfc/gtk/celleditable.cc
deleted file mode 100755
index 33172da..0000000
--- a/libXFCui/xfc/gtk/celleditable.cc
+++ /dev/null
@@ -1,98 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * celleditable.cc - GtkCellEditable C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "celleditable.hh"
-#include "celleditablesignals.hh"
-#include "private/celleditableiface.hh"
-#include "private/marshal.hh"
-#include "../gdk/events.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-
-using namespace Xfc;
-
-/* Gtk::CellEditable
- */
-
-Gtk::CellEditable::CellEditable()
-{
-}
-
-Gtk::CellEditable::~CellEditable()
-{
-}
-
-void
-Gtk::CellEditable::start_editing(const Gdk::Event *event)
-{
- gtk_cell_editable_start_editing(gtk_cell_editable(), *event);
-}
-
-/* Gtk::CellEditableIface
- */
-
-void
-Gtk::CellEditableIface::init(GtkCellEditableIface *g_iface)
-{
- g_iface->editing_done = &editing_done_proxy;
- g_iface->remove_widget = &remove_widget_proxy;
-}
-
-GtkCellEditableIface*
-Gtk::CellEditableIface::get_parent_iface(void *instance)
-{
- return static_cast<GtkCellEditableIface*>(g_type_interface_peek_parent(GTK_CELL_EDITABLE_GET_IFACE(instance)));
-}
-
-void
-Gtk::CellEditableIface::editing_done_proxy(GtkCellEditable *cell_editable)
-{
- CellEditableSignals *signals = dynamic_cast<CellEditableSignals*>(G::ObjectSignals::pointer((GObject*)cell_editable));
- if (signals)
- signals->on_editing_done();
- else
- {
- GtkCellEditableIface *g_iface = get_parent_iface(cell_editable);
- if (g_iface && g_iface->editing_done)
- g_iface->editing_done(cell_editable);
- }
-}
-
-void
-Gtk::CellEditableIface::remove_widget_proxy(GtkCellEditable *cell_editable)
-{
- CellEditableSignals *signals = dynamic_cast<CellEditableSignals*>(G::ObjectSignals::pointer((GObject*)cell_editable));
- if (signals)
- signals->on_remove_widget();
- else
- {
- GtkCellEditableIface *g_iface = get_parent_iface(cell_editable);
- if (g_iface && g_iface->remove_widget)
- g_iface->remove_widget(cell_editable);
- }
-}
-
-/* Gtk::CellEditable signals
- */
-
-const Gtk::CellEditable::EditingDoneSignalType Gtk::CellEditable::editing_done_signal("editing_done", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::CellEditable::RemoveWidgetSignalType Gtk::CellEditable::remove_widget_signal("remove_widget", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gtk/dialog.cc b/libXFCui/xfc/gtk/dialog.cc
deleted file mode 100755
index 8f88aa3..0000000
--- a/libXFCui/xfc/gtk/dialog.cc
+++ /dev/null
@@ -1,239 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * dialog.cc - GtkDialog C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "dialog.hh"
-#include "dialogsignals.hh"
-#include "box.hh"
-#include "button.hh"
-#include "buttonbox.hh"
-#include "stockid.hh"
-#include "private/dialogclass.hh"
-#include "private/marshal.hh"
-#include "../gdk/screen.hh"
-
-using namespace Xfc;
-
-/* Gtk::Dialog
- */
-
-Gtk::Dialog::Dialog(GtkDialog *dialog, bool owns_reference)
-: Window((GtkWindow*)dialog, owns_reference)
-{
-}
-
-Gtk::Dialog::Dialog()
-: Window((GtkWindow*)DialogClass::create())
-{
-}
-
-Gtk::Dialog::Dialog(const char *title, Window *parent, DialogFlagsField flags)
-: Window((GtkWindow*)DialogClass::create())
-{
- construct(title, parent, flags);
-}
-
-Gtk::Dialog::Dialog(const String& title, Window *parent, DialogFlagsField flags)
-: Window((GtkWindow*)DialogClass::create())
-{
- construct(title.c_str(), parent, flags);
-}
-
-Gtk::Dialog::~Dialog()
-{
-}
-
-void
-Gtk::Dialog::construct(const char *title, Gtk::Window *parent, Gtk::DialogFlagsField flags)
-{
- set_title(title);
- if (parent)
- set_transient_for(parent);
- if (flags & Gtk::DIALOG_MODAL)
- set_modal(true);
- if (flags & Gtk::DIALOG_DESTROY_WITH_PARENT)
- set_destroy_with_parent(true);
- if (flags & Gtk::DIALOG_NO_SEPARATOR)
- set_has_separator(false);
-}
-
-Gtk::VBox*
-Gtk::Dialog::client_area() const
-{
- return G::Object::wrap<VBox>((GtkVBox*)gtk_dialog()->vbox);
-}
-
-Gtk::HButtonBox*
-Gtk::Dialog::action_area() const
-{
- return G::Object::wrap<HButtonBox>((GtkHButtonBox*)gtk_dialog()->action_area);
-}
-
-bool
-Gtk::Dialog::alternative_button_order(const Gdk::Screen *screen)
-{
- return gtk_alternative_dialog_button_order(*screen);
-}
-
-void
-Gtk::Dialog::add_action_widget(Widget& child, int response_id)
-{
- gtk_dialog_add_action_widget(gtk_dialog(), child.gtk_widget(), response_id);
-}
-
-Gtk::Button*
-Gtk::Dialog::add_button(const char *button_text, int response_id)
-{
- return G::Object::wrap<Button>((GtkButton*)gtk_dialog_add_button(gtk_dialog(), button_text, response_id));
-}
-
-Gtk::Button*
-Gtk::Dialog::add_button(const String& button_text, int response_id)
-{
- return add_button(button_text.c_str(), response_id);
-}
-
-Gtk::Button*
-Gtk::Dialog::add_button(const StockId& stock_id, int response_id)
-{
- return add_button(stock_id.c_str(), response_id);
-}
-
-Gtk::Button*
-Gtk::Dialog::add_button(StockButtonType button_type)
-{
- char *stock_id = 0;
- int response_id;
-
- switch (button_type)
- {
- case STOCK_BUTTON_OK:
- stock_id = GTK_STOCK_OK;
- response_id = GTK_RESPONSE_OK;
- break;
-
- case STOCK_BUTTON_CANCEL:
- stock_id = GTK_STOCK_CANCEL;
- response_id = GTK_RESPONSE_CANCEL;
- break;
-
- case STOCK_BUTTON_CLOSE:
- stock_id = GTK_STOCK_CLOSE;
- response_id = GTK_RESPONSE_CLOSE;
- break;
-
- case STOCK_BUTTON_YES:
- stock_id = GTK_STOCK_YES;
- response_id = GTK_RESPONSE_YES;
- break;
-
- case STOCK_BUTTON_NO:
- stock_id = GTK_STOCK_NO;
- response_id = GTK_RESPONSE_NO;
- break;
-
- case STOCK_BUTTON_APPLY:
- stock_id = GTK_STOCK_APPLY;
- response_id = GTK_RESPONSE_APPLY;
- break;
-
- case STOCK_BUTTON_HELP:
- stock_id = GTK_STOCK_HELP;
- response_id = GTK_RESPONSE_HELP;
- break;
-
- default:
- break;
- }
-
- if (stock_id)
- return add_button(stock_id, response_id);
- else
- return 0;
-}
-
-/* Gtk::DialogClass
- */
-
-void
-Gtk::DialogClass::init(GtkDialogClass *g_class)
-{
- WindowClass::init((GtkWindowClass*)g_class);
- g_class->response = &response_proxy;
- g_class->close = &close_proxy;
-}
-
-GtkDialogClass*
-Gtk::DialogClass::get_parent_class(void *instance)
-{
- return static_cast<GtkDialogClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::DialogClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_DIALOG, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::DialogClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::DialogClass::response_proxy(GtkDialog *dialog, gint response_id)
-{
- DialogSignals *signals = dynamic_cast<DialogSignals*>(G::ObjectSignals::pointer((GObject*)dialog));
- if (signals)
- signals->on_response(response_id);
- else
- {
- GtkDialogClass *g_class = get_parent_class(dialog);
- if (g_class && g_class->response)
- g_class->response(dialog, response_id);
- }
-}
-
-void
-Gtk::DialogClass::close_proxy(GtkDialog *dialog)
-{
- DialogSignals *signals = dynamic_cast<DialogSignals*>(G::ObjectSignals::pointer((GObject*)dialog));
- if (signals)
- signals->on_close();
- else
- {
- GtkDialogClass *g_class = get_parent_class(dialog);
- if (g_class && g_class->close)
- g_class->close(dialog);
- }
-}
-
-/* Gtk::Dialog Signals
- */
-
-const Gtk::Dialog::ResponseSignalType Gtk::Dialog::response_signal("response", (GCallback)&G::Marshal::void_int_callback);
-
-const Gtk::Dialog::CloseSignalType Gtk::Dialog::close_signal("close", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gtk/editable.cc b/libXFCui/xfc/gtk/editable.cc
deleted file mode 100755
index 015a669..0000000
--- a/libXFCui/xfc/gtk/editable.cc
+++ /dev/null
@@ -1,123 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * editable.cc - GtkEditable C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "editable.hh"
-#include "editablesignals.hh"
-#include "private/editableclass.hh"
-#include "private/marshal.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-
-using namespace Xfc;
-
-/* Gtk::Editable
- */
-
-Gtk::Editable::Editable()
-{
-}
-
-Gtk::Editable::~Editable()
-{
-}
-
-String
-Gtk::Editable::get_chars(int start_pos, int end_pos) const
-{
- return gtk_editable_get_chars(gtk_editable(), start_pos, end_pos);
-}
-
-void
-Gtk::Editable::insert_text(const String& new_text, int& position)
-{
- gtk_editable_insert_text(gtk_editable(), new_text.c_str(), new_text.size(), &position);
-}
-
-/* Gtk::EditableClass
- */
-
-void
-Gtk::EditableClass::init(GtkEditableClass *g_iface)
-{
- g_iface->insert_text = &insert_text_proxy;
- g_iface->delete_text = &delete_text_proxy;
- g_iface->changed = &changed_proxy;
-}
-
-GtkEditableClass*
-Gtk::EditableClass::get_parent_iface(void *instance)
-{
- return static_cast<GtkEditableClass*>(g_type_interface_peek_parent(GTK_EDITABLE_GET_CLASS(instance)));
-}
-
-void
-Gtk::EditableClass::insert_text_proxy(GtkEditable *editable, const gchar *text, gint length, gint *position)
-{
- EditableSignals *signals = dynamic_cast<EditableSignals*>(G::ObjectSignals::pointer((GObject*)editable));
- if (signals)
- {
- std::string tmp_text(text, length);
- signals->on_insert_text(tmp_text, position);
- }
- else
- {
- GtkEditableClass *g_iface = get_parent_iface(editable);
- if (g_iface && g_iface->insert_text)
- g_iface->insert_text(editable, text, length, position);
- }
-}
-
-void
-Gtk::EditableClass::delete_text_proxy(GtkEditable *editable, gint start_pos, gint end_pos)
-{
- EditableSignals *signals = dynamic_cast<EditableSignals*>(G::ObjectSignals::pointer((GObject*)editable));
- if (signals)
- signals->on_delete_text(start_pos, end_pos);
- else
- {
- GtkEditableClass *g_iface = get_parent_iface(editable);
- if (g_iface && g_iface->delete_text)
- g_iface->delete_text(editable, start_pos, end_pos);
- }
-}
-
-void
-Gtk::EditableClass::changed_proxy(GtkEditable *editable)
-{
- EditableSignals *signals = dynamic_cast<EditableSignals*>(G::ObjectSignals::pointer((GObject*)editable));
- if (signals)
- signals->on_changed();
- else
- {
- GtkEditableClass *g_iface = get_parent_iface(editable);
- if (g_iface && g_iface->changed)
- g_iface->changed(editable);
- }
-}
-
-/* Gtk::Editable Signals
- */
-
-const Gtk::Editable::InsertTextSignalType Gtk::Editable::insert_text_signal("insert_text", (GCallback)&Marshal::void_string_int_pint_callback);
-
-const Gtk::Editable::DeleteTextSignalType Gtk::Editable::delete_text_signal("delete_text", (GCallback)&G::Marshal::void_int_int_callback);
-
-const Gtk::Editable::ChangedSignalType Gtk::Editable::changed_signal("changed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gtk/filechooser.cc b/libXFCui/xfc/gtk/filechooser.cc
deleted file mode 100644
index e76ff81..0000000
--- a/libXFCui/xfc/gtk/filechooser.cc
+++ /dev/null
@@ -1,350 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * filechooser.cc - GtkFileChooser C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "filechooser.hh"
-#include "private/marshal.hh"
-#include "widget.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-
-using namespace Xfc;
-
-/* Gtk::FileChooser
- */
-
-Gtk::FileChooser::FileChooser()
-{
-}
-
-Gtk::FileChooser::~FileChooser()
-{
-}
-
-std::string
-Gtk::FileChooser::get_filename() const
-{
- char *filename = gtk_file_chooser_get_filename(gtk_file_chooser());
- std::string s((filename) ? filename : "");
- g_free(filename);
- return s;
-}
-
-bool
-Gtk::FileChooser::get_filenames(std::vector<std::string>& filenames) const
-{
- g_return_val_if_fail(filenames.empty(), false);
- GSList *first = gtk_file_chooser_get_filenames(gtk_file_chooser());
- GSList *next = first;
-
- while (next)
- {
- char *filename = (char*)next->data;
- filenames.push_back(filename);
- g_free(filename);
- next = g_slist_next(next);
- }
-
- g_slist_free(first);
- return !filenames.empty();
-}
-
-std::string
-Gtk::FileChooser::get_current_folder() const
-{
- char *name = gtk_file_chooser_get_current_folder(gtk_file_chooser());
- std::string s((name) ? name : "");
- g_free(name);
- return s;
-}
-
-String
-Gtk::FileChooser::get_uri() const
-{
- char *uri = gtk_file_chooser_get_uri(gtk_file_chooser());
- String s(uri);
- g_free(uri);
- return s;
-}
-
-bool
-Gtk::FileChooser::get_uris(std::vector<String>& uris) const
-{
- g_return_val_if_fail(uris.empty(), false);
- GSList *first = gtk_file_chooser_get_uris(gtk_file_chooser());
- GSList *next = first;
-
- while (next)
- {
- char *uri = (char*)next->data;
- uris.push_back(uri);
- g_free(uri);
- next = g_slist_next(next);
- }
-
- g_slist_free(first);
- return !uris.empty();
-}
-
-String
-Gtk::FileChooser::get_current_folder_uri() const
-{
- char *uri = gtk_file_chooser_get_current_folder_uri(gtk_file_chooser());
- String s(uri);
- g_free(uri);
- return s;
-}
-
-Gtk::Widget*
-Gtk::FileChooser::get_preview_widget() const
-{
- GtkWidget *widget = gtk_file_chooser_get_preview_widget(gtk_file_chooser());
- return widget ? G::Object::wrap<Widget>(widget) : 0;
-}
-
-std::string
-Gtk::FileChooser::get_preview_filename() const
-{
- char *filename = gtk_file_chooser_get_preview_filename(gtk_file_chooser());
- std::string s((filename) ? filename : "");
- g_free(filename);
- return s;
-}
-
-String
-Gtk::FileChooser::get_preview_uri() const
-{
- char *uri = gtk_file_chooser_get_preview_uri(gtk_file_chooser());
- String s(uri);
- g_free(uri);
- return s;
-}
-
-Gtk::Widget*
-Gtk::FileChooser::get_extra_widget() const
-{
- GtkWidget *widget = gtk_file_chooser_get_extra_widget(gtk_file_chooser());
- return widget ? G::Object::wrap<Widget>(widget) : 0;
-}
-
-Gtk::FileFilter*
-Gtk::FileChooser::get_filter() const
-{
- GtkFileFilter *filter = gtk_file_chooser_get_filter(gtk_file_chooser());
- return filter ? G::Object::wrap<FileFilter>(filter) : 0;
-}
-
-bool
-Gtk::FileChooser::list_filters(std::vector<String>& filters) const
-{
- g_return_val_if_fail(filters.empty(), false);
- GSList *first = gtk_file_chooser_list_filters(gtk_file_chooser());
- GSList *next = first;
-
- while (next)
- {
- char *filter = (char*)next->data;
- filters.push_back(filter);
- next = g_slist_next(next);
- }
-
- g_slist_free(first);
- return !filters.empty();
-}
-
-bool
-Gtk::FileChooser::list_shortcut_folders(std::vector<std::string>& folders) const
-{
- g_return_val_if_fail(folders.empty(), false);
- GSList *first = gtk_file_chooser_list_shortcut_folders(gtk_file_chooser());
- GSList *next = first;
-
- while (next)
- {
- char *name = (char*)next->data;
- folders.push_back(name);
- g_free(name);
- next = g_slist_next(next);
- }
-
- g_slist_free(first);
- return !folders.empty();
-}
-
-bool
-Gtk::FileChooser::list_shortcut_folder_uris(std::vector<String>& uris) const
-{
- g_return_val_if_fail(uris.empty(), false);
- GSList *first = gtk_file_chooser_list_shortcut_folder_uris(gtk_file_chooser());
- GSList *next = first;
-
- while (next)
- {
- char *uri = (char*)next->data;
- uris.push_back(uri);
- g_free(uri);
- next = g_slist_next(next);
- }
-
- g_slist_free(first);
- return !uris.empty();
-}
-
-void
-Gtk::FileChooser::set_current_name(const String& name)
-{
- set_current_name(name.c_str());
-}
-
-bool
-Gtk::FileChooser::set_filename(const std::string& filename)
-{
- return set_filename(filename.c_str());
-}
-
-bool
-Gtk::FileChooser::select_filename(const std::string& filename)
-{
- return select_filename(filename.c_str());
-}
-
-void
-Gtk::FileChooser::unselect_filename(const std::string& filename)
-{
- unselect_filename(filename.c_str());
-}
-
-bool
-Gtk::FileChooser::set_current_folder(const std::string& filename)
-{
- return set_current_folder(filename.c_str());
-}
-
-bool
-Gtk::FileChooser::set_uri(const String& uri)
-{
- return set_uri(uri.c_str());
-}
-
-bool
-Gtk::FileChooser::select_uri(const String& uri)
-{
- return select_uri(uri.c_str());
-}
-
-void
-Gtk::FileChooser::unselect_uri(const String& uri)
-{
- unselect_uri(uri.c_str());
-}
-
-bool
-Gtk::FileChooser::set_current_folder_uri(const String& uri)
-{
- return set_current_folder_uri(uri.c_str());
-}
-
-void
-Gtk::FileChooser::set_preview_widget(Widget& preview_widget)
-{
- gtk_file_chooser_set_preview_widget(gtk_file_chooser(), preview_widget.gtk_widget());
-}
-
-void
-Gtk::FileChooser::set_extra_widget(Widget& extra_widget)
-{
- gtk_file_chooser_set_extra_widget(gtk_file_chooser(), extra_widget.gtk_widget());
-}
-
-void
-Gtk::FileChooser::add_filter(const FileFilter& filter)
-{
- gtk_file_chooser_add_filter(gtk_file_chooser(), filter.gtk_file_filter());
-}
-
-void
-Gtk::FileChooser::remove_filter(const FileFilter& filter)
-{
- gtk_file_chooser_remove_filter(gtk_file_chooser(), filter.gtk_file_filter());
-}
-
-void
-Gtk::FileChooser::set_filter(const FileFilter& filter)
-{
- gtk_file_chooser_set_filter(gtk_file_chooser(), filter.gtk_file_filter());
-}
-
-bool
-Gtk::FileChooser::add_shortcut_folder(const char *folder, G::Error *error)
-{
- return gtk_file_chooser_add_shortcut_folder(gtk_file_chooser(), folder, *error);
-}
-
-bool
-Gtk::FileChooser::add_shortcut_folder(const std::string& folder, G::Error *error)
-{
- return add_shortcut_folder(folder.c_str(), error);
-}
-
-bool
-Gtk::FileChooser::remove_shortcut_folder(const char *folder, G::Error *error)
-{
- return gtk_file_chooser_remove_shortcut_folder(gtk_file_chooser(), folder, *error);
-}
-
-bool
-Gtk::FileChooser::remove_shortcut_folder(const std::string& folder, G::Error *error)
-{
- return remove_shortcut_folder(folder.c_str(), error);
-}
-
-bool
-Gtk::FileChooser::add_shortcut_folder_uri(const char *uri, G::Error *error)
-{
- return gtk_file_chooser_add_shortcut_folder_uri(gtk_file_chooser(), uri, *error);
-}
-
-bool
-Gtk::FileChooser::add_shortcut_folder_uri(const String& uri, G::Error *error)
-{
- return add_shortcut_folder_uri(uri.c_str(), error);
-}
-
-bool
-Gtk::FileChooser::remove_shortcut_folder_uri(const char *uri, G::Error *error)
-{
- return gtk_file_chooser_remove_shortcut_folder_uri(gtk_file_chooser(), uri, *error);
-}
-
-bool
-Gtk::FileChooser::remove_shortcut_folder_uri(const String& uri, G::Error *error)
-{
- return remove_shortcut_folder_uri(uri.c_str(), error);
-}
-
-/* Gtk::FileChooser signals
- */
-
-const Gtk::FileChooser::CurrentFolderChangedSignalType Gtk::FileChooser::current_folder_changed_signal("current-folder-changed", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::FileChooser::FilerActivatedSignalType Gtk::FileChooser::file_activated_signal("file-activated", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::FileChooser::SelectionChangedSignalType Gtk::FileChooser::selection_changed_signal("selection-changed", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::FileChooser::UpdatePreviewSignalType Gtk::FileChooser::update_preview_signal("update-preview", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gtk/icontheme.cc b/libXFCui/xfc/gtk/icontheme.cc
deleted file mode 100644
index 17e2725..0000000
--- a/libXFCui/xfc/gtk/icontheme.cc
+++ /dev/null
@@ -1,353 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * icontheme.cc - GtkIconTheme C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "icontheme.hh"
-#include "iconthemesignals.hh"
-#include "private/iconthemeclass.hh"
-#include "private/marshal.hh"
-#include "../gdk/screen.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-
-using namespace Xfc;
-
-/* Gtk::IconInfo
- */
-
-Gtk::IconInfo::IconInfo(GtkIconInfo *icon_info)
-: G::Boxed(GTK_TYPE_ICON_INFO, icon_info)
-{
-}
-
-Gtk::IconInfo::IconInfo(GtkIconInfo *icon_info, bool copy)
-: G::Boxed(GTK_TYPE_ICON_INFO, icon_info, copy)
-{
-}
-
-Gtk::IconInfo::IconInfo(const IconInfo& src)
-: G::Boxed(GTK_TYPE_ICON_INFO, src.g_boxed(), true)
-{
-}
-
-Gtk::IconInfo::~IconInfo()
-{
-}
-
-Gtk::IconInfo&
-Gtk::IconInfo::operator=(const IconInfo& src)
-{
- if (src.boxed_ != boxed_)
- copy(src);
- return *this;
-}
-
-String
-Gtk::IconInfo::get_filename() const
-{
- return gtk_icon_info_get_filename(gtk_icon_info());
-}
-
-Gdk::Pixbuf*
-Gtk::IconInfo::get_builtin_pixbuf() const
-{
- return G::Object::wrap<Gdk::Pixbuf>(gtk_icon_info_get_builtin_pixbuf(gtk_icon_info()));
-}
-
-bool
-Gtk::IconInfo::get_embedded_rect(Gdk::Rectangle& rectangle) const
-{
- return gtk_icon_info_get_embedded_rect(gtk_icon_info(), rectangle.gdk_rectangle());
-}
-
-std::vector<Gdk::Point>
-Gtk::IconInfo::get_attach_points() const
-{
- GdkPoint *tmp_points = 0;
- int count = 0;
- gtk_icon_info_get_attach_points(gtk_icon_info(), &tmp_points, &count);
-
- std::vector<Gdk::Point> points;
- int i = 0;
- while (i < count)
- {
- points.push_back(tmp_points[i]);
- ++i;
- }
-
- g_free(tmp_points);
- return points;
-}
-
-String
-Gtk::IconInfo::get_display_name() const
-{
- return gtk_icon_info_get_display_name(gtk_icon_info());
-}
-
-Pointer<Gdk::Pixbuf>
-Gtk::IconInfo::load_icon(G::Error *error)
-{
- GdkPixbuf *pixbuf = gtk_icon_info_load_icon(gtk_icon_info(), *error);
- return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf) : 0;
-}
-
-void
-Gtk::IconInfo::set_raw_coordinates(bool raw_coordinates)
-{
- return gtk_icon_info_set_raw_coordinates(gtk_icon_info(), raw_coordinates);
-}
-
-/* Gtk::IconTheme
- */
-
-Gtk::IconTheme::IconTheme(GtkIconTheme *icon_theme, bool owns_reference)
-: G::Object((GObject*)icon_theme, owns_reference)
-{
-}
-
-Gtk::IconTheme::IconTheme()
-: G::Object((GObject*)IconThemeClass::create())
-{
-}
-
-Gtk::IconTheme::~IconTheme()
-{
-}
-
-Gtk::IconTheme*
-Gtk::IconTheme::get_for_screen(const Gdk::Screen *screen)
-{
- GdkScreen *tmp_screen = screen ? screen->gdk_screen() : gdk_screen_get_default();
- return G::Object::wrap<IconTheme>(gtk_icon_theme_get_for_screen(tmp_screen));
-}
-
-std::vector<String>
-Gtk::IconTheme::get_search_path() const
-{
- char **tmp_path = 0;
- gtk_icon_theme_get_search_path(gtk_icon_theme(), &tmp_path, 0);
- std::vector<String> path;
- int i = 0;
- while (tmp_path[i])
- {
- String s(tmp_path[i]);
- path.push_back(s);
- ++i;
- }
- g_strfreev(tmp_path);
- return path;
-}
-
-String
-Gtk::IconTheme::get_example_icon_name() const
-{
- char *icon_name = gtk_icon_theme_get_example_icon_name(gtk_icon_theme());
- String s(icon_name);
- g_free(icon_name);
- return s;
-}
-
-bool
-Gtk::IconTheme::has_icon(const String& icon_name) const
-{
- return has_icon(icon_name.c_str());
-}
-
-std::vector<int>
-Gtk::IconTheme::get_icon_sizes(const char *icon_name) const
-{
- std::vector<int> sizes;
- int *tmp_sizes = gtk_icon_theme_get_icon_sizes(gtk_icon_theme(), icon_name);
-
- int i = 0;
- while (tmp_sizes && tmp_sizes[i] != 0)
- {
- sizes.push_back(tmp_sizes[i]);
- ++i;
- }
-
- g_free(tmp_sizes);
- return sizes;
-}
-
-std::vector<int>
-Gtk::IconTheme::get_icon_sizes(const String& icon_name) const
-{
- return get_icon_sizes(icon_name.c_str());
-}
-
-void
-Gtk::IconTheme::set_screen(Gdk::Screen *screen)
-{
- gtk_icon_theme_set_screen(gtk_icon_theme(), *screen);
-}
-
-void
-Gtk::IconTheme::set_search_path(const std::vector<String>& path)
-{
- g_return_if_fail(!path.empty());
- int count = path.size();
- const char **tmp_path = new const char*[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_path[i] = path[i].c_str();
- ++i;
- }
-
- gtk_icon_theme_set_search_path(gtk_icon_theme(), tmp_path, count);
- delete [] tmp_path;
-}
-
-void
-Gtk::IconTheme::append_search_path(const String& path)
-{
- append_search_path(path.c_str());
-}
-
-void
-Gtk::IconTheme::prepend_search_path(const String& path)
-{
- prepend_search_path(path.c_str());
-}
-
-void
-Gtk::IconTheme::set_custom_theme(const String& theme_name)
-{
- set_custom_theme(theme_name.c_str());
-}
-
-Pointer<Gtk::IconInfo>
-Gtk::IconTheme::lookup_icon(const char *icon_name, int size, IconLookupFlagsField flags)
-{
- GtkIconInfo *info = gtk_icon_theme_lookup_icon(gtk_icon_theme(), icon_name, size, (GtkIconLookupFlags)flags);
- return info ? G::Boxed::wrap<IconInfo>(GTK_TYPE_ICON_INFO, info, false) : 0;
-}
-
-Pointer<Gtk::IconInfo>
-Gtk::IconTheme::lookup_icon(const String& icon_name, int size, IconLookupFlagsField flags)
-{
- return lookup_icon(icon_name.c_str(), size, flags);
-}
-
-
-Pointer<Gdk::Pixbuf>
-Gtk::IconTheme::load_icon(const char *icon_name, int size, IconLookupFlagsField flags, G::Error *error)
-{
- GdkPixbuf *pixbuf = gtk_icon_theme_load_icon(gtk_icon_theme(), icon_name, size, (GtkIconLookupFlags)flags, *error);
- return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf) : 0;
-}
-
-Pointer<Gdk::Pixbuf>
-Gtk::IconTheme::load_icon(const String& icon_name, int size, IconLookupFlagsField flags, G::Error *error)
-{
- return load_icon(icon_name, size, flags, error);
-}
-
-std::vector<String>
-Gtk::IconTheme::list_icons(const char *context)
-{
- std::vector<String> icons;
- GList *first = gtk_icon_theme_list_icons(gtk_icon_theme(), context);
- GList *next = first;
-
- while (next)
- {
- char *icon_name = (char*)next->data;
- icons.push_back(icon_name);
- g_free(icon_name);
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return icons;
-}
-
-std::vector<String>
-Gtk::IconTheme::list_icons(const String& context)
-{
- return list_icons(context.c_str());
-}
-
-void
-Gtk::IconTheme::add_builtin_icon(const char *icon_name, int size, Gdk::Pixbuf& pixbuf)
-{
- gtk_icon_theme_add_builtin_icon(icon_name, size, pixbuf.gdk_pixbuf());
-}
-
-void
-Gtk::IconTheme::add_builtin_icon(const String& icon_name, int size, Gdk::Pixbuf& pixbuf)
-{
- gtk_icon_theme_add_builtin_icon(icon_name.c_str(), size, pixbuf.gdk_pixbuf());
-}
-
-/* Gtk::IconThemeClass
- */
-
-void
-Gtk::IconThemeClass::init(GtkIconThemeClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
- g_class->changed = &changed_proxy;
-}
-
-GtkIconThemeClass*
-Gtk::IconThemeClass::get_parent_class(void *instance)
-{
- return static_cast<GtkIconThemeClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::IconThemeClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_ICON_THEME, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::IconThemeClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::IconThemeClass::changed_proxy(GtkIconTheme *icon_theme)
-{
- IconThemeSignals *signals = dynamic_cast<IconThemeSignals*>(G::ObjectSignals::pointer((GObject*)icon_theme));
- if (signals)
- signals->on_changed();
- else
- {
- GtkIconThemeClass *g_class = get_parent_class(icon_theme);
- if (g_class && g_class->changed)
- g_class->changed(icon_theme);
- }
-}
-
-/* Gtk::IconTheme signals
- */
-
-const Gtk::IconTheme::ChangedSignalType Gtk::IconTheme::changed_signal("changed", (GCallback)&G::Marshal::void_callback);
-
diff --git a/libXFCui/xfc/gtk/liststore.cc b/libXFCui/xfc/gtk/liststore.cc
deleted file mode 100755
index c281a90..0000000
--- a/libXFCui/xfc/gtk/liststore.cc
+++ /dev/null
@@ -1,264 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * liststore.cc - GtkListStore C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "liststore.hh"
-#include "private/liststoreclass.hh"
-#include "private/treemodeliface.hh"
-#include "private/treesortableiface.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Gtk::TreeRowValues
- */
-
-Gtk::TreeRowValues::TreeRowValues()
-{
-}
-
-Gtk::TreeRowValues::~TreeRowValues()
-{
- clear();
-}
-
-GValue*
-Gtk::TreeRowValues::create_value(const G::Value& value)
-{
- GValue *tmp_value = g_new0(GValue, 1);
- g_value_init(tmp_value, value.type());
- g_value_copy(value.g_value(), tmp_value);
- return tmp_value;
-}
-
-void
-Gtk::TreeRowValues::add(int column, const G::Value& value)
-{
- gvalues_.push_back(create_value(value));
- columns_.push_back(column);
-}
-
-void
-Gtk::TreeRowValues::add(int column, const char *str)
-{
- GValue *tmp_value = g_new0(GValue, 1);
- g_value_init(tmp_value, G_TYPE_STRING);
- g_value_set_string(tmp_value, str);
- gvalues_.push_back(tmp_value);
- columns_.push_back(column);
-}
-
-void
-Gtk::TreeRowValues::add(int column, const std::string& str)
-{
- add(column, str.c_str());
-}
-
-void
-Gtk::TreeRowValues::clear()
-{
- unsigned int i = 0;
- while (i < gvalues_.size())
- {
- if (G_VALUE_TYPE(gvalues_[i]))
- g_value_unset(gvalues_[i]);
- g_free(gvalues_[i]);
- }
- gvalues_.clear();
- columns_.clear();
-}
-
-/* Gtk::ListStore
- */
-
-Gtk::ListStore::ListStore()
-: G::Object((GObject*)ListStoreClass::create())
-{
-}
-
-Gtk::ListStore::ListStore(GtkListStore *list_store, bool owns_reference)
-: G::Object((GObject*)list_store, owns_reference)
-{
-}
-
-Gtk::ListStore::ListStore(int n_columns, ...)
-: G::Object((GObject*)ListStoreClass::create())
-{
- g_return_if_fail(n_columns > 0);
- va_list args;
- va_start(args, n_columns);
- GType *types = new GType[n_columns];
-
- int i = 0;
- while (i < n_columns)
- {
- types[i] = va_arg(args, GType);
- ++i;
- }
-
- set_column_types(n_columns, types);
- delete [] types;
- va_end(args);
-}
-
-Gtk::ListStore::ListStore(int n_columns, const GType *types)
-: G::Object((GObject*)ListStoreClass::create())
-{
- set_column_types(n_columns, types);
-}
-
-Gtk::ListStore::~ListStore()
-{
-}
-
-void
-Gtk::ListStore::set_column_types(int n_columns, const GType *types)
-{
- gtk_list_store_set_column_types(gtk_list_store(), n_columns, const_cast<GType*>(types));
-}
-
-bool
-Gtk::ListStore::iter_is_valid(const TreeIter& iter) const
-{
- return gtk_list_store_iter_is_valid(gtk_list_store(), iter.gtk_tree_iter());
-}
-
-Gtk::TreeIter
-Gtk::ListStore::append()
-{
- GtkTreeIter iter;
- gtk_list_store_append(gtk_list_store(), &iter);
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::ListStore::prepend()
-{
- GtkTreeIter iter;
- gtk_list_store_prepend(gtk_list_store(), &iter);
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::ListStore::insert(int position)
-{
- GtkTreeIter iter;
- gtk_list_store_insert(gtk_list_store(), &iter, position);
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::ListStore::insert_before(TreeIter& sibling)
-{
- GtkTreeIter iter;
- gtk_list_store_insert_before(gtk_list_store(), &iter, sibling.gtk_tree_iter());
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::ListStore::insert_after(TreeIter& sibling)
-{
- GtkTreeIter iter;
- gtk_list_store_insert_after(gtk_list_store(), &iter, sibling.gtk_tree_iter());
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::ListStore::insert_with_values(int position, const TreeRowValues& values)
-{
- GtkTreeIter iter;
- gtk_list_store_insert_with_valuesv(gtk_list_store(), &iter, position,
- const_cast<int*>(values.columns()),
- const_cast<GValue*>(values.gvalues()),
- values.size());
- return TreeIter(&iter, true);
-}
-
-bool
-Gtk::ListStore::remove(TreeIter& iter)
-{
- return gtk_list_store_remove(gtk_list_store(), iter.gtk_tree_iter());
-}
-
-void
-Gtk::ListStore::swap(const TreeIter& a, const TreeIter& b)
-{
- gtk_list_store_swap(gtk_list_store(), a.gtk_tree_iter(), b.gtk_tree_iter());
-}
-
-void
-Gtk::ListStore::move_after(const TreeIter& iter, const TreeIter *position)
-{
- gtk_list_store_move_after(gtk_list_store(), iter.gtk_tree_iter(), *position);
-}
-
-void
-Gtk::ListStore::move_before(const TreeIter& iter, const TreeIter *position)
-{
- gtk_list_store_move_before(gtk_list_store(), iter.gtk_tree_iter(), *position);
-}
-
-void
-Gtk::ListStore::set_value(const TreeIter& iter, int column, const G::Value& value)
-{
- gtk_list_store_set_value(gtk_list_store(), iter.gtk_tree_iter(), column, value.g_value());
-}
-
-void
-Gtk::ListStore::set_value(const TreeIter& iter, int column, const char *str)
-{
- G::Value value(gtk_list_store()->column_headers[column]);
- value.set(String(str));
- gtk_list_store_set_value(gtk_list_store(), iter, column, value.g_value());
-}
-
-void
-Gtk::ListStore::set_value(const TreeIter& iter, int column, const std::string& str)
-{
- set_value(iter, column, str.c_str());
-}
-
-/* Gtk::ListStoreClass
- */
-
-void
-Gtk::ListStoreClass::init(GtkListStoreClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::ListStoreClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_LIST_STORE, (GClassInitFunc)&init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_SORTABLE, (GInterfaceInitFunc)&TreeSortableIface::init);
- }
- return type;
-}
-
-void*
-Gtk::ListStoreClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
diff --git a/libXFCui/xfc/gtk/marshal.cc b/libXFCui/xfc/gtk/marshal.cc
deleted file mode 100644
index 9cfc9af..0000000
--- a/libXFCui/xfc/gtk/marshal.cc
+++ /dev/null
@@ -1,1348 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * marshal.cc - GObject signal callback functions.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "private/marshal.hh"
-#include "accelkey.hh"
-#include "actiongroup.hh"
-#include "adjustment.hh"
-#include "celleditable.hh"
-#include "menu.hh"
-#include "notebook.hh"
-#include "radioaction.hh"
-#include "style.hh"
-#include "textbuffer.hh"
-#include "texttag.hh"
-#include "tooltips.hh"
-#include "treemodel.hh"
-#include "treeviewcolumn.hh"
-#include "widget.hh"
-#include "../gdk/screen.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../../../libXFCcore/xfc/glib/private/connection.hh"
-#include <gtk/gtktreemodelfilter.h>
-
-using namespace Xfc;
-
-/* Gtk::Marshal::void_uint_gdkmodifiertype_gclosure_callback
- */
-
-void
-Gtk::Marshal::void_uint_gdkmodifiertype_gclosure_callback(void *data, guint arg1, GdkModifierType arg2, GClosure *arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const Gtk::AccelKey&, GClosure*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- AccelKey accel_key(arg1, (Gdk::ModifierTypeField)arg2);
- slot(accel_key, arg3);
- }
-}
-
-/* Gtk::Marshal::void_string_uint_gdkmodifiertype_callback
- */
-
-void
-Gtk::Marshal::void_string_uint_gdkmodifiertype_callback(void *data, const char *arg1, guint arg2, GdkModifierType arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const String&, const Gtk::AccelKey&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s(arg1);
- AccelKey accel_key(arg2, (Gdk::ModifierTypeField)arg3);
- slot(s, accel_key);
- }
-}
-
-/* Gtk::Marshal::void_string_string_callback
- */
-
-void
-Gtk::Marshal::void_string_string_callback(void *data, const char *arg1, const char *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const String&, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s1(arg1);
- String s2(arg2);
- slot(s1, s2);
- }
-}
-
-/* Gtk::Marshal::void_string_callback
- */
-
-void
-Gtk::Marshal::void_string_callback(void *data, const char *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s(arg);
- slot(s);
- }
-}
-
-/* Gtk::Marshal::void_string_int_pint_callback
- */
-
-void
-Gtk::Marshal::void_string_int_pint_callback(void *data, const char *arg1, int arg2, int *arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const String&, int*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s(arg1, arg2);
- slot(s, arg3);
- }
-}
-
-/* Gtk::Marshal::void_widget_callback1
- */
-
-void
-Gtk::Marshal::void_widget_callback1(void *data, GtkWidget *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Widget*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(G::Object::wrap<Widget>(arg));
- }
-}
-
-/* Gtk::Marshal::void_widget_callback2
- */
-
-void
-Gtk::Marshal::void_widget_callback2(void *data, GtkWidget *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Widget&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<Widget>(arg));
- }
-}
-
-/* Gtk::Marshal::void_menu_callback
- */
-
-void
-Gtk::Marshal::void_menu_callback(void *data, GtkMenu *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Menu&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<Menu>(arg));
- }
-}
-
-/* Gtk::Marshal::void_adjustment_adjustment_callback
- */
-
-void
-Gtk::Marshal::void_adjustment_adjustment_callback(void *data, GtkAdjustment *arg1, GtkAdjustment *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Adjustment*, Adjustment*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(G::Object::wrap<Adjustment>(arg1), G::Object::wrap<Adjustment>(arg2));
- }
-}
-
-/* Gtk::Marshal::void_pint_callback
- */
-
-void
-Gtk::Marshal::void_pint_callback(void *data, int *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, int*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg);
- }
-}
-
-/* Gtk::Marshal::void_notebookpage_uint_callback
- */
-
-void
-Gtk::Marshal::void_notebookpage_uint_callback(void *data, GtkNotebookPage *arg1, unsigned int arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Widget&, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- GtkWidget *widget = reinterpret_cast<GtkWidget*>(arg1);
- slot(*G::Object::wrap<Widget>(widget), arg2);
- }
-}
-
-/* Gtk::Marshal::void_double_callback
- */
-
-void
-Gtk::Marshal::void_double_callback(void *data, double arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, double> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg);
- }
-}
-
-/* Gtk::Marshal::pchar_double_callback
- */
-
-char*
-Gtk::Marshal::pchar_double_callback(void *data, double arg)
-{
- char *result = 0;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<char*, double> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot(arg);
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_callback
- */
-
-gboolean
-Gtk::Marshal::bool_callback(void *data)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot();
- }
- return result;
-}
-
-/* Gtk::Marshal::int_callback
- */
-
-int
-Gtk::Marshal::int_callback(void *data)
-{
- int result = 0;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot();
- }
- return result;
-}
-
-/* Gtk::Marshal::int_pdouble_callback
- */
-
-int
-Gtk::Marshal::int_pdouble_callback(void *data, double *arg)
-{
- int result = 0;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<int, double*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot(arg);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_uint_string_callback
- */
-
-void
-Gtk::Marshal::void_uint_string_callback(void *data, unsigned int arg1, const char *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, unsigned int, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s(arg2);
- slot(arg1, s);
- }
-}
-
-/* Gtk::Marshal::void_textiter_callback
- */
-
-void Gtk::Marshal::void_textiter_callback( void *data, GtkTextIter *arg1 )
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextIter&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter(arg1);
- slot(iter);
- }
-}
-
-/* Gtk::Marshal::void_textiter_string_int_callback
- */
-
-void
-Gtk::Marshal::void_textiter_string_int_callback(void *data, GtkTextIter *arg1, const char *arg2, int arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextIter&, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter(arg1);
- String s(arg2, arg3);
- slot(iter, s);
- }
-}
-
-/* Gtk::Marshal::void_textiter_gdkpixbuf_callback
- */
-
-void
-Gtk::Marshal::void_textiter_gdkpixbuf_callback(void *data, GtkTextIter *arg1, GdkPixbuf *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextIter&, Gdk::Pixbuf&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter(arg1);
- slot(iter, *G::Object::wrap<Gdk::Pixbuf>(arg2));
- }
-}
-
-/* Gtk::Marshal::void_textiter_textchildanchor_callback
- */
-
-void
-Gtk::Marshal::void_textiter_textchildanchor_callback(void *data, GtkTextIter *arg1, GtkTextChildAnchor *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextIter&, TextChildAnchor&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter(arg1);
- slot(iter, *G::Object::wrap<TextChildAnchor>(arg2));
- }
-}
-
-/* Gtk::Marshal::void_textiter_textiter_callback
- */
-
-void
-Gtk::Marshal::void_textiter_textiter_callback(void *data, GtkTextIter *arg1, GtkTextIter *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextIter&, TextIter&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter1(arg1);
- TextIter iter2(arg2);
- slot(iter1, iter2);
- }
-}
-
-/* Gtk::Marshal::void_textiter_textmark_callback
- */
-
-void
-Gtk::Marshal::void_textiter_textmark_callback(void *data, const GtkTextIter *arg1, GtkTextMark *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const TextIter&, TextMark&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter(const_cast<GtkTextIter*>(arg1));
- slot(iter, *G::Object::wrap<TextMark>(arg2));
- }
-}
-
-/* Gtk::Marshal::void_textiter_callback
- */
-
-void
-Gtk::Marshal::void_textmark_callback(void *data, GtkTextMark *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextMark&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<TextMark>(arg));
- }
-}
-
-/* Gtk::Marshal::void_textag_textiter_textiter_callback
- */
-
-void
-Gtk::Marshal::void_textag_textiter_textiter_callback(void *data, GtkTextTag *arg1, const GtkTextIter *arg2, const GtkTextIter *arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextTag&, const TextIter&, const TextIter&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TextIter iter1(const_cast<GtkTextIter*>(arg2));
- TextIter iter2(const_cast<GtkTextIter*>(arg3));
- slot(*G::Object::wrap<TextTag>(arg1), iter1, iter2);
- }
-}
-
-/* Gtk::Marshal::bool_gobject_gdkevent_textiter_callback
- */
-
-gboolean
-Gtk::Marshal::bool_gobject_gdkevent_textiter_callback(void *data, GObject *arg1, GdkEvent *arg2, const GtkTextIter *arg3)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, G::Object&, Gdk::Event&, const TextIter&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event(arg2);
- TextIter iter(const_cast<GtkTextIter*>(arg3));
- result = slot(*G::Object::wrap<G::Object>(arg1), event, iter);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_texttag_bool_callback
- */
-
-void
-Gtk::Marshal::void_texttag_bool_callback(void *data, GtkTextTag *arg1, gboolean arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Gtk::TextTag&, bool> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<TextTag>(arg1), arg2);
- }
-}
-
-/* Gtk::Marshal::void_texttag_callback
- */
-
-void
-Gtk::Marshal::void_texttag_callback(void *data, GtkTextTag *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextTag&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<TextTag>(arg));
- }
-}
-
-/* Gtk::Marshal::void_orientation_callback
- */
-
-void
-Gtk::Marshal::void_orientation_callback(void *data, GtkOrientation arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Gtk::Orientation> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot((Orientation)arg);
- }
-}
-
-/* Gtk::Marshal::void_toolbarstyle_callback
- */
-
-void
-Gtk::Marshal::void_toolbarstyle_callback(void *data, GtkToolbarStyle arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, ToolbarStyle> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot((ToolbarStyle)arg);
- }
-}
-
-/* Gtk::Marshal::bool_int_int_int_callback
- */
-
-gboolean
-Gtk::Marshal::bool_int_int_int_callback(void *data, int arg1, int arg2, int arg3)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, int, int, int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot(arg1, arg2, arg3);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_treepath_callback
- */
-
-void
-Gtk::Marshal::void_treepath_callback(void *data, GtkTreePath *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TreePath&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TreePath path(arg);
- slot(path);
- }
-}
-
-/* Gtk::Marshal::void_treepath_treeiter_callback
- */
-
-void
-Gtk::Marshal::void_treepath_treeiter_callback(void *data, GtkTreePath *arg1, GtkTreeIter *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TreePath&, TreeIter&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TreePath path(arg1);
- TreeIter iter(arg2);
- slot(path, iter);
- }
-}
-
-/* Gtk::Marshal::void_treepath_treeiter_pint_callback
- */
-
-void
-Gtk::Marshal::void_treepath_treeiter_pint_callback(void *data, GtkTreePath *arg1, GtkTreeIter *arg2, int *arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TreePath&, TreeIter&, int*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TreePath path(arg1);
- TreeIter iter(arg2);
- slot(path, iter, arg3);
- }
-}
-
-/* Gtk::Marshal::void_treepath_treeviewcolumn_callback
- */
-
-void
-Gtk::Marshal::void_treepath_treeviewcolumn_callback(void *data, GtkTreePath *arg1, GtkTreeViewColumn *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const TreePath&, TreeViewColumn&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TreePath path(arg1);
- slot(path, *G::Object::wrap<TreeViewColumn>(arg2));
- }
-}
-
-/* Gtk::Marshal::bool_treeiter_treepath_callback
- */
-
-gboolean
-Gtk::Marshal::bool_treeiter_treepath_callback(void *data, GtkTreeIter *arg1, GtkTreePath *arg2)
-{
- gboolean result = false;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const TreeIter&, const TreePath&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TreeIter iter(arg1);
- TreePath path(arg2);
- result = slot(iter, path);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_treeiter_treepath_callback
- */
-
-void
-Gtk::Marshal::void_treeiter_treepath_callback(void *data, GtkTreeIter *arg1, GtkTreePath *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const TreeIter&, const TreePath&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- TreeIter iter(arg1);
- TreePath path(arg2);
- slot(iter, path);
- }
-}
-
-/* Gtk::Marshal::void_requistion_callback
- */
-
-void
-Gtk::Marshal::void_requistion_callback(void *data, GtkRequisition *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Requisition*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(reinterpret_cast<Requisition*>(arg));
- }
-}
-
-/* Gtk::Marshal::void_allocation_callback
- */
-
-void
-Gtk::Marshal::void_allocation_callback(void *data, GtkAllocation *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const Allocation&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(reinterpret_cast<Allocation&>(*arg));
- }
-}
-
-/* Gtk::Marshal::void_statetype_callback
- */
-
-void
-Gtk::Marshal::void_statetype_callback(void *data, GtkStateType arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, StateType> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot((StateType)arg);
- }
-}
-
-/* Gtk::Marshal::void_style_callback
- */
-
-void
-Gtk::Marshal::void_style_callback(void *data, GtkStyle *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Style*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(G::Object::wrap<Style>(arg));
- }
-}
-
-/* Gtk::Marshal::void_textdirection_callback
- */
-
-void
-Gtk::Marshal::void_textdirection_callback(void *data, GtkTextDirection arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, TextDirection> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot((TextDirection)arg);
- }
-}
-
-/* Gtk::Marshal::void_gparamspec_callback
- */
-
-void
-Gtk::Marshal::void_gparamspec_callback(void *data, GParamSpec *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, GParamSpec*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg);
- }
-}
-
-/* Gtk::Marshal::bool_bool_callback
- */
-
-gboolean
-Gtk::Marshal::bool_bool_callback(void *data, bool arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, bool> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot(arg);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_directiontype_callback
- */
-
-gboolean
-Gtk::Marshal::bool_directiontype_callback(void *data, GtkDirectionType arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, DirectionType> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot((DirectionType)arg);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_gdkscreen_callback
- */
-
-void
-Gtk::Marshal::void_gdkscreen_callback(void *data, GdkScreen *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Gdk::Screen*> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(G::Object::wrap<Gdk::Screen>(arg));
- }
-}
-
-/* Gtk::Marshal::bool_uint_callback
- */
-
-gboolean
-Gtk::Marshal::bool_uint_callback(void *data, unsigned int arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot(arg);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_selectiondata_uint_uint_callback
- */
-
-void
-Gtk::Marshal::void_selectiondata_uint_uint_callback(void *data, GtkSelectionData *arg1, unsigned int arg2, unsigned int arg3)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, SelectionData&, unsigned int, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- SelectionData selection_data(arg1);
- slot(selection_data, arg2, arg3);
- }
-}
-
-/* Gtk::Marshal::void_selectiondata_uint_callback
- */
-
-void
-Gtk::Marshal::void_selectiondata_uint_callback(void *data, GtkSelectionData *arg1, unsigned int arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const SelectionData&, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- SelectionData selection_data(arg1);
- slot(selection_data, arg2);
- }
-}
-
-/* Gtk::Marshal::void_dragcontext_callback
- */
-
-void
-Gtk::Marshal::void_dragcontext_callback(void *data, GdkDragContext *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, DragContext&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<DragContext>(arg));
- }
-}
-
-/* Gtk::Marshal::void_dragcontext_selectiondata_uint_uint_callback
- */
-
-void
-Gtk::Marshal::void_dragcontext_selectiondata_uint_uint_callback(void *data, GdkDragContext *arg1, GtkSelectionData *arg2, unsigned int arg3, unsigned int arg4)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, DragContext&, SelectionData&, unsigned int, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- SelectionData selection_data(arg2);
- slot(*G::Object::wrap<DragContext>(arg1), selection_data, arg3, arg4);
- }
-}
-
-/* Gtk::Marshal::void_dragcontext_uint_callback
- */
-
-void
-Gtk::Marshal::void_dragcontext_uint_callback(void *data, GdkDragContext *arg1, unsigned int arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, DragContext&, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<DragContext>(arg1), arg2);
- }
-}
-
-/* Gtk::Marshal::void_dragcontext_int_int_uint_callback
- */
-
-gboolean
-Gtk::Marshal::bool_dragcontext_int_int_uint_callback(void *data, GdkDragContext *arg1, int arg2, int arg3, unsigned int arg4)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, DragContext&, int, int, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- result = slot(*G::Object::wrap<DragContext>(arg1), arg2, arg3, arg4);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_dragcontext_int_int_selectiondata_uint_uint_callback
- */
-
-void
-Gtk::Marshal::void_dragcontext_int_int_selectiondata_uint_uint_callback(void *data, GdkDragContext *arg1, int arg2, int arg3, GtkSelectionData *arg4, unsigned int arg5, unsigned int arg6)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, DragContext&, int, int, const SelectionData&, unsigned int, unsigned int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- SelectionData selection_data(arg4);
- slot(*G::Object::wrap<DragContext>(arg1), arg2, arg3, selection_data, arg5, arg6);
- }
-}
-
-/* Gtk::Marshal::bool_event_callback
- */
-
-gboolean
-Gtk::Marshal::bool_event_callback(void *data, GdkEvent *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::Event&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(event);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_event_callback
- */
-
-void
-Gtk::Marshal::void_event_callback(void *data, GdkEvent *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, const Gdk::Event&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- slot(event);
- }
-}
-
-/* Gtk::Marshal::bool_eventany_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventany_callback(void *data, GdkEventAny *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventAny&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.any());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventbutton_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventbutton_callback(void *data, GdkEventButton *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventButton&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.button());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventscroll_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventscroll_callback(void *data, GdkEventScroll *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventScroll&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.scroll());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventmotion_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventmotion_callback(void *data, GdkEventMotion *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventMotion&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.motion());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventexpose_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventexpose_callback(void *data, GdkEventExpose *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventExpose&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.expose());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventkey_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventkey_callback(void *data, GdkEventKey *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventKey&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.key());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventcrossing_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventcrossing_callback(void *data, GdkEventCrossing *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventCrossing&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.crossing());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventconfigure_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventconfigure_callback(void *data, GdkEventConfigure *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventConfigure&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.configure());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventfocus_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventfocus_callback(void *data, GdkEventFocus *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventFocus&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.focus_change());
- }
- return result;
-}
-/* Gtk::Marshal::bool_eventproperty_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventproperty_callback(void *data, GdkEventProperty *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventProperty&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.property());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventselection_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventselection_callback(void *data, GdkEventSelection *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventSelection&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.selection());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventproximity_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventproximity_callback(void *data, GdkEventProximity *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventProximity&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.proximity());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventvisibility_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventvisibility_callback(void *data, GdkEventVisibility *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventVisibility&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.visibility());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventclient_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventclient_callback(void *data, GdkEventClient *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventClient&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.client());
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_eventwindowstate_callback
- */
-
-gboolean
-Gtk::Marshal::bool_eventwindowstate_callback(void *data, GdkEventWindowState *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const Gdk::EventWindowState&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- Gdk::Event event((GdkEvent*)arg);
- result = slot(*event.window_state());
- }
- return result;
-}
-
-/* Gtk::Marshal::void_radioaction_callback
- */
-
-void
-Gtk::Marshal::void_radioaction_callback(void *data, GtkRadioAction *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, RadioAction&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<RadioAction>(arg));
- }
-}
-
-/* Gtk::Marshal::void_radioaction_callback
- */
-
-void
-Gtk::Marshal::void_action_callback(void *data, GtkAction *arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Action&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<Action>(arg));
- }
-}
-
-/* Gtk::Marshal::void_action_callback
- */
-
-void
-Gtk::Marshal::void_action_widget_callback(void *data, GtkAction *arg1, GtkWidget *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, Action&, Widget> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(*G::Object::wrap<Action>(arg1), *G::Object::wrap<Widget>(arg2));
- }
-}
-
-/* Gtk::Marshal::bool_tooltips_string_string_callback
- */
-
-gboolean
-Gtk::Marshal::bool_tooltips_string_string_callback(void *data, GtkTooltips *arg1, const char *arg2, const char *arg3)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, Tooltips&, const String&, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s1(arg2);
- String s2(arg3);
- result = slot(*G::Object::wrap<Tooltips>(arg1), s1, s2);
- }
- return result;
-}
-
-/* Gtk::Marshal::bool_treemodel_treeiter_callback
- */
-
-gboolean
-Gtk::Marshal::bool_treemodel_treeiter_callback(void *data, GtkTreeModel *arg1, GtkTreeIter *arg2)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- GtkTreeIter real_iter;
- gtk_tree_model_filter_convert_iter_to_child_iter((GtkTreeModelFilter*)arg1, &real_iter, arg2);
- GtkTreeModel *real_model = gtk_tree_model_filter_get_model((GtkTreeModelFilter*)arg1);
- typedef sigc::slot<bool, const TreeModel&, const TreeIter&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- G::Object *object = G::Object::pointer((GObject*)real_model);
- Gtk::TreeModel *tmp_model = dynamic_cast<Gtk::TreeModel*>(object);
- Gtk::TreeIter tmp_iter(&real_iter);
- result = slot(*tmp_model, tmp_iter);
- }
- return result;
-}
-
-/* Gtk::Marshal::void_int_callback
- */
-
-void
-Gtk::Marshal::void_int_callback(void *data, int arg)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, int> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- slot(arg);
- }
-}
-
-/* Gtk::Marshal::void_celleditable_string_callback
- */
-
-void
-Gtk::Marshal::void_celleditable_string_callback(void *data, GtkCellEditable *arg1, const char *arg2)
-{
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<void, CellEditable*, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- CellEditable *editable = dynamic_cast<CellEditable*>(G::Object::wrap_new<Widget>((GtkWidget*)arg1));
- String s(arg2);
- slot(editable, s);
- }
-}
-
-/* Gtk::Marshal::void_string_callback
- */
-
-gboolean
-Gtk::Marshal::bool_string_callback(void *data, const char *arg)
-{
- gboolean result = FALSE;
- G::Connection *c = static_cast<G::Connection*>(data);
- if (c)
- {
- typedef sigc::slot<bool, const String&> SlotType;
- SlotType& slot = static_cast<SlotType&>(c->slot_);
- String s(arg);
- result = slot(s);
- }
- return result;
-}
-
diff --git a/libXFCui/xfc/gtk/menu.cc b/libXFCui/xfc/gtk/menu.cc
deleted file mode 100755
index 4816bc6..0000000
--- a/libXFCui/xfc/gtk/menu.cc
+++ /dev/null
@@ -1,197 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * menu.cc - GtkMenu C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "menu.hh"
-#include "accelgroup.hh"
-#include "menuitem.hh"
-#include "private/menuclass.hh"
-#include "../gdk/screen.hh"
-#include "../../../libXFCcore/xfc/glib/private/objectclass.hh"
-
-using namespace Xfc;
-
-/* Gtk::Menu
- */
-
-Gtk::Menu::Menu(GtkMenu *menu, bool owns_reference)
-: MenuShell((GtkMenuShell*)menu, owns_reference)
-{
-}
-
-Gtk::Menu::Menu()
-: MenuShell((GtkMenuShell*)MenuClass::create())
-{
-}
-
-Gtk::Menu::Menu(const AccelGroup& accel_group)
-: MenuShell((GtkMenuShell*)MenuClass::create())
-{
- set_accel_group(&accel_group);
-}
-
-Gtk::Menu::~Menu()
-{
-}
-
-void
-Gtk::Menu::on_menu_detach(Widget& /*attach_widget*/)
-{
-}
-
-Gtk::MenuItem*
-Gtk::Menu::get_active() const
-{
- return G::Object::wrap<MenuItem>((GtkMenuItem*)gtk_menu_get_active(gtk_menu()));
-}
-
-Gtk::AccelGroup*
-Gtk::Menu::get_accel_group() const
-{
- return G::Object::wrap<AccelGroup>(gtk_menu_get_accel_group(gtk_menu()));
-}
-
-Gtk::Widget*
-Gtk::Menu::get_attach_widget() const
-{
- return G::Object::wrap<Widget>(gtk_menu_get_attach_widget(gtk_menu()));
-}
-
-String
-Gtk::Menu::get_title() const
-{
- return gtk_menu_get_title(gtk_menu());
-}
-
-std::vector<Gtk::Menu*>
-Gtk::Menu::get_for_attach_widget(Widget& widget)
-{
- std::vector<Menu*> menus;
- GList *list = gtk_menu_get_for_attach_widget(widget.gtk_widget());
-
- while (list)
- {
- menus.push_back(G::Object::wrap<Menu>((GtkMenu*)list->data));
- list = g_list_next(list);
- }
- return menus;
-}
-
-namespace { // menu_position_slot_callback
-
-void menu_position_slot_callback(GtkMenu*, gint *x, gint *y, gboolean *push_in, gpointer data)
-{
- Gtk::Menu::MenuPositionSlot& slot = *static_cast<Gtk::Menu::MenuPositionSlot*>(data);
- slot(x, y, (bool*)push_in);
-}
-
-} // namespace
-
-void
-Gtk::Menu::popup(MenuShell& parent_shell, MenuItem& parent_item, unsigned int button, const MenuPositionSlot& position, unsigned int activate_time)
-{
- MenuPositionSlot tmp_position(position);
- gtk_menu_popup(gtk_menu(), parent_shell.gtk_widget(), parent_item.gtk_widget(), &menu_position_slot_callback,
- &tmp_position, button, activate_time);
-}
-
-void
-Gtk::Menu::popup(unsigned int button, const MenuPositionSlot& position, unsigned int activate_time)
-{
- MenuPositionSlot tmp_position(position);
- gtk_menu_popup(gtk_menu(), 0, 0, &menu_position_slot_callback, &tmp_position, button, activate_time);
-}
-
-void
-Gtk::Menu::set_accel_group(const AccelGroup *accel_group)
-{
- gtk_menu_set_accel_group(gtk_menu(), *accel_group);
-}
-
-void
-Gtk::Menu::set_accel_path(const String& accel_path)
-{
- gtk_menu_set_accel_path(gtk_menu(), accel_path.c_str());
-}
-
-void
-Gtk::Menu::attach_to_widget(Widget& attach_widget)
-{
- gtk_menu_attach_to_widget(gtk_menu(), attach_widget.gtk_widget(), &MenuClass::menu_detach_callback);
-}
-
-void
-Gtk::Menu::set_title(const String& title)
-{
- gtk_menu_set_title(gtk_menu(), title.c_str());
-}
-
-void
-Gtk::Menu::reorder_child(const MenuItem& child, int position)
-{
- gtk_menu_reorder_child(gtk_menu(), child.gtk_widget(), position);
-}
-
-void
-Gtk::Menu::set_screen(const Gdk::Screen *screen)
-{
- gtk_menu_set_screen(gtk_menu(), screen->gdk_screen());
-}
-
-void
-Gtk::Menu::attach(MenuItem &child, unsigned int left_attach, unsigned int right_attach,
- unsigned int top_attach, unsigned int bottom_attach)
-{
- gtk_menu_attach(gtk_menu(), child.gtk_widget(), left_attach, right_attach, top_attach, bottom_attach);
-}
-
-/* Gtk::MenuClass
- */
-
-void
-Gtk::MenuClass::init(GtkMenuClass *g_class)
-{
- MenuShellClass::init((GtkMenuShellClass*)g_class);
-}
-
-GType
-Gtk::MenuClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_MENU, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::MenuClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::MenuClass::menu_detach_callback(GtkWidget *widget, GtkMenu *menu)
-{
- void *ptr = g_object_get_qdata((GObject*)menu, G::ObjectClass::quark());
- if (ptr)
- static_cast<Menu*>(ptr)->on_menu_detach(*G::Object::wrap<Gtk::Widget>(widget));
-}
-
diff --git a/libXFCui/xfc/gtk/printpagesetup.cc b/libXFCui/xfc/gtk/printpagesetup.cc
deleted file mode 100644
index 3504116..0000000
--- a/libXFCui/xfc/gtk/printpagesetup.cc
+++ /dev/null
@@ -1,108 +0,0 @@
-#include "printpagesetup.hh"
-//#include "private/printpagesetupclass.hh"
-#include "atk/object.hh"
-
-#include <xfc/gtk/printsetting.hh>
-
-namespace Xfc {
-
-namespace Gtk {
-
-//PageSetup::PageSetup( const PageSetup *pagesetup ) : Object( PageSetupClass::create())
-//{
-//}
-
-PageSetup::PageSetup( GtkPageSetup *ctx, bool owns_reference ) : G::Object((GObject *)ctx, owns_reference )
-{
-}
-
-PageOrientation PageSetup::get_orientation()
-{
- return (PageOrientation)gtk_page_setup_get_orientation( gtk_page_setup());
-}
-
-void PageSetup::set_orientation( PageOrientation orientation )
-{
- gtk_page_setup_set_orientation( gtk_page_setup(), (GtkPageOrientation)orientation );
-}
-
-PaperSize PageSetup::get_paper_size()
-{
- return PaperSize( gtk_page_setup_get_paper_size( gtk_page_setup()));
-}
-
-void PageSetup::set_paper_size( const PaperSize &size )
-{
- gtk_page_setup_set_paper_size( gtk_page_setup(), (GtkPaperSize*)size );
-}
-
-double PageSetup::get_top_margin( Unit unit )
-{
- return gtk_page_setup_get_top_margin( gtk_page_setup(), (GtkUnit)unit );
-}
-
-void PageSetup::set_top_margin( double margin, Unit unit)
-{
- gtk_page_setup_set_top_margin( gtk_page_setup(), margin, (GtkUnit)unit );
-}
-
-double PageSetup::get_bottom_margin( Unit unit)
-{
- return gtk_page_setup_get_bottom_margin( gtk_page_setup(), (GtkUnit)unit );
-}
-
-void PageSetup::set_bottom_margin( double margin, Unit unit )
-{
- gtk_page_setup_set_bottom_margin( gtk_page_setup(), margin, (GtkUnit)unit );
-}
-
-double PageSetup::get_left_margin( Unit unit )
-{
- return gtk_page_setup_get_left_margin( gtk_page_setup(), (GtkUnit)unit );
-}
-
-void PageSetup::set_left_margin( double margin, Unit unit )
-{
- gtk_page_setup_set_left_margin( gtk_page_setup(), margin, (GtkUnit)unit );
-}
-
-double PageSetup::get_right_margin( Unit unit )
-{
- return gtk_page_setup_get_right_margin( gtk_page_setup(), (GtkUnit)unit );
-}
-
-void PageSetup::set_right_margin( double margin, Unit unit )
-{
- gtk_page_setup_set_right_margin( gtk_page_setup(), margin, (GtkUnit)unit );
-}
-
-#if 0
-void PageSetup::set_paper_size_and_default_margins( PaperSize *size )
-{
-
-}
-#endif
-
-double PageSetup::get_paper_width( Unit unit)
-{
- return gtk_page_setup_get_paper_width( gtk_page_setup(), (GtkUnit)unit );
-}
-
-double PageSetup::get_paper_height( Unit unit )
-{
- return gtk_page_setup_get_paper_height( gtk_page_setup(), (GtkUnit)unit );
-}
-
-double PageSetup::get_page_width( Unit unit)
-{
- return gtk_page_setup_get_page_width( gtk_page_setup(), (GtkUnit)unit );
-}
-
-double PageSetup::get_page_height( Unit unit )
-{
- return gtk_page_setup_get_page_height( gtk_page_setup(), (GtkUnit)unit );
-}
-
-}
-
-}
diff --git a/libXFCui/xfc/gtk/radioaction.cc b/libXFCui/xfc/gtk/radioaction.cc
deleted file mode 100644
index fcfc4fe..0000000
--- a/libXFCui/xfc/gtk/radioaction.cc
+++ /dev/null
@@ -1,241 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * radioaction.cc - GtkRadioAction C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "radioaction.hh"
-#include "radioactionsignals.hh"
-#include "accelkey.hh"
-#include "stockid.hh"
-#include "private/marshal.hh"
-#include "private/radioactionclass.hh"
-#include "../../../libXFCcore/xfc/glib/quark.hh"
-
-using namespace Xfc;
-
-namespace { // AccelKeyQuark
-
-const G::Quark AccelKeyQuark("gfc_action_accel_key");
-
-} // namespace
-
-/* Gtk::RadioAction
- */
-
-Gtk::RadioAction::RadioAction(GtkRadioAction *action, bool owns_reference)
-: ToggleAction((GtkToggleAction*)action, owns_reference)
-{
-}
-
-Gtk::RadioAction::RadioAction(const RadioAction *group, const char *name, const char *label, int value)
-: ToggleAction((GtkToggleAction*)RadioActionClass::create(name))
-{
- g_object_set(g_object(), "label", label, "value", value, 0);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioAction::RadioAction(const RadioAction *group, const String& name, const String& label, int value)
-: ToggleAction((GtkToggleAction*)RadioActionClass::create(name.c_str()))
-{
- g_object_set(g_object(), "label", label.c_str(), "value", value, 0);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioAction::RadioAction(const RadioAction *group, const char *name, const StockId& stock_id, int value)
-: ToggleAction((GtkToggleAction*)RadioActionClass::create(name))
-{
- g_object_set(g_object(), "stock_id", stock_id.c_str(), "value", value, 0);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioAction::RadioAction(const RadioAction *group, const String& name, const StockId& stock_id, int value)
-: ToggleAction((GtkToggleAction*)RadioActionClass::create(name.c_str()))
-{
- g_object_set(g_object(), "stock_id", stock_id.c_str(), "value", value, 0);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioAction::RadioAction(const RadioAction *group, const char *name, const char *label, const StockId& stock_id, int value)
-: ToggleAction((GtkToggleAction*)RadioActionClass::create(name))
-{
- g_object_set(g_object(), "label", label, "stock_id", stock_id.c_str(), "value", value, 0);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioAction::RadioAction(const RadioAction *group, const String& name, const String& label, const StockId& stock_id, int value)
-: ToggleAction((GtkToggleAction*)RadioActionClass::create(name.c_str()))
-{
- g_object_set(g_object(), "label", label.c_str(), "stock_id", stock_id.c_str(), "value", value, 0);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioAction::~RadioAction()
-{
-}
-
-int
-Gtk::RadioAction::get_value() const
-{
- int value;
- g_object_get(g_object(), "value", &value, 0);
- return value;
-}
-
-/* Gtk::RadioActionClass
- */
-
-void
-Gtk::RadioActionClass::init(GtkRadioActionClass *g_class)
-{
- ToggleActionClass::init((GtkToggleActionClass*)g_class);
- g_class->changed = &changed_proxy;
-}
-
-GtkRadioActionClass*
-Gtk::RadioActionClass::get_parent_class(void *instance)
-{
- return static_cast<GtkRadioActionClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::RadioActionClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_RADIO_ACTION, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::RadioActionClass::create(const char *name)
-{
- return g_object_new(get_type(), "name", name, 0);
-}
-
-void
-Gtk::RadioActionClass::changed_proxy(GtkRadioAction *action, GtkRadioAction *current)
-{
- RadioActionSignals *signals = dynamic_cast<RadioActionSignals*>(G::ObjectSignals::pointer((GObject*)action));
- if (signals)
- signals->on_changed(*G::Object::wrap<RadioAction>(current));
- else
- {
- GtkRadioActionClass *g_class = get_parent_class(action);
- if (g_class && g_class->changed)
- g_class->changed(action, current);
- }
-}
-
-/* Gtk::RadioAction signals
- */
-
-const Gtk::RadioAction::ChangedSignalType Gtk::RadioAction::changed_signal("changed", (GCallback)&Marshal::void_radioaction_callback);
-
-/* Gtk::RadioActions
- */
-
-Gtk::RadioActions::RadioActions()
-: group_(0)
-{
-}
-
-Gtk::RadioActions::~RadioActions()
-{
- clear();
-}
-
-Gtk::RadioAction*
-Gtk::RadioActions::add(const char *name, const char *label, int value, const char *tooltip)
-{
- RadioAction *action = new RadioAction(group_, name, label, value);
- group_ = action;
- if (tooltip)
- action->set_tooltip(tooltip);
- actions_.push_back(action);
- return action;
-}
-
-Gtk::RadioAction*
-Gtk::RadioActions::add(const char *name, const char *label, const AccelKey& accel_key, int value, const char *tooltip)
-{
- RadioAction *action = new RadioAction(group_, name, label, value);
- group_ = action;
- if (tooltip)
- action->set_tooltip(tooltip);
- action->set_data(AccelKeyQuark, new AccelKey(accel_key));
- actions_.push_back(action);
- return action;
-}
-
-Gtk::RadioAction*
-Gtk::RadioActions::add(const char *name, const StockId& stock_id, int value, const char *tooltip)
-{
- return add(name, 0, stock_id, value, tooltip);
-}
-
-Gtk::RadioAction*
-Gtk::RadioActions::add(const char *name, const StockId& stock_id, const AccelKey& accel_key, int value, const char *tooltip)
-{
- return add(name, 0, stock_id, accel_key, value, tooltip);
-}
-
-Gtk::RadioAction*
-Gtk::RadioActions::add(const char *name, const char *label, const StockId& stock_id, int value, const char *tooltip)
-{
- RadioAction *action = new RadioAction(group_, name, label, stock_id, value);
- group_ = action;
- if (tooltip)
- action->set_tooltip(tooltip);
- actions_.push_back(action);
- return action;
-}
-
-Gtk::RadioAction*
-Gtk::RadioActions::add(const char *name, const char *label, const StockId& stock_id, const AccelKey& accel_key, int value, const char *tooltip)
-{
- RadioAction *action = new RadioAction(group_, name, label, stock_id, value);
- group_ = action;
- if (tooltip)
- action->set_tooltip(tooltip);
- action->set_data(AccelKeyQuark, new AccelKey(accel_key));
- actions_.push_back(action);
- return action;
-}
-
-void
-Gtk::RadioActions::clear()
-{
- for (unsigned int i = 0; i < actions_.size(); i++)
- {
- AccelKey *accel_key = reinterpret_cast<AccelKey*>(actions_[i]->get_data(AccelKeyQuark));
- if (accel_key)
- delete accel_key;
- actions_[i]->unref();
- }
- actions_.clear();
- group_ = 0;
-}
-
diff --git a/libXFCui/xfc/gtk/radiobutton.cc b/libXFCui/xfc/gtk/radiobutton.cc
deleted file mode 100755
index 4e7631f..0000000
--- a/libXFCui/xfc/gtk/radiobutton.cc
+++ /dev/null
@@ -1,120 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * radiobutton.cc - GtkRadioButton C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "radiobutton.hh"
-#include "radiobuttonsignals.hh"
-#include "private/radiobuttonclass.hh"
-#include "../../../libXFCcore/xfc/glib/private/marshal.hh"
-
-using namespace Xfc;
-
-/* Gtk::RadioButton
- */
-
-Gtk::RadioButton::RadioButton(GtkRadioButton *radio_button, bool owns_reference)
-: CheckButton((GtkCheckButton*)radio_button, owns_reference)
-{
-}
-
-Gtk::RadioButton::RadioButton()
-: CheckButton((GtkCheckButton*)RadioButtonClass::create())
-{
-}
-
-Gtk::RadioButton::RadioButton(const RadioButton *group)
-: CheckButton((GtkCheckButton*)RadioButtonClass::create())
-{
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioButton::RadioButton(const RadioButton *group, const char *label, bool use_underline)
-: CheckButton((GtkCheckButton*)RadioButtonClass::create())
-{
- set_label(label);
- set_use_underline(use_underline);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioButton::RadioButton(const RadioButton *group, const String& label, bool use_underline)
-: CheckButton((GtkCheckButton*)RadioButtonClass::create())
-{
- set_label(label);
- set_use_underline(use_underline);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioButton::~RadioButton()
-{
-}
-
-/* Gtk::RadioButtonClass
- */
-
-void
-Gtk::RadioButtonClass::init(GtkRadioButtonClass *g_class)
-{
- CheckButtonClass::init((GtkCheckButtonClass*)g_class);
- g_class->group_changed = &group_changed_proxy;
-}
-
-GtkRadioButtonClass*
-Gtk::RadioButtonClass::get_parent_class(void *instance)
-{
- return static_cast<GtkRadioButtonClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::RadioButtonClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_RADIO_BUTTON, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::RadioButtonClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::RadioButtonClass::group_changed_proxy(GtkRadioButton *radio_button)
-{
- RadioButtonSignals *signals = dynamic_cast<RadioButtonSignals*>(G::ObjectSignals::pointer((GObject*)radio_button));
- if (signals)
- signals->on_group_changed();
- else
- {
- GtkRadioButtonClass *g_class = get_parent_class(radio_button);
- if (g_class && g_class->group_changed)
- g_class->group_changed(radio_button);
- }
-}
-
-/* Gtk::RadioButton signals
- */
-
-const Gtk::RadioButton::GroupChangedSignalType Gtk::RadioButton::group_changed_signal("group-changed", (GCallback)&G::Marshal::void_callback);
diff --git a/libXFCui/xfc/gtk/radiomenuitem.cc b/libXFCui/xfc/gtk/radiomenuitem.cc
deleted file mode 100755
index 3d6b0cc..0000000
--- a/libXFCui/xfc/gtk/radiomenuitem.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * radiomenuitem.cc - GtkRadioMenuItem C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "radiomenuitem.hh"
-#include "radiomenuitemsignals.hh"
-#include "private/radiomenuitemclass.hh"
-#include "../../../libXFCcore/xfc/glib/private/marshal.hh"
-
-using namespace Xfc;
-
-/* Gtk::RadioMenuItem
- */
-
-Gtk::RadioMenuItem::RadioMenuItem(GtkRadioMenuItem *radio_menu_item, bool owns_reference)
-: CheckMenuItem((GtkCheckMenuItem*)radio_menu_item, owns_reference)
-{
-}
-
-Gtk::RadioMenuItem::RadioMenuItem()
-: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
-{
-}
-
-Gtk::RadioMenuItem::RadioMenuItem(const RadioMenuItem *group)
-: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
-{
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioMenuItem::RadioMenuItem(const RadioMenuItem *group, const char *label, bool use_underline)
-: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
-{
- add_label(label, use_underline);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioMenuItem::RadioMenuItem(const RadioMenuItem *group, const String& label, bool use_underline)
-: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
-{
- add_label(label, use_underline);
- if (group)
- set_group(group->get_group());
-}
-
-Gtk::RadioMenuItem::~RadioMenuItem()
-{
-}
-
-/* Gtk::RadioMenuItemClass
- */
-
-void
-Gtk::RadioMenuItemClass::init(GtkRadioMenuItemClass *g_class)
-{
- CheckMenuItemClass::init((GtkCheckMenuItemClass*)g_class);
- g_class->group_changed = &group_changed_proxy;
-}
-
-GtkRadioMenuItemClass*
-Gtk::RadioMenuItemClass::get_parent_class(void *instance)
-{
- return static_cast<GtkRadioMenuItemClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::RadioMenuItemClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_RADIO_MENU_ITEM, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::RadioMenuItemClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::RadioMenuItemClass::group_changed_proxy(GtkRadioMenuItem *radio_menu_item)
-{
- RadioMenuItemSignals *signals = dynamic_cast<RadioMenuItemSignals*>(G::ObjectSignals::pointer((GObject*)radio_menu_item));
- if (signals)
- signals->on_group_changed();
- else
- {
- GtkRadioMenuItemClass *g_class = get_parent_class(radio_menu_item);
- if (g_class && g_class->group_changed)
- g_class->group_changed(radio_menu_item);
- }
-}
-
-/* Gtk::RadioMenuItem signals
- */
-
-const Gtk::RadioMenuItem::GroupChangedSignalType Gtk::RadioMenuItem::group_changed_signal("group-changed", (GCallback)&G::Marshal::void_callback);
diff --git a/libXFCui/xfc/gtk/rc.cc b/libXFCui/xfc/gtk/rc.cc
deleted file mode 100755
index e99d276..0000000
--- a/libXFCui/xfc/gtk/rc.cc
+++ /dev/null
@@ -1,328 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * rcstyle.cc - GtkRcStyle C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "rc.hh"
-#include "settings.hh"
-#include "style.hh"
-#include "widget.hh"
-#include "private/rcclass.hh"
-#include "../gdk/color.hh"
-#include "../gdk/pixmap.hh"
-#include "../pango/font.hh"
-#include "../../../libXFCcore/xfc/glib/quark.hh"
-#include "../../../libXFCcore/xfc/glib/scanner.hh"
-
-using namespace Xfc;
-
-/* Gtk::RC
- */
-
-std::vector<String>
-Gtk::RC::get_default_files()
-{
- std::vector<String> filenames;
-
- int i = 0;
- char **tmp_filenames = gtk_rc_get_default_files();
-
- while (tmp_filenames[i] && *tmp_filenames[i])
- {
- String s(tmp_filenames[i]);
- filenames.push_back(s);
- ++i;
- }
- return filenames;
-}
-
-Gtk::Style*
-Gtk::RC::get_style_by_paths(const Settings& settings, const char *widget_path, const char *class_path, GType type)
-{
- return G::Object::wrap<Style>(gtk_rc_get_style_by_paths(settings.gtk_settings(), widget_path, class_path, type));
-}
-
-Gtk::Style*
-Gtk::RC::get_style_by_paths(const Settings& settings, const String& widget_path, const String& class_path, GType type)
-{
- return get_style_by_paths(settings, widget_path.c_str(), class_path.c_str(), type);
-}
-
-String
-Gtk::RC::get_theme_dir()
-{
- return gtk_rc_get_theme_dir();
-}
-
-String
-Gtk::RC::get_module_dir()
-{
- return gtk_rc_get_module_dir();
-}
-
-String
-Gtk::RC::get_im_module_file()
-{
- return gtk_rc_get_im_module_file();
-}
-
-Gtk::Style*
-Gtk::RC::get_style(const Widget& widget)
-{
- return G::Object::wrap<Style>(gtk_rc_get_style(widget.gtk_widget()));
-}
-
-Pointer<G::Scanner>
-Gtk::RC::get_scanner()
-{
- return new G::Scanner(gtk_rc_scanner_new());
-}
-
-void
-Gtk::RC::add_default_file(const String& filename)
-{
- gtk_rc_add_default_file(filename.c_str());
-}
-
-void
-Gtk::RC::set_default_files(const std::vector<String>& filenames)
-{
- g_return_if_fail(!filenames.empty());
- int count = filenames.size();
- char **tmp_filenames = new char*[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_filenames[i] = const_cast<char*>(filenames[i].c_str());
- ++i;
- }
-
- gtk_rc_set_default_files(tmp_filenames);
- delete [] tmp_filenames;
-}
-
-void
-Gtk::RC::parse(const String& filename)
-{
- gtk_rc_parse(filename.c_str());
-}
-
-void
-Gtk::RC::parse_string(const String& rc_string)
-{
- gtk_rc_parse_string(rc_string.c_str());
-}
-
-bool
-Gtk::RC::reparse_all_for_settings(const Settings& settings, bool force_load)
-{
- return gtk_rc_reparse_all_for_settings(settings.gtk_settings(), force_load);
-}
-
-void
-Gtk::RC::reset_styles(const Settings& settings)
-{
- gtk_rc_reset_styles(settings.gtk_settings());
-}
-
-String
-Gtk::RC::find_pixmap_in_path(const Settings& settings, const char *pixmap_file, const G::Scanner *scanner)
-{
- return gtk_rc_find_pixmap_in_path(settings.gtk_settings(), *scanner, pixmap_file);
-}
-
-String
-Gtk::RC::find_pixmap_in_path(const Settings& settings, const String& pixmap_file, const G::Scanner *scanner)
-{
- return gtk_rc_find_pixmap_in_path(settings.gtk_settings(), *scanner, pixmap_file.c_str());
-}
-
-unsigned int
-Gtk::RC::parse_color(const G::Scanner& scanner, Gdk::Color& color)
-{
- return gtk_rc_parse_color(scanner.g_scanner(), color.gdk_color());
-}
-
-unsigned int
-Gtk::RC::parse_state(const G::Scanner& scanner, StateType& state)
-{
- return gtk_rc_parse_state(scanner.g_scanner(), (GtkStateType*)&state);
-}
-
-/* Gtk::RcStyle
- */
-
-Gtk::RcStyle::RcStyle(GtkRcStyle *rc_style, bool owns_reference)
-: G::Object((GObject*)rc_style, owns_reference)
-{
-}
-
-Gtk::RcStyle::RcStyle()
-: G::Object((GObject*)RcStyleClass::create())
-{
-}
-
-Gtk::RcStyle::~RcStyle()
-{
-}
-
-String
-Gtk::RcStyle::name() const
-{
- return gtk_rc_style()->name;
-}
-
-String
-Gtk::RcStyle::bg_pixmap_name(StateType state_type) const
-{
- return gtk_rc_style()->bg_pixmap_name[state_type];
-}
-
-Pointer<Pango::FontDescription>
-Gtk::RcStyle::font_description() const
-{
- return G::Boxed::wrap<Pango::FontDescription>(PANGO_TYPE_FONT_DESCRIPTION, gtk_rc_style()->font_desc, true);
-}
-
-Gdk::Color
-Gtk::RcStyle::fg(StateType state_type) const
-{
- return Gdk::Color(>k_rc_style()->fg[state_type]);
-}
-
-Gdk::Color
-Gtk::RcStyle::bg(StateType state_type) const
-{
- return Gdk::Color(>k_rc_style()->bg[state_type]);
-}
-
-Gdk::Color
-Gtk::RcStyle::text(StateType state_type) const
-{
- return Gdk::Color(>k_rc_style()->text[state_type]);
-}
-
-Gdk::Color
-Gtk::RcStyle::base(StateType state_type) const
-{
- return Gdk::Color(>k_rc_style()->base[state_type]);
-}
-
-Pointer<Gtk::RcStyle>
-Gtk::RcStyle::copy() const
-{
- return G::Object::wrap_new<RcStyle>(gtk_rc_style_copy(gtk_rc_style()), true);
-}
-
-void
-Gtk::RcStyle::set_name(const char *name)
-{
- char *old_name = gtk_rc_style()->name;
- if (old_name)
- g_free(old_name);
-
- gtk_rc_style()->name = name ? g_strdup(name) : 0;
-}
-
-void
-Gtk::RcStyle::set_name(const String& name)
-{
- set_name(name.c_str());
-}
-
-void
-Gtk::RcStyle::set_bg_pixmap_name(StateType state_type, const char *name)
-{
- char *old_name = gtk_rc_style()->bg_pixmap_name[state_type];
- if (old_name)
- g_free(old_name);
-
- gtk_rc_style()->bg_pixmap_name[state_type] = name ? g_strdup(name) : 0;
-}
-
-void
-Gtk::RcStyle::set_bg_pixmap_name(StateType state_type, const String& name)
-{
- set_bg_pixmap_name(state_type, name.c_str());
-}
-
-void
-Gtk::RcStyle::set_font_description(const Pango::FontDescription *font_desc) const
-{
- PangoFontDescription *old_font_desc = gtk_rc_style()->font_desc;
- if (old_font_desc)
- pango_font_description_free(old_font_desc);
-
- gtk_rc_style()->font_desc = font_desc ? pango_font_description_copy(*font_desc) : 0;
-}
-
-void
-Gtk::RcStyle::set_fg(StateType state_type, const Gdk::Color& color)
-{
- gtk_rc_style()->fg[state_type] = *color.gdk_color();
- ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_FG);
-}
-
-void
-Gtk::RcStyle::set_bg(StateType state_type, const Gdk::Color& color)
-{
- gtk_rc_style()->bg[state_type] = *color.gdk_color();
- ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_BG);
-}
-
-void
-Gtk::RcStyle::set_text(StateType state_type, const Gdk::Color& color)
-{
- gtk_rc_style()->text[state_type] = *color.gdk_color();
- ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_TEXT);
-}
-
-void
-Gtk::RcStyle::set_base(StateType state_type, const Gdk::Color& color)
-{
- gtk_rc_style()->base[state_type] = *color.gdk_color();
- ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_BASE);
-}
-
-/* Gtk::RcStyleClass
- */
-
-void
-Gtk::RcStyleClass::init(GtkRcStyleClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::RcStyleClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_RC_STYLE, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::RcStyleClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
diff --git a/libXFCui/xfc/gtk/selection.cc b/libXFCui/xfc/gtk/selection.cc
deleted file mode 100755
index 2f83282..0000000
--- a/libXFCui/xfc/gtk/selection.cc
+++ /dev/null
@@ -1,306 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * selection.cc - GtkSelectionData, GtkTargetEntry and GtkTargetList C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "selection.hh"
-#include "treemodel.hh"
-#include "../gdk/display.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include <gtk/gtktreednd.h>
-
-using namespace Xfc;
-
-/* Gtk::SelectionData
- */
-
-Gtk::SelectionData::SelectionData(GtkSelectionData *data)
-: G::Boxed(GTK_TYPE_SELECTION_DATA, data)
-{
-}
-
-Gtk::SelectionData::SelectionData(GtkSelectionData *data, bool copy)
-: G::Boxed(GTK_TYPE_SELECTION_DATA, data, copy)
-{
-}
-
-Gtk::SelectionData::~SelectionData()
-{
-}
-
-String
-Gtk::SelectionData::get_selection() const
-{
- char *selection = gdk_atom_name(gtk_selection_data()->selection);
- String s(selection);
- g_free(selection);
- return s;
-}
-
-String
-Gtk::SelectionData::get_target() const
-{
- char *target = gdk_atom_name(gtk_selection_data()->target);
- String s(target);
- g_free(target);
- return s;
-}
-
-String
-Gtk::SelectionData::get_type() const
-{
- char *type = gdk_atom_name(gtk_selection_data()->type);
- String s(type);
- g_free(type);
- return s;
-}
-
-Gdk::Display*
-Gtk::SelectionData::display() const
-{
- return G::Object::wrap<Gdk::Display>(gtk_selection_data()->display);
-}
-
-String
-Gtk::SelectionData::get_text() const
-{
- unsigned char *text = gtk_selection_data_get_text(gtk_selection_data());
- String s((char*)text);
- g_free(text);
- return s;
-}
-
-Pointer<Gdk::Pixbuf>
-Gtk::SelectionData::get_pixbuf() const
-{
- GdkPixbuf *pixbuf = gtk_selection_data_get_pixbuf(gtk_selection_data());
- return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf, true) : 0;
-}
-
-std::vector<String>
-Gtk::SelectionData::get_uris() const
-{
- std::vector<String> uris;
-
- int i = 0;
- char **tmp_uris = gtk_selection_data_get_uris(gtk_selection_data());
-
- while (tmp_uris[i] && *tmp_uris[i])
- {
- String s(tmp_uris[i]);
- uris.push_back(s);
- ++i;
- }
-
- g_strfreev(tmp_uris);
- return uris;
-}
-
-bool
-Gtk::SelectionData::get_targets(std::vector<Gdk::Atom>& targets) const
-{
- g_return_val_if_fail(targets.empty(), false);
- GdkAtom *tmp_targets = 0;
- int n_atoms = 0;
-
- bool result = gtk_selection_data_get_targets(gtk_selection_data(), &tmp_targets, &n_atoms);
- if (result)
- {
- int i = 0;
- while (i < n_atoms)
- {
- targets.push_back(tmp_targets[i]);
- ++i;
- }
- g_free(tmp_targets);
- }
- return result;
-}
-
-bool
-Gtk::SelectionData::get_targets(std::vector<String>& targets) const
-{
- g_return_val_if_fail(targets.empty(), false);
- GdkAtom *tmp_targets = 0;
- int n_atoms = 0;
-
- bool result = gtk_selection_data_get_targets(gtk_selection_data(), &tmp_targets, &n_atoms);
- if (result)
- {
- int i = 0;
- while (i < n_atoms)
- {
- char *name = gdk_atom_name(tmp_targets[i]);
- targets.push_back(name);
- g_free(name);
- ++i;
- }
- result = !targets.empty();
- g_free(tmp_targets);
- }
- return result;
-}
-
-bool
-Gtk::SelectionData::set_text(const String& str)
-{
- return gtk_selection_data_set_text(gtk_selection_data(), str.c_str(), str.size());
-}
-
-bool
-Gtk::SelectionData::set_pixbuf(Gdk::Pixbuf& pixbuf)
-{
- return gtk_selection_data_set_pixbuf(gtk_selection_data(), pixbuf.gdk_pixbuf());
-}
-
-bool
-Gtk::SelectionData::set_uris(const std::vector<String>& uris)
-{
- g_return_val_if_fail(!uris.empty(), false);
- int count = uris.size();
- char **tmp_uris = new char*[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_uris[i] = const_cast<char*>(uris[i].c_str());
- ++i;
- }
-
- bool result = gtk_selection_data_set_uris(gtk_selection_data(), tmp_uris);
- delete [] tmp_uris;
- return result;
-}
-
-bool
-Gtk::SelectionData::get_row_drag_data(TreeModel **model, Pointer<TreePath> *path) const
-{
- GtkTreeModel *tmp_model = 0;
- GtkTreePath *tmp_path = 0;
-
- bool result = gtk_tree_get_row_drag_data(gtk_selection_data(), model ? &tmp_model : 0, path ? &tmp_path : 0);
-
- if (model && tmp_model)
- {
- G::Object *object = G::Object::pointer((GObject*)tmp_model);
- *model = dynamic_cast<TreeModel*>(object);
- }
-
- if (path && tmp_path)
- *path = G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, tmp_path, false);
-
- return result;
-}
-
-bool
-Gtk::SelectionData::set_row_drag_data(TreeModel& tree_model, const TreePath& path)
-{
- return gtk_tree_set_row_drag_data(gtk_selection_data(), tree_model.gtk_tree_model(), path.gtk_tree_path());
-}
-
-/* Gtk::TargetEntry
- */
-
-Gtk::TargetEntry::TargetEntry()
-{
- set(0, 0, 0);
-}
-
-Gtk::TargetEntry::TargetEntry(const char *target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
-{
- set(target_name, unique_id, drag_flags);
-}
-
-Gtk::TargetEntry::TargetEntry(const String& target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
-{
- set(target_name, unique_id, drag_flags);
-}
-
-void
-Gtk::TargetEntry::set(const char *target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
-{
- entry_.target = const_cast<char*>(target_name);
- entry_.flags = drag_flags;
- entry_.info = unique_id;
-}
-
-void
-Gtk::TargetEntry::set(const String& target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
-{
- set(target_name.c_str(), unique_id, drag_flags);
-}
-
-/* Gtk::TargetList
- */
-
-Gtk::TargetList::TargetList()
-: target_list_(gtk_target_list_new(0, 0))
-{
-}
-
-Gtk::TargetList::TargetList(const std::vector<TargetEntry>& targets)
-: target_list_(gtk_target_list_new(0, 0))
-{
- add(targets);
-}
-
-Gtk::TargetList::TargetList(GtkTargetList *target_list)
-: target_list_(target_list)
-{
-}
-
-Gtk::TargetList::~TargetList()
-{
- if (target_list_)
- {
- gtk_target_list_unref(target_list_);
- target_list_ = 0;
- }
-}
-
-void
-Gtk::TargetList::add(Gdk::Atom target, unsigned int flags, unsigned int info)
-{
- gtk_target_list_add(gtk_target_list(), target, flags, info);
-}
-
-void
-Gtk::TargetList::add(const TargetEntry& entry)
-{
- gtk_target_list_add(gtk_target_list(), gdk_atom_intern (entry.target(), FALSE), entry.flags(), entry.info());
-}
-
-void
-Gtk::TargetList::add(const std::vector<TargetEntry>& targets)
-{
- g_return_if_fail(!targets.empty());
- int count = targets.size();
- GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_targets[i] = *(targets[i].gtk_target_entry());
- ++i;
- }
-
- gtk_target_list_add_table(gtk_target_list(), tmp_targets, count);
- delete [] tmp_targets;
-}
-
diff --git a/libXFCui/xfc/gtk/textiter.cc b/libXFCui/xfc/gtk/textiter.cc
deleted file mode 100755
index 763a372..0000000
--- a/libXFCui/xfc/gtk/textiter.cc
+++ /dev/null
@@ -1,444 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2002-2003 The XFC Development Team.
- *
- * textiter.cc - GtkTextIter C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "textbuffer.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../../../libXFCcore/xfc/glib/unicode.hh"
-
-using namespace Xfc;
-
-Gtk::TextIter::TextIter()
-: G::Boxed(GTK_TYPE_TEXT_ITER)
-{
- GtkTextIter iter = { 0, };
- copy(&iter);
-}
-
-Gtk::TextIter::TextIter(GtkTextIter *iter)
-: G::Boxed(GTK_TYPE_TEXT_ITER, iter)
-{
-}
-
-Gtk::TextIter::TextIter(GtkTextIter *iter, bool copy)
-: G::Boxed(GTK_TYPE_TEXT_ITER, iter, copy)
-{
-}
-
-Gtk::TextIter::TextIter(const TextIter& src)
-: G::Boxed(GTK_TYPE_TEXT_ITER, src.g_boxed(), true)
-{
-}
-
-Gtk::TextIter::~TextIter()
-{
-}
-
-Gtk::TextIter&
-Gtk::TextIter::operator=(const TextIter& src)
-{
- if (src.boxed_ != boxed_)
- copy(src);
- return *this;
-}
-
-Gtk::TextBuffer*
-Gtk::TextIter::get_buffer() const
-{
- return G::Object::wrap<TextBuffer>(gtk_text_iter_get_buffer(gtk_text_iter()));
-}
-
-G::Unichar
-Gtk::TextIter::get_char() const
-{
- return gtk_text_iter_get_char(gtk_text_iter());
-}
-
-G::Unichar
-Gtk::TextIter::operator*() const
-{
- return gtk_text_iter_get_char(gtk_text_iter());
-}
-
-String
-Gtk::TextIter::get_slice(const TextIter& start, const TextIter& end)
-{
- char *tmp_slice = gtk_text_iter_get_slice(start.gtk_text_iter(), end.gtk_text_iter());
- String slice(tmp_slice);
- g_free(tmp_slice);
- return slice;
-}
-
-String
-Gtk::TextIter::get_text(const TextIter& start, const TextIter& end)
-{
- char *tmp_text = gtk_text_iter_get_text(start.gtk_text_iter(), end.gtk_text_iter());
- String text(tmp_text);
- g_free(tmp_text);
- return text;
-}
-
-String
-Gtk::TextIter::get_visible_slice(const TextIter& start, const TextIter& end)
-{
- char *tmp_slice = gtk_text_iter_get_visible_slice(start.gtk_text_iter(), end.gtk_text_iter());
- String slice(tmp_slice);
- g_free(tmp_slice);
- return slice;
-}
-
-String
-Gtk::TextIter::get_visible_text(const TextIter& start, const TextIter& end)
-{
- char *tmp_text = gtk_text_iter_get_visible_text(start.gtk_text_iter(), end.gtk_text_iter());
- String text(tmp_text);
- g_free(tmp_text);
- return text;
-}
-
-Gdk::Pixbuf*
-Gtk::TextIter::get_pixbuf() const
-{
- return G::Object::wrap<Gdk::Pixbuf>(gtk_text_iter_get_pixbuf(gtk_text_iter()));
-}
-
-bool
-Gtk::TextIter::get_marks(std::vector<TextMark*>& marks) const
-{
- g_return_val_if_fail(marks.empty(), false);
- GSList *first = gtk_text_iter_get_marks(gtk_text_iter());
- GSList *next = first;
- while (next)
- {
- marks.push_back(G::Object::wrap<TextMark>((GtkTextMark*)next->data));
- next = g_slist_next(next);
- }
- g_slist_free(first);
- return !marks.empty();
-}
-
-Gtk::TextChildAnchor*
-Gtk::TextIter::get_child_anchor() const
-{
- GtkTextChildAnchor *anchor = gtk_text_iter_get_child_anchor(gtk_text_iter());
- return anchor ? G::Object::wrap<TextChildAnchor>(anchor) : 0;
-}
-
-bool
-Gtk::TextIter::get_toggled_tags(std::vector<TextTag*>& tags, bool toggled_on) const
-{
- g_return_val_if_fail(tags.empty(), false);
- GSList *first = gtk_text_iter_get_toggled_tags(gtk_text_iter(), toggled_on);
- GSList *next = first;
- while (next)
- {
- tags.push_back(G::Object::wrap<TextTag>((GtkTextTag*)next->data));
- next = g_slist_next(next);
- }
- g_slist_free(first);
- return !tags.empty();
-}
-
-bool
-Gtk::TextIter::begins_tag(const TextTag *tag) const
-{
- return gtk_text_iter_begins_tag(gtk_text_iter(), *tag);
-}
-
-bool
-Gtk::TextIter::ends_tag(const TextTag *tag) const
-{
- return gtk_text_iter_ends_tag(gtk_text_iter(), *tag);
-}
-
-bool
-Gtk::TextIter::toggles_tag(const TextTag *tag) const
-{
- return gtk_text_iter_toggles_tag(gtk_text_iter(), *tag);
-}
-
-bool
-Gtk::TextIter::has_tag(const TextTag& tag) const
-{
- return gtk_text_iter_has_tag(gtk_text_iter(), tag.gtk_text_tag());
-}
-
-bool
-Gtk::TextIter::get_tags(std::vector<TextTag*>& tags) const
-{
- g_return_val_if_fail(tags.empty(), false);
- GSList *first = gtk_text_iter_get_tags(gtk_text_iter());
- GSList *next = first;
- while (next)
- {
- tags.push_back(G::Object::wrap<TextTag>((GtkTextTag*)next->data));
- next = g_slist_next(next);
- }
- g_slist_free(first);
- return !tags.empty();
-}
-
-bool
-Gtk::TextIter::get_attributes(TextAttributes& values) const
-{
- return gtk_text_iter_get_attributes(gtk_text_iter(), values.gtk_text_attributes());
-}
-
-PangoLanguage*
-Gtk::TextIter::get_language() const
-{
- return gtk_text_iter_get_language(gtk_text_iter());
-}
-
-bool
-Gtk::TextIter::equal(const TextIter& other) const
-{
- return gtk_text_iter_equal(gtk_text_iter(), other.gtk_text_iter());
-}
-
-int
-Gtk::TextIter::compare(const TextIter& other) const
-{
- return gtk_text_iter_compare(gtk_text_iter(), other.gtk_text_iter());
-}
-
-bool
-Gtk::TextIter::in_range(const TextIter& start, const TextIter& end)
-{
- return gtk_text_iter_in_range(gtk_text_iter(), start.gtk_text_iter(), end.gtk_text_iter());
-}
-
-bool
-Gtk::TextIter::operator==(const TextIter& other) const
-{
- return equal(other);
-}
-
-bool
-Gtk::TextIter::operator!=(const TextIter& other) const
-{
- return !equal(other);
-}
-
-bool
-Gtk::TextIter::operator<(const TextIter& other) const
-{
- return compare(other) < 0;
-}
-
-bool
-Gtk::TextIter::operator>(const TextIter& other) const
-{
- return compare(other) > 0;
-}
-
-bool
-Gtk::TextIter::operator<=(const TextIter& other) const
-{
- return compare(other) <= 0;
-}
-
-bool
-Gtk::TextIter::operator>=(const TextIter& other) const
-{
- return compare(other) >= 0;
-}
-
-bool
-Gtk::TextIter::forward_to_tag_toggle(const TextTag *tag)
-{
- return gtk_text_iter_forward_to_tag_toggle(gtk_text_iter(), *tag);
-}
-
-bool
-Gtk::TextIter::backward_to_tag_toggle(const TextTag *tag)
-{
- return gtk_text_iter_backward_to_tag_toggle(gtk_text_iter(), *tag);
-}
-
-namespace { // text_char_prediciate_callback
-
-gboolean text_char_prediciate_callback(gunichar ch, gpointer data)
-{
- Gtk::TextIter::TextCharPredicate& slot = *static_cast<Gtk::TextIter::TextCharPredicate*>(data);
- return slot(ch);
-}
-
-} // namespace
-
-bool
-Gtk::TextIter::forward_find_char(const TextCharPredicate& predicate, const TextIter *limit)
-{
- TextCharPredicate tmp_predicate(predicate);
- return gtk_text_iter_forward_find_char(gtk_text_iter(), &text_char_prediciate_callback, &tmp_predicate, limit->gtk_text_iter());
-}
-
-bool
-Gtk::TextIter::backward_find_char(const TextCharPredicate& predicate, const TextIter *limit)
-{
- TextCharPredicate tmp_predicate(predicate);
- return gtk_text_iter_backward_find_char(gtk_text_iter(), &text_char_prediciate_callback, &tmp_predicate, limit->gtk_text_iter());
-}
-
-bool
-Gtk::TextIter::forward_search(const String& str, const TextIter *limit)
-{
- return gtk_text_iter_forward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
-}
-
-bool
-Gtk::TextIter::forward_search(const char *str, const TextIter *limit)
-{
- return gtk_text_iter_forward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
-}
-
-bool
-Gtk::TextIter::forward_search(const String& str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_forward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::forward_search(const char *str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_forward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::forward_search(const String& str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_forward_search(gtk_text_iter(), str.c_str(), (GtkTextSearchFlags)flags,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::forward_search(const char *str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_forward_search(gtk_text_iter(), str, (GtkTextSearchFlags)flags,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::backward_search(const String& str, const TextIter *limit)
-{
- return gtk_text_iter_backward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
-}
-
-bool
-Gtk::TextIter::backward_search(const char *str, const TextIter *limit)
-{
- return gtk_text_iter_backward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
-}
-
-bool
-Gtk::TextIter::backward_search(const String& str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_backward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::backward_search(const char *str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_backward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::backward_search(const String& str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_backward_search(gtk_text_iter(), str.c_str(), (GtkTextSearchFlags)flags,
- *match_start, *match_end, *limit);
-}
-
-bool
-Gtk::TextIter::backward_search(const char *str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
-{
- return gtk_text_iter_backward_search(gtk_text_iter(), str, (GtkTextSearchFlags)flags,
- *match_start, *match_end, *limit);
-}
-
-void
-Gtk::TextIter::order(const TextIter& first, const TextIter& second)
-{
- gtk_text_iter_order(first.gtk_text_iter(), second.gtk_text_iter());
-}
-
-Gtk::TextIter
-Gtk::TextIter::operator+(int chars) const
-{
- TextIter iter = *this;
- gtk_text_iter_forward_chars(iter.gtk_text_iter(), chars);
- return iter;
-}
-
-Gtk::TextIter
-Gtk::TextIter::operator-(int chars) const
-{
- TextIter iter = *this;
- gtk_text_iter_backward_chars(iter.gtk_text_iter(), chars);
- return iter;
-}
-
-Gtk::TextIter&
-Gtk::TextIter::operator+=(int chars)
-{
- gtk_text_iter_forward_chars(gtk_text_iter(), chars);
- return *this;
-}
-
-Gtk::TextIter&
-Gtk::TextIter::operator-=(int chars)
-{
- gtk_text_iter_backward_chars(gtk_text_iter(), chars);
- return *this;
-}
-
-Gtk::TextIter&
-Gtk::TextIter::operator++()
-{
- gtk_text_iter_forward_char(gtk_text_iter());
- return *this;
-}
-
-Gtk::TextIter&
-Gtk::TextIter::operator--()
-{
- gtk_text_iter_backward_char(gtk_text_iter());
- return *this;
-}
-
-Gtk::TextIter
-Gtk::TextIter::operator++(int)
-{
- TextIter iter = *this;
- gtk_text_iter_forward_char(iter.gtk_text_iter());
- return iter;
-}
-
-Gtk::TextIter
-Gtk::TextIter::operator--(int)
-{
- TextIter iter = *this;
- gtk_text_iter_backward_char(iter.gtk_text_iter());
- return *this;
-}
-
diff --git a/libXFCui/xfc/gtk/treemodel.cc b/libXFCui/xfc/gtk/treemodel.cc
deleted file mode 100755
index 0931838..0000000
--- a/libXFCui/xfc/gtk/treemodel.cc
+++ /dev/null
@@ -1,563 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * treemodel.cc - GtkTreePath, GtkTreeIter, GtkTreeModel and GtkTreeRowReference C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "treemodel.hh"
-#include "treemodelsignals.hh"
-#include "selection.hh"
-#include "private/marshal.hh"
-#include "private/treemodeliface.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Gtk::TreePath
- */
-
-Gtk::TreePath::TreePath()
-: G::Boxed(GTK_TYPE_TREE_PATH, gtk_tree_path_new(), false)
-{
-}
-
-Gtk::TreePath::TreePath(const char *path)
-: G::Boxed(GTK_TYPE_TREE_PATH, path ? gtk_tree_path_new_from_string(path) : gtk_tree_path_new_first(), false)
-{
- if (!path)
- append_index(0);
-}
-
-Gtk::TreePath::TreePath(const String& path)
-: G::Boxed(GTK_TYPE_TREE_PATH, gtk_tree_path_new_from_string(path.c_str()), false)
-{
- if (path.null())
- append_index(0);
-}
-
-Gtk::TreePath::TreePath(int first_index, ...)
-: G::Boxed(GTK_TYPE_TREE_PATH, gtk_tree_path_new(), false)
-{
- va_list args;
- va_start(args, first_index);
- int arg = first_index;
-
- while (arg != -1)
- {
- append_index(arg);
- arg = va_arg(args, int);
- }
-
- va_end(args);
-}
-
-Gtk::TreePath::TreePath(GtkTreePath *path)
-: G::Boxed(GTK_TYPE_TREE_PATH, path)
-{
-}
-
-Gtk::TreePath::TreePath(GtkTreePath *path, bool copy)
-: G::Boxed(GTK_TYPE_TREE_PATH, path, copy)
-{
-}
-
-Gtk::TreePath::TreePath(const TreePath& src)
-: G::Boxed(GTK_TYPE_TREE_PATH, src.g_boxed(), true)
-{
-}
-
-Gtk::TreePath::~TreePath()
-{
-}
-
-Gtk::TreePath&
-Gtk::TreePath::operator=(const TreePath& src)
-{
- if (src.boxed_ != boxed_)
- copy(src);
- return *this;
-}
-
-String
-Gtk::TreePath::to_string() const
-{
- char *tmp_path = gtk_tree_path_to_string(gtk_tree_path());
- String path(tmp_path);
- g_free(tmp_path);
- return path;
-}
-
-std::vector<int>
-Gtk::TreePath::get_indices() const
-{
- std::vector<int> indices;
- int *tmp_indices = gtk_tree_path_get_indices(gtk_tree_path());
- int count = gtk_tree_path_get_depth(gtk_tree_path());
-
- int i = 0;
- while (i < count)
- {
- indices.push_back(tmp_indices[i]);
- ++i;
- }
- return indices;
-}
-
-int
-Gtk::TreePath::compare(const TreePath& other) const
-{
- return gtk_tree_path_compare(gtk_tree_path(), other.gtk_tree_path());
-}
-
-bool
-Gtk::TreePath::is_ancestor(const TreePath& descendant) const
-{
- return gtk_tree_path_is_ancestor(gtk_tree_path(), descendant.gtk_tree_path());
-}
-
-bool
-Gtk::TreePath::is_descendant(const TreePath& ancestor) const
-{
- return gtk_tree_path_is_descendant(gtk_tree_path(), ancestor.gtk_tree_path());
-}
-
-bool
-Gtk::TreePath::operator==(const TreePath& other) const
-{
- return compare(other) == 0;
-}
-
-bool
-Gtk::TreePath::operator!=(const TreePath& other) const
-{
- return compare(other);
-}
-
-bool
-Gtk::TreePath::operator<(const TreePath& other) const
-{
- return compare(other) > 0;
-}
-
-bool
-Gtk::TreePath::operator>(const TreePath& other) const
-{
- return compare(other) < 0;
-}
-
-/* Gtk::TreeIter
- */
-
-Gtk::TreeIter::TreeIter()
-: G::Boxed(GTK_TYPE_TREE_ITER)
-{
- GtkTreeIter iter = { 0, };
- copy(&iter);
-}
-
-Gtk::TreeIter::TreeIter(GtkTreeIter *iter)
-: G::Boxed(GTK_TYPE_TREE_ITER, iter)
-{
-}
-
-Gtk::TreeIter::TreeIter(GtkTreeIter *iter, bool copy)
-: G::Boxed(GTK_TYPE_TREE_ITER, iter, copy)
-{
-}
-
-Gtk::TreeIter::TreeIter(const TreeIter& src)
-: G::Boxed(GTK_TYPE_TREE_ITER, src.g_boxed(), true)
-{
-}
-
-Gtk::TreeIter::~TreeIter()
-{
-}
-
-Gtk::TreeIter&
-Gtk::TreeIter::operator=(const TreeIter& src)
-{
- if (src.boxed_ != boxed_)
- copy(src);
- return *this;
-}
-
-/* Gtk::TreeModel
- */
-
-Gtk::TreeModel::TreeModel()
-{
-}
-
-Gtk::TreeModel::~TreeModel()
-{
-}
-
-bool
-Gtk::TreeModel::get_iter(TreeIter& iter, const TreePath& path) const
-{
- return gtk_tree_model_get_iter(gtk_tree_model(), iter.gtk_tree_iter(), path.gtk_tree_path());
-}
-
-bool
-Gtk::TreeModel::get_iter(TreeIter& iter, const char *path) const
-{
- return gtk_tree_model_get_iter_from_string(gtk_tree_model(), iter.gtk_tree_iter(), path);
-}
-
-bool
-Gtk::TreeModel::get_iter(TreeIter& iter, const String& path) const
-{
- return gtk_tree_model_get_iter_from_string(gtk_tree_model(), iter.gtk_tree_iter(), path.c_str());
-}
-
-String
-Gtk::TreeModel::get_string_from_iter(const TreeIter& iter) const
-{
- char *tmp = gtk_tree_model_get_string_from_iter(gtk_tree_model(), iter.gtk_tree_iter());
- String s(tmp);
- g_free(tmp);
- return s;
-}
-
-bool
-Gtk::TreeModel::get_iter_first(TreeIter& iter) const
-{
- return gtk_tree_model_get_iter_first(gtk_tree_model(), iter.gtk_tree_iter());
-}
-
-Pointer<Gtk::TreePath>
-Gtk::TreeModel::get_path(const TreeIter& iter) const
-{
- return G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, gtk_tree_model_get_path(gtk_tree_model(), iter.gtk_tree_iter()), false);
-}
-
-void
-Gtk::TreeModel::get_value(const TreeIter& iter, int column, G::Value& value) const
-{
- gtk_tree_model_get_value(gtk_tree_model(), iter.gtk_tree_iter(), column, value.g_value());
-}
-
-String
-Gtk::TreeModel::get_value(const TreeIter& iter, int column) const
-{
- String s;
- get_value(iter, column, s);
- return s;
-}
-
-bool
-Gtk::TreeModel::get_value(const TreeIter& iter, int column, String& str) const
-{
- G::Value value;
- gtk_tree_model_get_value(gtk_tree_model(), iter.gtk_tree_iter(), column, value.g_value());
- return value.get(str);
-}
-
-bool
-Gtk::TreeModel::get_value(const TreeIter& iter, int column, std::string& str) const
-{
- String s;
- bool result = get_value(iter, column, s);
- str.assign(s.str());
- return result;
-}
-
-bool
-Gtk::TreeModel::iter_has_child(const TreeIter& iter) const
-{
- return gtk_tree_model_iter_has_child(gtk_tree_model(), iter.gtk_tree_iter());
-}
-
-bool
-Gtk::TreeModel::iter_next(TreeIter& iter)
-{
- return gtk_tree_model_iter_next(gtk_tree_model(), iter.gtk_tree_iter());
-}
-
-bool
-Gtk::TreeModel::iter_children(TreeIter& iter, const TreeIter *parent)
-{
- return gtk_tree_model_iter_children(gtk_tree_model(), iter.gtk_tree_iter(), *parent);
-}
-
-int
-Gtk::TreeModel::iter_n_children(const TreeIter *iter)
-{
- return gtk_tree_model_iter_n_children(gtk_tree_model(), *iter);
-}
-
-bool
-Gtk::TreeModel::iter_nth_child(TreeIter& iter, const TreeIter *parent, int n)
-{
- return gtk_tree_model_iter_nth_child(gtk_tree_model(), iter.gtk_tree_iter(), *parent, n);
-}
-
-bool
-Gtk::TreeModel::iter_parent(TreeIter& iter, const TreeIter& child)
-{
- return gtk_tree_model_iter_parent(gtk_tree_model(), iter.gtk_tree_iter(), child.gtk_tree_iter());
-}
-
-void
-Gtk::TreeModel::ref_node(TreeIter *iter)
-{
- gtk_tree_model_ref_node(gtk_tree_model(), *iter);
-}
-
-void
-Gtk::TreeModel::unref_node(TreeIter *iter)
-{
- gtk_tree_model_unref_node(gtk_tree_model(), *iter);
-}
-
-namespace { // ForeachSlot callback
-
-gboolean foreach_slot_callback(GtkTreeModel*, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
- Gtk::TreeModel::ForeachSlot& slot = *static_cast<Gtk::TreeModel::ForeachSlot*>(data);
- Gtk::TreePath tmp_path(path);
- Gtk::TreeIter tmp_iter(iter);
- return slot(tmp_path, tmp_iter);
-}
-
-} // namespace
-
-void
-Gtk::TreeModel::foreach(const ForeachSlot& each)
-{
- ForeachSlot tmp_each(each);
- gtk_tree_model_foreach(gtk_tree_model(), &foreach_slot_callback, &tmp_each);
-}
-
-void
-Gtk::TreeModel::row_changed(const TreePath& path, const TreeIter& iter)
-{
- gtk_tree_model_row_changed(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter());
-}
-
-void
-Gtk::TreeModel::row_inserted(const TreePath& path, const TreeIter& iter)
-{
- gtk_tree_model_row_inserted(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter());
-}
-
-void
-Gtk::TreeModel::row_has_child_toggled(const TreePath& path, const TreeIter& iter)
-{
- gtk_tree_model_row_has_child_toggled(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter());
-}
-
-void
-Gtk::TreeModel::row_deleted(const TreePath& path)
-{
- gtk_tree_model_row_deleted(gtk_tree_model(), path.gtk_tree_path());
-}
-
-void
-Gtk::TreeModel::rows_reordered(const TreePath& path, const TreeIter& iter, int *new_order)
-{
- gtk_tree_model_rows_reordered(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter(), new_order);
-}
-
-/* Gtk::TreeModelIface
- */
-
-void
-Gtk::TreeModelIface::init(GtkTreeModelIface *g_iface)
-{
- g_iface->row_changed = &row_changed_proxy;
- g_iface->row_inserted = &row_inserted_proxy;
- g_iface->row_has_child_toggled = &row_has_child_toggled_proxy;
- g_iface->row_deleted = &row_deleted_proxy;
- g_iface->rows_reordered = &rows_reordered_proxy;
-}
-
-GtkTreeModelIface*
-Gtk::TreeModelIface::get_parent_iface(void *instance)
-{
- return static_cast<GtkTreeModelIface*>(g_type_interface_peek_parent(GTK_TREE_MODEL_GET_IFACE(instance)));
-}
-
-void
-Gtk::TreeModelIface::row_changed_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter)
-{
- TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
- if (signals)
- {
- TreePath tmp_path(path);
- TreeIter tmp_iter(iter);
- signals->on_row_changed(tmp_path, tmp_iter);
- }
- else
- {
- GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
- if (g_iface && g_iface->row_changed)
- g_iface->row_changed(tree_model, path, iter);
- }
-}
-
-void
-Gtk::TreeModelIface::row_inserted_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter)
-{
- TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
- if (signals)
- {
- TreePath tmp_path(path);
- TreeIter tmp_iter(iter);
- signals->on_row_inserted(tmp_path, tmp_iter);
- }
- else
- {
- GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
- if (g_iface && g_iface->row_inserted)
- g_iface->row_inserted(tree_model, path, iter);
- }
-}
-
-void
-Gtk::TreeModelIface::row_has_child_toggled_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter)
-{
- TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
- if (signals)
- {
- TreePath tmp_path(path);
- TreeIter tmp_iter(iter);
- signals->on_row_has_child_toggled(tmp_path, tmp_iter);
- }
- else
- {
- GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
- if (g_iface && g_iface->row_has_child_toggled)
- g_iface->row_has_child_toggled(tree_model, path, iter);
- }
-}
-
-void
-Gtk::TreeModelIface::row_deleted_proxy(GtkTreeModel *tree_model, GtkTreePath *path)
-{
- TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
- if (signals)
- {
- TreePath tmp_path(path);
- signals->on_row_deleted(tmp_path);
- }
- else
- {
- GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
- if (g_iface && g_iface->row_deleted)
- g_iface->row_deleted(tree_model, path);
- }
-}
-
-void
-Gtk::TreeModelIface::rows_reordered_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gint *new_order)
-{
- TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
- if (signals)
- {
- TreePath tmp_path(path);
- TreeIter tmp_iter(iter);
- signals->on_rows_reordered(tmp_path, tmp_iter, new_order);
- }
- else
- {
- GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
- if (g_iface && g_iface->rows_reordered)
- g_iface->rows_reordered(tree_model, path, iter, new_order);
- }
-}
-
-/* Gtk::TreeModel signals
- */
-
-const Gtk::TreeModel::RowChangedSignalType Gtk::TreeModel::row_changed_signal("row_changed", (GCallback)&Marshal::void_treepath_treeiter_callback);
-
-const Gtk::TreeModel::RowInsertedSignalType Gtk::TreeModel::row_inserted_signal("row_inserted", (GCallback)&Marshal::void_treepath_treeiter_callback);
-
-const Gtk::TreeModel::RowHasChildToggledSignalType Gtk::TreeModel::row_has_child_toggled_signal("row_has_child_toggled", (GCallback)&Marshal::void_treepath_treeiter_callback);
-
-const Gtk::TreeModel::RowDeletedSignalType Gtk::TreeModel::row_deleted_signal("row_deleted", (GCallback)&Marshal::void_treepath_callback);
-
-const Gtk::TreeModel::RowsReorderedSignalType Gtk::TreeModel::rows_reordered_signal("rows_reordered", (GCallback)&Marshal::void_treepath_treeiter_pint_callback);
-
-/* Gtk::TreeRowReference
- */
-
-Gtk::TreeRowReference::TreeRowReference(TreeModel& model, const TreePath& path)
-: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, gtk_tree_row_reference_new(model.gtk_tree_model(), path.gtk_tree_path()), false)
-{
-}
-
-Gtk::TreeRowReference::TreeRowReference(G::Object& proxy, TreeModel& model, const TreePath& path)
-: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, gtk_tree_row_reference_new_proxy(proxy.g_object(), model.gtk_tree_model(), path.gtk_tree_path()), false)
-{
-}
-
-Gtk::TreeRowReference::TreeRowReference(GtkTreeRowReference *reference)
-: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, reference)
-{
-}
-
-Gtk::TreeRowReference::TreeRowReference(GtkTreeRowReference *reference, bool copy)
-: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, reference, copy)
-{
-}
-
-Gtk::TreeRowReference::TreeRowReference(const TreeRowReference& src)
-: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, src.g_boxed(), true)
-{
-}
-
-Gtk::TreeRowReference::~TreeRowReference()
-{
-}
-
-Gtk::TreeRowReference&
-Gtk::TreeRowReference::operator=(const TreeRowReference& src)
-{
- if (src.boxed_ != boxed_)
- copy(src);
- return *this;
-}
-
-Pointer<Gtk::TreePath>
-Gtk::TreeRowReference::get_path() const
-{
- return G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, gtk_tree_row_reference_get_path(gtk_tree_row_reference()), false);
-}
-
-void
-Gtk::TreeRowReference::inserted(const G::Object& proxy, const TreePath& path)
-{
- gtk_tree_row_reference_inserted(proxy.g_object(), path.gtk_tree_path());
-}
-
-void
-Gtk::TreeRowReference::deleted(const G::Object& proxy, const TreePath& path)
-{
- gtk_tree_row_reference_deleted(proxy.g_object(), path.gtk_tree_path());
-}
-
-void
-Gtk::TreeRowReference::reordered(const G::Object& proxy, const TreePath& path, const TreeIter& iter, int *new_order)
-{
- gtk_tree_row_reference_reordered(proxy.g_object(), path.gtk_tree_path(), iter.gtk_tree_iter(), new_order);
-}
-
diff --git a/libXFCui/xfc/gtk/treemodelfilter.cc b/libXFCui/xfc/gtk/treemodelfilter.cc
deleted file mode 100644
index eb530da..0000000
--- a/libXFCui/xfc/gtk/treemodelfilter.cc
+++ /dev/null
@@ -1,192 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * treemodelfilter.cc - GtkTreeModelFilter C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "treemodelfilter.hh"
-#include "treemodel.hh"
-#include "private/treemodelfilterclass.hh"
-#include "private/treemodeliface.hh"
-#include "../../../libXFCcore/xfc/glib/private/objectclass.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Gtk::TreeModelFilter
- */
-
-Gtk::TreeModelFilter::TreeModelFilter(GtkTreeModelFilter *filter, bool owns_reference)
-: G::Object((GObject*)filter, owns_reference)
-{
-}
-
-Gtk::TreeModelFilter::TreeModelFilter(TreeModel& child_model, const TreePath *root)
-: G::Object((GObject*)TreeModelFilterClass::create(child_model.gtk_tree_model(), *root))
-{
-}
-
-Gtk::TreeModelFilter::~TreeModelFilter()
-{
-}
-
-Gtk::TreeModel*
-Gtk::TreeModelFilter::get_model() const
-{
- GtkTreeModel *child_model = gtk_tree_model_filter_get_model(gtk_tree_model_filter());
- TreeModel *tmp_child_model = 0;
- if (child_model)
- {
- G::Object *object = G::Object::pointer((GObject*)child_model);
- tmp_child_model = dynamic_cast<Gtk::TreeModel*>(object);
- }
- return tmp_child_model;
-}
-
-namespace { // VisibleCallback
-
-struct VisibleCallback
-{
- typedef Gtk::TreeModelFilter::VisibleSlot VisibleSlot;
- VisibleSlot slot_;
-
- VisibleCallback(const VisibleSlot& slot)
- : slot_(slot)
- {
- }
-
- static gboolean notify(GtkTreeModel *model, GtkTreeIter *iter, void *data)
- {
- VisibleCallback *cb = static_cast<VisibleCallback*>(data);
- G::Object *object = G::Object::pointer((GObject*)model);
- Gtk::TreeModel *tmp_model = dynamic_cast<Gtk::TreeModel*>(object);
- Gtk::TreeIter tmp_iter(iter);
- return cb->slot_(*tmp_model, tmp_iter);
- }
-
- static void destroy(void *data)
- {
- VisibleCallback *cb = static_cast<VisibleCallback*>(data);
- delete cb;
- }
-};
-
-} // namespace
-
-void
-Gtk::TreeModelFilter::set_visible_func(const VisibleSlot& slot)
-{
- VisibleCallback *cb = new VisibleCallback(slot);
- gtk_tree_model_filter_set_visible_func(gtk_tree_model_filter(), &VisibleCallback::notify, cb, &VisibleCallback::destroy);
-}
-
-namespace { // ModifyCallback
-
-struct ModifyCallback
-{
- typedef Gtk::TreeModelFilter::ModifySlot ModifySlot;
- ModifySlot slot_;
-
- ModifyCallback(const ModifySlot& slot)
- : slot_(slot)
- {
- }
-
- static void notify(GtkTreeModel *model, GtkTreeIter *iter, GValue *value, int column, void *data)
- {
- ModifyCallback *cb = static_cast<ModifyCallback*>(data);
- G::Object *object = G::Object::pointer((GObject*)model);
- Gtk::TreeModel *tmp_model = dynamic_cast<Gtk::TreeModel*>(object);
- Gtk::TreeIter tmp_iter(iter);
- G::Value tmp_value(value);
- return cb->slot_(*tmp_model, tmp_iter, tmp_value, column);
- }
-
- static void destroy(void *data)
- {
- ModifyCallback *cb = static_cast<ModifyCallback*>(data);
- delete cb;
- }
-};
-
-} // namespace
-
-void
-Gtk::TreeModelFilter::set_modify_func(int n_columns, const GType types[], const ModifySlot& slot)
-{
- ModifyCallback *cb = new ModifyCallback(slot);
- gtk_tree_model_filter_set_modify_func(gtk_tree_model_filter(), n_columns, const_cast<GType*>(types),
- &ModifyCallback::notify, cb, &ModifyCallback::destroy);
-}
-
-Gtk::TreeIter
-Gtk::TreeModelFilter::convert_child_iter_to_iter(const TreeIter& child_iter)
-{
- GtkTreeIter filter_iter;
- gtk_tree_model_filter_convert_child_iter_to_iter(gtk_tree_model_filter(), &filter_iter, child_iter.gtk_tree_iter());
- return TreeIter(&filter_iter, true);
-}
-
-Gtk::TreeIter
-Gtk::TreeModelFilter::convert_iter_to_child_iter(const TreeIter& filter_iter)
-{
- GtkTreeIter child_iter;
- gtk_tree_model_filter_convert_iter_to_child_iter(gtk_tree_model_filter(), &child_iter, filter_iter.gtk_tree_iter());
- return TreeIter(&child_iter, true);
-}
-
-Pointer<Gtk::TreePath>
-Gtk::TreeModelFilter::convert_child_path_to_path(const TreePath& child_path)
-{
- GtkTreePath *path = gtk_tree_model_filter_convert_child_path_to_path(gtk_tree_model_filter(), child_path.gtk_tree_path());
- return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
-}
-
-Pointer<Gtk::TreePath>
-Gtk::TreeModelFilter::convert_path_to_child_path(const TreePath& filter_path)
-{
- GtkTreePath *path = gtk_tree_model_filter_convert_path_to_child_path(gtk_tree_model_filter(), filter_path.gtk_tree_path());
- return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
-}
-
-/* Gtk::TreeModelFilterClass
- */
-
-void
-Gtk::TreeModelFilterClass::init(GtkTreeModelFilterClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::TreeModelFilterClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_TREE_MODEL_FILTER, (GClassInitFunc)&init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
- }
- return type;
-}
-
-void*
-Gtk::TreeModelFilterClass::create(GtkTreeModel *child_model, GtkTreePath *root)
-{
- return g_object_new(get_type(), "child_model", child_model, "virtual_root", root, 0);
-}
-
diff --git a/libXFCui/xfc/gtk/treemodelsort.cc b/libXFCui/xfc/gtk/treemodelsort.cc
deleted file mode 100755
index 97d1744..0000000
--- a/libXFCui/xfc/gtk/treemodelsort.cc
+++ /dev/null
@@ -1,122 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * treemodelsort.cc - GtkTreeModelSort C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "treemodelsort.hh"
-#include "private/treemodelsortclass.hh"
-#include "private/treemodeliface.hh"
-#include "private/treesortableiface.hh"
-#include "../../../libXFCcore/xfc/glib/private/objectclass.hh"
-
-using namespace Xfc;
-
-/* Gtk::TreeModelSort
- */
-
-Gtk::TreeModelSort::TreeModelSort(GtkTreeModelSort *tree_model, bool owns_reference)
-: G::Object((GObject*)tree_model, owns_reference)
-{
-}
-
-Gtk::TreeModelSort::TreeModelSort(TreeModel& child_model)
-: G::Object((GObject*)TreeModelSortClass::create(child_model.gtk_tree_model()))
-{
-}
-
-Gtk::TreeModelSort::~TreeModelSort()
-{
-}
-
-Gtk::TreeModel*
-Gtk::TreeModelSort::get_model() const
-{
- GtkTreeModel *child_model = gtk_tree_model_sort_get_model(gtk_tree_model_sort());
- TreeModel *tmp_child_model = 0;
- if (child_model)
- {
- G::Object *object = G::Object::pointer((GObject*)child_model);
- tmp_child_model = dynamic_cast<Gtk::TreeModel*>(object);
- }
- return tmp_child_model;
-}
-
-bool
-Gtk::TreeModelSort::iter_is_valid(const TreeIter& iter) const
-{
- return gtk_tree_model_sort_iter_is_valid(gtk_tree_model_sort(), iter.gtk_tree_iter());
-}
-
-Pointer<Gtk::TreePath>
-Gtk::TreeModelSort::convert_child_path_to_path(const TreePath& child_path)
-{
- GtkTreePath *path = gtk_tree_model_sort_convert_child_path_to_path(gtk_tree_model_sort(), child_path.gtk_tree_path());
- return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
-}
-
-Gtk::TreeIter
-Gtk::TreeModelSort::convert_child_iter_to_iter(const TreeIter& child_iter)
-{
- GtkTreeIter sort_iter;
- gtk_tree_model_sort_convert_child_iter_to_iter(gtk_tree_model_sort(), &sort_iter, child_iter.gtk_tree_iter());
- return TreeIter(&sort_iter, true);
-}
-
-Pointer<Gtk::TreePath>
-Gtk::TreeModelSort::convert_path_to_child_path(const TreePath& sorted_path)
-{
- GtkTreePath *path = gtk_tree_model_sort_convert_path_to_child_path(gtk_tree_model_sort(), sorted_path.gtk_tree_path());
- return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
-}
-
-Gtk::TreeIter
-Gtk::TreeModelSort::convert_iter_to_child_iter(const TreeIter& sorted_iter)
-{
- GtkTreeIter child_iter;
- gtk_tree_model_sort_convert_iter_to_child_iter(gtk_tree_model_sort(), &child_iter, sorted_iter.gtk_tree_iter());
- return TreeIter(&child_iter, true);
-}
-
-/* Gtk::TreeModelSortClass
- */
-
-void
-Gtk::TreeModelSortClass::init(GtkTreeModelSortClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::TreeModelSortClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_TREE_MODEL_SORT, (GClassInitFunc)&init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_SORTABLE, (GInterfaceInitFunc)&TreeSortableIface::init);
- }
- return type;
-}
-
-void*
-Gtk::TreeModelSortClass::create(GtkTreeModel *child_model)
-{
- return g_object_new(get_type(), "model", child_model, 0);
-}
-
diff --git a/libXFCui/xfc/gtk/treesortable.cc b/libXFCui/xfc/gtk/treesortable.cc
deleted file mode 100755
index eec9b62..0000000
--- a/libXFCui/xfc/gtk/treesortable.cc
+++ /dev/null
@@ -1,125 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * treesortable.cc - GtkTreeSortable C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "treesortable.hh"
-#include "treesortablesignals.hh"
-#include "treemodel.hh"
-#include "private/marshal.hh"
-#include "private/treesortableiface.hh"
-#include "../../../libXFCcore/xfc/glib/object.hh"
-#include "../../../libXFCcore/xfc/glib/objectsignals.hh"
-
-using namespace Xfc;
-
-/* Gtk::TreeSortable
- */
-
-Gtk::TreeSortable::TreeSortable()
-{
-}
-
-Gtk::TreeSortable::~TreeSortable()
-{
-}
-
-namespace { // CompareCallback
-
-struct CompareCallback
-{
- typedef Gtk::TreeSortable::CompareSlot CompareSlot;
- CompareSlot slot_;
-
- CompareCallback(const CompareSlot& slot)
- : slot_(slot)
- {
- }
-
- static int notify(GtkTreeModel*, GtkTreeIter *a, GtkTreeIter *b, void *data)
- {
- CompareCallback *cb = static_cast<CompareCallback*>(data);
- Gtk::TreeIter tmp_a(a);
- Gtk::TreeIter tmp_b(b);
- return cb->slot_(tmp_a, tmp_b);
- }
-
- static void destroy(void *data)
- {
- CompareCallback *cb = static_cast<CompareCallback*>(data);
- delete cb;
- }
-};
-
-} // namespace
-
-void
-Gtk::TreeSortable::set_sort_func(int sort_column_id, const CompareSlot& compare)
-{
- CompareCallback *cb = new CompareCallback(compare);
- gtk_tree_sortable_set_sort_func(gtk_tree_sortable(), sort_column_id, &CompareCallback::notify, cb, &CompareCallback::destroy);
-}
-
-void
-Gtk::TreeSortable::set_default_sort_func(const CompareSlot& compare)
-{
- CompareCallback *cb = new CompareCallback(compare);
- gtk_tree_sortable_set_default_sort_func(gtk_tree_sortable(), &CompareCallback::notify, cb, &CompareCallback::destroy);
-}
-
-void
-Gtk::TreeSortable::reset_default_sort_func()
-{
- gtk_tree_sortable_set_default_sort_func(gtk_tree_sortable(), 0, 0, 0);
-}
-
-/* Gtk::TreeSortableIface
- */
-
-void
-Gtk::TreeSortableIface::init(GtkTreeSortableIface *g_iface)
-{
- g_iface->sort_column_changed = &sort_column_changed_proxy;
-}
-
-GtkTreeSortableIface*
-Gtk::TreeSortableIface::get_parent_iface(void *instance)
-{
- return static_cast<GtkTreeSortableIface*>(g_type_interface_peek_parent(GTK_TREE_SORTABLE_GET_IFACE(instance)));
-}
-
-void
-Gtk::TreeSortableIface::sort_column_changed_proxy(GtkTreeSortable *sortable)
-{
- TreeSortableSignals *signals = dynamic_cast<TreeSortableSignals*>(G::ObjectSignals::pointer((GObject*)sortable));
- if (signals)
- {
- signals->on_sort_column_changed();
- }
- else
- {
- GtkTreeSortableIface *g_iface = get_parent_iface(sortable);
- if (g_iface && g_iface->sort_column_changed)
- g_iface->sort_column_changed(sortable);
- }
-}
-
-/* Gtk::TreeSortable signals
- */
-
-const Gtk::TreeSortable::SortColumnChangedSignalType Gtk::TreeSortable::sort_column_changed_signal("sort_column_changed", (GCallback)&G::Marshal::void_callback);
diff --git a/libXFCui/xfc/gtk/treestore.cc b/libXFCui/xfc/gtk/treestore.cc
deleted file mode 100755
index 5a3c5ab..0000000
--- a/libXFCui/xfc/gtk/treestore.cc
+++ /dev/null
@@ -1,213 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * treestore.cc - GtkTreeStore C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "treestore.hh"
-#include "private/treestoreclass.hh"
-#include "private/treemodeliface.hh"
-#include "private/treesortableiface.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Gtk::TreeStore
- */
-
-Gtk::TreeStore::TreeStore()
-: G::Object((GObject*)TreeStoreClass::create())
-{
-}
-
-Gtk::TreeStore::TreeStore(GtkTreeStore *tree_store, bool owns_reference)
-: G::Object((GObject*)tree_store, owns_reference)
-{
-}
-
-Gtk::TreeStore::TreeStore(int n_columns, ...)
-: G::Object((GObject*)TreeStoreClass::create())
-{
- g_return_if_fail(n_columns > 0);
- va_list args;
- va_start(args, n_columns);
- GType *types = new GType[n_columns];
-
- int i = 0;
- while (i < n_columns)
- {
- types[i] = va_arg(args, GType);
- ++i;
- }
-
- set_column_types(n_columns, types);
- delete [] types;
- va_end(args);
-}
-
-Gtk::TreeStore::TreeStore(int n_columns, const GType *types)
-: G::Object((GObject*)TreeStoreClass::create())
-{
- set_column_types(n_columns, types);
-}
-
-Gtk::TreeStore::~TreeStore()
-{
-}
-
-void
-Gtk::TreeStore::set_column_types(int n_columns, const GType *types)
-{
- gtk_tree_store_set_column_types(gtk_tree_store(), n_columns, const_cast<GType*>(types));
-}
-
-bool
-Gtk::TreeStore::is_ancestor(const TreeIter& iter, const TreeIter& descendant) const
-{
- return gtk_tree_store_is_ancestor(gtk_tree_store(), iter.gtk_tree_iter(), descendant.gtk_tree_iter()) != 0;
-}
-
-int
-Gtk::TreeStore::iter_depth(const TreeIter& iter) const
-{
- return gtk_tree_store_iter_depth(gtk_tree_store(), iter.gtk_tree_iter());
-}
-
-bool
-Gtk::TreeStore::iter_is_valid(const TreeIter& iter) const
-{
- return gtk_tree_store_iter_is_valid(gtk_tree_store(), iter.gtk_tree_iter());
-}
-
-void
-Gtk::TreeStore::set_value(const TreeIter& iter, int column, const G::Value& value)
-{
- gtk_tree_store_set_value(gtk_tree_store(), iter.gtk_tree_iter(), column, value.g_value());
-}
-
-void
-Gtk::TreeStore::set_value(const TreeIter& iter, int column, const char *str)
-{
- G::Value value(gtk_tree_store()->column_headers[column]);
- value.set(String(str));
- gtk_tree_store_set_value(gtk_tree_store(), iter, column, value.g_value());
-}
-
-void
-Gtk::TreeStore::set_value(const TreeIter& iter, int column, const std::string& str)
-{
- set_value(iter, column, str.c_str());
-}
-
-Gtk::TreeIter
-Gtk::TreeStore::append(TreeIter *parent)
-{
- GtkTreeIter iter;
- gtk_tree_store_append(gtk_tree_store(), &iter, *parent);
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::TreeStore::prepend(TreeIter *parent)
-{
- GtkTreeIter iter;
- gtk_tree_store_prepend(gtk_tree_store(), &iter, *parent);
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::TreeStore::insert(int position, TreeIter *parent)
-{
- GtkTreeIter iter;
- gtk_tree_store_insert(gtk_tree_store(), &iter, *parent, position);
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::TreeStore::insert_before(TreeIter& sibling, TreeIter *parent)
-{
- GtkTreeIter iter;
- gtk_tree_store_insert_before(gtk_tree_store(), &iter, *parent, sibling.gtk_tree_iter());
- return TreeIter(&iter, true);
-}
-
-Gtk::TreeIter
-Gtk::TreeStore::insert_after(TreeIter& sibling, TreeIter *parent)
-{
- GtkTreeIter iter;
- gtk_tree_store_insert_after(gtk_tree_store(), &iter, *parent, sibling.gtk_tree_iter());
- return TreeIter(&iter, true);
-}
-
-bool
-Gtk::TreeStore::remove(TreeIter& iter)
-{
- return gtk_tree_store_remove(gtk_tree_store(), iter.gtk_tree_iter());
-}
-
-void
-Gtk::TreeStore::reorder(const TreeIter& parent, int *new_order)
-{
- gtk_tree_store_reorder(gtk_tree_store(), parent.gtk_tree_iter(), new_order);
-}
-
-void
-Gtk::TreeStore::swap(const TreeIter& a, const TreeIter& b)
-{
- gtk_tree_store_swap(gtk_tree_store(), a.gtk_tree_iter(), b.gtk_tree_iter());
-}
-
-void
-Gtk::TreeStore::move_after(const TreeIter& iter, const TreeIter *position)
-{
- gtk_tree_store_move_after(gtk_tree_store(), iter.gtk_tree_iter(), *position);
-}
-
-void
-Gtk::TreeStore::move_before(const TreeIter& iter, const TreeIter *position)
-{
- gtk_tree_store_move_before(gtk_tree_store(), iter.gtk_tree_iter(), *position);
-}
-
-/* Gtk::TreeStoreClass
- */
-
-void
-Gtk::TreeStoreClass::init(GtkTreeStoreClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::TreeStoreClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_TREE_STORE, (GClassInitFunc)&init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
- G::TypeInstance::add_interface(type, GTK_TYPE_TREE_SORTABLE, (GInterfaceInitFunc)&TreeSortableIface::init);
- }
- return type;
-}
-
-void*
-Gtk::TreeStoreClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
diff --git a/libXFCui/xfc/gtk/uimanager.cc b/libXFCui/xfc/gtk/uimanager.cc
deleted file mode 100644
index df1bf27..0000000
--- a/libXFCui/xfc/gtk/uimanager.cc
+++ /dev/null
@@ -1,334 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * uimanager.cc - GtkUIManager C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "uimanager.hh"
-#include "uimanagersignals.hh"
-#include "accelgroup.hh"
-#include "widget.hh"
-#include "private/marshal.hh"
-#include "private/uimanagerclass.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-
-using namespace Xfc;
-
-/* Gtk::UIManager
- */
-
-Gtk::UIManager::UIManager(GtkUIManager *ui_manager, bool owns_reference)
-: G::Object((GObject*)ui_manager, owns_reference)
-{
-}
-
-Gtk::UIManager::UIManager()
-: G::Object((GObject*)UIManagerClass::create())
-{
-}
-
-Gtk::UIManager::~UIManager()
-{
-}
-
-bool
-Gtk::UIManager::get_action_groups(std::vector<ActionGroup*>& action_groups) const
-{
- g_return_val_if_fail(action_groups.empty(), false);
-
- GList *first = gtk_ui_manager_get_action_groups(gtk_ui_manager());
- GList *next = first;
-
- while (next)
- {
- action_groups.push_back(G::Object::wrap<ActionGroup>((GtkActionGroup*)next->data));
- next = g_list_next(next);
- }
-
- return !action_groups.empty();
-}
-
-Gtk::AccelGroup*
-Gtk::UIManager::get_accel_group() const
-{
- return G::Object::wrap<AccelGroup>(gtk_ui_manager_get_accel_group(gtk_ui_manager()));
-}
-
-Gtk::Widget*
-Gtk::UIManager::get_widget(const char *path) const
-{
- GtkWidget *widget = gtk_ui_manager_get_widget(gtk_ui_manager(), path);
- return widget ? G::Object::wrap<Widget>(widget) : 0;
-}
-
-Gtk::Widget*
-Gtk::UIManager::get_widget(const String& path) const
-{
- return get_widget(path.c_str());
-}
-
-bool
-Gtk::UIManager::get_toplevels(std::vector<Widget*>& toplevels, UIManagerItemTypeField types) const
-{
- g_return_val_if_fail(toplevels.empty(), false);
-
- GSList *first = gtk_ui_manager_get_toplevels(gtk_ui_manager(), (GtkUIManagerItemType)types);
- GSList *next = first;
-
- while (next)
- {
- toplevels.push_back(G::Object::wrap<Widget>((GtkWidget*)next->data));
- next = g_slist_next(next);
- }
-
- g_slist_free(first);
- return !toplevels.empty();
-}
-
-Gtk::Action*
-Gtk::UIManager::get_action(const char *path) const
-{
- GtkAction *action = gtk_ui_manager_get_action(gtk_ui_manager(), path);
- return action ? G::Object::wrap<Action>(action) : 0;
-}
-
-String
-Gtk::UIManager::get_ui() const
-{
- char *merged_ui = gtk_ui_manager_get_ui(gtk_ui_manager());
- String s(merged_ui);
- g_free(merged_ui);
- return s;
-}
-
-void
-Gtk::UIManager::insert_action_group(ActionGroup& action_group, int pos)
-{
- gtk_ui_manager_insert_action_group(gtk_ui_manager(), action_group.gtk_action_group(), pos);
-}
-
-void
-Gtk::UIManager::remove_action_group(ActionGroup& action_group)
-{
- gtk_ui_manager_remove_action_group(gtk_ui_manager(), action_group.gtk_action_group());
-}
-
-unsigned int
-Gtk::UIManager::add_ui_from_string(const char *buffer, int length, G::Error *error)
-{
- return gtk_ui_manager_add_ui_from_string(gtk_ui_manager(), buffer, (gssize)length, *error);
-}
-
-unsigned int
-Gtk::UIManager::add_ui_from_string(const String& buffer, G::Error *error)
-{
- return add_ui_from_string(buffer.c_str(), buffer.size(), error);
-}
-
-unsigned int
-Gtk::UIManager::add_ui_from_file(const char *filename, G::Error *error)
-{
- return gtk_ui_manager_add_ui_from_file(gtk_ui_manager(), filename, *error);
-}
-
-unsigned int
-Gtk::UIManager::add_ui_from_file(const String& filename, G::Error *error)
-{
- return add_ui_from_file(filename.c_str(), error);
-}
-
-void
-Gtk::UIManager::add_ui(unsigned int merge_id, const char *path, const char *name, const char *action, UIManagerItemType type, bool top)
-{
- gtk_ui_manager_add_ui(gtk_ui_manager(), merge_id, path, name, action, (GtkUIManagerItemType)type, top);
-}
-
-void
-Gtk::UIManager::add_ui(unsigned int merge_id, const String& path, const String& name, const String& action, UIManagerItemType type, bool top)
-{
- add_ui(merge_id, path.c_str(), name.c_str(), action.c_str(), type, top);
-}
-
-void
-Gtk::UIManager::add_ui_separator(unsigned int merge_id, const char *path, const char *name, bool top)
-{
- gtk_ui_manager_add_ui(gtk_ui_manager(), merge_id, path, name, 0, (GtkUIManagerItemType)0, top);
-
-}
-
-void
-Gtk::UIManager::add_ui_separator(unsigned int merge_id, const String& path, const String& name, bool top)
-{
- add_ui_separator(merge_id, path.c_str(), name.c_str(), top);
-
-}
-
-void
-Gtk::UIManager::remove_ui(unsigned int merge_id)
-{
- gtk_ui_manager_remove_ui(gtk_ui_manager(), merge_id);
-}
-
-void
-Gtk::UIManager::ensure_update()
-{
- gtk_ui_manager_ensure_update(gtk_ui_manager());
-}
-
-unsigned int
-Gtk::UIManager::new_merge_id()
-{
- return gtk_ui_manager_new_merge_id(gtk_ui_manager());
-}
-
-/* Gtk::UIManagerClass
- */
-
-void
-Gtk::UIManagerClass::init(GtkUIManagerClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
- g_class->add_widget = &add_widget_proxy;
- g_class->actions_changed = &actions_changed_proxy;
- g_class->connect_proxy = &connect_proxy_proxy;
- g_class->disconnect_proxy = &disconnect_proxy_proxy;
- g_class->pre_activate = &pre_activate_proxy;
- g_class->post_activate = &post_activate_proxy;
-}
-
-GtkUIManagerClass*
-Gtk::UIManagerClass::get_parent_class(void *instance)
-{
- return static_cast<GtkUIManagerClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::UIManagerClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_UI_MANAGER, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::UIManagerClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::UIManagerClass::add_widget_proxy(GtkUIManager *merge, GtkWidget *widget)
-{
- UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
- if (signals)
- signals->on_add_widget(*G::Object::wrap<Widget>(widget));
- else
- {
- GtkUIManagerClass *g_class = get_parent_class(merge);
- if (g_class && g_class->add_widget)
- g_class->add_widget(merge, widget);
- }
-}
-
-void
-Gtk::UIManagerClass::actions_changed_proxy(GtkUIManager *merge)
-{
- UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
- if (signals)
- signals->on_actions_changed();
- else
- {
- GtkUIManagerClass *g_class = get_parent_class(merge);
- if (g_class && g_class->actions_changed)
- g_class->actions_changed(merge);
- }
-}
-
-void
-Gtk::UIManagerClass::connect_proxy_proxy(GtkUIManager *merge, GtkAction *action, GtkWidget *proxy)
-{
- UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
- if (signals)
- signals->on_connect_proxy(*G::Object::wrap<Action>(action), *G::Object::wrap<Widget>(proxy));
- else
- {
- GtkUIManagerClass *g_class = get_parent_class(merge);
- if (g_class && g_class->connect_proxy)
- g_class->connect_proxy(merge, action, proxy);
- }
-}
-
-void
-Gtk::UIManagerClass::disconnect_proxy_proxy(GtkUIManager *merge, GtkAction *action, GtkWidget *proxy)
-{
- UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
- if (signals)
- signals->on_disconnect_proxy(*G::Object::wrap<Action>(action), *G::Object::wrap<Widget>(proxy));
- else
- {
- GtkUIManagerClass *g_class = get_parent_class(merge);
- if (g_class && g_class->disconnect_proxy)
- g_class->disconnect_proxy(merge, action, proxy);
- }
-}
-
-void
-Gtk::UIManagerClass::pre_activate_proxy(GtkUIManager *merge, GtkAction *action)
-{
- UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
- if (signals)
- signals->on_pre_activate(*G::Object::wrap<Action>(action));
- else
- {
- GtkUIManagerClass *g_class = get_parent_class(merge);
- if (g_class && g_class->pre_activate)
- g_class->pre_activate(merge, action);
- }
-}
-
-void
-Gtk::UIManagerClass::post_activate_proxy(GtkUIManager *merge, GtkAction *action)
-{
- UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
- if (signals)
- signals->on_post_activate(*G::Object::wrap<Action>(action));
- else
- {
- GtkUIManagerClass *g_class = get_parent_class(merge);
- if (g_class && g_class->post_activate)
- g_class->post_activate(merge, action);
- }
-}
-
-/* Gtk::UIManager signals
- */
-
-const Gtk::UIManager::AddWidgetSignalType Gtk::UIManager::add_widget_signal("add_widget", (GCallback)&Marshal::void_widget_callback2);
-
-const Gtk::UIManager::ActionsChangedSignalType Gtk::UIManager::actions_changed_signal("actions_changed", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::UIManager::ConnectProxySignalType Gtk::UIManager::connect_proxy_signal("connect_proxy", (GCallback)&Marshal::void_action_widget_callback);
-
-const Gtk::UIManager::DisconnectProxySignalType Gtk::UIManager::disconnect_proxy_signal("disconnect_proxy", (GCallback)&Marshal::void_action_widget_callback);
-
-const Gtk::UIManager::PreActivateSignalType Gtk::UIManager::pre_activate_signal("pre_activate", (GCallback)&Marshal::void_action_callback);
-
-const Gtk::UIManager::PostActivateSignalType Gtk::UIManager::post_activate_signal("post_activate", (GCallback)&Marshal::void_action_callback);
-
diff --git a/libXFCui/xfc/gtk/widget.cc b/libXFCui/xfc/gtk/widget.cc
deleted file mode 100755
index 0e8aeb5..0000000
--- a/libXFCui/xfc/gtk/widget.cc
+++ /dev/null
@@ -1,1977 +0,0 @@
-/* Xfc-UI: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * widget.cc - GtkWidget C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "widget.hh"
-#include "widgetsignals.hh"
-#include "accelgroup.hh"
-#include "clipboard.hh"
-#include "container.hh"
-#include "rc.hh"
-#include "settings.hh"
-#include "stockid.hh"
-#include "style.hh"
-#include "private/marshal.hh"
-#include "private/widgetclass.hh"
-#include "../atk/object.hh"
-#include "../gdk/bitmap.hh"
-#include "../gdk/color.hh"
-#include "../gdk/cursor.hh"
-#include "../gdk/display.hh"
-#include "../gdk/region.hh"
-#include "../gdk/screen.hh"
-#include "../gdk/visual.hh"
-#include "../gdk/window.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../pango/context.hh"
-#include "../pango/font.hh"
-#include "../pango/layout.hh"
-#include "../../../libXFCcore/xfc/glib/value.hh"
-
-using namespace Xfc;
-
-/* Gtk::Allocation
- */
-
-Gtk::Allocation::Allocation()
-{
-}
-
-Gtk::Allocation::Allocation(int x, int y, int width, int height)
-: Gdk::Rectangle(x, y, width, height)
-{
-}
-
-Gtk::Allocation::Allocation(const GtkAllocation& allocation)
-: Gdk::Rectangle(allocation)
-{
-}
-
-/* Gtk::Requisition
- */
-
-Gtk::Requisition::Requisition()
-{
- set(0, 0);
-}
-
-Gtk::Requisition::Requisition(int width, int height)
-{
- set(width, height);
-}
-
-Gtk::Requisition::Requisition(const GtkRequisition& requisition)
-{
- set(requisition.width, requisition.height);
-}
-
-bool
-Gtk::Requisition::operator==(const Requisition& other) const
-{
- return other.width() == requisition_.width && other.height() == requisition_.height;
-}
-
-bool
-Gtk::Requisition::operator!=(const Requisition& other) const
-{
- return !(*this == other);
-}
-
-/* Gtk::Widget
- */
-
-Gtk::Widget::Widget(GtkWidget *widget, bool owns_reference)
-: Object((GtkObject*)widget, owns_reference)
-{
-}
-
-Gtk::Widget::Widget()
-: Object((GtkObject*)WidgetClass::create())
-{
-}
-
-Gtk::Widget::~Widget()
-{
-}
-
-void
-Gtk::Widget::set_allocation(const Allocation& allocation)
-{
- gtk_widget()->allocation = *allocation.gtk_allocation();
-}
-
-void
-Gtk::Widget::set_window(const Gdk::Window& window)
-{
- g_return_if_fail(!gtk_widget()->window);
- gtk_widget()->window = window.gdk_window();
-}
-
-Gtk::Requisition
-Gtk::Widget::get_child_requisition() const
-{
- GtkRequisition requisition;
- gtk_widget_get_child_requisition(gtk_widget(), &requisition);
- return requisition;
-}
-
-void
-Gtk::Widget::get_child_requisition(Requisition& requisition) const
-{
- gtk_widget_get_child_requisition(gtk_widget(), requisition.gtk_requisition());
-}
-
-Gdk::Window*
-Gtk::Widget::get_window() const
-{
- return is_realized() ? G::Object::wrap<Gdk::Window>(gtk_widget()->window) : 0;
-}
-
-String
-Gtk::Widget::get_name() const
-{
- return gtk_widget_get_name(gtk_widget());
-}
-
-Gtk::Widget*
-Gtk::Widget::get_parent() const
-{
- GtkWidget *parent = gtk_widget_get_parent(gtk_widget());
- return parent ? G::Object::wrap<Widget>(parent) : 0;
-}
-
-Gdk::Window*
-Gtk::Widget::get_parent_window() const
-{
- GdkWindow *window = gtk_widget_get_parent_window(gtk_widget());
- return window ? G::Object::wrap<Gdk::Window>(window) : 0;
-}
-
-Gtk::Widget*
-Gtk::Widget::get_toplevel() const
-{
- GtkWidget *top_level = gtk_widget_get_toplevel(gtk_widget());
- return top_level ? G::Object::wrap<Widget>(top_level) : 0;
-}
-
-Gtk::Widget*
-Gtk::Widget::get_ancestor(GType widget_type) const
-{
- GtkWidget *ancestor = gtk_widget_get_ancestor(gtk_widget(), widget_type);
- return ancestor ? G::Object::wrap<Widget>(ancestor) : 0;
-}
-
-Gdk::Colormap*
-Gtk::Widget::get_colormap() const
-{
- return G::Object::wrap<Gdk::Colormap>(gtk_widget_get_colormap(gtk_widget()));
-}
-
-const Gdk::Visual*
-Gtk::Widget::get_visual() const
-{
- return G::Object::wrap<Gdk::Visual>(gtk_widget_get_visual(gtk_widget()));
-}
-
-Gdk::Screen*
-Gtk::Widget::get_screen() const
-{
- return G::Object::wrap<Gdk::Screen>(gtk_widget_get_screen(gtk_widget()));
-}
-
-Gdk::Display*
-Gtk::Widget::get_display() const
-{
- return G::Object::wrap<Gdk::Display>(gtk_widget_get_display(gtk_widget()));
-}
-
-Gdk::Window*
-Gtk::Widget::get_root_window() const
-{
- return G::Object::wrap<Gdk::Window>(gtk_widget_get_root_window(gtk_widget()));
-}
-
-Gtk::Settings*
-Gtk::Widget::get_settings() const
-{
- return G::Object::wrap<Settings>(gtk_widget_get_settings(gtk_widget()));
-}
-
-Gtk::Clipboard*
-Gtk::Widget::get_clipboard(Gdk::Atom selection) const
-{
- return G::Object::wrap<Clipboard>(gtk_widget_get_clipboard(gtk_widget(), selection));
-}
-
-Atk::Object*
-Gtk::Widget::get_accessible() const
-{
- return G::Object::wrap<Atk::Object>(gtk_widget_get_accessible(gtk_widget()));
-}
-
-Gdk::Point
-Gtk::Widget::get_pointer() const
-{
- GdkPoint point;
- gtk_widget_get_pointer(gtk_widget(), &point.x, &point.y);
- return point;
-}
-
-bool
-Gtk::Widget::is_ancestor(Widget *ancestor) const
-{
- return gtk_widget_is_ancestor(gtk_widget(), ancestor->gtk_widget());
-}
-
-Gtk::Style*
-Gtk::Widget::get_style() const
-{
- return G::Object::wrap<Style>(gtk_widget_get_style(gtk_widget()));
-}
-
-Gtk::Style*
-Gtk::Widget::rc_get_style() const
-{
- return G::Object::wrap<Style>(gtk_rc_get_style(gtk_widget()));
-}
-
-Gtk::RcStyle*
-Gtk::Widget::get_modifier_style() const
-{
- return G::Object::wrap<RcStyle>(gtk_widget_get_modifier_style(gtk_widget()));
-}
-
-String
-Gtk::Widget::get_composite_name() const
-{
- char *name = gtk_widget_get_composite_name(gtk_widget());
- String s(name);
- g_free(name);
- return s;
-}
-
-Pango::Context*
-Gtk::Widget::get_pango_context() const
-{
- return G::Object::wrap<Pango::Context>(gtk_widget_get_pango_context(gtk_widget()));
-}
-
-const Gtk::Style*
-Gtk::Widget::get_default_style()
-{
- return G::Object::wrap<Style>(gtk_widget_get_default_style());
-}
-
-Gdk::Colormap*
-Gtk::Widget::get_default_colormap()
-{
- return G::Object::wrap<Gdk::Colormap>(gtk_widget_get_default_colormap());
-}
-
-const Gdk::Visual*
-Gtk::Widget::get_default_visual()
-{
- return G::Object::wrap<Gdk::Visual>(gtk_widget_get_default_visual());
-}
-
-void
-Gtk::Widget::style_get_property(const char *property_name, G::Value& value)
-{
- gtk_widget_style_get_property(gtk_widget(), property_name, value.g_value());
-}
-
-void
-Gtk::Widget::style_get_property(const String& property_name, G::Value& value)
-{
- gtk_widget_style_get_property(gtk_widget(), property_name.c_str(), value.g_value());
-}
-
-void
-Gtk::Widget::path(String& path, String& path_reversed) const
-{
- unsigned int length;
- char *tmp_path = 0;
- char *tmp_path_reversed = 0;
- gtk_widget_path(gtk_widget(), &length, &tmp_path, &tmp_path_reversed);
-
- if (tmp_path)
- {
- path.assign(tmp_path, length);
- g_free(tmp_path);
- }
-
- if (tmp_path_reversed)
- {
- path_reversed.assign(tmp_path_reversed, length);
- g_free(tmp_path_reversed);
- }
-}
-
-void
-Gtk::Widget::class_path(String& path, String& path_reversed) const
-{
- unsigned int length;
- char *tmp_path = 0;
- char *tmp_path_reversed = 0;
- gtk_widget_class_path(gtk_widget(), &length, &tmp_path, &tmp_path_reversed);
-
- if (tmp_path)
- {
- path.assign(tmp_path, length);
- g_free(tmp_path);
- }
-
- if (tmp_path_reversed)
- {
- path_reversed.assign(tmp_path_reversed, length);
- g_free(tmp_path_reversed);
- }
-}
-
-void
-Gtk::Widget::show(bool visible)
-{
- visible ? show() : hide();
-}
-
-void
-Gtk::Widget::queue_draw_area(const Gdk::Rectangle& rectangle)
-{
- gtk_widget_queue_draw_area(gtk_widget(), rectangle.x(), rectangle.y(), rectangle.width(), rectangle.height());
-}
-
-void
-Gtk::Widget::size_request(Requisition *requisition)
-{
- GtkRequisition tmp;
- gtk_widget_size_request(gtk_widget(), &tmp);
- if (requisition)
- requisition->set(tmp.width, tmp.height);
-}
-
-void
-Gtk::Widget::size_allocate(const Allocation& allocation)
-{
- gtk_widget_size_allocate(gtk_widget(), allocation.gtk_allocation());
-}
-
-void
-Gtk::Widget::add_accelerator(const char *accel_signal, AccelGroup& accel_group, const AccelKey& accel_key)
-{
- gtk_widget_add_accelerator(gtk_widget(), accel_signal, accel_group.gtk_accel_group(), accel_key.key(),
- (GdkModifierType)accel_key.mods(), (GtkAccelFlags)accel_key.flags());
-}
-
-void
-Gtk::Widget::add_accelerator(const String& accel_signal, AccelGroup& accel_group, const AccelKey& accel_key)
-{
- add_accelerator(accel_signal.c_str(), accel_group, accel_key);
-}
-
-bool
-Gtk::Widget::remove_accelerator(AccelGroup& accel_group, const AccelKey& accel_key)
-{
- return gtk_widget_remove_accelerator(gtk_widget(), accel_group.gtk_accel_group(), accel_key.key(),
- (GdkModifierType)accel_key.mods());
-
-}
-
-void
-Gtk::Widget::set_accel_path(const char *accel_path, AccelGroup& accel_group)
-{
- gtk_widget_set_accel_path(gtk_widget(), accel_path, accel_group.gtk_accel_group());
-}
-
-void
-Gtk::Widget::set_accel_path(const String& accel_path, AccelGroup& accel_group)
-{
- set_accel_path(accel_path.c_str(), accel_group);
-}
-
-bool
-Gtk::Widget::list_accel_closures(std::vector<GClosure*>& closures)
-{
- g_return_val_if_fail(closures.empty(), false);
- GList *first = gtk_widget_list_accel_closures(gtk_widget());
- GList *next = first;
-
- while (next)
- {
- closures.push_back((GClosure*)next->data);
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return !closures.empty();
-}
-
-bool
-Gtk::Widget::can_activate_accel(const char *signal_name)
-{
- g_return_val_if_fail(signal_name != 0, false);
- GSignalQuery query;
- g_signal_query(g_signal_lookup(signal_name, type()), &query);
- g_return_val_if_fail(query.signal_id != 0, false);
- return gtk_widget_can_activate_accel(gtk_widget(), query.signal_id);
-}
-
-bool
-Gtk::Widget::can_activate_accel(const String& signal_name)
-{
- return can_activate_accel(signal_name.c_str());
-}
-
-int
-Gtk::Widget::send_expose(const Gdk::EventExpose& event)
-{
- return gtk_widget_send_expose(gtk_widget(), event.gdk_event());
-}
-
-bool
-Gtk::Widget::event(const Gdk::Event& event)
-{
- return gtk_widget_event(gtk_widget(), event);
-}
-
-bool
-Gtk::Widget::set_scroll_adjustments(Adjustment *hadjustment, Adjustment *vadjustment)
-{
- return gtk_widget_set_scroll_adjustments(gtk_widget(), *hadjustment, *vadjustment);
-}
-
-void
-Gtk::Widget::reparent(Widget& new_parent)
-{
- gtk_widget_reparent(gtk_widget(), new_parent.gtk_widget());
-}
-
-bool
-Gtk::Widget::intersect(const Gdk::Rectangle& area, Gdk::Rectangle *intersection)
-{
- return gtk_widget_intersect(gtk_widget(), area.gdk_rectangle(), *intersection);
-}
-
-Gdk::Rectangle
-Gtk::Widget::intersect(const Gdk::Rectangle& area)
-{
- GdkRectangle rectangle;
- gtk_widget_intersect(gtk_widget(), area.gdk_rectangle(), &rectangle);
- return rectangle;
-}
-
-Pointer<Gdk::Region>
-Gtk::Widget::intersect(Gdk::Region& region)
-{
- return new Gdk::Region(gtk_widget_region_intersect(gtk_widget(), region.gdk_region()), false);
-}
-
-void
-Gtk::Widget::child_notify(const String& child_property)
-{
- gtk_widget_child_notify(gtk_widget(), child_property.c_str());
-}
-
-void
-Gtk::Widget::set_name(const String& name)
-{
- gtk_widget_set_name(gtk_widget(), name.c_str());
-}
-
-void
-Gtk::Widget::set_parent(Widget& parent)
-{
- gtk_widget_set_parent(gtk_widget(), parent.gtk_widget());
-}
-
-void
-Gtk::Widget::set_parent_window(Gdk::Window *parent_window)
-{
- gtk_widget_set_parent_window(gtk_widget(), *parent_window);
-}
-
-void
-Gtk::Widget::set_colormap(Gdk::Colormap& colormap)
-{
- if (!is_realized())
- gtk_widget_set_colormap(gtk_widget(), colormap.gdk_colormap());
-}
-
-bool
-Gtk::Widget::translate_coordinates(Widget &src_widget, int src_x, int src_y, int *dest_x, int *dest_y) const
-{
- return gtk_widget_translate_coordinates(src_widget.gtk_widget(), gtk_widget(), src_x, src_y, dest_x, dest_y);
-}
-
-void
-Gtk::Widget::set_style(Style& style)
-{
- gtk_widget_set_style(gtk_widget(), style.gtk_style());
-}
-
-void
-Gtk::Widget::modify_style(RcStyle& style)
-{
- gtk_widget_modify_style(gtk_widget(), style.gtk_rc_style());
-}
-
-void
-Gtk::Widget::modify_fg(StateType state, const Gdk::Color *color)
-{
- gtk_widget_modify_fg(gtk_widget(), (GtkStateType)state, *color);
-}
-
-void
-Gtk::Widget::modify_bg(StateType state, const Gdk::Color *color)
-{
- gtk_widget_modify_bg(gtk_widget(), (GtkStateType)state, *color);
-}
-
-void
-Gtk::Widget::modify_text(StateType state, const Gdk::Color *color)
-{
- gtk_widget_modify_text(gtk_widget(), (GtkStateType)state, *color);
-}
-
-void
-Gtk::Widget::modify_base(StateType state, const Gdk::Color *color)
-{
- gtk_widget_modify_base(gtk_widget(), (GtkStateType)state, *color);
-}
-
-void
-Gtk::Widget::modify_font(const Pango::FontDescription *font_desc)
-{
- gtk_widget_modify_font(gtk_widget(), *font_desc);
-}
-
-Pointer<Pango::Context>
-Gtk::Widget::create_pango_context()
-{
- return G::Object::wrap_new<Pango::Context>(gtk_widget_create_pango_context(gtk_widget()), true);
-}
-
-Pointer<Pango::Layout>
-Gtk::Widget::create_pango_layout(const char *text)
-{
- return G::Object::wrap_new<Pango::Layout>(gtk_widget_create_pango_layout(gtk_widget(), text), true);
-}
-
-Pointer<Pango::Layout>
-Gtk::Widget::create_pango_layout(const String& text)
-{
- return create_pango_layout(text.c_str());
-}
-
-Pointer<Gdk::Pixbuf>
-Gtk::Widget::render_icon(const StockId& stock_id, IconSize size, const char *detail)
-{
- GdkPixbuf *pixbuf = gtk_widget_render_icon(gtk_widget(), stock_id, (GtkIconSize)size, detail);
- return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf, true) : 0;
-}
-
-void
-Gtk::Widget::set_composite_name(const String& name)
-{
- gtk_widget_set_composite_name(gtk_widget(), name.c_str());
-}
-
-void
-Gtk::Widget::push_colormap(Gdk::Colormap& cmap)
-{
- gtk_widget_push_colormap(cmap.gdk_colormap());
-}
-
-void
-Gtk::Widget::set_default_colormap(Gdk::Colormap *colormap)
-{
- gtk_widget_set_default_colormap(*colormap);
-}
-
-void
-Gtk::Widget::shape_combine_mask(const Gdk::Bitmap& shape_mask, int offset_x, int offset_y)
-{
- gtk_widget_shape_combine_mask(gtk_widget(), shape_mask.gdk_bitmap(), offset_x, offset_y);
-}
-
-bool
-Gtk::Widget::list_mnemonic_labels(std::vector<Widget*>& widgets)
-{
- g_return_val_if_fail(widgets.empty(), false);
- GList *first = gtk_widget_list_mnemonic_labels(gtk_widget());
- GList *next = first;
-
- while (next)
- {
- widgets.push_back(G::Object::wrap<Widget>((GtkWidget*)next->data));
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return !widgets.empty();
-}
-
-void
-Gtk::Widget::add_mnemonic_label(Widget& label)
-{
- gtk_widget_add_mnemonic_label(gtk_widget(), label.gtk_widget());
-}
-
-void
-Gtk::Widget::remove_mnemonic_label(Widget& label)
-{
- gtk_widget_remove_mnemonic_label(gtk_widget(), label.gtk_widget());
-}
-
-Gdk::GrabStatus
-Gtk::Widget::pointer_grab(Gdk::EventMaskField event_mask, Widget *confine_to, Gdk::Cursor *cursor,
- bool owner_events, unsigned int time)
-{
- GdkWindow *window = confine_to ? confine_to->gtk_widget()->window : 0;
- return (Gdk::GrabStatus)gdk_pointer_grab(gtk_widget()->window, owner_events, (GdkEventMask)event_mask,
- window, *cursor, time);
-}
-
-bool
-Gtk::Widget::selection_owner_set(Gdk::Atom selection, unsigned int time, const Gdk::Display *display)
-{
- GdkDisplay *tmp_display = display ? display->gdk_display() : gtk_widget_get_display(gtk_widget());
- return gtk_selection_owner_set_for_display(tmp_display, gtk_widget(), selection, time);
-}
-
-void
-Gtk::Widget::selection_add_target(Gdk::Atom selection, const TargetEntry& entry)
-{
- gtk_selection_add_target(gtk_widget(), selection, gdk_atom_intern(entry.target(), FALSE), entry.info());
-}
-
-void
-Gtk::Widget::selection_add_targets(Gdk::Atom selection, const std::vector<TargetEntry>& targets)
-{
- g_return_if_fail(!targets.empty());
- int count = targets.size();
- GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_targets[i] = *(targets[i].gtk_target_entry());
- ++i;
- }
-
- gtk_selection_add_targets(gtk_widget(), selection, tmp_targets, count);
- delete [] tmp_targets;
-}
-
-bool
-Gtk::Widget::selection_owner_unset(Gdk::Atom selection, unsigned int time, const Gdk::Display *display)
-{
- GdkDisplay *tmp_display = display ? display->gdk_display() : gdk_display_get_default();
- return gtk_selection_owner_set_for_display(tmp_display, 0, selection, time);
-}
-
-void
-Gtk::Widget::drag_get_data(DragContext& context, Gdk::Atom target, unsigned int time)
-{
- gtk_drag_get_data(gtk_widget(), context.gdk_drag_context(), target, time);
-}
-
-void
-Gtk::Widget::drag_dest_set(Gtk::DestDefaultsField flags, const TargetEntry& target, Gdk::DragActionField actions)
-{
- gtk_drag_dest_set(gtk_widget(), (GtkDestDefaults)flags, target.gtk_target_entry(), 1, (GdkDragAction)actions);
-}
-
-void
-Gtk::Widget::drag_dest_set(Gtk::DestDefaultsField flags, const std::vector<TargetEntry>& targets, Gdk::DragActionField actions)
-{
- g_return_if_fail (!targets.empty());
- int count = targets.size ();
- GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_targets[i] = *(targets[i].gtk_target_entry());
- ++i;
- }
-
- gtk_drag_dest_set(gtk_widget(), (GtkDestDefaults)flags, tmp_targets, count, (GdkDragAction)actions);
- delete [] tmp_targets;
-}
-
-void
-Gtk::Widget::drag_dest_set_proxy(Gdk::Window *proxy_window, Gdk::DragProtocol protocol, bool use_coordinates)
-{
- gtk_drag_dest_set_proxy(gtk_widget(), *proxy_window, (GdkDragProtocol)protocol, use_coordinates);
-}
-
-Gdk::Atom
-Gtk::Widget::drag_dest_find_target(const DragContext& context, const TargetList *target_list)
-{
- return gtk_drag_dest_find_target(gtk_widget(), context.gdk_drag_context(), *target_list);
-}
-
-Gtk::TargetList*
-Gtk::Widget::drag_dest_get_target_list() const
-{
- GtkTargetList *target_list = gtk_drag_dest_get_target_list(gtk_widget());
- return target_list ? new TargetList(target_list) : 0;
-}
-
-void
-Gtk::Widget::drag_dest_set_target_list(TargetList *target_list)
-{
- gtk_drag_dest_set_target_list(gtk_widget(), *target_list);
-}
-
-Gtk::DragContext*
-Gtk::Widget::drag_source_begin(const TargetList& targets, Gdk::DragActionField actions, int button, const Gdk::Event& event)
-{
- GdkDragContext *dc = gtk_drag_begin(gtk_widget(), targets.gtk_target_list(), (GdkDragAction)actions, button, event.gdk_event());
- return dc ? G::Object::wrap<DragContext>(dc) : 0;
-}
-
-void
-Gtk::Widget::drag_source_set(Gdk::ModifierTypeField start_button_mask, const TargetEntry& target, Gdk::DragActionField actions)
-{
- gtk_drag_source_set(gtk_widget(), (GdkModifierType)start_button_mask, target.gtk_target_entry(), 1, (GdkDragAction)actions);
-}
-
-void
-Gtk::Widget::drag_source_set(Gdk::ModifierTypeField start_button_mask, const std::vector<TargetEntry>& targets, Gdk::DragActionField actions)
-{
- g_return_if_fail (!targets.empty ());
- int count = targets.size ();
- GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
-
- int i = 0;
- while (i < count)
- {
- tmp_targets[i] = *(targets[i].gtk_target_entry());
- ++i;
- }
-
- gtk_drag_source_set(gtk_widget(), (GdkModifierType)start_button_mask, tmp_targets, count, (GdkDragAction)actions);
- delete [] tmp_targets;
-}
-
-Gtk::TargetList*
-Gtk::Widget::drag_source_get_target_list() const
-{
- GtkTargetList *target_list = gtk_drag_source_get_target_list(gtk_widget());
- return target_list ? new TargetList(target_list) : 0;
-}
-
-void
-Gtk::Widget::drag_source_set_target_list(TargetList *target_list)
-{
- gtk_drag_source_set_target_list(gtk_widget(), *target_list);
-}
-
-void
-Gtk::Widget::drag_source_set_icon(Gdk::Colormap *colormap, Gdk::Pixmap *pixmap, Gdk::Bitmap *mask)
-{
- gtk_drag_source_set_icon(gtk_widget(), *colormap, *pixmap, *mask);
-}
-
-void
-Gtk::Widget::drag_source_set_icon_pixbuf(Gdk::Pixbuf& pixbuf)
-{
- gtk_drag_source_set_icon_pixbuf(gtk_widget(), pixbuf.gdk_pixbuf());
-}
-
-void
-Gtk::Widget::drag_source_set_icon_stock(const StockId& stock_id)
-{
- gtk_drag_source_set_icon_stock(gtk_widget(), stock_id);
-}
-
-/* Gtk::WidgetClass
- */
-
-void
-Gtk::WidgetClass::init(GtkWidgetClass *g_class)
-{
- ObjectClass::init((GtkObjectClass*)g_class);
- g_class->show = &show_proxy;
- g_class->hide = &hide_proxy;
- g_class->map = &map_proxy;
- g_class->unmap = &unmap_proxy;
- g_class->realize = &realize_proxy;
- g_class->unrealize = &unrealize_proxy;
- g_class->size_request = &size_request_proxy;
- g_class->size_allocate = &size_allocate_proxy;
- g_class->state_changed = &state_changed_proxy;
- g_class->parent_set = &parent_set_proxy;
- g_class->hierarchy_changed = &hierarchy_changed_proxy;
- g_class->style_set = &style_set_proxy;
- g_class->direction_changed = &direction_changed_proxy;
- g_class->grab_notify = &grab_notify_proxy;
- g_class->child_notify = &child_notify_proxy;
- g_class->mnemonic_activate = &mnemonic_activate_proxy;
- g_class->grab_focus = &grab_focus_proxy;
- g_class->focus = &focus_proxy;
- g_class->screen_changed = &screen_changed_proxy;
- g_class->can_activate_accel = &can_activate_accel_proxy;
- g_class->selection_get = &selection_get_proxy;
- g_class->selection_received = &selection_received_proxy;
- g_class->drag_begin = &drag_begin_proxy;
- g_class->drag_end = &drag_end_proxy;
- g_class->drag_data_get = &drag_data_get_proxy;
- g_class->drag_data_delete = &drag_data_delete_proxy;
- g_class->drag_leave = &drag_leave_proxy;
- g_class->drag_motion = &drag_motion_proxy;
- g_class->drag_drop = &drag_drop_proxy;
- g_class->drag_data_received = &drag_data_received_proxy;
- g_class->event = &event_proxy;
- g_class->button_press_event = &button_press_event_proxy;
- g_class->button_release_event = &button_release_event_proxy;
- g_class->scroll_event = &scroll_event_proxy;
- g_class->motion_notify_event = &motion_notify_event_proxy;
- g_class->delete_event = &delete_event_proxy;
- g_class->destroy_event = &destroy_event_proxy;
- g_class->expose_event = &expose_event_proxy;
- g_class->key_press_event = &key_press_event_proxy;
- g_class->key_release_event = &key_release_event_proxy;
- g_class->enter_notify_event = &enter_notify_event_proxy;
- g_class->leave_notify_event = &leave_notify_event_proxy;
- g_class->configure_event = &configure_event_proxy;
- g_class->focus_in_event = &focus_in_event_proxy;
- g_class->focus_out_event = &focus_out_event_proxy;
- g_class->map_event = &map_event_proxy;
- g_class->unmap_event = &unmap_event_proxy;
- g_class->property_notify_event = &property_notify_event_proxy;
- g_class->selection_clear_event = &selection_clear_event_proxy;
- g_class->selection_request_event = &selection_request_event_proxy;
- g_class->selection_notify_event = &selection_notify_event_proxy;
- g_class->proximity_in_event = &proximity_in_event_proxy;
- g_class->proximity_out_event = &proximity_out_event_proxy;
- g_class->visibility_notify_event = &visibility_notify_event_proxy;
- g_class->client_event = &client_event_proxy;
- g_class->no_expose_event = &no_expose_event_proxy;
- g_class->window_state_event = &window_state_event_proxy;
-}
-
-GtkWidgetClass*
-Gtk::WidgetClass::get_parent_class(void *instance)
-{
- return static_cast<GtkWidgetClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::WidgetClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_WIDGET, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::WidgetClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
-void
-Gtk::WidgetClass::show_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_show();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->show)
- g_class->show(widget);
- }
-}
-
-void
-Gtk::WidgetClass::hide_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_hide();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->hide)
- g_class->hide(widget);
- }
-}
-
-void
-Gtk::WidgetClass::map_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_map();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->map)
- g_class->map(widget);
- }
-}
-
-void
-Gtk::WidgetClass::unmap_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_unmap();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->unmap)
- g_class->unmap(widget);
- }
-}
-
-void
-Gtk::WidgetClass::realize_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_realize();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->realize)
- g_class->realize(widget);
- }
-}
-
-void
-Gtk::WidgetClass::unrealize_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_unrealize();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->unrealize)
- g_class->unrealize(widget);
- }
-}
-
-void
-Gtk::WidgetClass::size_request_proxy(GtkWidget *widget, GtkRequisition *requisition)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Requisition tmp_requisition;
- static_cast<WidgetSignals*>(ptr)->on_size_request(&tmp_requisition);
- *requisition = *tmp_requisition;
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->size_request)
- g_class->size_request(widget, requisition);
- }
-}
-
-void
-Gtk::WidgetClass::size_allocate_proxy(GtkWidget *widget, GtkAllocation *allocation)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Allocation tmp_allocation(*allocation);
- static_cast<WidgetSignals*>(ptr)->on_size_allocate(tmp_allocation);
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->size_allocate)
- g_class->size_allocate(widget, allocation);
- }
-}
-
-void
-Gtk::WidgetClass::state_changed_proxy(GtkWidget *widget, GtkStateType previous_state)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_state_changed((StateType)previous_state);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->state_changed)
- g_class->state_changed(widget, previous_state);
- }
-}
-
-void
-Gtk::WidgetClass::parent_set_proxy(GtkWidget *widget, GtkWidget *previous_parent)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_parent_set(G::Object::wrap<Widget>(previous_parent));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->parent_set)
- g_class->parent_set(widget, previous_parent);
- }
-}
-
-void
-Gtk::WidgetClass::hierarchy_changed_proxy(GtkWidget *widget, GtkWidget *previous_toplevel)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_hierarchy_changed(G::Object::wrap<Widget>(previous_toplevel));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->hierarchy_changed)
- g_class->hierarchy_changed(widget, previous_toplevel);
- }
-}
-
-void
-Gtk::WidgetClass::style_set_proxy(GtkWidget *widget, GtkStyle *previous_style)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr && static_cast<Widget*>(G::Object::pointer((GObject*)widget))->is_realized())
- static_cast<WidgetSignals*>(ptr)->on_style_set(G::Object::wrap<Style>(previous_style));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->style_set)
- g_class->style_set(widget, previous_style);
- }
-}
-
-void
-Gtk::WidgetClass::direction_changed_proxy(GtkWidget *widget, GtkTextDirection previous_direction)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_direction_changed((TextDirection)previous_direction);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->direction_changed)
- g_class->direction_changed(widget, previous_direction);
- }
-}
-
-void
-Gtk::WidgetClass::grab_notify_proxy(GtkWidget *widget, gboolean was_grabbed)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_grab_notify(was_grabbed);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->grab_notify)
- g_class->grab_notify(widget, was_grabbed);
- }
-}
-
-void
-Gtk::WidgetClass::child_notify_proxy(GtkWidget *widget, GParamSpec *pspec)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_child_notify(pspec);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->child_notify)
- g_class->child_notify(widget, pspec);
- }
-}
-
-gboolean
-Gtk::WidgetClass::mnemonic_activate_proxy(GtkWidget *widget, gboolean group_cycling)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- result = static_cast<WidgetSignals*>(ptr)->on_mnemonic_activate(group_cycling);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->mnemonic_activate)
- result = g_class->mnemonic_activate(widget, group_cycling);
- }
- return result;
-}
-
-void
-Gtk::WidgetClass::grab_focus_proxy(GtkWidget *widget)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_grab_focus();
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->grab_focus)
- g_class->grab_focus(widget);
- }
-}
-
-gboolean
-Gtk::WidgetClass::focus_proxy(GtkWidget *widget, GtkDirectionType direction)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- result = static_cast<WidgetSignals*>(ptr)->on_focus((DirectionType)direction);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->focus)
- result = g_class->focus(widget, direction);
- }
- return result;
-}
-
-void
-Gtk::WidgetClass::screen_changed_proxy(GtkWidget *widget, GdkScreen *previous_screen)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_screen_changed(G::Object::wrap<Gdk::Screen>(previous_screen));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->screen_changed)
- g_class->screen_changed(widget, previous_screen);
- }
-}
-
-gboolean
-Gtk::WidgetClass::can_activate_accel_proxy(GtkWidget *widget, guint signal_id)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- result = static_cast<WidgetSignals*>(ptr)->on_can_activate_accel(signal_id);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->can_activate_accel)
- result = g_class->can_activate_accel(widget, signal_id);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::event_proxy(GtkWidget *widget, GdkEvent *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event(event);
- result = static_cast<WidgetSignals*>(ptr)->on_event(tmp_event);
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->event)
- result = g_class->event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::button_press_event_proxy(GtkWidget *widget, GdkEventButton *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_button_press_event(*tmp_event.button());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->button_press_event)
- result = g_class->button_press_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::button_release_event_proxy(GtkWidget *widget, GdkEventButton *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_button_release_event(*tmp_event.button());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->button_release_event)
- result = g_class->button_release_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::scroll_event_proxy(GtkWidget *widget, GdkEventScroll *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_scroll_event(*tmp_event.scroll());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->scroll_event)
- result = g_class->scroll_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::motion_notify_event_proxy(GtkWidget *widget, GdkEventMotion *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_motion_notify_event(*tmp_event.motion());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->motion_notify_event)
- result = g_class->motion_notify_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::delete_event_proxy(GtkWidget *widget, GdkEventAny *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_delete_event(*tmp_event.any());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->delete_event)
- result = g_class->delete_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::destroy_event_proxy(GtkWidget *widget, GdkEventAny *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_destroy_event(*tmp_event.any());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->destroy_event)
- result = g_class->destroy_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::expose_event_proxy(GtkWidget *widget, GdkEventExpose *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_expose_event(*tmp_event.expose());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->expose_event)
- result = g_class->expose_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::key_press_event_proxy(GtkWidget *widget, GdkEventKey *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_key_press_event(*tmp_event.key());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->key_press_event)
- result = g_class->key_press_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::key_release_event_proxy(GtkWidget *widget, GdkEventKey *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_key_release_event(*tmp_event.key());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->key_release_event)
- result = g_class->key_release_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::enter_notify_event_proxy(GtkWidget *widget, GdkEventCrossing *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_enter_notify_event(*tmp_event.crossing());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->enter_notify_event)
- result = g_class->enter_notify_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::leave_notify_event_proxy(GtkWidget *widget, GdkEventCrossing *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_leave_notify_event(*tmp_event.crossing());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->leave_notify_event)
- result = g_class->leave_notify_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::configure_event_proxy(GtkWidget *widget, GdkEventConfigure *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_configure_event(*tmp_event.configure());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->configure_event)
- result = g_class->configure_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::focus_in_event_proxy(GtkWidget *widget, GdkEventFocus *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_focus_in_event(*tmp_event.focus_change());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->focus_in_event)
- result = g_class->focus_in_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::focus_out_event_proxy(GtkWidget *widget, GdkEventFocus *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_focus_out_event(*tmp_event.focus_change());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->focus_out_event)
- result = g_class->focus_out_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::map_event_proxy(GtkWidget *widget, GdkEventAny *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_map_event(*tmp_event.any());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->map_event)
- result = g_class->map_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::unmap_event_proxy(GtkWidget *widget, GdkEventAny *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_unmap_event(*tmp_event.any());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->unmap_event)
- result = g_class->unmap_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::property_notify_event_proxy(GtkWidget *widget, GdkEventProperty *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_property_notify_event(*tmp_event.property());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->property_notify_event)
- result = g_class->property_notify_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::selection_clear_event_proxy(GtkWidget *widget, GdkEventSelection *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_selection_clear_event(*tmp_event.selection());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->selection_clear_event)
- result = g_class->selection_clear_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::selection_request_event_proxy(GtkWidget *widget, GdkEventSelection *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_selection_request_event(*tmp_event.selection());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->selection_request_event)
- result = g_class->selection_request_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::selection_notify_event_proxy(GtkWidget *widget, GdkEventSelection *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_selection_notify_event(*tmp_event.selection());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->selection_notify_event)
- result = g_class->selection_notify_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::proximity_in_event_proxy(GtkWidget *widget, GdkEventProximity *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_proximity_in_event(*tmp_event.proximity());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->proximity_in_event)
- result = g_class->proximity_in_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::proximity_out_event_proxy(GtkWidget *widget, GdkEventProximity *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_proximity_out_event(*tmp_event.proximity());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->proximity_out_event)
- result = g_class->proximity_out_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::visibility_notify_event_proxy(GtkWidget *widget, GdkEventVisibility *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_visibility_notify_event(*tmp_event.visibility());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->visibility_notify_event)
- result = g_class->visibility_notify_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::client_event_proxy(GtkWidget *widget, GdkEventClient *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_client_event(*tmp_event.client());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->client_event)
- result = g_class->client_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::no_expose_event_proxy(GtkWidget *widget, GdkEventAny *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_no_expose_event(*tmp_event.any());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->no_expose_event)
- result = g_class->no_expose_event(widget, event);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::window_state_event_proxy(GtkWidget *widget, GdkEventWindowState *event)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gdk::Event tmp_event((GdkEvent*)event);
- result = static_cast<WidgetSignals*>(ptr)->on_window_state_event(*tmp_event.window_state());
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->window_state_event)
- result = g_class->window_state_event(widget, event);
- }
- return result;
-}
-
-void
-Gtk::WidgetClass::selection_get_proxy(GtkWidget *widget, GtkSelectionData *selection_data, guint info, guint time)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gtk::SelectionData tmp_selection_data(selection_data);
- static_cast<WidgetSignals*>(ptr)->on_selection_get(tmp_selection_data, info, time);
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->selection_get)
- g_class->selection_get(widget, selection_data, info, time);
- }
-}
-
-void
-Gtk::WidgetClass::selection_received_proxy(GtkWidget *widget, GtkSelectionData *selection_data, guint time)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gtk::SelectionData tmp_selection_data(selection_data);
- static_cast<WidgetSignals*>(ptr)->on_selection_received(tmp_selection_data, time);
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->selection_received)
- g_class->selection_received(widget, selection_data, time);
- }
-}
-
-void
-Gtk::WidgetClass::drag_begin_proxy(GtkWidget *widget, GdkDragContext *context)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_drag_begin(*G::Object::wrap<DragContext>(context));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_begin)
- g_class->drag_begin(widget, context);
- }
-}
-
-void
-Gtk::WidgetClass::drag_end_proxy(GtkWidget *widget, GdkDragContext *context)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_drag_end(*G::Object::wrap<DragContext>(context));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_end)
- g_class->drag_end(widget, context);
- }
-}
-
-void
-Gtk::WidgetClass::drag_data_get_proxy(GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gtk::SelectionData tmp_selection_data(selection_data);
- static_cast<WidgetSignals*>(ptr)->on_drag_data_get(*G::Object::wrap<DragContext>(context), tmp_selection_data, info, time);
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_data_get)
- g_class->drag_data_get(widget, context, selection_data, info, time);
- }
-}
-
-void
-Gtk::WidgetClass::drag_data_delete_proxy(GtkWidget *widget, GdkDragContext *context)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_drag_data_delete(*G::Object::wrap<DragContext>(context));
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_data_delete)
- g_class->drag_data_delete(widget, context);
- }
-}
-
-void
-Gtk::WidgetClass::drag_leave_proxy(GtkWidget *widget, GdkDragContext *context, guint time)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- static_cast<WidgetSignals*>(ptr)->on_drag_leave(*G::Object::wrap<DragContext>(context), time);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_leave)
- g_class->drag_leave(widget, context, time);
- }
-}
-
-gboolean
-Gtk::WidgetClass::drag_motion_proxy(GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- result = static_cast<WidgetSignals*>(ptr)->on_drag_motion(*G::Object::wrap<DragContext>(context),x, y, time);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_motion)
- result = g_class->drag_motion(widget, context, x, y, time);
- }
- return result;
-}
-
-gboolean
-Gtk::WidgetClass::drag_drop_proxy(GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time)
-{
- gboolean result = FALSE;
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- result = static_cast<WidgetSignals*>(ptr)->on_drag_drop(*G::Object::wrap<DragContext>(context), x, y, time);
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_drop)
- result = g_class->drag_drop(widget, context, x, y, time);
- }
- return result;
-}
-
-void
-Gtk::WidgetClass::drag_data_received_proxy(GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time)
-{
- void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
- if (ptr)
- {
- Gtk::SelectionData tmp_selection_data(selection_data);
- static_cast<WidgetSignals*>(ptr)->on_drag_data_received(*G::Object::wrap<DragContext>(context),
- x, y, tmp_selection_data, info, time);
- }
- else
- {
- GtkWidgetClass *g_class = get_parent_class(widget);
- if (g_class && g_class->drag_data_received)
- g_class->drag_data_received(widget, context, x, y, selection_data, info, time);
- }
-}
-
-/* Gtk::Widget signals
- */
-
-const Gtk::Widget::ShowSignalType Gtk::Widget::show_signal("show", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::HideSignalType Gtk::Widget::hide_signal("hide", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::MapSignalType Gtk::Widget::map_signal("map", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::UnmapSignalType Gtk::Widget::unmap_signal("unmap", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::RealizeSignalType Gtk::Widget::realize_signal("realize", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::UnrealizeSignalType Gtk::Widget::unrealize_signal("unrealize", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::SizeRequestSignalType Gtk::Widget::size_request_signal("size_request", (GCallback)&Marshal::void_requistion_callback);
-
-const Gtk::Widget::SizeAllocateSignalType Gtk::Widget::size_allocate_signal("size_allocate", (GCallback)&Marshal::void_allocation_callback);
-
-const Gtk::Widget::StateChangedSignalType Gtk::Widget::state_changed_signal("state_changed", (GCallback)&Marshal::void_statetype_callback);
-
-const Gtk::Widget::ParentSetSignalType Gtk::Widget::parent_set_signal("parent_set", (GCallback)&Marshal::void_widget_callback1);
-
-const Gtk::Widget::HierarchyChangedSignalType Gtk::Widget::hierarchy_changed_signal("hierarchy_changed", (GCallback)&Marshal::void_widget_callback1);
-
-const Gtk::Widget::StyleSetSignalType Gtk::Widget::style_set_signal("style_set", (GCallback)&Marshal::void_style_callback);
-
-const Gtk::Widget::DirectionChangedSignalType Gtk::Widget::direction_changed_signal("direction_changed", (GCallback)&Marshal::void_textdirection_callback);
-
-const Gtk::Widget::GrabNotifySignalType Gtk::Widget::grab_notify_signal("grab_notify", (GCallback)&G::Marshal::void_bool_callback);
-
-const Gtk::Widget::ChildNotifySignalType Gtk::Widget::child_notify_signal("child_notify", (GCallback)&Marshal::void_gparamspec_callback);
-
-const Gtk::Widget::MnemonicActivateSignalType Gtk::Widget::mnemonic_activate_signal("mnemonic_activate", (GCallback)&Marshal::bool_bool_callback);
-
-const Gtk::Widget::GrabFocusSignalType Gtk::Widget::grab_focus_signal("grab_focus", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::FocusSignalType Gtk::Widget::focus_signal("focus", (GCallback)&Marshal::bool_directiontype_callback);
-
-const Gtk::Widget::AccelClosuresChangedSignalType Gtk::Widget::accel_closures_changed_signal("accel_closures_changed", (GCallback)&G::Marshal::void_callback);
-
-const Gtk::Widget::ScreenChangedSignalType Gtk::Widget::screen_changed_signal("screen_changed", (GCallback)&Marshal::void_gdkscreen_callback);
-
-const Gtk::Widget::CanActivateAccelSignalType Gtk::Widget::can_activate_accel_signal("can_activate_accel", (GCallback)&Marshal::bool_uint_callback);
-
-const Gtk::Widget::SelectionGetSignalType Gtk::Widget::selection_get_signal("selection_get", (GCallback)&Marshal::void_selectiondata_uint_uint_callback);
-
-const Gtk::Widget::SelectionReceivedSignalType Gtk::Widget::selection_received_signal("selection_received", (GCallback)&Marshal::void_selectiondata_uint_callback);
-
-const Gtk::Widget::DragBeginSignalType Gtk::Widget::drag_begin_signal("drag_begin", (GCallback)&Marshal::void_dragcontext_callback);
-
-const Gtk::Widget::DragEndSignalType Gtk::Widget::drag_end_signal("drag_end", (GCallback)&Marshal::void_dragcontext_callback);
-
-const Gtk::Widget::DragDataGetSignalType Gtk::Widget::drag_data_get_signal("drag_data_get", (GCallback)&Marshal::void_dragcontext_selectiondata_uint_uint_callback);
-
-const Gtk::Widget::DragDataDeleteSignalType Gtk::Widget::drag_data_delete_signal("drag_data_delete", (GCallback)&Marshal::void_dragcontext_callback);
-
-const Gtk::Widget::DragLeaveSignalType Gtk::Widget::drag_leave_signal("drag_leave", (GCallback)&Marshal::void_dragcontext_uint_callback);
-
-const Gtk::Widget::DragMotionSignalType Gtk::Widget::drag_motion_signal("drag_motion", (GCallback)&Marshal::bool_dragcontext_int_int_uint_callback);
-
-const Gtk::Widget::DragDropSignalType Gtk::Widget::drag_drop_signal("drag_drop", (GCallback)&Marshal::bool_dragcontext_int_int_uint_callback);
-
-const Gtk::Widget::DragDataReceivedSignalType Gtk::Widget::drag_data_received_signal("drag_data_received", (GCallback)&Marshal::void_dragcontext_int_int_selectiondata_uint_uint_callback);
-
-const Gtk::Widget::EventSignalType Gtk::Widget::event_signal("event", (GCallback)&Marshal::bool_event_callback);
-
-const Gtk::Widget::EventAfterSignalType Gtk::Widget::event_after_signal("event-after", (GCallback)&Marshal::void_event_callback);
-
-const Gtk::Widget::ButtonPressEventSignalType Gtk::Widget::button_press_event_signal("button_press_event", (GCallback)&Marshal::bool_eventbutton_callback);
-
-const Gtk::Widget::ButtonReleaseEventSignalType Gtk::Widget::button_release_event_signal("button_release_event", (GCallback)&Marshal::bool_eventbutton_callback);
-
-const Gtk::Widget::ScrollEventSignalType Gtk::Widget::scroll_event_signal("scroll_event", (GCallback)&Marshal::bool_eventscroll_callback);
-
-const Gtk::Widget::MotionNotifyEventSignalType Gtk::Widget::motion_notify_event_signal("motion_notify_event", (GCallback)&Marshal::bool_eventmotion_callback);
-
-const Gtk::Widget::DeleteEventSignalType Gtk::Widget::delete_event_signal("delete_event", (GCallback)&Marshal::bool_event_callback);
-
-const Gtk::Widget::DestroyEventSignalType Gtk::Widget::destroy_event_signal("destroy_event", (GCallback)&Marshal::bool_eventany_callback);
-
-const Gtk::Widget::ExposeEventSignalType Gtk::Widget::expose_event_signal("expose_event", (GCallback)&Marshal::bool_eventexpose_callback);
-
-const Gtk::Widget::KeyPressEventSignalType Gtk::Widget::key_press_event_signal("key_press_event", (GCallback)&Marshal::bool_eventkey_callback);
-
-const Gtk::Widget::KeyReleaseEventSignalType Gtk::Widget::key_release_event_signal("key_release_event", (GCallback)&Marshal::bool_eventkey_callback);
-
-const Gtk::Widget::EnterNotifyEventSignalType Gtk::Widget::enter_notify_event_signal("enter_notify_event", (GCallback)&Marshal::bool_eventcrossing_callback);
-
-const Gtk::Widget::LeaveNotifyEventSignalType Gtk::Widget::leave_notify_event_signal("leave_notify_event", (GCallback)&Marshal::bool_eventcrossing_callback);
-
-const Gtk::Widget::ConfigureEventSignalType Gtk::Widget::configure_event_signal("configure_event", (GCallback)&Marshal::bool_eventconfigure_callback);
-
-const Gtk::Widget::FocusInEventSignalType Gtk::Widget::focus_in_event_signal("focus_in_event", (GCallback)&Marshal::bool_eventfocus_callback);
-
-const Gtk::Widget::FocusOutEventSignalType Gtk::Widget::focus_out_event_signal("focus_out_event", (GCallback)&Marshal::bool_eventfocus_callback);
-
-const Gtk::Widget::MapEventSignalType Gtk::Widget::map_event_signal("map_event", (GCallback)&Marshal::bool_eventany_callback);
-
-const Gtk::Widget::UnmapEventSignalType Gtk::Widget::unmap_event_signal("unmap_event", (GCallback)&Marshal::bool_eventany_callback);
-
-const Gtk::Widget::PropertyNotifyEventSignalType Gtk::Widget::property_notify_event_signal("property_notify_event", (GCallback)&Marshal::bool_eventproperty_callback);
-
-const Gtk::Widget::SelectionClearEventSignalType Gtk::Widget::selection_clear_event_signal("selection_clear_event", (GCallback)&Marshal::bool_eventselection_callback);
-
-const Gtk::Widget::SelectionRequestEventSignalType Gtk::Widget::selection_request_event_signal("selection_request_event", (GCallback)&Marshal::bool_eventselection_callback);
-
-const Gtk::Widget::SelectionNotifyEventSignalType Gtk::Widget::selection_notify_event_signal("selection_notify_event", (GCallback)&Marshal::bool_eventselection_callback);
-
-const Gtk::Widget::ProximityInEventSignalType Gtk::Widget::proximity_in_event_signal("proximity_in_event", (GCallback)&Marshal::bool_eventproximity_callback);
-
-const Gtk::Widget::ProximityOutEventSignalType Gtk::Widget::proximity_out_event_signal("proximity_out_event", (GCallback)&Marshal::bool_eventproximity_callback);
-
-const Gtk::Widget::VisibilityNotifyEventSignalType Gtk::Widget::visibility_notify_event_signal("visibility_notify_event", (GCallback)&Marshal::bool_eventvisibility_callback);
-
-const Gtk::Widget::ClientEventSignalType Gtk::Widget::client_event_signal("client_event", (GCallback)&Marshal::bool_eventclient_callback);
-
-const Gtk::Widget::NoExposeEventSignalType Gtk::Widget::no_expose_event_signal("no_expose_event", (GCallback)&Marshal::bool_eventany_callback);
-
-const Gtk::Widget::WindowStateEventSignalType Gtk::Widget::window_state_event_signal("window_state_event", (GCallback)&Marshal::bool_eventwindowstate_callback);
-
diff --git a/libXFCui/xfc/gtk/window.cc b/libXFCui/xfc/gtk/window.cc
deleted file mode 100755
index e4abd85..0000000
--- a/libXFCui/xfc/gtk/window.cc
+++ /dev/null
@@ -1,520 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * window.cc - GtkWindow and GtkWindowGroup C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "window.hh"
-#include "windowsignals.hh"
-#include "accelgroup.hh"
-#include "private/marshal.hh"
-#include "private/windowclass.hh"
-#include "../gdk/events.hh"
-#include "../gdk/screen.hh"
-#include "../gdk/window.hh"
-#include "../gdk-pixbuf/pixbuf.hh"
-#include "../../../libXFCcore/xfc/glib/error.hh"
-#include "../../../libXFCcore/xfc/glib/quark.hh"
-#include "../../../libXFCcore/xfc/glib/private/objectclass.hh"
-#include "../../../libXFCcore/xfc/convert.hh"
-#include <gtk/gtkaboutdialog.h>
-
-using namespace Xfc;
-
-/* Gtk::Window
- */
-
-Gtk::Window::Window(GtkWindow *window, bool owns_reference)
-: Bin((GtkBin*)window, owns_reference)
-{
-}
-
-Gtk::Window::Window(WindowType type)
-: Bin((GtkBin*)WindowClass::create((GtkWindowType)type))
-{
-}
-
-Gtk::Window::~Window()
-{
- if (instance_)
- {
- remove_data(G::ObjectClass::quark());
- dispose();
- instance_ = 0;
- }
-}
-
-String
-Gtk::Window::get_title() const
-{
- return gtk_window_get_title(gtk_window());
-}
-
-String
-Gtk::Window::get_role() const
-{
- return gtk_window_get_role(gtk_window());
-}
-
-Gtk::Widget*
-Gtk::Window::get_focus() const
-{
- return G::Object::wrap<Widget>(gtk_window_get_focus(gtk_window()));
-}
-
-Gtk::Window*
-Gtk::Window::get_transient_for() const
-{
- GtkWindow *window = gtk_window_get_transient_for(gtk_window());
- return window ? G::Object::wrap<Window>(window) : 0;
-}
-
-Gdk::WindowTypeHint
-Gtk::Window::get_type_hint() const
-{
- return (Gdk::WindowTypeHint)gtk_window_get_type_hint(gtk_window());
-}
-
-Gdk::Screen*
-Gtk::Window::get_screen() const
-{
- return G::Object::wrap<Gdk::Screen>(gtk_window_get_screen(gtk_window()));
-}
-
-String
-Gtk::Window::get_icon_name() const
-{
- return gtk_window_get_icon_name(gtk_window());
-}
-
-namespace { // real_get_icon_list
-
-bool real_get_icon_list(GtkWindow *window, std::vector<Gdk::Pixbuf*>& icons)
-{
- g_return_val_if_fail(icons.empty(), false);
-
- GList *first = window ? gtk_window_get_icon_list(window) : gtk_window_get_default_icon_list();
- GList *next = first;
-
- while (next)
- {
- icons.push_back(G::Object::wrap<Gdk::Pixbuf>((GdkPixbuf*)next->data));
- next = g_list_next(next);
- }
- g_list_free(first);
- return !icons.empty();
-}
-
-} // real_get_icon_list
-
-bool
-Gtk::Window::get_icon_list(std::vector<Gdk::Pixbuf*>& icons) const
-{
- return real_get_icon_list(gtk_window(), icons);
-}
-
-Gdk::Pixbuf*
-Gtk::Window::get_icon() const
-{
- GdkPixbuf *icon = gtk_window_get_icon(gtk_window());
- return icon ? G::Object::wrap<Gdk::Pixbuf>(icon) : 0;
-}
-
-bool
-Gtk::Window::get_default_icon_list(std::vector<Gdk::Pixbuf*>& icons)
-{
- return real_get_icon_list(0, icons);
-}
-
-Gdk::Point
-Gtk::Window::get_position() const
-{
- int root_x, root_y;
- get_position(&root_x, &root_y);
- return Gdk::Point(root_x, root_y);
-}
-
-void
-Gtk::Window::set_title(const String& title)
-{
- gtk_window_set_title(gtk_window(), title.c_str());
-}
-
-void
-Gtk::Window::set_wmclass(const String& wmclass_name, const String& wmclass_class)
-{
- gtk_window_set_wmclass(gtk_window(), wmclass_name.c_str(), wmclass_class.c_str());
-}
-
-void
-Gtk::Window::set_role(const String& role)
-{
- gtk_window_set_role(gtk_window(), role.c_str());
-}
-
-Gtk::AccelGroup*
-Gtk::Window::add_accel_group(AccelGroup *accel_group)
-{
- AccelGroup *tmp_accel_group = accel_group;
-
- if (!tmp_accel_group)
- tmp_accel_group = new Gtk::AccelGroup;
-
- gtk_window_add_accel_group(gtk_window(), *tmp_accel_group);
-
- if (!accel_group)
- tmp_accel_group->unref();
-
- return tmp_accel_group;
-}
-
-void
-Gtk::Window::remove_accel_group(AccelGroup& accel_group)
-{
- gtk_window_remove_accel_group(gtk_window(), accel_group.gtk_accel_group());
-}
-
-void
-Gtk::Window::set_focus(Widget *widget)
-{
- gtk_window_set_focus(gtk_window(), *widget);
-}
-
-void
-Gtk::Window::set_default(Widget *default_widget)
-{
- gtk_window_set_default(gtk_window(), *default_widget);
-}
-
-void
-Gtk::Window::set_transient_for(Window *parent)
-{
- gtk_window_set_transient_for(gtk_window(), parent->gtk_window());
-}
-
-void
-Gtk::Window::set_geometry_hints(Widget *geometry_widget, const Gdk::Geometry& geometry)
-{
- gtk_window_set_geometry_hints(gtk_window(), *geometry_widget, geometry.gdk_geometry(), geometry.gdk_window_hints());
-}
-
-void
-Gtk::Window::set_screen(const Gdk::Screen& screen)
-{
- gtk_window_set_screen(gtk_window(), screen.gdk_screen());
-}
-
-namespace { // real_set_icon_list
-
-void real_set_icon_list(GtkWindow *window, std::vector<Gdk::Pixbuf*>& icons)
-{
- g_return_if_fail(!icons.empty());
- GList *tmp_icons = 0;
- int count = icons.size();
-
- int i = 0;
- while (i < count)
- {
- tmp_icons = g_list_append(tmp_icons, icons[i]->gdk_pixbuf());
- ++i;
- }
- window ? gtk_window_set_icon_list(window, tmp_icons) : gtk_window_set_default_icon_list(tmp_icons);
- g_list_free(tmp_icons);
-}
-
-} // real_set_icon_list
-
-void
-Gtk::Window::set_icon_list(std::vector<Gdk::Pixbuf*>& icons)
-{
- real_set_icon_list(gtk_window(), icons);
-}
-
-void
-Gtk::Window::set_icon(Gdk::Pixbuf& icon)
-{
- gtk_window_set_icon(gtk_window(), icon.gdk_pixbuf());
-}
-
-bool
-Gtk::Window::set_icon_from_file(const char *filename, G::Error *error)
-{
- return gtk_window_set_icon_from_file(gtk_window(), filename, *error);
-}
-
-void
-Gtk::Window::set_icon_name(const String& name)
-{
- set_icon_name(name.c_str());
-}
-
-bool
-Gtk::Window::set_icon_from_file(const String& filename, G::Error *error)
-{
- return gtk_window_set_icon_from_file(gtk_window(), filename.c_str(), *error);
-}
-
-void
-Gtk::Window::show_about_dialog(Gdk::Pixbuf *logo, const String& name, const String& version, const String& comments,
- const String& copyright, const String& website, const std::vector<String> *authors,
- const std::vector<String> *documenters, const String& license)
-{
- char **tmp_authors = authors ? vector_of_string_to_array(*authors) : 0;
- char **tmp_documenters = documenters ? vector_of_string_to_array(*documenters) : 0;
-
- gtk_show_about_dialog(gtk_window(),
- "logo", logo ? logo->gdk_pixbuf() : 0,
- "name", name.c_str(),
- "version", version.c_str(),
- "copyright", copyright.c_str(),
- "website", website.c_str(),
- "comments", comments.c_str(),
- "authors", tmp_authors,
- "documenters", tmp_documenters,
- "license", license.c_str(),
- 0);
-
- if (tmp_authors)
- delete [] tmp_authors;
-
- if (tmp_documenters)
- delete [] tmp_documenters;
-}
-
-void
-Gtk::Window::set_default_icon_list(std::vector<Gdk::Pixbuf*>& icons)
-{
- real_set_icon_list(0, icons);
-}
-
-void
-Gtk::Window::set_default_icon(Gdk::Pixbuf& icon)
-{
- gtk_window_set_default_icon(icon.gdk_pixbuf());
-}
-
-void
-Gtk::Window::set_default_icon_name(const String& name)
-{
- gtk_window_set_default_icon_name(name.c_str());
-}
-
-bool
-Gtk::Window::set_default_icon_from_file(const String& filename, G::Error *error)
-{
- return gtk_window_set_default_icon_from_file(filename.c_str(), *error);
-}
-
-bool
-Gtk::Window::list_toplevels(std::vector<Widget*>& toplevels)
-{
- g_return_val_if_fail(toplevels.empty(), false);
- GList *first = gtk_window_list_toplevels();
- GList *next = first;
-
- while (next)
- {
- toplevels.push_back(G::Object::wrap<Widget>((GtkWidget*)next->data));
- next = g_list_next(next);
- }
-
- g_list_free(first);
- return !toplevels.empty();
-}
-
-void
-Gtk::Window::add_mnemonic(unsigned int keyval, Widget& target)
-{
- gtk_window_add_mnemonic(gtk_window(), keyval, target.gtk_widget());
-}
-
-void
-Gtk::Window::remove_mnemonic(unsigned int keyval, Widget& target)
-{
- gtk_window_remove_mnemonic(gtk_window(), keyval, target.gtk_widget());
-}
-
-bool
-Gtk::Window::activate_key(const Gdk::EventKey& event)
-{
- return gtk_window_activate_key(gtk_window(), event.gdk_event_key());
-}
-
-bool
-Gtk::Window::propagate_key_event(const Gdk::EventKey& event)
-{
- return gtk_window_propagate_key_event(gtk_window(), event.gdk_event_key());
-}
-
-void
-Gtk::Window::move(const Gdk::Point& point)
-{
- move(point.x(), point.y());
-}
-
-bool
-Gtk::Window::parse_geometry(const String& geometry)
-{
- return gtk_window_parse_geometry(gtk_window(), geometry.c_str());
-}
-
-/* Gtk::WindowClass
- */
-
-void
-Gtk::WindowClass::init(GtkWindowClass *g_class)
-{
- BinClass::init((GtkBinClass*)g_class);
- g_class->set_focus = &set_focus_proxy;
- g_class->frame_event = &frame_event_proxy;
- g_class->keys_changed = &keys_changed_proxy;
-}
-
-GtkWindowClass*
-Gtk::WindowClass::get_parent_class(void *instance)
-{
- return static_cast<GtkWindowClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
-}
-
-GType
-Gtk::WindowClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_WINDOW, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::WindowClass::create(GtkWindowType type)
-{
- return g_object_new(get_type(), "type", type, 0);
-}
-
-void
-Gtk::WindowClass::set_focus_proxy(GtkWindow *window, GtkWidget *focus)
-{
- WindowSignals *signals = dynamic_cast<WindowSignals*>(G::ObjectSignals::pointer((GObject*)window));
- if (signals)
- signals->on_set_focus(G::Object::wrap<Gtk::Widget>(focus));
- else
- {
- GtkWindowClass *g_class = get_parent_class(window);
- if (g_class && g_class->set_focus)
- g_class->set_focus(window, focus);
- }
-}
-
-gboolean
-Gtk::WindowClass::frame_event_proxy(GtkWindow *window, GdkEvent *event)
-{
- gboolean result = FALSE;
- WindowSignals *signals = dynamic_cast<WindowSignals*>(G::ObjectSignals::pointer((GObject*)window));
- if (signals)
- {
- Gdk::Event tmp_event(event);
- signals->on_frame_event(tmp_event);
- }
- else
- {
- GtkWindowClass *g_class = get_parent_class(window);
- if (g_class && g_class->frame_event)
- result = g_class->frame_event(window, event);
- }
- return result;
-}
-
-void
-Gtk::WindowClass::keys_changed_proxy(GtkWindow *window)
-{
- WindowSignals *signals = dynamic_cast<WindowSignals*>(G::ObjectSignals::pointer((GObject*)window));
- if (signals)
- signals->on_keys_changed();
- else
- {
- GtkWindowClass *g_class = get_parent_class(window);
- if (g_class && g_class->keys_changed)
- g_class->keys_changed(window);
- }
-}
-
-/* Gtk::Window signals
- */
-
-const Gtk::Window::SetFocusSignalType Gtk::Window::set_focus_signal("set_focus", (GCallback)&Marshal::void_widget_callback1);
-
-const Gtk::Window::FrameEventSignalType Gtk::Window::frame_event_signal("frame_event", (GCallback)&Marshal::bool_event_callback);
-
-const Gtk::Window::KeysChangedSignalType Gtk::Window::keys_changed_signal("keys_changed", (GCallback)&G::Marshal::void_callback);
-
-/* Gtk::WindowGroup
- */
-
-Gtk::WindowGroup::WindowGroup(GtkWindowGroup *group, bool owns_reference)
-: G::Object((GObject*)group, owns_reference)
-{
-}
-
-Gtk::WindowGroup::WindowGroup()
-: G::Object((GObject*)WindowGroupClass::create())
-{
-}
-
-Gtk::WindowGroup::~WindowGroup()
-{
-}
-
-void
-Gtk::WindowGroup::add_window(Window& window)
-{
- gtk_window_group_add_window(gtk_window_group(), window.gtk_window());
-}
-
-void
-Gtk::WindowGroup::remove_window(Window& window)
-{
- gtk_window_group_remove_window(gtk_window_group(), window.gtk_window());
-}
-
-/* Gtk::WindowGroupClass
- */
-
-void
-Gtk::WindowGroupClass::init(GtkWindowGroupClass *g_class)
-{
- G::ObjectClass::init((GObjectClass*)g_class);
-}
-
-GType
-Gtk::WindowGroupClass::get_type()
-{
- static GType type = 0;
- if (!type)
- {
- type = G::TypeInstance::register_type(GTK_TYPE_WINDOW_GROUP, (GClassInitFunc)&init);
- }
- return type;
-}
-
-void*
-Gtk::WindowGroupClass::create()
-{
- return g_object_new(get_type(), 0);
-}
-
diff --git a/libXFCui/xfc/main.cc b/libXFCui/xfc/main.cc
deleted file mode 100644
index 4fde616..0000000
--- a/libXFCui/xfc/main.cc
+++ /dev/null
@@ -1,322 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2002-2003 The XFC Development Team.
- *
- * main.cc - Initialization and main processing loop wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "main.hh"
-#include "gdk/events.hh"
-#include "gtk/window.hh"
-#include "../../libXFCcore/xfc/object.hh"
-#include "../../libXFCcore/xfc/utfstring.hh"
-#include "../../libXFCcore/xfc/glib/error.hh"
-#include "../../libXFCcore/xfc/glib/object.hh"
-#include "../../libXFCcore/xfc/glib/option.hh"
-
-namespace Xfc {
-
-namespace Main {
-
-/* Main::Connection
- */
-
-struct Connection : public sigc::connection
-{
- typedef void (*PF)(unsigned int);
- PF pf_;
- unsigned int connect_id_;
-
- Connection(const sigc::slot_base& slot, PF pf)
- : sigc::connection(const_cast<sigc::slot_base&>(slot)), pf_(pf), connect_id_(0)
- {
- }
-
- static void* notify_handler(void *data)
- {
- Connection *c = static_cast<Connection*>(data);
- if (c)
- {
- (*c->pf_)(c->connect_id_);
- c->connect_id_ = 0;
- }
- return 0;
- }
-
- static void destroy_handler(void *data)
- {
- Connection *c = static_cast<Connection*>(data);
- if (c)
- {
- c->notify(data);
- delete c;
- }
- }
-};
-
-/* Main::QuitConnection
- */
-
-struct QuitConnection : public Connection
-{
- typedef Main::QuitSignal::SlotType QuitSlot;
- QuitSlot slot_;
-
- QuitConnection(const QuitSlot& slot, PF pf)
- : Connection(slot, pf), slot_(slot)
- {
- slot_.add_destroy_notify_callback(this, &Connection::notify_handler);
- }
-
- ~QuitConnection()
- {
- slot_.remove_destroy_notify_callback(this);
- }
-};
-
-/* Main::KeySnooperConnection
- */
-
-struct KeySnooperConnection : public Connection
-{
- typedef KeySnooperSignal::SlotType KeySnoopeSlot;
- KeySnoopeSlot slot_;
-
- KeySnooperConnection(const
- KeySnoopeSlot& slot, PF pf)
- : Connection(slot, pf), slot_(slot)
- {
- slot_.add_destroy_notify_callback(this, &Connection::notify_handler);
- }
-
- ~KeySnooperConnection()
- {
- slot_.remove_destroy_notify_callback(this);
- }
-};
-
-void
-init(int *argc, char ***argv)
-{
- gtk_init(argc, argv);
-}
-
-bool
-init_check(int *argc, char ***argv)
-{
- return gtk_init_check(argc, argv);
-}
-
-bool
-init_with_args(int *argc, char ***argv, const char *parameter_string, G::OptionGroup& main_group, G::Error *error)
-{
- return gtk_init_with_args(argc, argv, const_cast<char*>(parameter_string),
- (GOptionEntry*)main_group.get_entries(), 0, *error);
-}
-
-namespace { // InitAddCallback
-
-struct InitAddCallback
-{
- typedef sigc::slot<bool> CallbackSlot;
- CallbackSlot slot_;
-
- InitAddCallback(const CallbackSlot& slot)
- : slot_(slot)
- {
- }
-
- static gboolean notify(void *data)
- {
- InitAddCallback *cb = static_cast<InitAddCallback*>(data);
- bool result = cb->slot_();
- delete cb;
- return result;
- }
-};
-
-} // namespace
-
-void
-init_add(const sigc::slot<bool>& callback)
-{
- InitAddCallback *cb = new InitAddCallback(callback);
- gtk_init_add(&InitAddCallback::notify, cb);
-}
-
-#ifdef G_THREADS_ENABLED
-void
-threads_init(GThreadFunctions *vtable)
-{
- if (!g_thread_supported())
- g_thread_init(vtable);
- gdk_threads_init();
-}
-#endif
-
-GOptionGroup*
-get_option_group(bool open_default_display)
-{
- return gtk_get_option_group(open_default_display);
-}
-
-PangoLanguage*
-default_language()
-{
- return gtk_get_default_language();
-}
-
-bool
-events_pending()
-{
- return gtk_events_pending() != 0;
-}
-
-Pointer<Gdk::Event>
-get_current_event()
-{
- return G::Boxed::wrap<Gdk::Event>(GDK_TYPE_EVENT, gtk_get_current_event(), false);
-}
-
-unsigned int
-get_current_event_time()
-{
- return gtk_get_current_event_time();
-}
-
-bool
-get_current_event_state(Gdk::ModifierTypeField *state)
-{
- return gtk_get_current_event_state((GdkModifierType*)state);
-}
-
-Gtk::Widget*
-get_event_widget(Gdk::Event& event)
-{
- GtkWidget *widget = gtk_get_event_widget(event.gdk_event());
- return widget ? G::Object::wrap<Gtk::Widget>(widget) : 0;
-}
-
-void
-run(Gtk::Window *main_window)
-{
- if (main_window)
- {
- main_window->signal_destroy().connect(sigc::ptr_fun(&quit));
- main_window->show();
- }
- gtk_main();
-}
-
-int
-level()
-{
- return gtk_main_level();
-}
-
-void
-quit()
-{
- gtk_main_quit();
-}
-
-bool
-iterate(bool blocking)
-{
- return gtk_main_iteration_do(blocking);
-}
-
-void
-grab_add(Gtk::Widget& widget)
-{
- gtk_grab_add(widget.gtk_widget());
-}
-
-Gtk::Widget*
-grab_get_current()
-{
- GtkWidget *widget = gtk_grab_get_current();
- return widget ? G::Object::wrap<Gtk::Widget>(widget) : 0;
-}
-
-void
-grab_remove(Gtk::Widget& widget)
-{
- gtk_grab_remove(widget.gtk_widget());
-}
-
-/* QuitSignal
- */
-
-QuitSignal quit_signal;
-
-namespace { // quit_signal_callback
-
-gboolean quit_signal_callback(gpointer data)
-{
- QuitConnection *c = static_cast<QuitConnection*>(data);
- return c->slot_();
-}
-
-} // namespace
-
-sigc::connection
-QuitSignal::connect(const SlotType& slot, unsigned int main_level)
-{
- QuitConnection *c = new QuitConnection(slot, >k_quit_remove);
- c->connect_id_ = gtk_quit_add_full(main_level, &quit_signal_callback, 0, c, (GtkDestroyNotify)&Connection::destroy_handler);
- return sigc::connection(const_cast<SlotType&>(slot));
-}
-
-/* KeySnooperSignal
- */
-
-KeySnooperSignal key_snooper_signal;
-
-KeySnooperSignal::~KeySnooperSignal()
-{
- int count = connection_list.size();
- while (count)
- {
- delete connection_list[count - 1];
- --count;
- }
-}
-
-namespace { // key_snooper_signal_callback
-
-gint key_snooper_signal_callback(GtkWidget *widget, GdkEventKey *key, void *data)
-{
- KeySnooperConnection *c = static_cast<KeySnooperConnection*>(data);
- Xfc::Gdk::Event tmp_event((GdkEvent*)key);
- return c->slot_(*G::Object::wrap<Gtk::Widget>(widget), *tmp_event.key());
-}
-
-} // namespace
-
-sigc::connection
-KeySnooperSignal::connect(const SlotType& slot)
-{
- KeySnooperConnection *c = new KeySnooperConnection(slot, >k_key_snooper_remove);
- c->connect_id_ = gtk_key_snooper_install(&key_snooper_signal_callback, c);
- connection_list.push_back(c);
- return sigc::connection(const_cast<SlotType&>(slot));
-}
-
-} // namespace Main
-
-} // namespace Xfc
-
diff --git a/libXFCui/xfc/pango/types.cc b/libXFCui/xfc/pango/types.cc
deleted file mode 100755
index bcd87ce..0000000
--- a/libXFCui/xfc/pango/types.cc
+++ /dev/null
@@ -1,125 +0,0 @@
-/* XFC: Xfce Foundation Classes (User Interface Library)
- * Copyright (C) 2004-2005 The XFC Development Team.
- *
- * types.cc - Pango types C++ wrapper implementation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "types.hh"
-#include "../../../libXFCcore/xfc/glib/unicode.hh"
-
-using namespace Xfc;
-
-/* Pango::unichar_direction
- */
-
-Pango::Direction
-Pango::unichar_direction(G::Unichar ch)
-{
- return (Direction)pango_unichar_direction(ch);
-}
-
-/* Pango::find_base_dir
- */
-
-Pango::Direction
-Pango::find_base_dir(const char *text, int length)
-{
- return (Direction)pango_find_base_dir(text, length);
-}
-
-/* Pango::Rectangle
- */
-
-Pango::Rectangle::Rectangle()
-{
- set(0, 0, 0, 0);
-}
-
-Pango::Rectangle::Rectangle(int x, int y, int width, int height)
-{
- set(x, y, width, height);
-}
-
-Pango::Rectangle::Rectangle(const PangoRectangle& rectangle)
-{
- set(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
-}
-
-void
-Pango::Rectangle::set(int x, int y, int width, int height)
-{
- rectangle_.x = x;
- rectangle_.y = y;
- rectangle_.width = width;
- rectangle_.height = height;
-}
-
-/* Pango::Matrix
- */
-
-Pango::Matrix::Matrix()
-: G::Boxed(PANGO_TYPE_MATRIX)
-{
- PangoMatrix matrix = PANGO_MATRIX_INIT;
- copy(&matrix);
-}
-
-Pango::Matrix::Matrix(double xx, double xy, double yx, double yy, double x0, double y0)
-: G::Boxed(PANGO_TYPE_MATRIX)
-{
- PangoMatrix matrix = { xx, xy, yx, yy, x0, y0 };
- copy(&matrix);
-}
-
-Pango::Matrix::Matrix(PangoMatrix *matrix)
-: G::Boxed(PANGO_TYPE_MATRIX, matrix)
-{
-}
-
-Pango::Matrix::Matrix(PangoMatrix *matrix, bool copy)
-: G::Boxed(PANGO_TYPE_MATRIX, matrix, copy)
-{
-}
-
-Pango::Matrix::Matrix(const Matrix& src)
-: G::Boxed(PANGO_TYPE_MATRIX, src.g_boxed(), true)
-{
-}
-
-Pango::Matrix::~Matrix()
-{
-}
-
-Pango::Matrix&
-Pango::Matrix::operator=(const Matrix& src)
-{
- if (src.boxed_ != boxed_)
- copy(src);
- return *this;
-}
-
-void
-Pango::Matrix::set(double xx, double xy, double yx, double yy, double x0, double y0)
-{
- pango_matrix()->xx = xx;
- pango_matrix()->xy = xy;
- pango_matrix()->yx = yx;
- pango_matrix()->yy = yy;
- pango_matrix()->x0 = x0;
- pango_matrix()->y0 = y0;
-}
-
diff --git a/sourceview/CMakeLists.txt b/sourceview/CMakeLists.txt
new file mode 100644
index 0000000..208427a
--- /dev/null
+++ b/sourceview/CMakeLists.txt
@@ -0,0 +1 @@
+ADD_SUBDIRECTORY( xfc )
diff --git a/libXFCsourceview/Makefile.am b/sourceview/Makefile.am
similarity index 100%
rename from libXFCsourceview/Makefile.am
rename to sourceview/Makefile.am
diff --git a/libXFCsourceview/xfc/Makefile.am b/sourceview/xfc/Makefile.am
similarity index 100%
rename from libXFCsourceview/xfc/Makefile.am
rename to sourceview/xfc/Makefile.am
diff --git a/libXFCsourceview/xfc/sourceview/Makefile.am b/sourceview/xfc/sourceview/Makefile.am
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/Makefile.am
rename to sourceview/xfc/sourceview/Makefile.am
diff --git a/libXFCsourceview/xfc/sourceview/private/Makefile.am b/sourceview/xfc/sourceview/private/Makefile.am
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/Makefile.am
rename to sourceview/xfc/sourceview/private/Makefile.am
diff --git a/libXFCsourceview/xfc/sourceview/private/sourcebufferclass.hh b/sourceview/xfc/sourceview/private/sourcebufferclass.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/sourcebufferclass.hh
rename to sourceview/xfc/sourceview/private/sourcebufferclass.hh
diff --git a/libXFCsourceview/xfc/sourceview/private/sourcelanguageclass.hh b/sourceview/xfc/sourceview/private/sourcelanguageclass.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/sourcelanguageclass.hh
rename to sourceview/xfc/sourceview/private/sourcelanguageclass.hh
diff --git a/libXFCsourceview/xfc/sourceview/private/sourceprintjobclass.hh b/sourceview/xfc/sourceview/private/sourceprintjobclass.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/sourceprintjobclass.hh
rename to sourceview/xfc/sourceview/private/sourceprintjobclass.hh
diff --git a/libXFCsourceview/xfc/sourceview/private/sourcestyleschemeclass.hh b/sourceview/xfc/sourceview/private/sourcestyleschemeclass.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/sourcestyleschemeclass.hh
rename to sourceview/xfc/sourceview/private/sourcestyleschemeclass.hh
diff --git a/libXFCsourceview/xfc/sourceview/private/sourcetagclass.hh b/sourceview/xfc/sourceview/private/sourcetagclass.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/sourcetagclass.hh
rename to sourceview/xfc/sourceview/private/sourcetagclass.hh
diff --git a/libXFCsourceview/xfc/sourceview/private/sourceviewclass.hh b/sourceview/xfc/sourceview/private/sourceviewclass.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/private/sourceviewclass.hh
rename to sourceview/xfc/sourceview/private/sourceviewclass.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcebuffer.cc b/sourceview/xfc/sourceview/sourcebuffer.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcebuffer.cc
rename to sourceview/xfc/sourceview/sourcebuffer.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcebuffer.hh b/sourceview/xfc/sourceview/sourcebuffer.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcebuffer.hh
rename to sourceview/xfc/sourceview/sourcebuffer.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcebuffersignals.cc b/sourceview/xfc/sourceview/sourcebuffersignals.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcebuffersignals.cc
rename to sourceview/xfc/sourceview/sourcebuffersignals.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcebuffersignals.hh b/sourceview/xfc/sourceview/sourcebuffersignals.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcebuffersignals.hh
rename to sourceview/xfc/sourceview/sourcebuffersignals.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourceiter.cc b/sourceview/xfc/sourceview/sourceiter.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceiter.cc
rename to sourceview/xfc/sourceview/sourceiter.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourceiter.hh b/sourceview/xfc/sourceview/sourceiter.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceiter.hh
rename to sourceview/xfc/sourceview/sourceiter.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcelanguage.cc b/sourceview/xfc/sourceview/sourcelanguage.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcelanguage.cc
rename to sourceview/xfc/sourceview/sourcelanguage.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcelanguage.hh b/sourceview/xfc/sourceview/sourcelanguage.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcelanguage.hh
rename to sourceview/xfc/sourceview/sourcelanguage.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcelanguagesignals.cc b/sourceview/xfc/sourceview/sourcelanguagesignals.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcelanguagesignals.cc
rename to sourceview/xfc/sourceview/sourcelanguagesignals.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcelanguagesignals.hh b/sourceview/xfc/sourceview/sourcelanguagesignals.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcelanguagesignals.hh
rename to sourceview/xfc/sourceview/sourcelanguagesignals.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourceprintjob.cc b/sourceview/xfc/sourceview/sourceprintjob.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceprintjob.cc
rename to sourceview/xfc/sourceview/sourceprintjob.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourceprintjob.hh b/sourceview/xfc/sourceview/sourceprintjob.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceprintjob.hh
rename to sourceview/xfc/sourceview/sourceprintjob.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourceprintjobsignals.cc b/sourceview/xfc/sourceview/sourceprintjobsignals.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceprintjobsignals.cc
rename to sourceview/xfc/sourceview/sourceprintjobsignals.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourceprintjobsignals.hh b/sourceview/xfc/sourceview/sourceprintjobsignals.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceprintjobsignals.hh
rename to sourceview/xfc/sourceview/sourceprintjobsignals.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcestylescheme.cc b/sourceview/xfc/sourceview/sourcestylescheme.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcestylescheme.cc
rename to sourceview/xfc/sourceview/sourcestylescheme.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcestylescheme.hh b/sourceview/xfc/sourceview/sourcestylescheme.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcestylescheme.hh
rename to sourceview/xfc/sourceview/sourcestylescheme.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcestyleschemesignals.cc b/sourceview/xfc/sourceview/sourcestyleschemesignals.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcestyleschemesignals.cc
rename to sourceview/xfc/sourceview/sourcestyleschemesignals.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcestyleschemesignals.hh b/sourceview/xfc/sourceview/sourcestyleschemesignals.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcestyleschemesignals.hh
rename to sourceview/xfc/sourceview/sourcestyleschemesignals.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcetag.cc b/sourceview/xfc/sourceview/sourcetag.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcetag.cc
rename to sourceview/xfc/sourceview/sourcetag.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcetag.hh b/sourceview/xfc/sourceview/sourcetag.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcetag.hh
rename to sourceview/xfc/sourceview/sourcetag.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcetagsignals.cc b/sourceview/xfc/sourceview/sourcetagsignals.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcetagsignals.cc
rename to sourceview/xfc/sourceview/sourcetagsignals.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcetagsignals.hh b/sourceview/xfc/sourceview/sourcetagsignals.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcetagsignals.hh
rename to sourceview/xfc/sourceview/sourcetagsignals.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourcetagstyle.cc b/sourceview/xfc/sourceview/sourcetagstyle.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcetagstyle.cc
rename to sourceview/xfc/sourceview/sourcetagstyle.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourcetagstyle.hh b/sourceview/xfc/sourceview/sourcetagstyle.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourcetagstyle.hh
rename to sourceview/xfc/sourceview/sourcetagstyle.hh
diff --git a/libXFCsourceview/xfc/sourceview/sourceview.cc b/sourceview/xfc/sourceview/sourceview.cc
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceview.cc
rename to sourceview/xfc/sourceview/sourceview.cc
diff --git a/libXFCsourceview/xfc/sourceview/sourceview.hh b/sourceview/xfc/sourceview/sourceview.hh
similarity index 100%
rename from libXFCsourceview/xfc/sourceview/sourceview.hh
rename to sourceview/xfc/sourceview/sourceview.hh
diff --git a/libXFCsourceview/xfcsourceview-4.3.pc.in b/sourceview/xfcsourceview-4.3.pc.in
similarity index 100%
rename from libXFCsourceview/xfcsourceview-4.3.pc.in
rename to sourceview/xfcsourceview-4.3.pc.in
diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt
new file mode 100644
index 0000000..350b975
--- /dev/null
+++ b/ui/CMakeLists.txt
@@ -0,0 +1,3 @@
+PROJECT( XFC_UI )
+
+ADD_SUBDIRECTORY( xfc )
diff --git a/libXFCui/Makefile.am b/ui/Makefile.am
similarity index 100%
rename from libXFCui/Makefile.am
rename to ui/Makefile.am
diff --git a/ui/xfc/CMakeLists.txt b/ui/xfc/CMakeLists.txt
new file mode 100644
index 0000000..1ec74aa
--- /dev/null
+++ b/ui/xfc/CMakeLists.txt
@@ -0,0 +1,20 @@
+pkg_search_module( GTK REQUIRED gtk+-2.0)
+pkg_search_module( GTK_PRN REQUIRED gtk+-unix-print-2.0)
+pkg_search_module( GDK REQUIRED gdk-2.0 )
+pkg_search_module( SIGC REQUIRED sigc++-2.0)
+pkg_search_module( PANGO REQUIRED pango)
+pkg_search_module( CAIRO REQUIRED cairo)
+
+INCLUDE_DIRECTORIES( ${GLIB_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GDK_INCLUDE_DIRS} ${GTK_PRN_INCLUDE_DIRS} ${SIGC_INCLUDE_DIRS} )
+INCLUDE_DIRECTORIES( ${PANGO_INCLUDE_DIRS} ${CAIRO_INCLUDE_DIRS} ${XFC_CORE_SOURCE_DIR} ${XFC_UI_SOURCE_DIR} )
+
+ADD_SUBDIRECTORY( atk )
+ADD_SUBDIRECTORY( cairo )
+ADD_SUBDIRECTORY( gdk )
+ADD_SUBDIRECTORY( gdk-pixbuf )
+ADD_SUBDIRECTORY( gtk )
+ADD_SUBDIRECTORY( pango )
+
+ADD_LIBRARY( xfc_ui SHARED main.cc)
+
+TARGET_LINK_LIBRARIES( xfc_ui xfc_atk xfc_cairo xfc_gdk xfc_gdk-pixbuf xfc_gtk xfc_pango ${GTK_LIBRARIES} )
diff --git a/ui/xfc/Makefile.am b/ui/xfc/Makefile.am
new file mode 100644
index 0000000..0bab14d
--- /dev/null
+++ b/ui/xfc/Makefile.am
@@ -0,0 +1,28 @@
+## libXFCui source directory
+
+SUBDIRS = atk gdk gdk-pixbuf gtk pango cairo
+
+AM_CXXFLAGS = @CXXFLAGS@ @XFC_CORE_CFLAGS@ @XFC_UI_CFLAGS@
+
+EXTRA_DIST = config.h.in
+
+INCLUDES = \
+ -I$(top_builddir)/libXFCcore \
+ -I$(top_builddir)/libXFCui
+
+hh_sources = \
+ main.hh \
+ ui.hh \
+ xfcui.hh \
+ config.h
+
+cc_sources = \
+ main.cc
+
+library_includedir=$(includedir)/$(XFCEDIR)/$(XFC_LIBRARY_NAME)
+library_include_HEADERS = $(hh_sources)
+
+lib_LTLIBRARIES= libXFCui-4.3.la
+libXFCui_4_3_la_SOURCES= $(hh_sources) $(cc_sources)
+libXFCui_4_3_la_LIBADD= atk/libatk.la gdk/libgdk.la gdk-pixbuf/libgdk_pixbuf.la gtk/libgtk.la pango/libpango.la cairo/libcairo.la $(XFC_UI_LIBS) $(XFC_SIGC_LIBS)
+libXFCui_4_3_la_LDFLAGS= -version-info $(XFC_LIBRARY_VERSION)
diff --git a/ui/xfc/atk/CMakeLists.txt b/ui/xfc/atk/CMakeLists.txt
new file mode 100755
index 0000000..688425e
--- /dev/null
+++ b/ui/xfc/atk/CMakeLists.txt
@@ -0,0 +1,30 @@
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_atk STATIC
+ action.cc
+ component.cc
+ document.cc
+ editabletext.cc
+ gobjectaccessible.cc
+ hyperlink.cc
+ hyperlinksignals.cc
+ hypertext.cc
+ hypertextsignals.cc
+ image.cc
+ implementor.cc
+ marshal.cc
+ object.cc
+ objectsignals.cc
+ objectfactory.cc
+ registry.cc
+ relation.cc
+ selection.cc
+ selectionsignals.cc
+ stateset.cc
+ streamablecontent.cc
+ table.cc
+ tablesignals.cc
+ text.cc
+ textsignals.cc
+ util.cc
+ value.cc)
diff --git a/libXFCui/xfc/atk/Makefile.am b/ui/xfc/atk/Makefile.am
similarity index 100%
rename from libXFCui/xfc/atk/Makefile.am
rename to ui/xfc/atk/Makefile.am
diff --git a/libXFCui/xfc/atk/action.cc b/ui/xfc/atk/action.cc
similarity index 100%
rename from libXFCui/xfc/atk/action.cc
rename to ui/xfc/atk/action.cc
diff --git a/libXFCui/xfc/atk/action.hh b/ui/xfc/atk/action.hh
similarity index 100%
rename from libXFCui/xfc/atk/action.hh
rename to ui/xfc/atk/action.hh
diff --git a/libXFCui/xfc/atk/atk.hh b/ui/xfc/atk/atk.hh
similarity index 100%
rename from libXFCui/xfc/atk/atk.hh
rename to ui/xfc/atk/atk.hh
diff --git a/libXFCui/xfc/atk/component.cc b/ui/xfc/atk/component.cc
similarity index 100%
rename from libXFCui/xfc/atk/component.cc
rename to ui/xfc/atk/component.cc
diff --git a/libXFCui/xfc/atk/component.hh b/ui/xfc/atk/component.hh
similarity index 100%
rename from libXFCui/xfc/atk/component.hh
rename to ui/xfc/atk/component.hh
diff --git a/libXFCui/xfc/atk/document.cc b/ui/xfc/atk/document.cc
similarity index 100%
rename from libXFCui/xfc/atk/document.cc
rename to ui/xfc/atk/document.cc
diff --git a/libXFCui/xfc/atk/document.hh b/ui/xfc/atk/document.hh
similarity index 100%
rename from libXFCui/xfc/atk/document.hh
rename to ui/xfc/atk/document.hh
diff --git a/libXFCui/xfc/atk/editabletext.cc b/ui/xfc/atk/editabletext.cc
similarity index 100%
rename from libXFCui/xfc/atk/editabletext.cc
rename to ui/xfc/atk/editabletext.cc
diff --git a/libXFCui/xfc/atk/editabletext.hh b/ui/xfc/atk/editabletext.hh
similarity index 100%
rename from libXFCui/xfc/atk/editabletext.hh
rename to ui/xfc/atk/editabletext.hh
diff --git a/ui/xfc/atk/gobjectaccessible.cc b/ui/xfc/atk/gobjectaccessible.cc
new file mode 100755
index 0000000..05dc2dd
--- /dev/null
+++ b/ui/xfc/atk/gobjectaccessible.cc
@@ -0,0 +1,76 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * gobjectaccessible.cc - AtkGObjectAccessible C++ wrapper implmentation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "gobjectaccessible.hh"
+#include "private/gobjectaccessibleclass.hh"
+#include "xfc/glib/object.hh"
+
+using namespace Xfc;
+
+/* Atk::GObjectAccessible
+ */
+
+Atk::GObjectAccessible::GObjectAccessible(AtkGObjectAccessible *object, bool owns_reference)
+: Atk::Object((AtkObject*)object, owns_reference)
+{
+}
+
+Atk::GObjectAccessible::~GObjectAccessible()
+{
+}
+
+Atk::Object*
+Atk::GObjectAccessible::for_object(G::Object& object)
+{
+ return G::Object::wrap<Atk::Object>(atk_gobject_accessible_for_object(object.g_object()));
+}
+
+G::Object*
+Atk::GObjectAccessible::get_object() const
+{
+ return G::Object::wrap<G::Object>(atk_gobject_accessible_get_object (atk_gobject_accessible()));
+}
+
+/* Atk::GObjectAccessibleClass
+ */
+
+void
+Atk::GObjectAccessibleClass::init(AtkGObjectAccessibleClass *g_class)
+{
+ ObjectClass::init((AtkObjectClass*)g_class);
+}
+
+GType
+Atk::GObjectAccessibleClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(ATK_TYPE_GOBJECT_ACCESSIBLE, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Atk::GObjectAccessibleClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
diff --git a/libXFCui/xfc/atk/gobjectaccessible.hh b/ui/xfc/atk/gobjectaccessible.hh
similarity index 100%
rename from libXFCui/xfc/atk/gobjectaccessible.hh
rename to ui/xfc/atk/gobjectaccessible.hh
diff --git a/libXFCui/xfc/atk/hyperlink.cc b/ui/xfc/atk/hyperlink.cc
similarity index 100%
rename from libXFCui/xfc/atk/hyperlink.cc
rename to ui/xfc/atk/hyperlink.cc
diff --git a/libXFCui/xfc/atk/hyperlink.hh b/ui/xfc/atk/hyperlink.hh
similarity index 100%
rename from libXFCui/xfc/atk/hyperlink.hh
rename to ui/xfc/atk/hyperlink.hh
diff --git a/libXFCui/xfc/atk/hyperlinksignals.cc b/ui/xfc/atk/hyperlinksignals.cc
similarity index 100%
rename from libXFCui/xfc/atk/hyperlinksignals.cc
rename to ui/xfc/atk/hyperlinksignals.cc
diff --git a/libXFCui/xfc/atk/hyperlinksignals.hh b/ui/xfc/atk/hyperlinksignals.hh
similarity index 100%
rename from libXFCui/xfc/atk/hyperlinksignals.hh
rename to ui/xfc/atk/hyperlinksignals.hh
diff --git a/ui/xfc/atk/hypertext.cc b/ui/xfc/atk/hypertext.cc
new file mode 100755
index 0000000..2c761f4
--- /dev/null
+++ b/ui/xfc/atk/hypertext.cc
@@ -0,0 +1,82 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * hypertext.cc - AtkHypertext C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "hypertext.hh"
+#include "hypertextsignals.hh"
+#include "hyperlink.hh"
+#include "private/hypertextiface.hh"
+#include "private/marshal.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+
+using namespace Xfc;
+
+/* Atk::Hypertext
+ */
+
+Atk::Hypertext::Hypertext()
+{
+}
+
+Atk::Hypertext::~Hypertext()
+{
+}
+
+Atk::Hyperlink*
+Atk::Hypertext::get_link(int link_index) const
+{
+ AtkHyperlink *hyperlink = atk_hypertext_get_link(atk_hypertext(), link_index);
+ return hyperlink ? G::Object::wrap<Hyperlink>(hyperlink) : 0;
+}
+
+/* Atk::HypertextIface
+ */
+
+void
+Atk::HypertextIface::init(AtkHypertextIface *g_iface)
+{
+ g_iface->link_selected = &link_selected_proxy;
+}
+
+AtkHypertextIface*
+Atk::HypertextIface::get_parent_iface(void *instance)
+{
+ return static_cast<AtkHypertextIface*>(g_type_interface_peek_parent(ATK_HYPERTEXT_GET_IFACE(instance)));
+}
+
+void
+Atk::HypertextIface::link_selected_proxy(AtkHypertext *hypertext, gint link_index)
+{
+ HypertextSignals *signals = dynamic_cast<HypertextSignals*>(G::ObjectSignals::pointer((GObject*)hypertext));
+ if (signals)
+ signals->on_link_selected(link_index);
+ else
+ {
+ AtkHypertextIface *g_iface = get_parent_iface(hypertext);
+ if (g_iface && g_iface->link_selected)
+ g_iface->link_selected(hypertext, link_index);
+ }
+}
+
+/* Atk::Hypertext signals
+ */
+
+const Atk::Hypertext::LinkSelectedSignalType Atk::Hypertext::link_selected_signal("link_selected", (GCallback)&G::Marshal::void_int_callback);
+
diff --git a/libXFCui/xfc/atk/hypertext.hh b/ui/xfc/atk/hypertext.hh
similarity index 100%
rename from libXFCui/xfc/atk/hypertext.hh
rename to ui/xfc/atk/hypertext.hh
diff --git a/libXFCui/xfc/atk/hypertextsignals.cc b/ui/xfc/atk/hypertextsignals.cc
similarity index 100%
rename from libXFCui/xfc/atk/hypertextsignals.cc
rename to ui/xfc/atk/hypertextsignals.cc
diff --git a/libXFCui/xfc/atk/hypertextsignals.hh b/ui/xfc/atk/hypertextsignals.hh
similarity index 100%
rename from libXFCui/xfc/atk/hypertextsignals.hh
rename to ui/xfc/atk/hypertextsignals.hh
diff --git a/libXFCui/xfc/atk/image.cc b/ui/xfc/atk/image.cc
similarity index 100%
rename from libXFCui/xfc/atk/image.cc
rename to ui/xfc/atk/image.cc
diff --git a/libXFCui/xfc/atk/image.hh b/ui/xfc/atk/image.hh
similarity index 100%
rename from libXFCui/xfc/atk/image.hh
rename to ui/xfc/atk/image.hh
diff --git a/libXFCui/xfc/atk/implementor.cc b/ui/xfc/atk/implementor.cc
similarity index 100%
rename from libXFCui/xfc/atk/implementor.cc
rename to ui/xfc/atk/implementor.cc
diff --git a/libXFCui/xfc/atk/implementor.hh b/ui/xfc/atk/implementor.hh
similarity index 100%
rename from libXFCui/xfc/atk/implementor.hh
rename to ui/xfc/atk/implementor.hh
diff --git a/libXFCui/xfc/atk/inline/Makefile.am b/ui/xfc/atk/inline/Makefile.am
similarity index 100%
rename from libXFCui/xfc/atk/inline/Makefile.am
rename to ui/xfc/atk/inline/Makefile.am
diff --git a/libXFCui/xfc/atk/inline/action.inl b/ui/xfc/atk/inline/action.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/action.inl
rename to ui/xfc/atk/inline/action.inl
diff --git a/libXFCui/xfc/atk/inline/component.inl b/ui/xfc/atk/inline/component.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/component.inl
rename to ui/xfc/atk/inline/component.inl
diff --git a/libXFCui/xfc/atk/inline/document.inl b/ui/xfc/atk/inline/document.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/document.inl
rename to ui/xfc/atk/inline/document.inl
diff --git a/libXFCui/xfc/atk/inline/editabletext.inl b/ui/xfc/atk/inline/editabletext.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/editabletext.inl
rename to ui/xfc/atk/inline/editabletext.inl
diff --git a/libXFCui/xfc/atk/inline/gobjectaccessible.inl b/ui/xfc/atk/inline/gobjectaccessible.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/gobjectaccessible.inl
rename to ui/xfc/atk/inline/gobjectaccessible.inl
diff --git a/libXFCui/xfc/atk/inline/hyperlink.inl b/ui/xfc/atk/inline/hyperlink.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/hyperlink.inl
rename to ui/xfc/atk/inline/hyperlink.inl
diff --git a/libXFCui/xfc/atk/inline/hypertext.inl b/ui/xfc/atk/inline/hypertext.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/hypertext.inl
rename to ui/xfc/atk/inline/hypertext.inl
diff --git a/libXFCui/xfc/atk/inline/image.inl b/ui/xfc/atk/inline/image.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/image.inl
rename to ui/xfc/atk/inline/image.inl
diff --git a/libXFCui/xfc/atk/inline/implementor.inl b/ui/xfc/atk/inline/implementor.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/implementor.inl
rename to ui/xfc/atk/inline/implementor.inl
diff --git a/libXFCui/xfc/atk/inline/object.inl b/ui/xfc/atk/inline/object.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/object.inl
rename to ui/xfc/atk/inline/object.inl
diff --git a/libXFCui/xfc/atk/inline/objectfactory.inl b/ui/xfc/atk/inline/objectfactory.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/objectfactory.inl
rename to ui/xfc/atk/inline/objectfactory.inl
diff --git a/libXFCui/xfc/atk/inline/registry.inl b/ui/xfc/atk/inline/registry.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/registry.inl
rename to ui/xfc/atk/inline/registry.inl
diff --git a/libXFCui/xfc/atk/inline/relation.inl b/ui/xfc/atk/inline/relation.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/relation.inl
rename to ui/xfc/atk/inline/relation.inl
diff --git a/libXFCui/xfc/atk/inline/selection.inl b/ui/xfc/atk/inline/selection.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/selection.inl
rename to ui/xfc/atk/inline/selection.inl
diff --git a/libXFCui/xfc/atk/inline/stateset.inl b/ui/xfc/atk/inline/stateset.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/stateset.inl
rename to ui/xfc/atk/inline/stateset.inl
diff --git a/libXFCui/xfc/atk/inline/streamablecontent.inl b/ui/xfc/atk/inline/streamablecontent.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/streamablecontent.inl
rename to ui/xfc/atk/inline/streamablecontent.inl
diff --git a/libXFCui/xfc/atk/inline/table.inl b/ui/xfc/atk/inline/table.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/table.inl
rename to ui/xfc/atk/inline/table.inl
diff --git a/libXFCui/xfc/atk/inline/text.inl b/ui/xfc/atk/inline/text.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/text.inl
rename to ui/xfc/atk/inline/text.inl
diff --git a/libXFCui/xfc/atk/inline/value.inl b/ui/xfc/atk/inline/value.inl
similarity index 100%
rename from libXFCui/xfc/atk/inline/value.inl
rename to ui/xfc/atk/inline/value.inl
diff --git a/ui/xfc/atk/marshal.cc b/ui/xfc/atk/marshal.cc
new file mode 100644
index 0000000..62fe5de
--- /dev/null
+++ b/ui/xfc/atk/marshal.cc
@@ -0,0 +1,85 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * marshal.cc - ATK GObject signal callback functions.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <sigc++/sigc++.h>
+#include "private/marshal.hh"
+#include "xfc/glib/private/connection.hh"
+#include "xfc/utfstring.hh"
+
+using namespace Xfc;
+
+/* Atk::Marshal::void_int_pvoid_callback
+ */
+
+void
+Atk::Marshal::void_int_pvoid_callback(void *data, unsigned int arg1, void *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, unsigned int, void*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg1, arg2);
+ }
+}
+
+/* Atk::Marshal::void_patkpropertyvalues_callback
+ */
+void
+Atk::Marshal::void_patkpropertyvalues_callback(void *data, AtkPropertyValues *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, AtkPropertyValues*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg);
+ }
+}
+
+/* Atk::Marshal::void_string_bool_callback
+ */
+void
+Atk::Marshal::void_string_bool_callback(void *data, const char *arg1, bool arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const String&, bool> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s(arg1);
+ slot(s, arg2);
+ }
+}
+
+/* Atk::Marshal::void_ppvoid_callback
+ */
+void
+Atk::Marshal::void_ppvoid_callback(void *data, void **arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, void**> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg);
+ }
+}
+
diff --git a/libXFCui/xfc/atk/object.cc b/ui/xfc/atk/object.cc
similarity index 100%
rename from libXFCui/xfc/atk/object.cc
rename to ui/xfc/atk/object.cc
diff --git a/libXFCui/xfc/atk/object.hh b/ui/xfc/atk/object.hh
similarity index 100%
rename from libXFCui/xfc/atk/object.hh
rename to ui/xfc/atk/object.hh
diff --git a/libXFCui/xfc/atk/objectfactory.cc b/ui/xfc/atk/objectfactory.cc
similarity index 100%
rename from libXFCui/xfc/atk/objectfactory.cc
rename to ui/xfc/atk/objectfactory.cc
diff --git a/libXFCui/xfc/atk/objectfactory.hh b/ui/xfc/atk/objectfactory.hh
similarity index 100%
rename from libXFCui/xfc/atk/objectfactory.hh
rename to ui/xfc/atk/objectfactory.hh
diff --git a/libXFCui/xfc/atk/objectsignals.cc b/ui/xfc/atk/objectsignals.cc
similarity index 100%
rename from libXFCui/xfc/atk/objectsignals.cc
rename to ui/xfc/atk/objectsignals.cc
diff --git a/libXFCui/xfc/atk/objectsignals.hh b/ui/xfc/atk/objectsignals.hh
similarity index 100%
rename from libXFCui/xfc/atk/objectsignals.hh
rename to ui/xfc/atk/objectsignals.hh
diff --git a/libXFCui/xfc/atk/private/Makefile.am b/ui/xfc/atk/private/Makefile.am
similarity index 100%
rename from libXFCui/xfc/atk/private/Makefile.am
rename to ui/xfc/atk/private/Makefile.am
diff --git a/libXFCui/xfc/atk/private/gobjectaccessibleclass.hh b/ui/xfc/atk/private/gobjectaccessibleclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/gobjectaccessibleclass.hh
rename to ui/xfc/atk/private/gobjectaccessibleclass.hh
diff --git a/libXFCui/xfc/atk/private/hyperlinkclass.hh b/ui/xfc/atk/private/hyperlinkclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/hyperlinkclass.hh
rename to ui/xfc/atk/private/hyperlinkclass.hh
diff --git a/libXFCui/xfc/atk/private/hypertextiface.hh b/ui/xfc/atk/private/hypertextiface.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/hypertextiface.hh
rename to ui/xfc/atk/private/hypertextiface.hh
diff --git a/libXFCui/xfc/atk/private/marshal.hh b/ui/xfc/atk/private/marshal.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/marshal.hh
rename to ui/xfc/atk/private/marshal.hh
diff --git a/libXFCui/xfc/atk/private/objectclass.hh b/ui/xfc/atk/private/objectclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/objectclass.hh
rename to ui/xfc/atk/private/objectclass.hh
diff --git a/libXFCui/xfc/atk/private/objectfactoryclass.hh b/ui/xfc/atk/private/objectfactoryclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/objectfactoryclass.hh
rename to ui/xfc/atk/private/objectfactoryclass.hh
diff --git a/libXFCui/xfc/atk/private/registryclass.hh b/ui/xfc/atk/private/registryclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/registryclass.hh
rename to ui/xfc/atk/private/registryclass.hh
diff --git a/libXFCui/xfc/atk/private/relationclass.hh b/ui/xfc/atk/private/relationclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/relationclass.hh
rename to ui/xfc/atk/private/relationclass.hh
diff --git a/libXFCui/xfc/atk/private/selectioniface.hh b/ui/xfc/atk/private/selectioniface.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/selectioniface.hh
rename to ui/xfc/atk/private/selectioniface.hh
diff --git a/libXFCui/xfc/atk/private/statesetclass.hh b/ui/xfc/atk/private/statesetclass.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/statesetclass.hh
rename to ui/xfc/atk/private/statesetclass.hh
diff --git a/libXFCui/xfc/atk/private/tableiface.hh b/ui/xfc/atk/private/tableiface.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/tableiface.hh
rename to ui/xfc/atk/private/tableiface.hh
diff --git a/libXFCui/xfc/atk/private/textiface.hh b/ui/xfc/atk/private/textiface.hh
similarity index 100%
rename from libXFCui/xfc/atk/private/textiface.hh
rename to ui/xfc/atk/private/textiface.hh
diff --git a/libXFCui/xfc/atk/registry.cc b/ui/xfc/atk/registry.cc
similarity index 100%
rename from libXFCui/xfc/atk/registry.cc
rename to ui/xfc/atk/registry.cc
diff --git a/libXFCui/xfc/atk/registry.hh b/ui/xfc/atk/registry.hh
similarity index 100%
rename from libXFCui/xfc/atk/registry.hh
rename to ui/xfc/atk/registry.hh
diff --git a/libXFCui/xfc/atk/relation.cc b/ui/xfc/atk/relation.cc
similarity index 100%
rename from libXFCui/xfc/atk/relation.cc
rename to ui/xfc/atk/relation.cc
diff --git a/libXFCui/xfc/atk/relation.hh b/ui/xfc/atk/relation.hh
similarity index 100%
rename from libXFCui/xfc/atk/relation.hh
rename to ui/xfc/atk/relation.hh
diff --git a/ui/xfc/atk/selection.cc b/ui/xfc/atk/selection.cc
new file mode 100755
index 0000000..2896c13
--- /dev/null
+++ b/ui/xfc/atk/selection.cc
@@ -0,0 +1,82 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * selection.cc - AtkSelection C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "selection.hh"
+#include "selectionsignals.hh"
+#include "object.hh"
+#include "private/marshal.hh"
+#include "private/selectioniface.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+
+using namespace Xfc;
+
+/* Atk::Selection
+ */
+
+Atk::Selection::Selection()
+{
+}
+
+Atk::Selection::~Selection()
+{
+}
+
+Atk::Object*
+Atk::Selection::ref_selection(int i)
+{
+ AtkObject *object = atk_selection_ref_selection(atk_selection(), i);
+ return object ? G::Object::wrap<Atk::Object>(object) : 0;
+}
+
+/* Atk::SelectionIface
+ */
+
+void
+Atk::SelectionIface::init(AtkSelectionIface *g_iface)
+{
+ g_iface->selection_changed = &selection_changed_proxy;
+}
+
+AtkSelectionIface*
+Atk::SelectionIface::get_parent_iface(void *instance)
+{
+ return static_cast<AtkSelectionIface*>(g_type_interface_peek_parent(ATK_SELECTION_GET_IFACE(instance)));
+}
+
+void
+Atk::SelectionIface::selection_changed_proxy(AtkSelection *selection)
+{
+ SelectionSignals *signals = dynamic_cast<SelectionSignals*>(G::ObjectSignals::pointer((GObject*)selection));
+ if (signals)
+ signals->on_selection_changed();
+ else
+ {
+ AtkSelectionIface *g_iface = get_parent_iface(selection);
+ if (g_iface && g_iface->selection_changed)
+ g_iface->selection_changed(selection);
+ }
+}
+
+/* Atk::Selection signals
+ */
+
+const Atk::Selection::SelectionChangedSignalType Atk::Selection::selection_changed_signal("selection_changed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/atk/selection.hh b/ui/xfc/atk/selection.hh
similarity index 100%
rename from libXFCui/xfc/atk/selection.hh
rename to ui/xfc/atk/selection.hh
diff --git a/libXFCui/xfc/atk/selectionsignals.cc b/ui/xfc/atk/selectionsignals.cc
similarity index 100%
rename from libXFCui/xfc/atk/selectionsignals.cc
rename to ui/xfc/atk/selectionsignals.cc
diff --git a/libXFCui/xfc/atk/selectionsignals.hh b/ui/xfc/atk/selectionsignals.hh
similarity index 100%
rename from libXFCui/xfc/atk/selectionsignals.hh
rename to ui/xfc/atk/selectionsignals.hh
diff --git a/libXFCui/xfc/atk/stateset.cc b/ui/xfc/atk/stateset.cc
similarity index 100%
rename from libXFCui/xfc/atk/stateset.cc
rename to ui/xfc/atk/stateset.cc
diff --git a/libXFCui/xfc/atk/stateset.hh b/ui/xfc/atk/stateset.hh
similarity index 100%
rename from libXFCui/xfc/atk/stateset.hh
rename to ui/xfc/atk/stateset.hh
diff --git a/ui/xfc/atk/streamablecontent.cc b/ui/xfc/atk/streamablecontent.cc
new file mode 100755
index 0000000..7f95cf0
--- /dev/null
+++ b/ui/xfc/atk/streamablecontent.cc
@@ -0,0 +1,55 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * streamablecontent.cc - AtkStreamableContent C++ wrapper interface
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "streamablecontent.hh"
+#include "xfc/glib/iochannel.hh"
+
+using namespace Xfc;
+
+/* Atk::StreamableContent
+ */
+
+Atk::StreamableContent::StreamableContent()
+{
+}
+
+Atk::StreamableContent::~StreamableContent()
+{
+}
+
+String
+Atk::StreamableContent::get_mime_type(int i) const
+{
+ return atk_streamable_content_get_mime_type(atk_streamable_content(), i);
+}
+
+Pointer<G::IOChannel>
+Atk::StreamableContent::get_stream(const char *mime_type) const
+{
+ GIOChannel *ioc = atk_streamable_content_get_stream(atk_streamable_content(), mime_type);
+ return ioc ? new G::IOChannel(ioc) : 0;
+}
+
+Pointer<G::IOChannel>
+Atk::StreamableContent::get_stream(const String& mime_type) const
+{
+ return get_stream(mime_type.c_str());
+}
+
diff --git a/libXFCui/xfc/atk/streamablecontent.hh b/ui/xfc/atk/streamablecontent.hh
similarity index 100%
rename from libXFCui/xfc/atk/streamablecontent.hh
rename to ui/xfc/atk/streamablecontent.hh
diff --git a/ui/xfc/atk/table.cc b/ui/xfc/atk/table.cc
new file mode 100755
index 0000000..61d4b49
--- /dev/null
+++ b/ui/xfc/atk/table.cc
@@ -0,0 +1,296 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * table.cc - AtkTable C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "table.hh"
+#include "tablesignals.hh"
+#include "object.hh"
+#include "private/marshal.hh"
+#include "private/tableiface.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+
+using namespace Xfc;
+
+/* Atk::Table
+ */
+
+Atk::Table::Table()
+{
+}
+
+Atk::Table::~Table()
+{
+}
+
+Atk::Object*
+Atk::Table::ref_at(int row, int column) const
+{
+ AtkObject *object = atk_table_ref_at(atk_table(), row, column);
+ return object ? G::Object::wrap<Object>(object) : 0;
+}
+
+Atk::Object*
+Atk::Table::get_caption() const
+{
+ AtkObject *object = atk_table_get_caption(atk_table());
+ return object ? G::Object::wrap<Object>(object) : 0;
+}
+
+String
+Atk::Table::get_column_description(int column) const
+{
+ return atk_table_get_column_description(atk_table(), column);
+}
+
+Atk::Object*
+Atk::Table::get_column_header(int column) const
+{
+ AtkObject *object = atk_table_get_column_header(atk_table(), column);
+ return object ? G::Object::wrap<Object>(object) : 0;
+}
+
+String
+Atk::Table::get_row_description(int row) const
+{
+ return atk_table_get_row_description(atk_table(), row);
+}
+
+Atk::Object*
+Atk::Table::get_row_header(int row) const
+{
+ AtkObject *object = atk_table_get_row_header(atk_table(), row);
+ return object ? G::Object::wrap<Object>(object) : 0;
+}
+
+Atk::Object*
+Atk::Table::get_summary() const
+{
+ AtkObject *object = atk_table_get_summary(atk_table());
+ return object ? G::Object::wrap<Object>(object) : 0;
+}
+
+bool
+Atk::Table::get_selected_columns(std::vector<int>& selected) const
+{
+ g_return_val_if_fail(selected.empty(), false);
+ int *tmp_selected = 0;
+ int n_columns = atk_table_get_selected_columns(atk_table(), &tmp_selected);
+
+ int i = 0;
+ while (i < n_columns)
+ {
+ selected.push_back(tmp_selected[i]);
+ ++i;
+ }
+
+ g_free(tmp_selected);
+ return !selected.empty();
+}
+
+bool
+Atk::Table::get_selected_rows(std::vector<int>& selected) const
+{
+ g_return_val_if_fail(selected.empty(), false);
+ int *tmp_selected = 0;
+ int n_rows = atk_table_get_selected_rows(atk_table(), &tmp_selected);
+
+ int i = 0;
+ while (i < n_rows)
+ {
+ selected.push_back(tmp_selected[i]);
+ ++i;
+ }
+
+ g_free(tmp_selected);
+ return !selected.empty();
+}
+
+void
+Atk::Table::set_caption(const Object *caption)
+{
+ atk_table_set_caption(atk_table(), *caption);
+}
+
+void
+Atk::Table::set_column_description(int column, const String& description)
+{
+ atk_table_set_column_description(atk_table(), column, description.c_str());
+}
+
+void
+Atk::Table::set_column_header(int column, const Object *header)
+{
+ atk_table_set_column_header(atk_table(), column, *header);
+}
+
+void
+Atk::Table::set_row_description(int row, const String& description)
+{
+ atk_table_set_row_description(atk_table(), row, description.c_str());
+}
+
+void
+Atk::Table::set_row_header(int row, const Object *header)
+{
+ atk_table_set_row_header(atk_table(), row, *header);
+}
+
+void
+Atk::Table::set_summary(const Object *accessible)
+{
+ atk_table_set_summary(atk_table(), *accessible);
+}
+
+/* Atk::TableIface
+ */
+
+void
+Atk::TableIface::init(AtkTableIface *g_iface)
+{
+ g_iface->row_inserted = &row_inserted_proxy;
+ g_iface->column_inserted = &column_inserted_proxy;
+ g_iface->row_deleted = &row_deleted_proxy;
+ g_iface->column_deleted = &column_deleted_proxy;
+ g_iface->row_reordered = &row_reordered_proxy;
+ g_iface->column_reordered = &column_reordered_proxy;
+ g_iface->model_changed = &model_changed_proxy;
+}
+
+AtkTableIface*
+Atk::TableIface::get_parent_iface(void *instance)
+{
+ return static_cast<AtkTableIface*>(g_type_interface_peek_parent(ATK_TABLE_GET_IFACE(instance)));
+}
+
+void
+Atk::TableIface::row_inserted_proxy(AtkTable *table, gint row, gint num_inserted)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_row_inserted(row, num_inserted);
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->row_inserted)
+ g_iface->row_inserted(table, row, num_inserted);
+ }
+}
+
+void
+Atk::TableIface::column_inserted_proxy(AtkTable *table, gint column, gint num_inserted)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_column_inserted(column, num_inserted);
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->column_inserted)
+ g_iface->column_inserted(table, column, num_inserted);
+ }
+}
+
+void
+Atk::TableIface::row_deleted_proxy(AtkTable *table, gint row, gint num_deleted)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_row_deleted(row, num_deleted);
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->row_deleted)
+ g_iface->row_deleted(table, row, num_deleted);
+ }
+}
+
+void
+Atk::TableIface::column_deleted_proxy(AtkTable *table, gint column, gint num_deleted)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_column_deleted(column, num_deleted);
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->column_deleted)
+ g_iface->column_deleted(table, column, num_deleted);
+ }
+}
+
+void
+Atk::TableIface::row_reordered_proxy(AtkTable *table)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_row_reordered();
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->row_reordered)
+ g_iface->row_reordered(table);
+ }
+}
+
+void
+Atk::TableIface::column_reordered_proxy(AtkTable *table)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_column_reordered();
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->column_reordered)
+ g_iface->column_reordered(table);
+ }
+}
+
+void
+Atk::TableIface::model_changed_proxy(AtkTable *table)
+{
+ TableSignals *signals = dynamic_cast<TableSignals*>(G::ObjectSignals::pointer((GObject*)table));
+ if (signals)
+ signals->on_model_changed();
+ else
+ {
+ AtkTableIface *g_iface = get_parent_iface(table);
+ if (g_iface && g_iface->model_changed)
+ g_iface->model_changed(table);
+ }
+}
+
+/* Atk::Table signals
+ */
+
+const Atk::Table::RowInsertedSignalType Atk::Table::row_inserted_signal("row_inserted", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Atk::Table::ColumnInsertedSignalType Atk::Table::column_inserted_signal("column_inserted", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Atk::Table::RowDeletedSignalType Atk::Table::row_deleted_signal("row_deleted", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Atk::Table::ColumnDeletedSignalType Atk::Table::column_deleted_signal("column_deleted", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Atk::Table::RowReorderedSignalType Atk::Table::row_reordered_signal("row_reordered", (GCallback)&G::Marshal::void_callback);
+
+const Atk::Table::ColumnReorderedSignalType Atk::Table::column_reordered_signal("column_reordered", (GCallback)&G::Marshal::void_callback);
+
+const Atk::Table::ModelChangedSignalType Atk::Table::model_changed_signal("model_changed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/atk/table.hh b/ui/xfc/atk/table.hh
similarity index 100%
rename from libXFCui/xfc/atk/table.hh
rename to ui/xfc/atk/table.hh
diff --git a/libXFCui/xfc/atk/tablesignals.cc b/ui/xfc/atk/tablesignals.cc
similarity index 100%
rename from libXFCui/xfc/atk/tablesignals.cc
rename to ui/xfc/atk/tablesignals.cc
diff --git a/libXFCui/xfc/atk/tablesignals.hh b/ui/xfc/atk/tablesignals.hh
similarity index 100%
rename from libXFCui/xfc/atk/tablesignals.hh
rename to ui/xfc/atk/tablesignals.hh
diff --git a/ui/xfc/atk/text.cc b/ui/xfc/atk/text.cc
new file mode 100755
index 0000000..2a91981
--- /dev/null
+++ b/ui/xfc/atk/text.cc
@@ -0,0 +1,431 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * text.cc - AtkText C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "text.hh"
+#include "textsignals.hh"
+#include "private/marshal.hh"
+#include "private/textiface.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+#include "xfc/glib/unicode.hh"
+
+using namespace Xfc;
+
+/* Atk::text_attribute_register
+ */
+
+Atk::TextAttribute
+Atk::text_attribute_register(const String& name)
+{
+ return (TextAttribute)atk_text_attribute_register(name.c_str());
+}
+
+/* Atk::text_attribute_get_name
+ */
+
+String
+Atk::text_attribute_get_name(TextAttribute attr)
+{
+ return atk_text_attribute_get_name((AtkTextAttribute)attr);
+}
+
+/* Atk::text_attribute_for_name
+ */
+
+Atk::TextAttribute
+Atk::text_attribute_for_name(const String& name)
+{
+ return (TextAttribute)atk_text_attribute_for_name(name.c_str());
+}
+
+/* Atk::text_attribute_get_value
+ */
+
+String
+Atk::text_attribute_get_value(TextAttribute attr, int index)
+{
+ return atk_text_attribute_get_value((AtkTextAttribute)attr, index);
+}
+
+namespace { // copy and free AtkAttribute
+
+void copy_attribute(AtkAttribute *dest, const AtkAttribute *src)
+{
+ dest->name = g_strdup(src->name);
+ dest->value = g_strdup(src->value);
+}
+
+void free_attribute(AtkAttribute *attrib)
+{
+ if (attrib->name)
+ {
+ g_free(attrib->name);
+ attrib->name = 0;
+ }
+
+ if (attrib->value)
+ {
+ g_free(attrib->value);
+ attrib->value = 0;
+ }
+}
+
+} // copy and free AtkAttribute
+
+/* Atk::Attribute
+ */
+
+Atk::Attribute::Attribute()
+{
+ attrib_.name = 0;
+ attrib_.value = 0;
+}
+
+Atk::Attribute::Attribute(TextAttribute attr, int index)
+{
+ set(text_attribute_get_name(attr), text_attribute_get_value(attr, index));
+}
+
+Atk::Attribute::Attribute(TextAttribute attr, const String& value)
+{
+ set(text_attribute_get_name(attr), value);
+}
+
+Atk::Attribute::Attribute(const String& name, const String& value)
+{
+ set(name, value);
+}
+
+Atk::Attribute::Attribute(const AtkAttribute& attrib)
+{
+ copy_attribute(&attrib_, &attrib);
+}
+
+Atk::Attribute::Attribute(const Attribute& src)
+{
+ copy_attribute(&attrib_, &src.attrib_);
+}
+
+Atk::Attribute::~Attribute()
+{
+ free_attribute(&attrib_);
+}
+
+Atk::Attribute&
+Atk::Attribute::operator=(const Attribute& src)
+{
+ if (this != &src)
+ {
+ free_attribute(&attrib_);
+ copy_attribute(&attrib_, &src.attrib_);
+ }
+ return *this;
+}
+
+String
+Atk::Attribute::name() const
+{
+ return attrib_.name;
+}
+
+String
+Atk::Attribute::value() const
+{
+ return attrib_.value;
+}
+
+void
+Atk::Attribute::set(const String& name, const String& value)
+{
+ free_attribute(&attrib_);
+ attrib_.name = g_strndup(name.c_str(), name.size());
+ attrib_.value = g_strndup(value.c_str(), value.size());
+}
+
+/* Atk::TextRectangle
+ */
+
+Atk::TextRectangle::TextRectangle()
+{
+ set(0, 0, 0, 0);
+}
+
+Atk::TextRectangle::TextRectangle(int x, int y, int width, int height)
+{
+ set(x, y, width, height);
+}
+
+Atk::TextRectangle::TextRectangle(const AtkTextRectangle& rectangle)
+{
+ set(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
+}
+
+void
+Atk::TextRectangle::set(int x, int y, int width, int height)
+{
+ rectangle_.x = x;
+ rectangle_.y = y;
+ rectangle_.width = width;
+ rectangle_.height = height;
+}
+
+/* Atk::TextRange
+ */
+
+Atk::TextRange::TextRange(const AtkTextRange& range)
+{
+ range_.bounds.x = range.bounds.x;
+ range_.bounds.y = range.bounds.y;
+ range_.bounds.width = range.bounds.width;
+ range_.bounds.height = range.bounds.height;
+ range_.start_offset = range.start_offset;
+ range_.end_offset = range.end_offset;
+ range_.content = g_strdup(range.content);
+}
+
+Atk::TextRange::~TextRange()
+{
+ g_free(range_.content);
+}
+
+Atk::TextRectangle
+Atk::TextRange::bounds() const
+{
+ return TextRectangle(range_.bounds);
+}
+
+/* Atk::Text
+ */
+
+Atk::Text::Text()
+{
+}
+
+Atk::Text::~Text()
+{
+}
+
+String
+Atk::Text::get_text(int start_offset, int end_offset) const
+{
+ char *text = atk_text_get_text(atk_text(), start_offset, end_offset);
+ String s(text);
+ g_free(text);
+ return s;
+}
+
+G::Unichar
+Atk::Text::get_character_at_offset(int offset) const
+{
+ return atk_text_get_character_at_offset(atk_text(), offset);
+}
+
+String
+Atk::Text::get_text_after_offset(int offset, TextBoundary boundary_type, int *start_offset, int *end_offset) const
+{
+ char *text = atk_text_get_text_after_offset(atk_text(), offset, (AtkTextBoundary)boundary_type, start_offset, end_offset);
+ String s(text);
+ g_free(text);
+ return s;
+}
+
+String
+Atk::Text::get_text_at_offset(int offset, TextBoundary boundary_type, int *start_offset, int *end_offset) const
+{
+ char *text = atk_text_get_text_at_offset(atk_text(), offset, (AtkTextBoundary)boundary_type, start_offset, end_offset);
+ String s(text);
+ g_free(text);
+ return s;
+}
+
+String
+Atk::Text::get_text_before_offset(int offset, TextBoundary boundary_type, int *start_offset, int *end_offset) const
+{
+ char *text = atk_text_get_text_before_offset(atk_text(), offset, (AtkTextBoundary)boundary_type, start_offset, end_offset);
+ String s(text);
+ g_free(text);
+ return s;
+}
+
+std::vector<Atk::Attribute>
+Atk::Text::get_run_attributes(int offset, int *start_offset, int *end_offset) const
+{
+ std::vector<Attribute> attribs;
+ GSList *first = atk_text_get_run_attributes(atk_text(), offset, start_offset, end_offset);
+ GSList *next = first;
+
+ while (next)
+ {
+ Attribute attrib(*((AtkAttribute*)next->data));
+ attribs.push_back(attrib);
+ next = g_slist_next(next);
+ }
+
+ atk_attribute_set_free(first);
+ return attribs;
+}
+
+std::vector<Atk::Attribute>
+Atk::Text::get_default_attributes() const
+{
+ std::vector<Attribute> attribs;
+ GSList *first = atk_text_get_default_attributes(atk_text());
+ GSList *next = first;
+
+ while (next)
+ {
+ Attribute attrib(*((AtkAttribute*)next->data));
+ attribs.push_back(attrib);
+ next = g_slist_next(next);
+ }
+
+ atk_attribute_set_free(first);
+ return attribs;
+}
+
+String
+Atk::Text::get_selection(int selection_num, int *start_offset, int *end_offset) const
+{
+ return atk_text_get_selection(atk_text(), selection_num, start_offset, end_offset);
+}
+
+Atk::TextRectangle
+Atk::Text::get_range_extents(int start_offset, int end_offset, CoordType coord_type)
+{
+ TextRectangle rect;
+ atk_text_get_range_extents(atk_text(), start_offset, end_offset, (AtkCoordType)coord_type, rect.atk_text_rectangle());
+ return rect;
+}
+
+void
+Atk::Text::get_range_extents(int start_offset, int end_offset, CoordType coord_type, TextRectangle& rect)
+{
+ atk_text_get_range_extents(atk_text(), start_offset, end_offset, (AtkCoordType)coord_type, rect.atk_text_rectangle());
+}
+
+std::vector<Atk::TextRange>
+Atk::Text::get_bounded_ranges(const TextRectangle& rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type)
+{
+ AtkTextRange **ranges = atk_text_get_bounded_ranges(atk_text(), rect.atk_text_rectangle(), (AtkCoordType)coord_type,
+ (AtkTextClipType)x_clip_type, (AtkTextClipType)y_clip_type);
+ AtkTextRange **first = ranges;
+ std::vector<TextRange> tmp_ranges;
+
+ if (ranges)
+ {
+ while (*ranges)
+ {
+ AtkTextRange *range = *ranges;
+ TextRange tmp_range(*range);
+ tmp_ranges.push_back(tmp_range);
+ *ranges++;
+ g_free(range->content);
+ g_free(range);
+ }
+ g_free(first);
+ }
+ return tmp_ranges;
+}
+
+/* Atk::TextIface
+ */
+
+void
+Atk::TextIface::init(AtkTextIface *g_iface)
+{
+ g_iface->text_changed = &text_changed_proxy;
+ g_iface->text_caret_moved = &text_caret_moved_proxy;
+ g_iface->text_selection_changed = &text_selection_changed_proxy;
+ g_iface->text_attributes_changed = text_attributes_changed_proxy;
+}
+
+AtkTextIface*
+Atk::TextIface::get_parent_iface(void *instance)
+{
+ return static_cast<AtkTextIface*>(g_type_interface_peek_parent(ATK_TEXT_GET_IFACE(instance)));
+}
+
+void
+Atk::TextIface::text_changed_proxy(AtkText *text, gint position, gint length)
+{
+ TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
+ if (signals)
+ signals->on_text_changed(position, length);
+ else
+ {
+ AtkTextIface *g_iface = get_parent_iface(text);
+ if (g_iface && g_iface->text_changed)
+ g_iface->text_changed(text, position, length);
+ }
+}
+
+void
+Atk::TextIface::text_caret_moved_proxy(AtkText *text, gint location)
+{
+ TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
+ if (signals)
+ signals->on_text_caret_moved(location);
+ else
+ {
+ AtkTextIface *g_iface = get_parent_iface(text);
+ if (g_iface && g_iface->text_caret_moved)
+ g_iface->text_caret_moved(text, location);
+ }
+}
+
+void
+Atk::TextIface::text_selection_changed_proxy(AtkText *text)
+{
+ TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
+ if (signals)
+ signals->on_text_selection_changed();
+ else
+ {
+ AtkTextIface *g_iface = get_parent_iface(text);
+ if (g_iface && g_iface->text_selection_changed)
+ g_iface->text_selection_changed(text);
+ }
+}
+
+void
+Atk::TextIface::text_attributes_changed_proxy(AtkText *text)
+{
+ TextSignals *signals = dynamic_cast<TextSignals*>(G::ObjectSignals::pointer((GObject*)text));
+ if (signals)
+ signals->on_text_attributes_changed();
+ else
+ {
+ AtkTextIface *g_iface = get_parent_iface(text);
+ if (g_iface && g_iface->text_attributes_changed)
+ g_iface->text_attributes_changed(text);
+ }
+}
+
+/* Atk::Text signals
+ */
+
+const Atk::Text::TextChangedSignalType Atk::Text::text_changed_signal("text_changed", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Atk::Text::TextCaretMovedSignalType Atk::Text::text_caret_moved_signal("text_caret_moved", (GCallback)&G::Marshal::void_int_callback);
+
+const Atk::Text::TextSelectionChangedSignalType Atk::Text::text_selection_changed_signal("text_selection_changed", (GCallback)&G::Marshal::void_callback);
+
+const Atk::Text::TextAttributesChangedSignalType Atk::Text::text_attributes_changed_signal("text_attributes_changed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/atk/text.hh b/ui/xfc/atk/text.hh
similarity index 100%
rename from libXFCui/xfc/atk/text.hh
rename to ui/xfc/atk/text.hh
diff --git a/libXFCui/xfc/atk/textsignals.cc b/ui/xfc/atk/textsignals.cc
similarity index 100%
rename from libXFCui/xfc/atk/textsignals.cc
rename to ui/xfc/atk/textsignals.cc
diff --git a/libXFCui/xfc/atk/textsignals.hh b/ui/xfc/atk/textsignals.hh
similarity index 100%
rename from libXFCui/xfc/atk/textsignals.hh
rename to ui/xfc/atk/textsignals.hh
diff --git a/libXFCui/xfc/atk/util.cc b/ui/xfc/atk/util.cc
similarity index 100%
rename from libXFCui/xfc/atk/util.cc
rename to ui/xfc/atk/util.cc
diff --git a/libXFCui/xfc/atk/util.hh b/ui/xfc/atk/util.hh
similarity index 100%
rename from libXFCui/xfc/atk/util.hh
rename to ui/xfc/atk/util.hh
diff --git a/ui/xfc/atk/value.cc b/ui/xfc/atk/value.cc
new file mode 100755
index 0000000..b522057
--- /dev/null
+++ b/ui/xfc/atk/value.cc
@@ -0,0 +1,60 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * value.cc - AtkValue C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "value.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Atk::Value
+ */
+
+Atk::Value::Value()
+{
+}
+
+Atk::Value::~Value()
+{
+}
+
+void
+Atk::Value::get_current_value(G::Value& value) const
+{
+ atk_value_get_current_value(atk_value(), value.g_value());
+}
+
+void
+Atk::Value::get_maximum_value(G::Value& value) const
+{
+ atk_value_get_maximum_value(atk_value(), value.g_value());
+}
+
+void
+Atk::Value::get_minimum_value(G::Value& value) const
+{
+ atk_value_get_minimum_value(atk_value(), value.g_value());
+}
+
+bool
+Atk::Value::set_current_value(const G::Value& value)
+{
+ return atk_value_set_current_value(atk_value(), value.g_value());
+}
+
diff --git a/libXFCui/xfc/atk/value.hh b/ui/xfc/atk/value.hh
similarity index 100%
rename from libXFCui/xfc/atk/value.hh
rename to ui/xfc/atk/value.hh
diff --git a/ui/xfc/cairo/CMakeLists.txt b/ui/xfc/cairo/CMakeLists.txt
new file mode 100644
index 0000000..62f0cef
--- /dev/null
+++ b/ui/xfc/cairo/CMakeLists.txt
@@ -0,0 +1,5 @@
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_cairo STATIC
+ context.cc matrix.cc ps_surface.cc xlib_surface.cc fontoptions.cc
+ pattern.cc surface.cc image_surface.cc pdf_surface.cc svg_surface.cc)
diff --git a/libXFCui/xfc/cairo/Makefile.am b/ui/xfc/cairo/Makefile.am
similarity index 100%
rename from libXFCui/xfc/cairo/Makefile.am
rename to ui/xfc/cairo/Makefile.am
diff --git a/libXFCui/xfc/cairo/cairo.hh b/ui/xfc/cairo/cairo.hh
similarity index 100%
rename from libXFCui/xfc/cairo/cairo.hh
rename to ui/xfc/cairo/cairo.hh
diff --git a/libXFCui/xfc/cairo/context.cc b/ui/xfc/cairo/context.cc
similarity index 100%
rename from libXFCui/xfc/cairo/context.cc
rename to ui/xfc/cairo/context.cc
diff --git a/libXFCui/xfc/cairo/context.hh b/ui/xfc/cairo/context.hh
similarity index 100%
rename from libXFCui/xfc/cairo/context.hh
rename to ui/xfc/cairo/context.hh
diff --git a/libXFCui/xfc/cairo/fontoptions.cc b/ui/xfc/cairo/fontoptions.cc
similarity index 100%
rename from libXFCui/xfc/cairo/fontoptions.cc
rename to ui/xfc/cairo/fontoptions.cc
diff --git a/libXFCui/xfc/cairo/fontoptions.hh b/ui/xfc/cairo/fontoptions.hh
similarity index 100%
rename from libXFCui/xfc/cairo/fontoptions.hh
rename to ui/xfc/cairo/fontoptions.hh
diff --git a/libXFCui/xfc/cairo/image_surface.cc b/ui/xfc/cairo/image_surface.cc
similarity index 100%
rename from libXFCui/xfc/cairo/image_surface.cc
rename to ui/xfc/cairo/image_surface.cc
diff --git a/libXFCui/xfc/cairo/image_surface.hh b/ui/xfc/cairo/image_surface.hh
similarity index 100%
rename from libXFCui/xfc/cairo/image_surface.hh
rename to ui/xfc/cairo/image_surface.hh
diff --git a/libXFCui/xfc/cairo/matrix.cc b/ui/xfc/cairo/matrix.cc
similarity index 100%
rename from libXFCui/xfc/cairo/matrix.cc
rename to ui/xfc/cairo/matrix.cc
diff --git a/libXFCui/xfc/cairo/matrix.hh b/ui/xfc/cairo/matrix.hh
similarity index 100%
rename from libXFCui/xfc/cairo/matrix.hh
rename to ui/xfc/cairo/matrix.hh
diff --git a/libXFCui/xfc/cairo/pattern.cc b/ui/xfc/cairo/pattern.cc
similarity index 100%
rename from libXFCui/xfc/cairo/pattern.cc
rename to ui/xfc/cairo/pattern.cc
diff --git a/libXFCui/xfc/cairo/pattern.hh b/ui/xfc/cairo/pattern.hh
similarity index 100%
rename from libXFCui/xfc/cairo/pattern.hh
rename to ui/xfc/cairo/pattern.hh
diff --git a/libXFCui/xfc/cairo/pdf_surface.cc b/ui/xfc/cairo/pdf_surface.cc
similarity index 100%
rename from libXFCui/xfc/cairo/pdf_surface.cc
rename to ui/xfc/cairo/pdf_surface.cc
diff --git a/libXFCui/xfc/cairo/pdf_surface.hh b/ui/xfc/cairo/pdf_surface.hh
similarity index 100%
rename from libXFCui/xfc/cairo/pdf_surface.hh
rename to ui/xfc/cairo/pdf_surface.hh
diff --git a/libXFCui/xfc/cairo/ps_surface.cc b/ui/xfc/cairo/ps_surface.cc
similarity index 100%
rename from libXFCui/xfc/cairo/ps_surface.cc
rename to ui/xfc/cairo/ps_surface.cc
diff --git a/libXFCui/xfc/cairo/ps_surface.hh b/ui/xfc/cairo/ps_surface.hh
similarity index 100%
rename from libXFCui/xfc/cairo/ps_surface.hh
rename to ui/xfc/cairo/ps_surface.hh
diff --git a/libXFCui/xfc/cairo/surface.cc b/ui/xfc/cairo/surface.cc
similarity index 100%
rename from libXFCui/xfc/cairo/surface.cc
rename to ui/xfc/cairo/surface.cc
diff --git a/libXFCui/xfc/cairo/surface.hh b/ui/xfc/cairo/surface.hh
similarity index 100%
rename from libXFCui/xfc/cairo/surface.hh
rename to ui/xfc/cairo/surface.hh
diff --git a/libXFCui/xfc/cairo/svg_surface.cc b/ui/xfc/cairo/svg_surface.cc
similarity index 100%
rename from libXFCui/xfc/cairo/svg_surface.cc
rename to ui/xfc/cairo/svg_surface.cc
diff --git a/libXFCui/xfc/cairo/svg_surface.hh b/ui/xfc/cairo/svg_surface.hh
similarity index 100%
rename from libXFCui/xfc/cairo/svg_surface.hh
rename to ui/xfc/cairo/svg_surface.hh
diff --git a/libXFCui/xfc/cairo/types.hh b/ui/xfc/cairo/types.hh
similarity index 100%
rename from libXFCui/xfc/cairo/types.hh
rename to ui/xfc/cairo/types.hh
diff --git a/libXFCui/xfc/cairo/xlib_surface.cc b/ui/xfc/cairo/xlib_surface.cc
similarity index 100%
rename from libXFCui/xfc/cairo/xlib_surface.cc
rename to ui/xfc/cairo/xlib_surface.cc
diff --git a/libXFCui/xfc/cairo/xlib_surface.hh b/ui/xfc/cairo/xlib_surface.hh
similarity index 100%
rename from libXFCui/xfc/cairo/xlib_surface.hh
rename to ui/xfc/cairo/xlib_surface.hh
diff --git a/libXFCui/xfc/config.h.in b/ui/xfc/config.h.in
similarity index 100%
rename from libXFCui/xfc/config.h.in
rename to ui/xfc/config.h.in
diff --git a/ui/xfc/gdk-pixbuf/CMakeLists.txt b/ui/xfc/gdk-pixbuf/CMakeLists.txt
new file mode 100644
index 0000000..b399751
--- /dev/null
+++ b/ui/xfc/gdk-pixbuf/CMakeLists.txt
@@ -0,0 +1,7 @@
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_gdk-pixbuf STATIC
+ pixbuf.cc pixbuf-io.cc
+ pixbuf-animation.cc
+ pixbuf-loader.cc
+ pixbuf-loadersignals.cc )
diff --git a/libXFCui/xfc/gdk-pixbuf/Makefile.am b/ui/xfc/gdk-pixbuf/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/Makefile.am
rename to ui/xfc/gdk-pixbuf/Makefile.am
diff --git a/libXFCui/xfc/gdk-pixbuf/gdk-pixbuf.hh b/ui/xfc/gdk-pixbuf/gdk-pixbuf.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/gdk-pixbuf.hh
rename to ui/xfc/gdk-pixbuf/gdk-pixbuf.hh
diff --git a/libXFCui/xfc/gdk-pixbuf/inline/Makefile.am b/ui/xfc/gdk-pixbuf/inline/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/inline/Makefile.am
rename to ui/xfc/gdk-pixbuf/inline/Makefile.am
diff --git a/libXFCui/xfc/gdk-pixbuf/inline/pixbuf-animation.inl b/ui/xfc/gdk-pixbuf/inline/pixbuf-animation.inl
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/inline/pixbuf-animation.inl
rename to ui/xfc/gdk-pixbuf/inline/pixbuf-animation.inl
diff --git a/libXFCui/xfc/gdk-pixbuf/inline/pixbuf-io.inl b/ui/xfc/gdk-pixbuf/inline/pixbuf-io.inl
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/inline/pixbuf-io.inl
rename to ui/xfc/gdk-pixbuf/inline/pixbuf-io.inl
diff --git a/libXFCui/xfc/gdk-pixbuf/inline/pixbuf-loader.inl b/ui/xfc/gdk-pixbuf/inline/pixbuf-loader.inl
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/inline/pixbuf-loader.inl
rename to ui/xfc/gdk-pixbuf/inline/pixbuf-loader.inl
diff --git a/libXFCui/xfc/gdk-pixbuf/inline/pixbuf.inl b/ui/xfc/gdk-pixbuf/inline/pixbuf.inl
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/inline/pixbuf.inl
rename to ui/xfc/gdk-pixbuf/inline/pixbuf.inl
diff --git a/ui/xfc/gdk-pixbuf/pixbuf-animation.cc b/ui/xfc/gdk-pixbuf/pixbuf-animation.cc
new file mode 100644
index 0000000..79ab908
--- /dev/null
+++ b/ui/xfc/gdk-pixbuf/pixbuf-animation.cc
@@ -0,0 +1,93 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004 The XFC Development Team.
+ *
+ * pixbuf-animation.cc - GdkPixbufAnimationIter and GdkPixbufAnimation C++ wrapper interface
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "pixbuf-animation.hh"
+#include "pixbuf.hh"
+#include "xfc/glib/error.hh"
+
+
+using namespace Xfc;
+
+/* Gdk::PixbufAnimationIter
+ */
+
+Gdk::PixbufAnimationIter::PixbufAnimationIter(GdkPixbufAnimationIter *iter, bool owns_reference)
+: G::Object((GObject*)iter, owns_reference)
+{
+}
+
+Gdk::PixbufAnimationIter::~PixbufAnimationIter()
+{
+}
+
+int
+Gdk::PixbufAnimationIter::get_delay_time() const
+{
+ return gdk_pixbuf_animation_iter_get_delay_time(gdk_pixbuf_animation_iter());
+}
+
+Gdk::Pixbuf*
+Gdk::PixbufAnimationIter::get_pixbuf() const
+{
+ return G::Object::wrap<Pixbuf>(gdk_pixbuf_animation_iter_get_pixbuf(gdk_pixbuf_animation_iter()));
+}
+
+bool
+Gdk::PixbufAnimationIter::advance(const GTimeVal *current_time)
+{
+ return gdk_pixbuf_animation_iter_advance(gdk_pixbuf_animation_iter(), current_time);
+}
+
+/* Gdk::PixbufAnimation
+ */
+
+Gdk::PixbufAnimation::PixbufAnimation(GdkPixbufAnimation *pixbuf_animation, bool owns_reference)
+: G::Object((GObject*)pixbuf_animation, owns_reference)
+{
+}
+
+Gdk::PixbufAnimation::~PixbufAnimation()
+{
+}
+
+Pointer<Gdk::PixbufAnimation>
+Gdk::PixbufAnimation::create(const char *filename, G::Error *error)
+{
+ return G::Object::wrap_new<PixbufAnimation>(gdk_pixbuf_animation_new_from_file(filename, *error), true);
+}
+
+Pointer<Gdk::PixbufAnimation>
+Gdk::PixbufAnimation::create(const String& filename, G::Error *error)
+{
+ return create(filename.c_str(), error);
+}
+
+Gdk::Pixbuf*
+Gdk::PixbufAnimation::get_static_image() const
+{
+ return G::Object::wrap<Pixbuf>(gdk_pixbuf_animation_get_static_image(gdk_pixbuf_animation()));
+}
+
+Pointer<Gdk::PixbufAnimationIter>
+Gdk::PixbufAnimation::get_iter(const GTimeVal *start_time) const
+{
+ return G::Object::wrap_new<PixbufAnimationIter>(gdk_pixbuf_animation_get_iter(gdk_pixbuf_animation(), start_time), true);
+}
+
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-animation.hh b/ui/xfc/gdk-pixbuf/pixbuf-animation.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf-animation.hh
rename to ui/xfc/gdk-pixbuf/pixbuf-animation.hh
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-io.cc b/ui/xfc/gdk-pixbuf/pixbuf-io.cc
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf-io.cc
rename to ui/xfc/gdk-pixbuf/pixbuf-io.cc
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-io.hh b/ui/xfc/gdk-pixbuf/pixbuf-io.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf-io.hh
rename to ui/xfc/gdk-pixbuf/pixbuf-io.hh
diff --git a/ui/xfc/gdk-pixbuf/pixbuf-loader.cc b/ui/xfc/gdk-pixbuf/pixbuf-loader.cc
new file mode 100755
index 0000000..f05c9fd
--- /dev/null
+++ b/ui/xfc/gdk-pixbuf/pixbuf-loader.cc
@@ -0,0 +1,207 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * pixbuf-loader.cc - GdkPixbufLoader C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "pixbuf-loader.hh"
+#include "pixbuf-loadersignals.hh"
+#include "pixbuf.hh"
+#include "pixbuf-animation.hh"
+#include "pixbuf-io.hh"
+#include "private/pixbuf-loaderclass.hh"
+#include "xfc/glib/error.hh"
+#include "xfc/glib/private/marshal.hh"
+
+using namespace Xfc;
+
+/* Gdk::PixbufLoader
+ */
+
+Gdk::PixbufLoader::PixbufLoader(GdkPixbufLoader *pixbuf_loader, bool owns_reference)
+: G::Object((GObject*)pixbuf_loader, owns_reference)
+{
+}
+
+Gdk::PixbufLoader::PixbufLoader()
+: G::Object((GObject*)PixbufLoaderClass::create())
+{
+}
+
+Gdk::PixbufLoader::~PixbufLoader()
+{
+}
+
+Pointer<Gdk::PixbufLoader>
+Gdk::PixbufLoader::create_with_type(const char *image_type, G::Error *error)
+{
+ return G::Object::wrap<PixbufLoader>(gdk_pixbuf_loader_new_with_type(image_type, *error));
+}
+
+Pointer<Gdk::PixbufLoader>
+Gdk::PixbufLoader::create_with_type(const String& image_type, G::Error *error)
+{
+ return create_with_type(image_type.c_str(), error);
+}
+
+Pointer<Gdk::PixbufLoader>
+Gdk::PixbufLoader::create_with_mime_type(const char *mime_type, G::Error *error)
+{
+ return G::Object::wrap<PixbufLoader>(gdk_pixbuf_loader_new_with_mime_type(mime_type, *error));
+}
+
+Pointer<Gdk::PixbufLoader>
+Gdk::PixbufLoader::create_with_mime_type(const String& mime_type, G::Error *error)
+{
+ return create_with_mime_type(mime_type.c_str(), error);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::PixbufLoader::get_pixbuf() const
+{
+ GdkPixbuf *pixbuf = gdk_pixbuf_loader_get_pixbuf(gdk_pixbuf_loader());
+ return pixbuf ? G::Object::wrap_new<Pixbuf>(pixbuf) : 0;
+}
+
+Pointer<Gdk::PixbufAnimation>
+Gdk::PixbufLoader::get_animation() const
+{
+ GdkPixbufAnimation *animation = gdk_pixbuf_loader_get_animation(gdk_pixbuf_loader());
+ return animation ? G::Object::wrap_new<PixbufAnimation>(animation) : 0;
+}
+
+Pointer<Gdk::PixbufFormat>
+Gdk::PixbufLoader::get_format() const
+{
+ return new PixbufFormat(gdk_pixbuf_loader_get_format(gdk_pixbuf_loader()));
+}
+
+bool
+Gdk::PixbufLoader::write(const unsigned char *buffer, size_t count, G::Error *error)
+{
+ return gdk_pixbuf_loader_write(gdk_pixbuf_loader(), buffer, (gsize)count, *error);
+}
+
+bool
+Gdk::PixbufLoader::close(G::Error *error)
+{
+ return gdk_pixbuf_loader_close(gdk_pixbuf_loader(), *error);
+}
+
+/* Gdk::PixbufLoaderClass
+ */
+
+void
+Gdk::PixbufLoaderClass::init(GdkPixbufLoaderClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+ g_class->size_prepared = &size_prepared_proxy;
+ g_class->area_prepared = &area_prepared_proxy;
+ g_class->area_updated = &area_updated_proxy;
+ g_class->closed = &closed_proxy;
+}
+
+GdkPixbufLoaderClass*
+Gdk::PixbufLoaderClass::get_parent_class(void *instance)
+{
+ return static_cast<GdkPixbufLoaderClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gdk::PixbufLoaderClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GDK_TYPE_PIXBUF_LOADER, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gdk::PixbufLoaderClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gdk::PixbufLoaderClass::size_prepared_proxy(GdkPixbufLoader *loader, int width, int height)
+{
+ PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
+ if (signals)
+ signals->on_size_prepared(width, height);
+ else
+ {
+ GdkPixbufLoaderClass *g_class = get_parent_class(loader);
+ if (g_class && g_class->size_prepared)
+ g_class->size_prepared(loader, width, height);
+ }
+}
+
+void
+Gdk::PixbufLoaderClass::area_prepared_proxy(GdkPixbufLoader *loader)
+{
+ PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
+ if (signals)
+ signals->on_area_prepared();
+ else
+ {
+ GdkPixbufLoaderClass *g_class = get_parent_class(loader);
+ if (g_class && g_class->area_prepared)
+ g_class->area_prepared(loader);
+ }
+}
+
+void
+Gdk::PixbufLoaderClass::area_updated_proxy(GdkPixbufLoader *loader, int x, int y, int width, int height)
+{
+ PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
+ if (signals)
+ signals->on_area_updated(x, y, width, height);
+ else
+ {
+ GdkPixbufLoaderClass *g_class = PixbufLoaderClass::get_parent_class(loader);
+ if (g_class && g_class->area_updated)
+ g_class->area_updated(loader, x, y, width, height);
+ }
+}
+
+void
+Gdk::PixbufLoaderClass::closed_proxy(GdkPixbufLoader *loader)
+{
+ PixbufLoaderSignals *signals = dynamic_cast<PixbufLoaderSignals*>(G::ObjectSignals::pointer((GObject*)loader));
+ if (signals)
+ signals->on_closed();
+ else
+ {
+ GdkPixbufLoaderClass *g_class = PixbufLoaderClass::get_parent_class(loader);
+ if (g_class && g_class->closed)
+ g_class->closed(loader);
+ }
+}
+
+/* Gdk::PixbufLoader signals
+ */
+
+const Gdk::PixbufLoader::SizePreparedSignalType Gdk::PixbufLoader::size_prepared_signal("size_prepared", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Gdk::PixbufLoader::AreaPreparedSignalType Gdk::PixbufLoader::area_prepared_signal("area_prepared", (GCallback)&G::Marshal::void_callback);
+
+const Gdk::PixbufLoader::AreaUpdatedSignalType Gdk::PixbufLoader::area_updated_signal("area_updated", (GCallback)&G::Marshal::void_int_int_int_int_callback);
+
+const Gdk::PixbufLoader::ClosedSignalType Gdk::PixbufLoader::closed_signal("closed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-loader.hh b/ui/xfc/gdk-pixbuf/pixbuf-loader.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf-loader.hh
rename to ui/xfc/gdk-pixbuf/pixbuf-loader.hh
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-loadersignals.cc b/ui/xfc/gdk-pixbuf/pixbuf-loadersignals.cc
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf-loadersignals.cc
rename to ui/xfc/gdk-pixbuf/pixbuf-loadersignals.cc
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf-loadersignals.hh b/ui/xfc/gdk-pixbuf/pixbuf-loadersignals.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf-loadersignals.hh
rename to ui/xfc/gdk-pixbuf/pixbuf-loadersignals.hh
diff --git a/ui/xfc/gdk-pixbuf/pixbuf.cc b/ui/xfc/gdk-pixbuf/pixbuf.cc
new file mode 100755
index 0000000..3eb2f96
--- /dev/null
+++ b/ui/xfc/gdk-pixbuf/pixbuf.cc
@@ -0,0 +1,410 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * pixbuf.cc - GdkPixbufFormat and GdkPixbuf C++ wrapper interface
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "pixbuf.hh"
+#include "../gdk/bitmap.hh"
+#include "../gdk/color.hh"
+#include "../gdk/drawable.hh"
+#include "../gdk/gc.hh"
+#include "../gdk/image.hh"
+#include "../gdk/pixmap.hh"
+#include "xfc/glib/error.hh"
+#include <gdk/gdkpixbuf.h>
+
+using namespace Xfc;
+
+/* Gdk::Pixbuf
+ */
+
+Gdk::Pixbuf::Pixbuf(GdkPixbuf *pixbuf, bool owns_reference)
+: G::Object((GObject*)pixbuf, owns_reference)
+{
+}
+
+Gdk::Pixbuf::Pixbuf(const Pixbuf& src, int src_x, int src_y, int width, int height)
+: G::Object((GObject*)gdk_pixbuf_new_subpixbuf(src.gdk_pixbuf(), src_x, src_y, width, height))
+{
+}
+
+Gdk::Pixbuf::Pixbuf(const unsigned char *data, int width, int height, int rowstride, bool has_alpha,
+GdkPixbufDestroyNotify destroy_fn, gpointer destroy_fn_data, int bits_per_sample, Colorspace colorspace)
+: G::Object((GObject*)gdk_pixbuf_new_from_data(data, (GdkColorspace)colorspace, has_alpha, bits_per_sample, width, height,
+ rowstride, destroy_fn, destroy_fn_data))
+{
+}
+
+Gdk::Pixbuf::Pixbuf(const char **data)
+: G::Object((GObject*)gdk_pixbuf_new_from_xpm_data(data))
+{
+}
+
+Gdk::Pixbuf::~Pixbuf()
+{
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(const char *filename, G::Error *error)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new_from_file(filename, *error), true);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(const String& filename, G::Error *error)
+{
+ return create(filename.c_str(), error);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(const char *filename, int width, int height, bool preserve_aspect_ratio, G::Error *error)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new_from_file_at_scale(filename, width, height,
+ preserve_aspect_ratio, *error), true);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(const String& filename, int width, int height, bool preserve_aspect_ratio, G::Error *error)
+{
+ return create(filename.c_str(), width, height, preserve_aspect_ratio, error);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(int width, int height, bool has_alpha, int bits_per_sample, Colorspace colorspace)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new((GdkColorspace)colorspace, has_alpha, bits_per_sample, width, height), true);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(const Drawable& drawable, int x, int y, int width, int height, Colormap *colormap)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_get_from_drawable(0, drawable.gdk_drawable(), *colormap,
+
+ x, y, 0, 0, width, height), true);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(const Image& image, int x, int y, int width, int height, Colormap *colormap)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_get_from_image(0, image.gdk_image(), *colormap,
+ x, y, 0, 0, width, height), true);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::create(int data_length, const unsigned char *data, bool copy_pixels, G::Error *error)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_new_from_inline(data_length, data, copy_pixels, *error), true);
+}
+
+bool
+Gdk::Pixbuf::get_from_drawable(const Drawable& src, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Colormap *colormap)
+{
+ return gdk_pixbuf_get_from_drawable(gdk_pixbuf(), src.gdk_drawable(), *colormap, src_x, src_y, dest_x, dest_y, width, height);
+}
+
+bool
+Gdk::Pixbuf::get_from_image(const Image& src, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Colormap *colormap)
+{
+ return gdk_pixbuf_get_from_image(gdk_pixbuf(), src.gdk_image(), *colormap, src_x, src_y, dest_x, dest_y, width, height);
+}
+
+String
+Gdk::Pixbuf::get_option(const char *key) const
+{
+ return gdk_pixbuf_get_option(gdk_pixbuf(), key);
+}
+
+String
+Gdk::Pixbuf::get_option(const String& key) const
+{
+ return gdk_pixbuf_get_option(gdk_pixbuf(), key.c_str());
+}
+
+namespace { // collect_save_options (copied from gdk-pixbuf-io.c)
+
+void collect_save_options (va_list opts, char ***keys, char ***vals)
+{
+ char *key;
+ char *val;
+ int count = 0;
+ *keys = 0;
+ *vals = 0;
+
+ char *next = va_arg (opts, char*);
+ while (next)
+ {
+ key = next;
+ val = va_arg (opts, char*);
+
+ ++count;
+
+ // woo, slow
+ *keys = (char**)g_realloc (*keys, sizeof(char*) * (count + 1));
+ *vals = (char**)g_realloc (*vals, sizeof(char*) * (count + 1));
+
+ (*keys)[count-1] = g_strdup (key);
+ (*vals)[count-1] = g_strdup (val);
+
+ (*keys)[count] = 0;
+ (*vals)[count] = 0;
+
+ next = va_arg (opts, char*);
+ }
+}
+
+} // collect_save_options
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::copy() const
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_copy(gdk_pixbuf()), true);
+}
+
+bool
+Gdk::Pixbuf::save(const String& filename, const char *type, G::Error *error, ...)
+{
+ char **keys = 0;
+ char **values = 0;
+
+ va_list args;
+ va_start (args, error);
+ collect_save_options (args, &keys, &values);
+ va_end (args);
+
+ bool result = gdk_pixbuf_savev (gdk_pixbuf(), filename.c_str(), type, keys, values, *error);
+
+ g_strfreev (keys);
+ g_strfreev (values);
+ return result;
+}
+
+bool
+Gdk::Pixbuf::save(const char *filename, const char *type, char **option_keys, char **option_values, G::Error *error)
+{
+ return gdk_pixbuf_savev(gdk_pixbuf(), filename, type, option_keys, option_values, *error);
+}
+
+bool
+Gdk::Pixbuf::save(const String& filename, const char *type, char **option_keys, char **option_values, G::Error *error)
+{
+ return save(filename.c_str(), type, option_keys, option_values, error);
+}
+
+namespace { // save_slot_callback
+
+gboolean save_slot_callback(const gchar *buffer, gsize count, GError **error, gpointer data)
+{
+ Gdk::Pixbuf::SaveSlot& slot = *static_cast<Gdk::Pixbuf::SaveSlot*>(data);
+ G::Error tmp_error(*error);
+ return slot(buffer, count, &tmp_error);
+}
+
+} // namespace
+
+bool
+Gdk::Pixbuf::save(const SaveSlot& slot, const char *type, G::Error *error, ...)
+{
+ char **keys = 0;
+ char **values = 0;
+
+ va_list args;
+ va_start (args, error);
+ collect_save_options (args, &keys, &values);
+ va_end (args);
+
+ SaveSlot tmp_slot(slot);
+ bool result = gdk_pixbuf_save_to_callbackv(gdk_pixbuf(), &save_slot_callback, &tmp_slot, type, keys, values, *error);
+
+ g_strfreev (keys);
+ g_strfreev (values);
+ return result;
+}
+
+bool
+Gdk::Pixbuf::save(const SaveSlot& slot, const char *type, char **option_keys, char **option_values, G::Error *error)
+{
+ SaveSlot tmp_slot(slot);
+ return gdk_pixbuf_save_to_callbackv(gdk_pixbuf(), &save_slot_callback, &tmp_slot, type,
+ option_keys, option_values, *error);
+}
+
+bool
+Gdk::Pixbuf::save(char **buffer, size_t *buffer_size, const char *type, G::Error *error, ...)
+{
+ char **keys = 0;
+ char **values = 0;
+
+ va_list args;
+ va_start (args, error);
+ collect_save_options (args, &keys, &values);
+ va_end (args);
+
+ bool result = gdk_pixbuf_save_to_bufferv(gdk_pixbuf(), buffer, (gsize*)buffer_size, type, keys, values, *error);
+
+ g_strfreev (keys);
+ g_strfreev (values);
+ return result;
+}
+
+bool
+Gdk::Pixbuf::save(char **buffer, size_t *buffer_size, const char *type, char **keys, char **values, G::Error *error)
+{
+ return gdk_pixbuf_save_to_bufferv(gdk_pixbuf(), buffer, buffer_size, type, keys, values, *error);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::add_alpha(bool substitute_color, unsigned char red, unsigned char green, unsigned char blue)
+{
+ GdkPixbuf *pixbuf = gdk_pixbuf_add_alpha(gdk_pixbuf(), substitute_color, red, green, blue);
+ return pixbuf ? G::Object::wrap_new<Gdk::Pixbuf>(pixbuf, true) : 0;
+}
+
+void
+Gdk::Pixbuf::copy_area(const Pixbuf& src, int src_x, int src_y, int width, int height, int dest_x, int dest_y)
+{
+ gdk_pixbuf_copy_area(src.gdk_pixbuf(), src_x, src_y, width, height, gdk_pixbuf(), dest_x, dest_y);
+}
+
+void
+Gdk::Pixbuf::copy_area(const Pixbuf& src, const Rectangle& src_rect, int dest_x, int dest_y)
+{
+ gdk_pixbuf_copy_area(src.gdk_pixbuf(), src_rect.x(), src_rect.y(), src_rect.width(),
+ src_rect.height(), gdk_pixbuf(), dest_x, dest_y);
+}
+
+void
+Gdk::Pixbuf::saturate_and_pixelate(const Pixbuf& src, float saturation, bool pixelate)
+{
+ gdk_pixbuf_saturate_and_pixelate(src.gdk_pixbuf(), gdk_pixbuf(), saturation, pixelate);
+}
+
+void
+Gdk::Pixbuf::saturate_and_pixelate(float saturation, bool pixelate)
+{
+ gdk_pixbuf_saturate_and_pixelate(gdk_pixbuf(), gdk_pixbuf(), saturation, pixelate);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::scale_simple(int width, int height, InterpType interp_type)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_scale_simple(gdk_pixbuf(), width, height,
+ (GdkInterpType)interp_type), true);
+}
+
+void
+Gdk::Pixbuf::scale(const Pixbuf& src, int dest_x, int dest_y, int dest_width, int dest_height,
+ double offset_x, double offset_y, double scale_x, double scale_y, InterpType interp_type)
+{
+ gdk_pixbuf_scale(src.gdk_pixbuf(), gdk_pixbuf(), dest_x, dest_y, dest_width, dest_height,
+ offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type);
+}
+
+void
+Gdk::Pixbuf::scale(const Pixbuf& src, const Rectangle& dest_rect, double offset_x, double offset_y,
+ double scale_x, double scale_y, InterpType interp_type)
+{
+ gdk_pixbuf_scale(src.gdk_pixbuf(), gdk_pixbuf(), dest_rect.x(), dest_rect.y(), dest_rect.width(),
+ dest_rect.height(), offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::composite_color_simple(int width, int height, InterpType interp_type, int overall_alpha,
+ int check_size, unsigned int color1, unsigned int color2)
+{
+ return G::Object::wrap_new<Pixbuf>(gdk_pixbuf_composite_color_simple(gdk_pixbuf(),
+ width, height, (GdkInterpType)interp_type,
+ overall_alpha, check_size, color1, color2), true);
+}
+
+void
+Gdk::Pixbuf::composite(const Pixbuf& src, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x,
+ double offset_y, double scale_x, double scale_y, InterpType interp_type, int overall_alpha)
+{
+ gdk_pixbuf_composite(src.gdk_pixbuf(), gdk_pixbuf(), dest_x, dest_y, dest_width, dest_height,
+ offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type, overall_alpha);
+}
+
+void
+Gdk::Pixbuf::composite(const Pixbuf& src, const Rectangle& dest_rect, double offset_x, double offset_y,
+ double scale_x, double scale_y, InterpType interp_type, int overall_alpha)
+{
+ gdk_pixbuf_composite(src.gdk_pixbuf(), gdk_pixbuf(), dest_rect.x(), dest_rect.y(),
+ dest_rect.width(), dest_rect.height(), offset_x, offset_y,
+ scale_x, scale_y, (GdkInterpType)interp_type, overall_alpha);
+}
+
+void
+Gdk::Pixbuf::composite_color(const Pixbuf& src, int dest_x, int dest_y, int dest_width, int dest_height,
+ double offset_x, double offset_y, double scale_x, double scale_y,
+ InterpType interp_type, int overall_alpha, int check_x, int check_y,
+ int check_size, unsigned int color1, unsigned int color2)
+{
+ gdk_pixbuf_composite_color(src.gdk_pixbuf(), gdk_pixbuf(), dest_x, dest_y, dest_width, dest_height,
+ offset_x, offset_y, scale_x, scale_y, (GdkInterpType)interp_type,
+ overall_alpha, check_x, check_y, check_size, color1, color2);
+}
+
+void
+Gdk::Pixbuf::composite_color(const Pixbuf& src, const Rectangle& dest_rect, double offset_x, double offset_y,
+ double scale_x, double scale_y, InterpType interp_type, int overall_alpha,
+ const Point& check_offset, int check_size, unsigned int color1, unsigned int color2)
+{
+ gdk_pixbuf_composite_color(src.gdk_pixbuf(), gdk_pixbuf(), dest_rect.x(), dest_rect.y(),
+ dest_rect.width(), dest_rect.height(), offset_x, offset_y,
+ scale_x, scale_y, (GdkInterpType)interp_type, overall_alpha,
+ check_offset.x(), check_offset.y(), check_size, color1, color2);
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::rotate_simple(PixbufRotation angle)
+{
+ GdkPixbuf *pixbuf = gdk_pixbuf_rotate_simple(gdk_pixbuf(), (GdkPixbufRotation)angle);
+ return pixbuf ? G::Object::wrap_new<Gdk::Pixbuf>(pixbuf, true) : 0;
+}
+
+Pointer<Gdk::Pixbuf>
+Gdk::Pixbuf::flip(bool horizontal)
+{
+ GdkPixbuf *pixbuf = gdk_pixbuf_flip(gdk_pixbuf(), horizontal);
+ return pixbuf ? G::Object::wrap_new<Gdk::Pixbuf>(pixbuf, true) : 0;
+}
+
+void
+Gdk::Pixbuf::render_threshold_alpha(Bitmap& bitmap, int src_x, int src_y, int dest_x, int dest_y,
+ int width, int height, int alpha_threshold)
+{
+ gdk_pixbuf_render_threshold_alpha(gdk_pixbuf(), bitmap.gdk_bitmap(), src_x, src_y,
+ dest_x, dest_y, width, height, alpha_threshold);
+}
+
+void
+Gdk::Pixbuf::render_pixmap_and_mask(Pointer<Pixmap> *pixmap_return, Pointer<Bitmap> *mask_return,
+ int alpha_threshold, Colormap *colormap)
+{
+ GdkPixmap *pixmap = 0;
+ GdkBitmap *mask = 0;
+ GdkColormap *cmap = colormap ? colormap->gdk_colormap() : gdk_rgb_get_colormap();
+ gdk_pixbuf_render_pixmap_and_mask_for_colormap(gdk_pixbuf(), cmap, &pixmap, &mask, alpha_threshold);
+
+ if (pixmap_return)
+ *pixmap_return = G::Object::wrap_new<Pixmap>(pixmap, true);
+
+ if (mask_return)
+ *mask_return = G::Object::wrap_new<Bitmap>(mask, true);
+}
+
diff --git a/libXFCui/xfc/gdk-pixbuf/pixbuf.hh b/ui/xfc/gdk-pixbuf/pixbuf.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/pixbuf.hh
rename to ui/xfc/gdk-pixbuf/pixbuf.hh
diff --git a/libXFCui/xfc/gdk-pixbuf/private/Makefile.am b/ui/xfc/gdk-pixbuf/private/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/private/Makefile.am
rename to ui/xfc/gdk-pixbuf/private/Makefile.am
diff --git a/libXFCui/xfc/gdk-pixbuf/private/pixbuf-loaderclass.hh b/ui/xfc/gdk-pixbuf/private/pixbuf-loaderclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk-pixbuf/private/pixbuf-loaderclass.hh
rename to ui/xfc/gdk-pixbuf/private/pixbuf-loaderclass.hh
diff --git a/ui/xfc/gdk/CMakeLists.txt b/ui/xfc/gdk/CMakeLists.txt
new file mode 100644
index 0000000..50d200b
--- /dev/null
+++ b/ui/xfc/gdk/CMakeLists.txt
@@ -0,0 +1,7 @@
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_gdk STATIC
+ bitmap.cc color.cc cursor.cc display.cc displaysignals.cc displaymanager.cc
+ displaymanagersignals.cc dnd.cc drawable.cc events.cc gc.cc image.cc input.cc
+ keymap.cc keymapsignals.cc keyval.cc marshal.cc pangorenderer.cc pixmap.cc
+ region.cc screen.cc screensignals.cc spawn.cc types.cc visual.cc window.cc )
diff --git a/libXFCui/xfc/gdk/Makefile.am b/ui/xfc/gdk/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gdk/Makefile.am
rename to ui/xfc/gdk/Makefile.am
diff --git a/libXFCui/xfc/gdk/bitmap.cc b/ui/xfc/gdk/bitmap.cc
similarity index 100%
rename from libXFCui/xfc/gdk/bitmap.cc
rename to ui/xfc/gdk/bitmap.cc
diff --git a/libXFCui/xfc/gdk/bitmap.hh b/ui/xfc/gdk/bitmap.hh
similarity index 100%
rename from libXFCui/xfc/gdk/bitmap.hh
rename to ui/xfc/gdk/bitmap.hh
diff --git a/libXFCui/xfc/gdk/color.cc b/ui/xfc/gdk/color.cc
similarity index 100%
rename from libXFCui/xfc/gdk/color.cc
rename to ui/xfc/gdk/color.cc
diff --git a/libXFCui/xfc/gdk/color.hh b/ui/xfc/gdk/color.hh
similarity index 100%
rename from libXFCui/xfc/gdk/color.hh
rename to ui/xfc/gdk/color.hh
diff --git a/libXFCui/xfc/gdk/cursor.cc b/ui/xfc/gdk/cursor.cc
similarity index 100%
rename from libXFCui/xfc/gdk/cursor.cc
rename to ui/xfc/gdk/cursor.cc
diff --git a/libXFCui/xfc/gdk/cursor.hh b/ui/xfc/gdk/cursor.hh
similarity index 100%
rename from libXFCui/xfc/gdk/cursor.hh
rename to ui/xfc/gdk/cursor.hh
diff --git a/libXFCui/xfc/gdk/display.cc b/ui/xfc/gdk/display.cc
similarity index 100%
rename from libXFCui/xfc/gdk/display.cc
rename to ui/xfc/gdk/display.cc
diff --git a/libXFCui/xfc/gdk/display.hh b/ui/xfc/gdk/display.hh
similarity index 100%
rename from libXFCui/xfc/gdk/display.hh
rename to ui/xfc/gdk/display.hh
diff --git a/libXFCui/xfc/gdk/displaymanager.cc b/ui/xfc/gdk/displaymanager.cc
similarity index 100%
rename from libXFCui/xfc/gdk/displaymanager.cc
rename to ui/xfc/gdk/displaymanager.cc
diff --git a/libXFCui/xfc/gdk/displaymanager.hh b/ui/xfc/gdk/displaymanager.hh
similarity index 100%
rename from libXFCui/xfc/gdk/displaymanager.hh
rename to ui/xfc/gdk/displaymanager.hh
diff --git a/libXFCui/xfc/gdk/displaymanagersignals.cc b/ui/xfc/gdk/displaymanagersignals.cc
similarity index 100%
rename from libXFCui/xfc/gdk/displaymanagersignals.cc
rename to ui/xfc/gdk/displaymanagersignals.cc
diff --git a/libXFCui/xfc/gdk/displaymanagersignals.hh b/ui/xfc/gdk/displaymanagersignals.hh
similarity index 100%
rename from libXFCui/xfc/gdk/displaymanagersignals.hh
rename to ui/xfc/gdk/displaymanagersignals.hh
diff --git a/libXFCui/xfc/gdk/displaysignals.cc b/ui/xfc/gdk/displaysignals.cc
similarity index 100%
rename from libXFCui/xfc/gdk/displaysignals.cc
rename to ui/xfc/gdk/displaysignals.cc
diff --git a/libXFCui/xfc/gdk/displaysignals.hh b/ui/xfc/gdk/displaysignals.hh
similarity index 100%
rename from libXFCui/xfc/gdk/displaysignals.hh
rename to ui/xfc/gdk/displaysignals.hh
diff --git a/libXFCui/xfc/gdk/dnd.cc b/ui/xfc/gdk/dnd.cc
similarity index 100%
rename from libXFCui/xfc/gdk/dnd.cc
rename to ui/xfc/gdk/dnd.cc
diff --git a/libXFCui/xfc/gdk/dnd.hh b/ui/xfc/gdk/dnd.hh
similarity index 100%
rename from libXFCui/xfc/gdk/dnd.hh
rename to ui/xfc/gdk/dnd.hh
diff --git a/libXFCui/xfc/gdk/drawable.cc b/ui/xfc/gdk/drawable.cc
similarity index 100%
rename from libXFCui/xfc/gdk/drawable.cc
rename to ui/xfc/gdk/drawable.cc
diff --git a/libXFCui/xfc/gdk/drawable.hh b/ui/xfc/gdk/drawable.hh
similarity index 100%
rename from libXFCui/xfc/gdk/drawable.hh
rename to ui/xfc/gdk/drawable.hh
diff --git a/libXFCui/xfc/gdk/events.cc b/ui/xfc/gdk/events.cc
similarity index 100%
rename from libXFCui/xfc/gdk/events.cc
rename to ui/xfc/gdk/events.cc
diff --git a/libXFCui/xfc/gdk/events.hh b/ui/xfc/gdk/events.hh
similarity index 100%
rename from libXFCui/xfc/gdk/events.hh
rename to ui/xfc/gdk/events.hh
diff --git a/libXFCui/xfc/gdk/gc.cc b/ui/xfc/gdk/gc.cc
similarity index 100%
rename from libXFCui/xfc/gdk/gc.cc
rename to ui/xfc/gdk/gc.cc
diff --git a/libXFCui/xfc/gdk/gc.hh b/ui/xfc/gdk/gc.hh
similarity index 100%
rename from libXFCui/xfc/gdk/gc.hh
rename to ui/xfc/gdk/gc.hh
diff --git a/libXFCui/xfc/gdk/gdk.hh b/ui/xfc/gdk/gdk.hh
similarity index 100%
rename from libXFCui/xfc/gdk/gdk.hh
rename to ui/xfc/gdk/gdk.hh
diff --git a/libXFCui/xfc/gdk/image.cc b/ui/xfc/gdk/image.cc
similarity index 100%
rename from libXFCui/xfc/gdk/image.cc
rename to ui/xfc/gdk/image.cc
diff --git a/libXFCui/xfc/gdk/image.hh b/ui/xfc/gdk/image.hh
similarity index 100%
rename from libXFCui/xfc/gdk/image.hh
rename to ui/xfc/gdk/image.hh
diff --git a/libXFCui/xfc/gdk/inline/Makefile.am b/ui/xfc/gdk/inline/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gdk/inline/Makefile.am
rename to ui/xfc/gdk/inline/Makefile.am
diff --git a/libXFCui/xfc/gdk/inline/bitmap.inl b/ui/xfc/gdk/inline/bitmap.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/bitmap.inl
rename to ui/xfc/gdk/inline/bitmap.inl
diff --git a/libXFCui/xfc/gdk/inline/color.inl b/ui/xfc/gdk/inline/color.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/color.inl
rename to ui/xfc/gdk/inline/color.inl
diff --git a/libXFCui/xfc/gdk/inline/cursor.inl b/ui/xfc/gdk/inline/cursor.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/cursor.inl
rename to ui/xfc/gdk/inline/cursor.inl
diff --git a/libXFCui/xfc/gdk/inline/display.inl b/ui/xfc/gdk/inline/display.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/display.inl
rename to ui/xfc/gdk/inline/display.inl
diff --git a/libXFCui/xfc/gdk/inline/displaymanager.inl b/ui/xfc/gdk/inline/displaymanager.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/displaymanager.inl
rename to ui/xfc/gdk/inline/displaymanager.inl
diff --git a/libXFCui/xfc/gdk/inline/dnd.inl b/ui/xfc/gdk/inline/dnd.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/dnd.inl
rename to ui/xfc/gdk/inline/dnd.inl
diff --git a/libXFCui/xfc/gdk/inline/drawable.inl b/ui/xfc/gdk/inline/drawable.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/drawable.inl
rename to ui/xfc/gdk/inline/drawable.inl
diff --git a/libXFCui/xfc/gdk/inline/event.inl b/ui/xfc/gdk/inline/event.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/event.inl
rename to ui/xfc/gdk/inline/event.inl
diff --git a/libXFCui/xfc/gdk/inline/gc.inl b/ui/xfc/gdk/inline/gc.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/gc.inl
rename to ui/xfc/gdk/inline/gc.inl
diff --git a/libXFCui/xfc/gdk/inline/image.inl b/ui/xfc/gdk/inline/image.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/image.inl
rename to ui/xfc/gdk/inline/image.inl
diff --git a/libXFCui/xfc/gdk/inline/input.inl b/ui/xfc/gdk/inline/input.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/input.inl
rename to ui/xfc/gdk/inline/input.inl
diff --git a/libXFCui/xfc/gdk/inline/keymap.inl b/ui/xfc/gdk/inline/keymap.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/keymap.inl
rename to ui/xfc/gdk/inline/keymap.inl
diff --git a/libXFCui/xfc/gdk/inline/keyval.inl b/ui/xfc/gdk/inline/keyval.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/keyval.inl
rename to ui/xfc/gdk/inline/keyval.inl
diff --git a/libXFCui/xfc/gdk/inline/pangorenderer.inl b/ui/xfc/gdk/inline/pangorenderer.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/pangorenderer.inl
rename to ui/xfc/gdk/inline/pangorenderer.inl
diff --git a/libXFCui/xfc/gdk/inline/pixmap.inl b/ui/xfc/gdk/inline/pixmap.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/pixmap.inl
rename to ui/xfc/gdk/inline/pixmap.inl
diff --git a/libXFCui/xfc/gdk/inline/region.inl b/ui/xfc/gdk/inline/region.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/region.inl
rename to ui/xfc/gdk/inline/region.inl
diff --git a/libXFCui/xfc/gdk/inline/screen.inl b/ui/xfc/gdk/inline/screen.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/screen.inl
rename to ui/xfc/gdk/inline/screen.inl
diff --git a/libXFCui/xfc/gdk/inline/spawn.inl b/ui/xfc/gdk/inline/spawn.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/spawn.inl
rename to ui/xfc/gdk/inline/spawn.inl
diff --git a/libXFCui/xfc/gdk/inline/types.inl b/ui/xfc/gdk/inline/types.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/types.inl
rename to ui/xfc/gdk/inline/types.inl
diff --git a/libXFCui/xfc/gdk/inline/visual.inl b/ui/xfc/gdk/inline/visual.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/visual.inl
rename to ui/xfc/gdk/inline/visual.inl
diff --git a/libXFCui/xfc/gdk/inline/window.inl b/ui/xfc/gdk/inline/window.inl
similarity index 100%
rename from libXFCui/xfc/gdk/inline/window.inl
rename to ui/xfc/gdk/inline/window.inl
diff --git a/libXFCui/xfc/gdk/input.cc b/ui/xfc/gdk/input.cc
similarity index 100%
rename from libXFCui/xfc/gdk/input.cc
rename to ui/xfc/gdk/input.cc
diff --git a/libXFCui/xfc/gdk/input.hh b/ui/xfc/gdk/input.hh
similarity index 100%
rename from libXFCui/xfc/gdk/input.hh
rename to ui/xfc/gdk/input.hh
diff --git a/libXFCui/xfc/gdk/keymap.cc b/ui/xfc/gdk/keymap.cc
similarity index 100%
rename from libXFCui/xfc/gdk/keymap.cc
rename to ui/xfc/gdk/keymap.cc
diff --git a/libXFCui/xfc/gdk/keymap.hh b/ui/xfc/gdk/keymap.hh
similarity index 100%
rename from libXFCui/xfc/gdk/keymap.hh
rename to ui/xfc/gdk/keymap.hh
diff --git a/libXFCui/xfc/gdk/keymapsignals.cc b/ui/xfc/gdk/keymapsignals.cc
similarity index 100%
rename from libXFCui/xfc/gdk/keymapsignals.cc
rename to ui/xfc/gdk/keymapsignals.cc
diff --git a/libXFCui/xfc/gdk/keymapsignals.hh b/ui/xfc/gdk/keymapsignals.hh
similarity index 100%
rename from libXFCui/xfc/gdk/keymapsignals.hh
rename to ui/xfc/gdk/keymapsignals.hh
diff --git a/libXFCui/xfc/gdk/keyval.cc b/ui/xfc/gdk/keyval.cc
similarity index 100%
rename from libXFCui/xfc/gdk/keyval.cc
rename to ui/xfc/gdk/keyval.cc
diff --git a/libXFCui/xfc/gdk/keyval.hh b/ui/xfc/gdk/keyval.hh
similarity index 100%
rename from libXFCui/xfc/gdk/keyval.hh
rename to ui/xfc/gdk/keyval.hh
diff --git a/ui/xfc/gdk/marshal.cc b/ui/xfc/gdk/marshal.cc
new file mode 100644
index 0000000..76260af
--- /dev/null
+++ b/ui/xfc/gdk/marshal.cc
@@ -0,0 +1,42 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * marshal.cc - GObject signal callback functions.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <gdk/gdk.h>
+#include <sigc++/sigc++.h>
+#include "private/marshal.hh"
+#include "display.hh"
+#include "xfc/glib/private/connection.hh"
+
+using namespace Xfc;
+
+/* Gdk::Marshal::void_display_callback
+ */
+
+void
+Gdk::Marshal::void_display_callback(void *data, GdkDisplay *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Display&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<Display>(arg));
+ }
+}
diff --git a/libXFCui/xfc/gdk/pangorenderer.cc b/ui/xfc/gdk/pangorenderer.cc
similarity index 100%
rename from libXFCui/xfc/gdk/pangorenderer.cc
rename to ui/xfc/gdk/pangorenderer.cc
diff --git a/libXFCui/xfc/gdk/pangorenderer.hh b/ui/xfc/gdk/pangorenderer.hh
similarity index 100%
rename from libXFCui/xfc/gdk/pangorenderer.hh
rename to ui/xfc/gdk/pangorenderer.hh
diff --git a/libXFCui/xfc/gdk/pixmap.cc b/ui/xfc/gdk/pixmap.cc
similarity index 100%
rename from libXFCui/xfc/gdk/pixmap.cc
rename to ui/xfc/gdk/pixmap.cc
diff --git a/libXFCui/xfc/gdk/pixmap.hh b/ui/xfc/gdk/pixmap.hh
similarity index 100%
rename from libXFCui/xfc/gdk/pixmap.hh
rename to ui/xfc/gdk/pixmap.hh
diff --git a/libXFCui/xfc/gdk/private/Makefile.am b/ui/xfc/gdk/private/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gdk/private/Makefile.am
rename to ui/xfc/gdk/private/Makefile.am
diff --git a/libXFCui/xfc/gdk/private/colormapclass.hh b/ui/xfc/gdk/private/colormapclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/colormapclass.hh
rename to ui/xfc/gdk/private/colormapclass.hh
diff --git a/libXFCui/xfc/gdk/private/displayclass.hh b/ui/xfc/gdk/private/displayclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/displayclass.hh
rename to ui/xfc/gdk/private/displayclass.hh
diff --git a/libXFCui/xfc/gdk/private/displaymanagerclass.hh b/ui/xfc/gdk/private/displaymanagerclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/displaymanagerclass.hh
rename to ui/xfc/gdk/private/displaymanagerclass.hh
diff --git a/libXFCui/xfc/gdk/private/dndclass.hh b/ui/xfc/gdk/private/dndclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/dndclass.hh
rename to ui/xfc/gdk/private/dndclass.hh
diff --git a/libXFCui/xfc/gdk/private/drawableclass.hh b/ui/xfc/gdk/private/drawableclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/drawableclass.hh
rename to ui/xfc/gdk/private/drawableclass.hh
diff --git a/libXFCui/xfc/gdk/private/gcclass.hh b/ui/xfc/gdk/private/gcclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/gcclass.hh
rename to ui/xfc/gdk/private/gcclass.hh
diff --git a/libXFCui/xfc/gdk/private/imageclass.hh b/ui/xfc/gdk/private/imageclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/imageclass.hh
rename to ui/xfc/gdk/private/imageclass.hh
diff --git a/libXFCui/xfc/gdk/private/keymapclass.hh b/ui/xfc/gdk/private/keymapclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/keymapclass.hh
rename to ui/xfc/gdk/private/keymapclass.hh
diff --git a/libXFCui/xfc/gdk/private/marshal.hh b/ui/xfc/gdk/private/marshal.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/marshal.hh
rename to ui/xfc/gdk/private/marshal.hh
diff --git a/libXFCui/xfc/gdk/private/pangorendererclass.hh b/ui/xfc/gdk/private/pangorendererclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/pangorendererclass.hh
rename to ui/xfc/gdk/private/pangorendererclass.hh
diff --git a/libXFCui/xfc/gdk/private/pixmapclass.hh b/ui/xfc/gdk/private/pixmapclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/pixmapclass.hh
rename to ui/xfc/gdk/private/pixmapclass.hh
diff --git a/libXFCui/xfc/gdk/private/screenclass.hh b/ui/xfc/gdk/private/screenclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/screenclass.hh
rename to ui/xfc/gdk/private/screenclass.hh
diff --git a/libXFCui/xfc/gdk/private/windowclass.hh b/ui/xfc/gdk/private/windowclass.hh
similarity index 100%
rename from libXFCui/xfc/gdk/private/windowclass.hh
rename to ui/xfc/gdk/private/windowclass.hh
diff --git a/libXFCui/xfc/gdk/region.cc b/ui/xfc/gdk/region.cc
similarity index 100%
rename from libXFCui/xfc/gdk/region.cc
rename to ui/xfc/gdk/region.cc
diff --git a/libXFCui/xfc/gdk/region.hh b/ui/xfc/gdk/region.hh
similarity index 100%
rename from libXFCui/xfc/gdk/region.hh
rename to ui/xfc/gdk/region.hh
diff --git a/ui/xfc/gdk/screen.cc b/ui/xfc/gdk/screen.cc
new file mode 100644
index 0000000..cd41886
--- /dev/null
+++ b/ui/xfc/gdk/screen.cc
@@ -0,0 +1,226 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * screen.cc - GdkScreen C++ wrapper interface
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "screen.hh"
+#include "screensignals.hh"
+#include "color.hh"
+#include "display.hh"
+#include "events.hh"
+#include "visual.hh"
+#include "window.hh"
+#include "private/marshal.hh"
+#include "private/screenclass.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Gdk::Screen
+ */
+
+Gdk::Screen::Screen(GdkScreen *screen, bool owns_reference)
+: G::Object((GObject*)screen, owns_reference)
+{
+}
+
+Gdk::Screen::~Screen()
+{
+}
+
+Gdk::Screen*
+Gdk::Screen::get_default()
+{
+ return G::Object::wrap<Screen>(gdk_screen_get_default());
+}
+
+Gdk::Colormap*
+Gdk::Screen::get_default_colormap() const
+{
+ return G::Object::wrap<Colormap>(gdk_screen_get_default_colormap(gdk_screen()));
+}
+
+Gdk::Colormap*
+Gdk::Screen::get_system_colormap() const
+{
+ return G::Object::wrap<Colormap>(gdk_screen_get_system_colormap(gdk_screen()));
+}
+
+const Gdk::Visual*
+Gdk::Screen::get_system_visual() const
+{
+ return G::Object::wrap<Visual>(gdk_screen_get_system_visual(gdk_screen()));
+}
+
+Gdk::Window*
+Gdk::Screen::get_root_window() const
+{
+ return G::Object::wrap<Window>(gdk_screen_get_root_window(gdk_screen()));
+}
+
+Gdk::Display*
+Gdk::Screen::get_display() const
+{
+ return G::Object::wrap<Display>(gdk_screen_get_display(gdk_screen()));
+}
+
+bool
+Gdk::Screen::list_visuals(std::vector<const Visual*>& visuals) const
+{
+ g_return_val_if_fail(visuals.empty(), false);
+ GList *first = gdk_screen_list_visuals(gdk_screen());
+ GList *next = first;
+
+ while (next)
+ {
+ visuals.push_back(G::Object::wrap<Visual>((GdkVisual*)next->data));
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return !visuals.empty();
+}
+
+bool
+Gdk::Screen::get_toplevels(std::vector<Window*>& toplevels) const
+{
+ g_return_val_if_fail(toplevels.empty(), false);
+ GList *first = gdk_screen_get_toplevel_windows(gdk_screen());
+ GList *next = first;
+
+ while (next)
+ {
+ toplevels.push_back(G::Object::wrap<Window>((GdkWindow*)next->data));
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return !toplevels.empty();
+}
+
+String
+Gdk::Screen::make_display_name() const
+{
+ char *name = gdk_screen_make_display_name(gdk_screen());
+ String s(name);
+ g_free(name);
+ return s;
+}
+
+void
+Gdk::Screen::get_monitor_geometry(int monitor_num, Rectangle& dest) const
+{
+ return gdk_screen_get_monitor_geometry(gdk_screen(), monitor_num, dest.gdk_rectangle());
+}
+
+Gdk::Rectangle
+Gdk::Screen::get_monitor_geometry(int monitor_num) const
+{
+ GdkRectangle rectangle;
+ gdk_screen_get_monitor_geometry(gdk_screen(), monitor_num, &rectangle);
+ return rectangle;
+}
+
+int
+Gdk::Screen::get_monitor_at_point(const Point& point) const
+{
+ return gdk_screen_get_monitor_at_point(gdk_screen(), point.x(), point.y());
+}
+
+int
+Gdk::Screen::get_monitor_at_window(const Window& window) const
+{
+ return gdk_screen_get_monitor_at_window(gdk_screen(), window.gdk_window());
+}
+
+bool
+Gdk::Screen::get_setting(const char *name, G::Value& value) const
+{
+ return gdk_screen_get_setting(gdk_screen(), name, value.g_value());
+}
+
+bool
+Gdk::Screen::get_setting(const String& name, G::Value& value) const
+{
+ return gdk_screen_get_setting(gdk_screen(), name.c_str(), value.g_value());
+}
+
+void
+Gdk::Screen::set_default_colormap(Colormap& colormap)
+{
+ gdk_screen_set_default_colormap(gdk_screen(), colormap.gdk_colormap());
+}
+
+void
+Gdk::Screen::broadcast_client_message(Event& event)
+{
+ gdk_screen_broadcast_client_message(gdk_screen(), event.gdk_event());
+}
+
+/* Gdk::ScreenClass
+ */
+
+void
+Gdk::ScreenClass::init(GdkScreenClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+ g_class->size_changed = &size_changed_proxy;
+}
+
+GdkScreenClass*
+Gdk::ScreenClass::get_parent_class(void *instance)
+{
+ return static_cast<GdkScreenClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gdk::ScreenClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GDK_TYPE_SCREEN, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gdk::ScreenClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gdk::ScreenClass::size_changed_proxy(GdkScreen *screen)
+{
+ ScreenSignals *signals = dynamic_cast<ScreenSignals*>(G::ObjectSignals::pointer((GObject*)screen));
+ if (signals)
+ signals->on_size_changed();
+ else
+ {
+ GdkScreenClass *g_class = get_parent_class(screen);
+ if (g_class && g_class->size_changed)
+ g_class->size_changed(screen);
+ }
+}
+
+/* Gdk::Screen signals
+ */
+
+const Gdk::Screen::SizeChangedSignalType Gdk::Screen::size_changed_signal("size_changed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gdk/screen.hh b/ui/xfc/gdk/screen.hh
similarity index 100%
rename from libXFCui/xfc/gdk/screen.hh
rename to ui/xfc/gdk/screen.hh
diff --git a/libXFCui/xfc/gdk/screensignals.cc b/ui/xfc/gdk/screensignals.cc
similarity index 100%
rename from libXFCui/xfc/gdk/screensignals.cc
rename to ui/xfc/gdk/screensignals.cc
diff --git a/libXFCui/xfc/gdk/screensignals.hh b/ui/xfc/gdk/screensignals.hh
similarity index 100%
rename from libXFCui/xfc/gdk/screensignals.hh
rename to ui/xfc/gdk/screensignals.hh
diff --git a/ui/xfc/gdk/spawn.cc b/ui/xfc/gdk/spawn.cc
new file mode 100644
index 0000000..07a0634
--- /dev/null
+++ b/ui/xfc/gdk/spawn.cc
@@ -0,0 +1,146 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * spawn.cc - A C++ interface for the Gdk spawn functions.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "spawn.hh"
+#include "screen.hh"
+#include "xfc/glib/error.hh"
+#include <glib/gmem.h>
+#include <glib/gmessages.h>
+#include <glib/gshell.h>
+#include <glib/gstrfuncs.h>
+#include <cstring>
+
+extern char **environ;
+
+using namespace Xfc;
+
+/* Gdk::Spawn
+ */
+
+namespace { // spawn_init
+
+void spawn_init(G::SpawnAsyncData **data)
+{
+ *data = new G::SpawnAsyncData;
+ memset(*data, 0, sizeof(G::SpawnAsyncData));
+}
+
+} // namespace
+
+Gdk::Spawn::Spawn(const std::vector<std::string>& argv, G::SpawnFlagsField flags)
+: G::Spawn(argv, flags)
+{
+ spawn_init(&data_);
+}
+
+Gdk::Spawn::Spawn(const std::string& command_line, G::Error *error)
+: G::Spawn(command_line, error)
+{
+ spawn_init(&data_);
+}
+
+Gdk::Spawn::~Spawn()
+{
+ delete data_;
+}
+
+namespace { // make_environment_for_screen (copied from gdkspawn-x11.c)
+
+char**
+make_environment_for_screen(GdkScreen *screen, char **envp)
+{
+ if (!envp)
+ envp = environ;
+
+ int env_len;
+ int display_index = -1;
+ for (env_len = 0; envp[env_len]; env_len++)
+ {
+ if (strncmp(envp[env_len], "DISPLAY", strlen("DISPLAY")) == 0)
+ display_index = env_len;
+ }
+
+ char **retval = g_new(char*, env_len + 1);
+ retval[env_len] = 0;
+
+ char *display_name = gdk_screen_make_display_name(screen);
+
+ int i;
+ for (i = 0; i < env_len; i++)
+ {
+ if (i == display_index)
+ retval[i] = g_strconcat("DISPLAY=", display_name, NULL);
+ else
+ retval[i] = g_strdup(envp[i]);
+ }
+
+ g_assert(i == env_len);
+ g_free(display_name);
+ return retval;
+}
+
+} //namespace
+
+bool
+Gdk::Spawn::execute(const Screen& screen, G::Error *error)
+{
+ char **new_envp = make_environment_for_screen(screen.gdk_screen(), get_envp());
+ bool result = g_spawn_async_with_pipes(get_working_directory(), get_argv(), new_envp, get_flags(),
+ 0, 0, &data_->child_pid, 0, 0, 0, *error);
+ g_strfreev(new_envp);
+ return result;
+}
+
+namespace { // spawn_child_setup_slot_callback
+
+void spawn_child_setup_slot_callback(gpointer user_data)
+{
+ G::Spawn::ChildSetupSlot& slot = *static_cast<G::Spawn::ChildSetupSlot*>(user_data);
+ slot();
+}
+
+} // namespace
+
+bool
+Gdk::Spawn::execute(const Screen& screen, const ChildSetupSlot& slot, G::Error *error)
+{
+ char **new_envp = make_environment_for_screen(screen.gdk_screen(), get_envp());
+ ChildSetupSlot tmp_slot(slot);
+ bool result = g_spawn_async_with_pipes(get_working_directory(), get_argv(), new_envp, get_flags(),
+ &spawn_child_setup_slot_callback, &tmp_slot, &data_->child_pid,
+ 0, 0, 0, *error);
+ g_strfreev(new_envp);
+ return result;
+}
+
+bool
+Gdk::Spawn::execute(const Screen& screen, const ChildSetupSlot& slot, int *std_input , int *std_output, int *std_error, G::Error *error)
+{
+ char **new_envp = make_environment_for_screen(screen.gdk_screen(), get_envp());
+ ChildSetupSlot tmp_slot(slot);
+ bool result = g_spawn_async_with_pipes(get_working_directory(), get_argv(), new_envp, get_flags(),
+ &spawn_child_setup_slot_callback, &tmp_slot, &data_->child_pid,
+ (get_flags() & G_SPAWN_CHILD_INHERITS_STDIN) ? 0 : std_input,
+ (get_flags() & G_SPAWN_STDOUT_TO_DEV_NULL) ? 0 : std_output,
+ (get_flags() & G_SPAWN_STDERR_TO_DEV_NULL) ? 0 : std_error, *error);
+ g_strfreev(new_envp);
+ return result;
+}
+
diff --git a/libXFCui/xfc/gdk/spawn.hh b/ui/xfc/gdk/spawn.hh
similarity index 100%
rename from libXFCui/xfc/gdk/spawn.hh
rename to ui/xfc/gdk/spawn.hh
diff --git a/libXFCui/xfc/gdk/types.cc b/ui/xfc/gdk/types.cc
similarity index 100%
rename from libXFCui/xfc/gdk/types.cc
rename to ui/xfc/gdk/types.cc
diff --git a/libXFCui/xfc/gdk/types.hh b/ui/xfc/gdk/types.hh
similarity index 100%
rename from libXFCui/xfc/gdk/types.hh
rename to ui/xfc/gdk/types.hh
diff --git a/libXFCui/xfc/gdk/visual.cc b/ui/xfc/gdk/visual.cc
similarity index 100%
rename from libXFCui/xfc/gdk/visual.cc
rename to ui/xfc/gdk/visual.cc
diff --git a/libXFCui/xfc/gdk/visual.hh b/ui/xfc/gdk/visual.hh
similarity index 100%
rename from libXFCui/xfc/gdk/visual.hh
rename to ui/xfc/gdk/visual.hh
diff --git a/libXFCui/xfc/gdk/window.cc b/ui/xfc/gdk/window.cc
similarity index 100%
rename from libXFCui/xfc/gdk/window.cc
rename to ui/xfc/gdk/window.cc
diff --git a/libXFCui/xfc/gdk/window.hh b/ui/xfc/gdk/window.hh
similarity index 100%
rename from libXFCui/xfc/gdk/window.hh
rename to ui/xfc/gdk/window.hh
diff --git a/ui/xfc/gtk/CMakeLists.txt b/ui/xfc/gtk/CMakeLists.txt
new file mode 100755
index 0000000..88763d4
--- /dev/null
+++ b/ui/xfc/gtk/CMakeLists.txt
@@ -0,0 +1,143 @@
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_gtk STATIC
+ aboutdialog.cc
+ accelgroup.cc accelgroupsignals.cc
+ accelkey.cc
+ accellabel.cc
+ accelmap.cc
+ accessible.cc
+ action.cc actionsignals.cc
+ actiongroup.cc
+ adjustment.cc adjustmentsignals.cc
+ alignment.cc
+ arrow.cc
+ aspectframe.cc
+ bin.cc
+ box.cc
+ boxchild.cc
+ builder.cc
+ button.cc buttonsignals.cc
+ buttonbox.cc
+ calendar.cc calendarsignals.cc
+ celleditable.cc celleditablesignals.cc
+ celllayout.cc
+ cellrenderer.cc
+ cellrenderercombo.cc
+ cellrenderersignals.cc
+ cellrendererpixbuf.cc
+ cellrendererprogress.cc
+ cellrenderertext.cc
+ cellrenderertextsignals.cc
+ cellrenderertoggle.cc
+ cellrenderertogglesignals.cc
+ cellview.cc
+ checkbutton.cc
+ checkmenuitem.cc checkmenuitemsignals.cc
+ clipboard.cc
+ colorbutton.cc colorbuttonsignals.cc
+ colorselection.cc colorselectionsignals.cc
+ combobox.cc
+ comboboxentry.cc comboboxsignals.cc
+ container.cc containersignals.cc
+ curve.cc curvesignals.cc
+ dialog.cc dialogsignals.cc
+ dnd.cc
+ drawingarea.cc
+ editable.cc editablesignals.cc
+ entry.cc
+ entrycompletion.cc entrycompletionsignals.cc
+ entrysignals.cc
+ eventbox.cc
+ expander.cc
+ filechooser.cc filechooserbutton.cc filechooserdialog.cc filechooserwidget.cc
+ filefilter.cc
+ fixed.cc
+ fontbutton.cc fontbuttonsignals.cc
+ fontselection.cc
+ frame.cc
+ gammacurve.cc
+ gc.cc
+ handlebox.cc handleboxsignals.cc
+ iconfactory.cc
+ iconset.cc
+ iconsource.cc
+ icontheme.cc iconthemesignals.cc
+ iconview.cc iconviewsignals.cc
+ image.cc
+ imagemenuitem.cc
+ invisible.cc
+ item.cc itemsignals.cc
+ label.cc labelsignals.cc
+ layout.cc layoutsignals.cc
+ liststore.cc
+ marshal.cc
+ menu.cc
+ menubar.cc
+ menuitem.cc menuitemsignals.cc
+ menushell.cc menushellsignals.cc
+ menutoolbutton.cc
+ messagedialog.cc
+ misc.cc
+ notebook.cc notebooksignals.cc
+ object.cc objectsignals.cc
+ paned.cc
+ plug.cc plugsignals.cc
+ printcontext.cc
+ printdialogs.cc
+ printjob.cc
+ printoperationpreview.cc printoperationpreviewsignals.cc
+ printoperation.cc printoperationsignals.cc
+ printpagesetup.cc
+ printsetting.cc
+ progressbar.cc
+ radioaction.cc radioactionsignals.cc
+ radiobutton.cc radiobuttonsignals.cc
+ radiomenuitem.cc radiomenuitemsignals.cc
+ radiotoolbutton.cc
+ range.cc rangesignals.cc
+ rc.cc
+ ruler.cc
+ scale.cc scalesignals.cc
+ scrollbar.cc scrolledwindow.cc
+ selection.cc
+ separator.cc
+ separatormenuitem.cc
+ separatortoolitem.cc
+ settings.cc
+ sizegroup.cc
+ socket.cc socketsignals.cc
+ spinbutton.cc spinbuttonsignals.cc
+ statusbar.cc statusbarsignals.cc
+ stock.cc
+ stockid.cc
+ style.cc
+ table.cc
+ tearoffmenuitem.cc
+ textbuffer.cc textbuffersignals.cc
+ textiter.cc
+ texttag.cc
+ texttagsignals.cc
+ textview.cc textviewsignals.cc
+ toggleaction.cc toggleactionsignals.cc
+ togglebutton.cc togglebuttonsignals.cc
+ toggletoolbutton.cc toggletoolbuttonsignals.cc
+ toolbar.cc toolbarsignals.cc
+ toolbutton.cc toolbuttonsignals.cc
+ toolitem.cc toolitemsignals.cc
+ tooltips.cc
+ treednd.cc
+ treemodel.cc
+ treemodelfilter.cc
+ treemodelsignals.cc
+ treemodelsort.cc
+ treeselection.cc
+ treesortable.cc treesortablesignals.cc
+ treestore.cc
+ treeview.cc treeviewsignals.cc
+ treeviewcolumn.cc
+ treeviewcolumnsignals.cc
+ uimanager.cc uimanagersignals.cc
+ viewport.cc viewportsignals.cc
+ widget.cc widgetsignals.cc
+ window.cc windowsignals.cc)
diff --git a/libXFCui/xfc/gtk/Makefile.am b/ui/xfc/gtk/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gtk/Makefile.am
rename to ui/xfc/gtk/Makefile.am
diff --git a/ui/xfc/gtk/aboutdialog.cc b/ui/xfc/gtk/aboutdialog.cc
new file mode 100644
index 0000000..c8004db
--- /dev/null
+++ b/ui/xfc/gtk/aboutdialog.cc
@@ -0,0 +1,300 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2005 The XFC Development Team.
+ *
+ * aboutdialog.cc - GtkAboutDialog C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "aboutdialog.hh"
+#include "private/aboutdialogclass.hh"
+#include "../gdk-pixbuf/pixbuf.hh"
+#include "xfc/convert.hh"
+
+using namespace Xfc;
+
+/* Gtk::AboutDialog
+ */
+
+Gtk::AboutDialog::AboutDialog(GtkAboutDialog *about, bool owns_reference)
+: Dialog((GtkDialog*)about, owns_reference)
+{
+}
+
+Gtk::AboutDialog::AboutDialog()
+: Dialog((GtkDialog*)gtk_about_dialog_new())
+{
+}
+
+Gtk::AboutDialog::AboutDialog(const char *name, const char *version)
+: Dialog((GtkDialog*)gtk_about_dialog_new())
+{
+ g_object_set(g_object(), "name", name, "version", version, 0);
+}
+
+Gtk::AboutDialog::AboutDialog(const String& name, const String& version)
+: Dialog((GtkDialog*)gtk_about_dialog_new())
+{
+ g_object_set(g_object(), "name", name.c_str(), "version", version.c_str(), 0);
+}
+
+Gtk::AboutDialog::AboutDialog(const char *name, const char *version, const char *copyright, Gdk::Pixbuf *logo)
+: Dialog((GtkDialog*)gtk_about_dialog_new())
+{
+ g_object_set(g_object(), "name", name, "version", version, "copyright", copyright, "logo", logo->gdk_pixbuf(), 0);
+}
+
+Gtk::AboutDialog::AboutDialog(const String& name, const String& version, const String& copyright, Gdk::Pixbuf *logo)
+: Dialog((GtkDialog*)gtk_about_dialog_new())
+{
+ g_object_set(g_object(), "name", name.c_str(), "version", version.c_str(), "copyright", copyright.c_str(), "logo", logo->gdk_pixbuf(), 0);
+}
+
+Gtk::AboutDialog::~AboutDialog()
+{
+}
+
+String
+Gtk::AboutDialog::get_name() const
+{
+ return gtk_about_dialog_get_name(gtk_about_dialog());
+}
+
+String
+Gtk::AboutDialog::get_version() const
+{
+ return gtk_about_dialog_get_version(gtk_about_dialog());
+}
+
+String
+Gtk::AboutDialog::get_copyright() const
+{
+ return gtk_about_dialog_get_copyright(gtk_about_dialog());
+}
+
+String
+Gtk::AboutDialog::get_comments() const
+{
+ return gtk_about_dialog_get_comments(gtk_about_dialog());
+}
+
+String
+Gtk::AboutDialog::get_license() const
+{
+ return gtk_about_dialog_get_license(gtk_about_dialog());
+}
+
+String
+Gtk::AboutDialog::get_website() const
+{
+ return gtk_about_dialog_get_website(gtk_about_dialog());
+}
+
+String
+Gtk::AboutDialog::get_website_label() const
+{
+ return gtk_about_dialog_get_website_label(gtk_about_dialog());
+}
+
+std::vector<String>
+Gtk::AboutDialog::get_authors() const
+{
+ return array_to_vector_of_string(gtk_about_dialog_get_authors(gtk_about_dialog()));
+}
+
+std::vector<String>
+Gtk::AboutDialog::get_documenters() const
+{
+ return array_to_vector_of_string(gtk_about_dialog_get_documenters(gtk_about_dialog()));
+}
+
+std::vector<String>
+Gtk::AboutDialog::get_artists() const
+{
+ return array_to_vector_of_string(gtk_about_dialog_get_artists(gtk_about_dialog()));
+}
+
+String
+Gtk::AboutDialog::get_translator_credits() const
+{
+ return gtk_about_dialog_get_translator_credits(gtk_about_dialog());
+}
+
+Gdk::Pixbuf*
+Gtk::AboutDialog::get_logo() const
+{
+ GdkPixbuf *logo = gtk_about_dialog_get_logo(gtk_about_dialog());
+ return G::Object::wrap<Gdk::Pixbuf>(logo);
+}
+
+String
+Gtk::AboutDialog::get_logo_icon_name() const
+{
+ return gtk_about_dialog_get_logo_icon_name(gtk_about_dialog());
+}
+
+void
+Gtk::AboutDialog::set_name(const String& name)
+{
+ set_name(name.c_str());
+}
+
+void
+Gtk::AboutDialog::set_version(const String& version)
+{
+ set_version(version.c_str());
+}
+
+void
+Gtk::AboutDialog::set_copyright(const String& copyright)
+{
+ set_copyright(copyright.c_str());
+}
+
+void
+Gtk::AboutDialog::set_comments(const String& comments)
+{
+ set_comments(comments.c_str());
+}
+
+void
+Gtk::AboutDialog::set_license(const String& license)
+{
+ set_license(license.c_str());
+}
+
+void
+Gtk::AboutDialog::set_website(const String& website)
+{
+ set_website(website.c_str());
+}
+
+void
+Gtk::AboutDialog::set_website_label(const String& website_label)
+{
+ set_website_label(website_label.c_str());
+}
+
+void
+Gtk::AboutDialog::set_authors(const std::vector<String>& authors)
+{
+ char **tmp_authors = vector_of_string_to_array(authors);
+ gtk_about_dialog_set_authors(gtk_about_dialog(), const_cast<const char**>(tmp_authors));
+ delete [] tmp_authors;
+}
+
+void
+Gtk::AboutDialog::set_documenters(const std::vector<String>& documenters)
+{
+ char **tmp_documenters = vector_of_string_to_array(documenters);
+ gtk_about_dialog_set_documenters(gtk_about_dialog(), const_cast<const char**>(tmp_documenters));
+ delete [] tmp_documenters;
+}
+
+void
+Gtk::AboutDialog::set_artists(const std::vector<String>& artists)
+{
+ char **tmp_artists = vector_of_string_to_array(artists);
+ gtk_about_dialog_set_artists(gtk_about_dialog(), const_cast<const char**>(tmp_artists));
+ delete [] tmp_artists;
+}
+
+void
+Gtk::AboutDialog::set_translator_credits(const String& translator_credits)
+{
+ set_translator_credits(translator_credits.c_str());
+}
+
+void
+Gtk::AboutDialog::set_logo(Gdk::Pixbuf *logo)
+{
+ gtk_about_dialog_set_logo(gtk_about_dialog(), *logo);
+}
+
+void
+Gtk::AboutDialog::set_logo_icon_name(const String& icon_name)
+{
+ set_logo_icon_name(icon_name.c_str());
+}
+
+namespace { // LinkCallback
+
+struct LinkCallback
+{
+ typedef Gtk::AboutDialog::ActivateLinkSlot ActivateLinkSlot;
+ ActivateLinkSlot slot_;
+
+ LinkCallback(const ActivateLinkSlot& slot)
+ : slot_(slot)
+ {
+ }
+
+ static void notify(GtkAboutDialog *about, const char *link, void *data)
+ {
+ LinkCallback *cb = static_cast<LinkCallback*>(data);
+ Gtk::AboutDialog *tmp_about = G::Object::wrap<Gtk::AboutDialog>(about);
+ String s(link);
+ cb->slot_(*tmp_about, s);
+ }
+
+ static void destroy(void *data)
+ {
+ LinkCallback *cb = static_cast<LinkCallback*>(data);
+ delete cb;
+ }
+};
+
+} // namespace
+
+void
+Gtk::AboutDialog::set_email_hook(const ActivateLinkSlot& slot)
+{
+ LinkCallback *cb = new LinkCallback(slot);
+ gtk_about_dialog_set_email_hook(&LinkCallback::notify, cb, &LinkCallback::destroy);
+}
+
+void
+Gtk::AboutDialog::set_url_hook(const ActivateLinkSlot& slot)
+{
+ LinkCallback *cb = new LinkCallback(slot);
+ gtk_about_dialog_set_url_hook(&LinkCallback::notify, cb, &LinkCallback::destroy);
+}
+
+/* Gtk::AboutDialogClass
+ */
+
+void
+Gtk::AboutDialogClass::init(GtkAboutDialogClass *g_class)
+{
+ DialogClass::init((GtkDialogClass*)g_class);
+}
+
+GType
+Gtk::AboutDialogClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_ABOUT_DIALOG, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::AboutDialogClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
diff --git a/libXFCui/xfc/gtk/aboutdialog.hh b/ui/xfc/gtk/aboutdialog.hh
similarity index 100%
rename from libXFCui/xfc/gtk/aboutdialog.hh
rename to ui/xfc/gtk/aboutdialog.hh
diff --git a/libXFCui/xfc/gtk/accelgroup.cc b/ui/xfc/gtk/accelgroup.cc
similarity index 100%
rename from libXFCui/xfc/gtk/accelgroup.cc
rename to ui/xfc/gtk/accelgroup.cc
diff --git a/libXFCui/xfc/gtk/accelgroup.hh b/ui/xfc/gtk/accelgroup.hh
similarity index 100%
rename from libXFCui/xfc/gtk/accelgroup.hh
rename to ui/xfc/gtk/accelgroup.hh
diff --git a/libXFCui/xfc/gtk/accelgroupsignals.cc b/ui/xfc/gtk/accelgroupsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/accelgroupsignals.cc
rename to ui/xfc/gtk/accelgroupsignals.cc
diff --git a/libXFCui/xfc/gtk/accelgroupsignals.hh b/ui/xfc/gtk/accelgroupsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/accelgroupsignals.hh
rename to ui/xfc/gtk/accelgroupsignals.hh
diff --git a/libXFCui/xfc/gtk/accelkey.cc b/ui/xfc/gtk/accelkey.cc
similarity index 100%
rename from libXFCui/xfc/gtk/accelkey.cc
rename to ui/xfc/gtk/accelkey.cc
diff --git a/libXFCui/xfc/gtk/accelkey.hh b/ui/xfc/gtk/accelkey.hh
similarity index 100%
rename from libXFCui/xfc/gtk/accelkey.hh
rename to ui/xfc/gtk/accelkey.hh
diff --git a/libXFCui/xfc/gtk/accellabel.cc b/ui/xfc/gtk/accellabel.cc
similarity index 100%
rename from libXFCui/xfc/gtk/accellabel.cc
rename to ui/xfc/gtk/accellabel.cc
diff --git a/libXFCui/xfc/gtk/accellabel.hh b/ui/xfc/gtk/accellabel.hh
similarity index 100%
rename from libXFCui/xfc/gtk/accellabel.hh
rename to ui/xfc/gtk/accellabel.hh
diff --git a/ui/xfc/gtk/accelmap.cc b/ui/xfc/gtk/accelmap.cc
new file mode 100755
index 0000000..0768065
--- /dev/null
+++ b/ui/xfc/gtk/accelmap.cc
@@ -0,0 +1,129 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * accelmap.cc - GtkAccelMap C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "accelmap.hh"
+#include "private/marshal.hh"
+#include "xfc/glib/scanner.hh"
+
+using namespace Xfc;
+
+/* Gtk::AccelMap
+ */
+
+Gtk::AccelMap::AccelMap(GtkAccelMap *map, bool owns_reference)
+: G::Object((GObject*)map, owns_reference)
+{
+}
+
+Gtk::AccelMap::~AccelMap()
+{
+}
+
+Gtk::AccelMap*
+Gtk::AccelMap::get()
+{
+ return G::Object::wrap<AccelMap>(gtk_accel_map_get());
+}
+
+bool
+Gtk::AccelMap::lookup_entry(const String& accel_path, AccelKey *accel_key)
+{
+ return gtk_accel_map_lookup_entry(accel_path.c_str(), *accel_key);
+}
+
+void
+Gtk::AccelMap::add_entry(const char *accel_path, const AccelKey& accel_key)
+{
+ gtk_accel_map_add_entry(accel_path, accel_key.key(), GdkModifierType(accel_key.mods()));
+}
+
+void
+Gtk::AccelMap::add_entry(const String& accel_path, const AccelKey& accel_key)
+{
+ gtk_accel_map_add_entry(accel_path.c_str(), accel_key.key(), GdkModifierType(accel_key.mods()));
+}
+
+bool
+Gtk::AccelMap::change_entry(const char *accel_path, const AccelKey& accel_key, bool replace)
+{
+ return gtk_accel_map_change_entry(accel_path, accel_key.key(), GdkModifierType(accel_key.mods()), replace);
+}
+
+bool
+Gtk::AccelMap::change_entry(const String& accel_path, const AccelKey& accel_key, bool replace)
+{
+ return gtk_accel_map_change_entry(accel_path.c_str(), accel_key.key(), GdkModifierType(accel_key.mods()), replace);
+}
+
+void
+Gtk::AccelMap::load(const String& filename)
+{
+ gtk_accel_map_load(filename.c_str());
+}
+
+void
+Gtk::AccelMap::load(G::Scanner& scanner)
+{
+ gtk_accel_map_load_scanner(scanner.g_scanner());
+}
+
+void
+Gtk::AccelMap::save(const String& filename)
+{
+ gtk_accel_map_save(filename.c_str());
+}
+
+namespace {
+
+void accel_map_foreach_slot(gpointer data, const char *accel_path, guint accel_key, GdkModifierType accel_mods, gboolean changed)
+{
+ Gtk::AccelMap::ForeachSlot& slot = *static_cast<Gtk::AccelMap::ForeachSlot*>(data);
+ Gtk::AccelKey tmp_accel_key(accel_key, (Gdk::ModifierTypeField)accel_mods);
+ String tmp_accel_path(accel_path);
+ slot(tmp_accel_path, tmp_accel_key, changed);
+}
+
+} // namespace
+
+void
+Gtk::AccelMap::foreach(const ForeachSlot& slot)
+{
+ ForeachSlot tmp_slot(slot);
+ gtk_accel_map_foreach(&tmp_slot, &accel_map_foreach_slot);
+}
+
+void
+Gtk::AccelMap::lock_path(const String& accel_path)
+{
+ gtk_accel_map_lock_path(accel_path.c_str());
+}
+
+void
+Gtk::AccelMap::unlock_path(const String& accel_path)
+{
+ gtk_accel_map_unlock_path(accel_path.c_str());
+}
+
+/* Gtk::AccelMap signals
+ */
+
+const Gtk::AccelMap::ChangedSignalType Gtk::AccelMap::changed_signal("changed",(GCallback)&Marshal::void_string_uint_gdkmodifiertype_callback);
+
+
diff --git a/libXFCui/xfc/gtk/accelmap.hh b/ui/xfc/gtk/accelmap.hh
similarity index 100%
rename from libXFCui/xfc/gtk/accelmap.hh
rename to ui/xfc/gtk/accelmap.hh
diff --git a/libXFCui/xfc/gtk/accessible.cc b/ui/xfc/gtk/accessible.cc
similarity index 100%
rename from libXFCui/xfc/gtk/accessible.cc
rename to ui/xfc/gtk/accessible.cc
diff --git a/libXFCui/xfc/gtk/accessible.hh b/ui/xfc/gtk/accessible.hh
similarity index 100%
rename from libXFCui/xfc/gtk/accessible.hh
rename to ui/xfc/gtk/accessible.hh
diff --git a/libXFCui/xfc/gtk/action.cc b/ui/xfc/gtk/action.cc
similarity index 100%
rename from libXFCui/xfc/gtk/action.cc
rename to ui/xfc/gtk/action.cc
diff --git a/libXFCui/xfc/gtk/action.hh b/ui/xfc/gtk/action.hh
similarity index 100%
rename from libXFCui/xfc/gtk/action.hh
rename to ui/xfc/gtk/action.hh
diff --git a/ui/xfc/gtk/actiongroup.cc b/ui/xfc/gtk/actiongroup.cc
new file mode 100644
index 0000000..e621388
--- /dev/null
+++ b/ui/xfc/gtk/actiongroup.cc
@@ -0,0 +1,312 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * actiongroup.cc - GtkActionGroup C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "actiongroup.hh"
+#include "private/actiongroupclass.hh"
+#include "private/marshal.hh"
+#include "accelmap.hh"
+#include "stock.hh"
+#include "xfc/glib/quark.hh"
+
+using namespace Xfc;
+
+namespace { // AccelKeyQuark
+
+const G::Quark AccelKeyQuark("gfc_action_accel_key");
+
+} // namespace
+
+/* Gtk::ActionGroup
+ */
+
+Gtk::ActionGroup::ActionGroup(GtkActionGroup *action_group, bool owns_reference)
+: G::Object((GObject*)action_group, owns_reference)
+{
+}
+
+Gtk::ActionGroup::ActionGroup(const char *name)
+: G::Object((GObject*)ActionGroupClass::create(name))
+{
+}
+
+Gtk::ActionGroup::ActionGroup(const String& name)
+: G::Object((GObject*)ActionGroupClass::create(name.c_str()))
+{
+}
+
+Gtk::ActionGroup::~ActionGroup()
+{
+}
+
+String
+Gtk::ActionGroup::get_name() const
+{
+ return gtk_action_group_get_name(gtk_action_group());
+}
+
+Gtk::Action*
+Gtk::ActionGroup::get_action(const char *action_name)
+{
+ return G::Object::wrap<Action>(gtk_action_group_get_action(gtk_action_group(), action_name));
+}
+
+Gtk::Action*
+Gtk::ActionGroup::get_action(const String &action_name)
+{
+ return get_action(action_name.c_str());
+}
+
+bool
+Gtk::ActionGroup::list_actions(std::vector<Action*>& actions) const
+{
+ g_return_val_if_fail(actions.empty(), false);
+ GList *first = gtk_action_group_list_actions(gtk_action_group());
+ GList *next = first;
+
+ while (next)
+ {
+ actions.push_back(G::Object::wrap<Action>((GtkAction*)next->data));
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return !actions.empty();
+}
+
+void
+Gtk::ActionGroup::add_action(Action& action)
+{
+ gtk_action_group_add_action(gtk_action_group(), action.gtk_action());
+}
+
+void
+Gtk::ActionGroup::add_action(Action& action, const AccelKey& accel_key)
+{
+ String path = "<Actions>/" + get_name() + "/" + action.get_name();
+ Gtk::AccelMap::add_entry(path, accel_key);
+ action.set_accel_path(path);
+ gtk_action_group_add_action(gtk_action_group(), action.gtk_action());
+}
+
+void
+Gtk::ActionGroup::add_action(Action& action, const ActivateSlot& slot)
+{
+ add_action(action);
+ action.signal_activate().connect(slot);
+}
+
+void
+Gtk::ActionGroup::add_action(Action& action, const AccelKey& accel_key, const ActivateSlot& slot)
+{
+ add_action(action, accel_key);
+ action.signal_activate().connect(slot);
+}
+
+void
+Gtk::ActionGroup::add_action(RadioAction& action, const AccelKey& accel_key)
+{
+ add_action(static_cast<Action&>(action), accel_key);
+}
+
+void
+Gtk::ActionGroup::add_action(RadioAction& action, const ChangedSlot& slot)
+{
+ add_action(action);
+ action.signal_changed().connect(slot);
+}
+
+void
+Gtk::ActionGroup::add_action(RadioAction& action, const AccelKey& accel_key, const ChangedSlot& slot)
+{
+ add_action(action, accel_key);
+ action.signal_changed().connect(slot);
+}
+
+void
+Gtk::ActionGroup::add_actions(const RadioActions& group, int value, const ChangedSlot& slot)
+{
+ g_return_if_fail(!group.actions_.empty());
+ for (unsigned int i = 0; i < group.actions_.size(); i++)
+ {
+ if (value == group.actions_[i]->get_value())
+ group.actions_[i]->set_active(true);
+ AccelKey *accel_key = reinterpret_cast<AccelKey*>(group.actions_[i]->get_data(AccelKeyQuark));
+ if (accel_key)
+ add_action(*group.actions_[i], *accel_key);
+ else
+ add_action(*group.actions_[i]);
+ }
+ group.actions_[0]->signal_changed().connect(slot);
+}
+
+void
+Gtk::ActionGroup::remove_action(Action& action)
+{
+ gtk_action_group_remove_action(gtk_action_group(), action.gtk_action());
+}
+
+Gtk::Action*
+Gtk::ActionGroup::add(const char *name, const char *label, const char *tooltip)
+{
+ Action *action = new Action(name, label);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action);
+ action->unref();
+ return action;
+}
+
+Gtk::Action*
+Gtk::ActionGroup::add(const char *name, const char *label, const AccelKey& accel_key, const char *tooltip)
+{
+ Action *action = new Action(name, label);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action, accel_key);
+ action->unref();
+ return action;
+}
+
+Gtk::Action*
+Gtk::ActionGroup::add(const char *name, const StockId& stock_id, const char *tooltip)
+{
+ return add(name, 0, stock_id, tooltip);
+}
+
+Gtk::Action*
+Gtk::ActionGroup::add(const char *name, const StockId& stock_id, const AccelKey& accel_key, const char *tooltip)
+{
+ return add(name, 0, stock_id, accel_key, tooltip);
+}
+
+Gtk::Action*
+Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, const char *tooltip)
+{
+ Action *action = new Action(name, label, stock_id);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action);
+ action->unref();
+ return action;
+}
+
+Gtk::Action*
+Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, const AccelKey& accel_key, const char *tooltip)
+{
+ Action *action = new Action(name, label, stock_id);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action, accel_key);
+ action->unref();
+ return action;
+}
+
+Gtk::ToggleAction*
+Gtk::ActionGroup::add(const char *name, const char *label, bool is_active, const char *tooltip)
+{
+ ToggleAction *action = new ToggleAction(name, label, is_active);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action);
+ action->unref();
+ return action;
+}
+
+Gtk::ToggleAction*
+Gtk::ActionGroup::add(const char *name, const char *label, const AccelKey& accel_key, bool is_active, const char *tooltip)
+{
+ ToggleAction *action = new ToggleAction(name, label, is_active);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action, accel_key);
+ action->unref();
+ return action;
+}
+
+Gtk::ToggleAction*
+Gtk::ActionGroup::add(const char *name, const StockId& stock_id, bool is_active, const char *tooltip)
+{
+ return add(name, 0, stock_id, is_active, tooltip);
+}
+
+Gtk::ToggleAction*
+Gtk::ActionGroup::add(const char *name, const StockId& stock_id, const AccelKey& accel_key, bool is_active, const char *tooltip)
+{
+ return add(name, 0, stock_id, accel_key, is_active, tooltip);
+}
+
+Gtk::ToggleAction*
+Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, bool is_active, const char *tooltip)
+{
+ ToggleAction *action = new ToggleAction(name, label, stock_id, is_active);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action);
+ action->unref();
+ return action;
+}
+
+Gtk::ToggleAction*
+Gtk::ActionGroup::add(const char *name, const char *label, const StockId& stock_id, const AccelKey& accel_key, bool is_active, const char *tooltip)
+{
+ ToggleAction *action = new ToggleAction(name, label, stock_id, is_active);
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ add_action(*action, accel_key);
+ action->unref();
+ return action;
+}
+
+/* Gtk::ActionGroupClass
+ */
+
+void
+Gtk::ActionGroupClass::init(GtkActionGroupClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::ActionGroupClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_ACTION_GROUP, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::ActionGroupClass::create(const char *name)
+{
+ return g_object_new(get_type(), "name", name, 0);
+}
+
+/* Gtk::ActionGroup signals
+ */
+
+const Gtk::ActionGroup::ConnectProxySignalType Gtk::ActionGroup::connect_proxy_signal("connect_proxy", (GCallback)&Marshal::void_action_widget_callback);
+
+const Gtk::ActionGroup::DisconnectProxySignalType Gtk::ActionGroup::disconnect_proxy_signal("disconnect_proxy", (GCallback)&Marshal::void_action_widget_callback);
+
+const Gtk::ActionGroup::PreActivateSignalType Gtk::ActionGroup::pre_activate_signal("pre_activate", (GCallback)&Marshal::void_action_callback);
+
+const Gtk::ActionGroup::PostActivateSignalType Gtk::ActionGroup::post_activate_signal("post_activate", (GCallback)&Marshal::void_action_callback);
diff --git a/libXFCui/xfc/gtk/actiongroup.hh b/ui/xfc/gtk/actiongroup.hh
similarity index 100%
rename from libXFCui/xfc/gtk/actiongroup.hh
rename to ui/xfc/gtk/actiongroup.hh
diff --git a/libXFCui/xfc/gtk/actionsignals.cc b/ui/xfc/gtk/actionsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/actionsignals.cc
rename to ui/xfc/gtk/actionsignals.cc
diff --git a/libXFCui/xfc/gtk/actionsignals.hh b/ui/xfc/gtk/actionsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/actionsignals.hh
rename to ui/xfc/gtk/actionsignals.hh
diff --git a/libXFCui/xfc/gtk/adjustment.cc b/ui/xfc/gtk/adjustment.cc
similarity index 100%
rename from libXFCui/xfc/gtk/adjustment.cc
rename to ui/xfc/gtk/adjustment.cc
diff --git a/libXFCui/xfc/gtk/adjustment.hh b/ui/xfc/gtk/adjustment.hh
similarity index 100%
rename from libXFCui/xfc/gtk/adjustment.hh
rename to ui/xfc/gtk/adjustment.hh
diff --git a/libXFCui/xfc/gtk/adjustmentsignals.cc b/ui/xfc/gtk/adjustmentsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/adjustmentsignals.cc
rename to ui/xfc/gtk/adjustmentsignals.cc
diff --git a/libXFCui/xfc/gtk/adjustmentsignals.hh b/ui/xfc/gtk/adjustmentsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/adjustmentsignals.hh
rename to ui/xfc/gtk/adjustmentsignals.hh
diff --git a/libXFCui/xfc/gtk/alignment.cc b/ui/xfc/gtk/alignment.cc
similarity index 100%
rename from libXFCui/xfc/gtk/alignment.cc
rename to ui/xfc/gtk/alignment.cc
diff --git a/libXFCui/xfc/gtk/alignment.hh b/ui/xfc/gtk/alignment.hh
similarity index 100%
rename from libXFCui/xfc/gtk/alignment.hh
rename to ui/xfc/gtk/alignment.hh
diff --git a/libXFCui/xfc/gtk/arrow.cc b/ui/xfc/gtk/arrow.cc
similarity index 100%
rename from libXFCui/xfc/gtk/arrow.cc
rename to ui/xfc/gtk/arrow.cc
diff --git a/libXFCui/xfc/gtk/arrow.hh b/ui/xfc/gtk/arrow.hh
similarity index 100%
rename from libXFCui/xfc/gtk/arrow.hh
rename to ui/xfc/gtk/arrow.hh
diff --git a/libXFCui/xfc/gtk/aspectframe.cc b/ui/xfc/gtk/aspectframe.cc
similarity index 100%
rename from libXFCui/xfc/gtk/aspectframe.cc
rename to ui/xfc/gtk/aspectframe.cc
diff --git a/libXFCui/xfc/gtk/aspectframe.hh b/ui/xfc/gtk/aspectframe.hh
similarity index 100%
rename from libXFCui/xfc/gtk/aspectframe.hh
rename to ui/xfc/gtk/aspectframe.hh
diff --git a/libXFCui/xfc/gtk/bin.cc b/ui/xfc/gtk/bin.cc
similarity index 100%
rename from libXFCui/xfc/gtk/bin.cc
rename to ui/xfc/gtk/bin.cc
diff --git a/libXFCui/xfc/gtk/bin.hh b/ui/xfc/gtk/bin.hh
similarity index 100%
rename from libXFCui/xfc/gtk/bin.hh
rename to ui/xfc/gtk/bin.hh
diff --git a/libXFCui/xfc/gtk/box.cc b/ui/xfc/gtk/box.cc
similarity index 100%
rename from libXFCui/xfc/gtk/box.cc
rename to ui/xfc/gtk/box.cc
diff --git a/libXFCui/xfc/gtk/box.hh b/ui/xfc/gtk/box.hh
similarity index 100%
rename from libXFCui/xfc/gtk/box.hh
rename to ui/xfc/gtk/box.hh
diff --git a/libXFCui/xfc/gtk/boxchild.cc b/ui/xfc/gtk/boxchild.cc
similarity index 100%
rename from libXFCui/xfc/gtk/boxchild.cc
rename to ui/xfc/gtk/boxchild.cc
diff --git a/libXFCui/xfc/gtk/boxchild.hh b/ui/xfc/gtk/boxchild.hh
similarity index 100%
rename from libXFCui/xfc/gtk/boxchild.hh
rename to ui/xfc/gtk/boxchild.hh
diff --git a/libXFCui/xfc/gtk/builder.cc b/ui/xfc/gtk/builder.cc
similarity index 100%
rename from libXFCui/xfc/gtk/builder.cc
rename to ui/xfc/gtk/builder.cc
diff --git a/libXFCui/xfc/gtk/builder.hh b/ui/xfc/gtk/builder.hh
similarity index 100%
rename from libXFCui/xfc/gtk/builder.hh
rename to ui/xfc/gtk/builder.hh
diff --git a/libXFCui/xfc/gtk/button.cc b/ui/xfc/gtk/button.cc
similarity index 100%
rename from libXFCui/xfc/gtk/button.cc
rename to ui/xfc/gtk/button.cc
diff --git a/libXFCui/xfc/gtk/button.hh b/ui/xfc/gtk/button.hh
similarity index 100%
rename from libXFCui/xfc/gtk/button.hh
rename to ui/xfc/gtk/button.hh
diff --git a/libXFCui/xfc/gtk/buttonbox.cc b/ui/xfc/gtk/buttonbox.cc
similarity index 100%
rename from libXFCui/xfc/gtk/buttonbox.cc
rename to ui/xfc/gtk/buttonbox.cc
diff --git a/libXFCui/xfc/gtk/buttonbox.hh b/ui/xfc/gtk/buttonbox.hh
similarity index 100%
rename from libXFCui/xfc/gtk/buttonbox.hh
rename to ui/xfc/gtk/buttonbox.hh
diff --git a/libXFCui/xfc/gtk/buttonsignals.cc b/ui/xfc/gtk/buttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/buttonsignals.cc
rename to ui/xfc/gtk/buttonsignals.cc
diff --git a/libXFCui/xfc/gtk/buttonsignals.hh b/ui/xfc/gtk/buttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/buttonsignals.hh
rename to ui/xfc/gtk/buttonsignals.hh
diff --git a/libXFCui/xfc/gtk/calendar.cc b/ui/xfc/gtk/calendar.cc
similarity index 100%
rename from libXFCui/xfc/gtk/calendar.cc
rename to ui/xfc/gtk/calendar.cc
diff --git a/libXFCui/xfc/gtk/calendar.hh b/ui/xfc/gtk/calendar.hh
similarity index 100%
rename from libXFCui/xfc/gtk/calendar.hh
rename to ui/xfc/gtk/calendar.hh
diff --git a/libXFCui/xfc/gtk/calendarsignals.cc b/ui/xfc/gtk/calendarsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/calendarsignals.cc
rename to ui/xfc/gtk/calendarsignals.cc
diff --git a/libXFCui/xfc/gtk/calendarsignals.hh b/ui/xfc/gtk/calendarsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/calendarsignals.hh
rename to ui/xfc/gtk/calendarsignals.hh
diff --git a/ui/xfc/gtk/celleditable.cc b/ui/xfc/gtk/celleditable.cc
new file mode 100755
index 0000000..368008d
--- /dev/null
+++ b/ui/xfc/gtk/celleditable.cc
@@ -0,0 +1,98 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * celleditable.cc - GtkCellEditable C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "celleditable.hh"
+#include "celleditablesignals.hh"
+#include "private/celleditableiface.hh"
+#include "private/marshal.hh"
+#include "../gdk/events.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+
+using namespace Xfc;
+
+/* Gtk::CellEditable
+ */
+
+Gtk::CellEditable::CellEditable()
+{
+}
+
+Gtk::CellEditable::~CellEditable()
+{
+}
+
+void
+Gtk::CellEditable::start_editing(const Gdk::Event *event)
+{
+ gtk_cell_editable_start_editing(gtk_cell_editable(), *event);
+}
+
+/* Gtk::CellEditableIface
+ */
+
+void
+Gtk::CellEditableIface::init(GtkCellEditableIface *g_iface)
+{
+ g_iface->editing_done = &editing_done_proxy;
+ g_iface->remove_widget = &remove_widget_proxy;
+}
+
+GtkCellEditableIface*
+Gtk::CellEditableIface::get_parent_iface(void *instance)
+{
+ return static_cast<GtkCellEditableIface*>(g_type_interface_peek_parent(GTK_CELL_EDITABLE_GET_IFACE(instance)));
+}
+
+void
+Gtk::CellEditableIface::editing_done_proxy(GtkCellEditable *cell_editable)
+{
+ CellEditableSignals *signals = dynamic_cast<CellEditableSignals*>(G::ObjectSignals::pointer((GObject*)cell_editable));
+ if (signals)
+ signals->on_editing_done();
+ else
+ {
+ GtkCellEditableIface *g_iface = get_parent_iface(cell_editable);
+ if (g_iface && g_iface->editing_done)
+ g_iface->editing_done(cell_editable);
+ }
+}
+
+void
+Gtk::CellEditableIface::remove_widget_proxy(GtkCellEditable *cell_editable)
+{
+ CellEditableSignals *signals = dynamic_cast<CellEditableSignals*>(G::ObjectSignals::pointer((GObject*)cell_editable));
+ if (signals)
+ signals->on_remove_widget();
+ else
+ {
+ GtkCellEditableIface *g_iface = get_parent_iface(cell_editable);
+ if (g_iface && g_iface->remove_widget)
+ g_iface->remove_widget(cell_editable);
+ }
+}
+
+/* Gtk::CellEditable signals
+ */
+
+const Gtk::CellEditable::EditingDoneSignalType Gtk::CellEditable::editing_done_signal("editing_done", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::CellEditable::RemoveWidgetSignalType Gtk::CellEditable::remove_widget_signal("remove_widget", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gtk/celleditable.hh b/ui/xfc/gtk/celleditable.hh
similarity index 100%
rename from libXFCui/xfc/gtk/celleditable.hh
rename to ui/xfc/gtk/celleditable.hh
diff --git a/libXFCui/xfc/gtk/celleditablesignals.cc b/ui/xfc/gtk/celleditablesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/celleditablesignals.cc
rename to ui/xfc/gtk/celleditablesignals.cc
diff --git a/libXFCui/xfc/gtk/celleditablesignals.hh b/ui/xfc/gtk/celleditablesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/celleditablesignals.hh
rename to ui/xfc/gtk/celleditablesignals.hh
diff --git a/libXFCui/xfc/gtk/celllayout.cc b/ui/xfc/gtk/celllayout.cc
similarity index 100%
rename from libXFCui/xfc/gtk/celllayout.cc
rename to ui/xfc/gtk/celllayout.cc
diff --git a/libXFCui/xfc/gtk/celllayout.hh b/ui/xfc/gtk/celllayout.hh
similarity index 100%
rename from libXFCui/xfc/gtk/celllayout.hh
rename to ui/xfc/gtk/celllayout.hh
diff --git a/libXFCui/xfc/gtk/cellrenderer.cc b/ui/xfc/gtk/cellrenderer.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderer.cc
rename to ui/xfc/gtk/cellrenderer.cc
diff --git a/libXFCui/xfc/gtk/cellrenderer.hh b/ui/xfc/gtk/cellrenderer.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderer.hh
rename to ui/xfc/gtk/cellrenderer.hh
diff --git a/libXFCui/xfc/gtk/cellrenderercombo.cc b/ui/xfc/gtk/cellrenderercombo.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderercombo.cc
rename to ui/xfc/gtk/cellrenderercombo.cc
diff --git a/libXFCui/xfc/gtk/cellrenderercombo.hh b/ui/xfc/gtk/cellrenderercombo.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderercombo.hh
rename to ui/xfc/gtk/cellrenderercombo.hh
diff --git a/libXFCui/xfc/gtk/cellrendererpixbuf.cc b/ui/xfc/gtk/cellrendererpixbuf.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrendererpixbuf.cc
rename to ui/xfc/gtk/cellrendererpixbuf.cc
diff --git a/libXFCui/xfc/gtk/cellrendererpixbuf.hh b/ui/xfc/gtk/cellrendererpixbuf.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrendererpixbuf.hh
rename to ui/xfc/gtk/cellrendererpixbuf.hh
diff --git a/libXFCui/xfc/gtk/cellrendererprogress.cc b/ui/xfc/gtk/cellrendererprogress.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrendererprogress.cc
rename to ui/xfc/gtk/cellrendererprogress.cc
diff --git a/libXFCui/xfc/gtk/cellrendererprogress.hh b/ui/xfc/gtk/cellrendererprogress.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrendererprogress.hh
rename to ui/xfc/gtk/cellrendererprogress.hh
diff --git a/libXFCui/xfc/gtk/cellrenderersignals.cc b/ui/xfc/gtk/cellrenderersignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderersignals.cc
rename to ui/xfc/gtk/cellrenderersignals.cc
diff --git a/libXFCui/xfc/gtk/cellrenderersignals.hh b/ui/xfc/gtk/cellrenderersignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderersignals.hh
rename to ui/xfc/gtk/cellrenderersignals.hh
diff --git a/libXFCui/xfc/gtk/cellrenderertext.cc b/ui/xfc/gtk/cellrenderertext.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertext.cc
rename to ui/xfc/gtk/cellrenderertext.cc
diff --git a/libXFCui/xfc/gtk/cellrenderertext.hh b/ui/xfc/gtk/cellrenderertext.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertext.hh
rename to ui/xfc/gtk/cellrenderertext.hh
diff --git a/libXFCui/xfc/gtk/cellrenderertextsignals.cc b/ui/xfc/gtk/cellrenderertextsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertextsignals.cc
rename to ui/xfc/gtk/cellrenderertextsignals.cc
diff --git a/libXFCui/xfc/gtk/cellrenderertextsignals.hh b/ui/xfc/gtk/cellrenderertextsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertextsignals.hh
rename to ui/xfc/gtk/cellrenderertextsignals.hh
diff --git a/libXFCui/xfc/gtk/cellrenderertoggle.cc b/ui/xfc/gtk/cellrenderertoggle.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertoggle.cc
rename to ui/xfc/gtk/cellrenderertoggle.cc
diff --git a/libXFCui/xfc/gtk/cellrenderertoggle.hh b/ui/xfc/gtk/cellrenderertoggle.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertoggle.hh
rename to ui/xfc/gtk/cellrenderertoggle.hh
diff --git a/libXFCui/xfc/gtk/cellrenderertogglesignals.cc b/ui/xfc/gtk/cellrenderertogglesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertogglesignals.cc
rename to ui/xfc/gtk/cellrenderertogglesignals.cc
diff --git a/libXFCui/xfc/gtk/cellrenderertogglesignals.hh b/ui/xfc/gtk/cellrenderertogglesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellrenderertogglesignals.hh
rename to ui/xfc/gtk/cellrenderertogglesignals.hh
diff --git a/libXFCui/xfc/gtk/cellview.cc b/ui/xfc/gtk/cellview.cc
similarity index 100%
rename from libXFCui/xfc/gtk/cellview.cc
rename to ui/xfc/gtk/cellview.cc
diff --git a/libXFCui/xfc/gtk/cellview.hh b/ui/xfc/gtk/cellview.hh
similarity index 100%
rename from libXFCui/xfc/gtk/cellview.hh
rename to ui/xfc/gtk/cellview.hh
diff --git a/libXFCui/xfc/gtk/checkbutton.cc b/ui/xfc/gtk/checkbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/checkbutton.cc
rename to ui/xfc/gtk/checkbutton.cc
diff --git a/libXFCui/xfc/gtk/checkbutton.hh b/ui/xfc/gtk/checkbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/checkbutton.hh
rename to ui/xfc/gtk/checkbutton.hh
diff --git a/libXFCui/xfc/gtk/checkmenuitem.cc b/ui/xfc/gtk/checkmenuitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/checkmenuitem.cc
rename to ui/xfc/gtk/checkmenuitem.cc
diff --git a/libXFCui/xfc/gtk/checkmenuitem.hh b/ui/xfc/gtk/checkmenuitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/checkmenuitem.hh
rename to ui/xfc/gtk/checkmenuitem.hh
diff --git a/libXFCui/xfc/gtk/checkmenuitemsignals.cc b/ui/xfc/gtk/checkmenuitemsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/checkmenuitemsignals.cc
rename to ui/xfc/gtk/checkmenuitemsignals.cc
diff --git a/libXFCui/xfc/gtk/checkmenuitemsignals.hh b/ui/xfc/gtk/checkmenuitemsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/checkmenuitemsignals.hh
rename to ui/xfc/gtk/checkmenuitemsignals.hh
diff --git a/libXFCui/xfc/gtk/clipboard.cc b/ui/xfc/gtk/clipboard.cc
similarity index 100%
rename from libXFCui/xfc/gtk/clipboard.cc
rename to ui/xfc/gtk/clipboard.cc
diff --git a/libXFCui/xfc/gtk/clipboard.hh b/ui/xfc/gtk/clipboard.hh
similarity index 100%
rename from libXFCui/xfc/gtk/clipboard.hh
rename to ui/xfc/gtk/clipboard.hh
diff --git a/libXFCui/xfc/gtk/colorbutton.cc b/ui/xfc/gtk/colorbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/colorbutton.cc
rename to ui/xfc/gtk/colorbutton.cc
diff --git a/libXFCui/xfc/gtk/colorbutton.hh b/ui/xfc/gtk/colorbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/colorbutton.hh
rename to ui/xfc/gtk/colorbutton.hh
diff --git a/libXFCui/xfc/gtk/colorbuttonsignals.cc b/ui/xfc/gtk/colorbuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/colorbuttonsignals.cc
rename to ui/xfc/gtk/colorbuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/colorbuttonsignals.hh b/ui/xfc/gtk/colorbuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/colorbuttonsignals.hh
rename to ui/xfc/gtk/colorbuttonsignals.hh
diff --git a/libXFCui/xfc/gtk/colorselection.cc b/ui/xfc/gtk/colorselection.cc
similarity index 100%
rename from libXFCui/xfc/gtk/colorselection.cc
rename to ui/xfc/gtk/colorselection.cc
diff --git a/libXFCui/xfc/gtk/colorselection.hh b/ui/xfc/gtk/colorselection.hh
similarity index 100%
rename from libXFCui/xfc/gtk/colorselection.hh
rename to ui/xfc/gtk/colorselection.hh
diff --git a/libXFCui/xfc/gtk/colorselectionsignals.cc b/ui/xfc/gtk/colorselectionsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/colorselectionsignals.cc
rename to ui/xfc/gtk/colorselectionsignals.cc
diff --git a/libXFCui/xfc/gtk/colorselectionsignals.hh b/ui/xfc/gtk/colorselectionsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/colorselectionsignals.hh
rename to ui/xfc/gtk/colorselectionsignals.hh
diff --git a/libXFCui/xfc/gtk/combobox.cc b/ui/xfc/gtk/combobox.cc
similarity index 100%
rename from libXFCui/xfc/gtk/combobox.cc
rename to ui/xfc/gtk/combobox.cc
diff --git a/libXFCui/xfc/gtk/combobox.hh b/ui/xfc/gtk/combobox.hh
similarity index 100%
rename from libXFCui/xfc/gtk/combobox.hh
rename to ui/xfc/gtk/combobox.hh
diff --git a/libXFCui/xfc/gtk/comboboxentry.cc b/ui/xfc/gtk/comboboxentry.cc
similarity index 100%
rename from libXFCui/xfc/gtk/comboboxentry.cc
rename to ui/xfc/gtk/comboboxentry.cc
diff --git a/libXFCui/xfc/gtk/comboboxentry.hh b/ui/xfc/gtk/comboboxentry.hh
similarity index 100%
rename from libXFCui/xfc/gtk/comboboxentry.hh
rename to ui/xfc/gtk/comboboxentry.hh
diff --git a/libXFCui/xfc/gtk/comboboxsignals.cc b/ui/xfc/gtk/comboboxsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/comboboxsignals.cc
rename to ui/xfc/gtk/comboboxsignals.cc
diff --git a/libXFCui/xfc/gtk/comboboxsignals.hh b/ui/xfc/gtk/comboboxsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/comboboxsignals.hh
rename to ui/xfc/gtk/comboboxsignals.hh
diff --git a/libXFCui/xfc/gtk/container.cc b/ui/xfc/gtk/container.cc
similarity index 100%
rename from libXFCui/xfc/gtk/container.cc
rename to ui/xfc/gtk/container.cc
diff --git a/libXFCui/xfc/gtk/container.hh b/ui/xfc/gtk/container.hh
similarity index 100%
rename from libXFCui/xfc/gtk/container.hh
rename to ui/xfc/gtk/container.hh
diff --git a/libXFCui/xfc/gtk/containersignals.cc b/ui/xfc/gtk/containersignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/containersignals.cc
rename to ui/xfc/gtk/containersignals.cc
diff --git a/libXFCui/xfc/gtk/containersignals.hh b/ui/xfc/gtk/containersignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/containersignals.hh
rename to ui/xfc/gtk/containersignals.hh
diff --git a/libXFCui/xfc/gtk/curve.cc b/ui/xfc/gtk/curve.cc
similarity index 100%
rename from libXFCui/xfc/gtk/curve.cc
rename to ui/xfc/gtk/curve.cc
diff --git a/libXFCui/xfc/gtk/curve.hh b/ui/xfc/gtk/curve.hh
similarity index 100%
rename from libXFCui/xfc/gtk/curve.hh
rename to ui/xfc/gtk/curve.hh
diff --git a/libXFCui/xfc/gtk/curvesignals.cc b/ui/xfc/gtk/curvesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/curvesignals.cc
rename to ui/xfc/gtk/curvesignals.cc
diff --git a/libXFCui/xfc/gtk/curvesignals.hh b/ui/xfc/gtk/curvesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/curvesignals.hh
rename to ui/xfc/gtk/curvesignals.hh
diff --git a/ui/xfc/gtk/dialog.cc b/ui/xfc/gtk/dialog.cc
new file mode 100755
index 0000000..bab7193
--- /dev/null
+++ b/ui/xfc/gtk/dialog.cc
@@ -0,0 +1,239 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * dialog.cc - GtkDialog C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "dialog.hh"
+#include "dialogsignals.hh"
+#include "box.hh"
+#include "button.hh"
+#include "buttonbox.hh"
+#include "stockid.hh"
+#include "private/dialogclass.hh"
+#include "private/marshal.hh"
+#include "../gdk/screen.hh"
+
+using namespace Xfc;
+
+/* Gtk::Dialog
+ */
+
+Gtk::Dialog::Dialog(GtkDialog *dialog, bool owns_reference)
+: Window((GtkWindow*)dialog, owns_reference)
+{
+}
+
+Gtk::Dialog::Dialog()
+: Window((GtkWindow*)DialogClass::create())
+{
+}
+
+Gtk::Dialog::Dialog(const char *title, Window *parent, DialogFlagsField flags)
+: Window((GtkWindow*)DialogClass::create())
+{
+ construct(title, parent, flags);
+}
+
+Gtk::Dialog::Dialog(const String& title, Window *parent, DialogFlagsField flags)
+: Window((GtkWindow*)DialogClass::create())
+{
+ construct(title.c_str(), parent, flags);
+}
+
+Gtk::Dialog::~Dialog()
+{
+}
+
+void
+Gtk::Dialog::construct(const char *title, Gtk::Window *parent, Gtk::DialogFlagsField flags)
+{
+ set_title(title);
+ if (parent)
+ set_transient_for(parent);
+ if (flags & Gtk::DIALOG_MODAL)
+ set_modal(true);
+ if (flags & Gtk::DIALOG_DESTROY_WITH_PARENT)
+ set_destroy_with_parent(true);
+ if (flags & Gtk::DIALOG_NO_SEPARATOR)
+ set_has_separator(false);
+}
+
+Gtk::VBox*
+Gtk::Dialog::client_area() const
+{
+ return G::Object::wrap<VBox>((GtkVBox*)gtk_dialog()->vbox);
+}
+
+Gtk::HButtonBox*
+Gtk::Dialog::action_area() const
+{
+ return G::Object::wrap<HButtonBox>((GtkHButtonBox*)gtk_dialog()->action_area);
+}
+
+bool
+Gtk::Dialog::alternative_button_order(const Gdk::Screen *screen)
+{
+ return gtk_alternative_dialog_button_order(*screen);
+}
+
+void
+Gtk::Dialog::add_action_widget(Widget& child, int response_id)
+{
+ gtk_dialog_add_action_widget(gtk_dialog(), child.gtk_widget(), response_id);
+}
+
+Gtk::Button*
+Gtk::Dialog::add_button(const char *button_text, int response_id)
+{
+ return G::Object::wrap<Button>((GtkButton*)gtk_dialog_add_button(gtk_dialog(), button_text, response_id));
+}
+
+Gtk::Button*
+Gtk::Dialog::add_button(const String& button_text, int response_id)
+{
+ return add_button(button_text.c_str(), response_id);
+}
+
+Gtk::Button*
+Gtk::Dialog::add_button(const StockId& stock_id, int response_id)
+{
+ return add_button(stock_id.c_str(), response_id);
+}
+
+Gtk::Button*
+Gtk::Dialog::add_button(StockButtonType button_type)
+{
+ const char *stock_id = 0;
+ int response_id;
+
+ switch (button_type)
+ {
+ case STOCK_BUTTON_OK:
+ stock_id = GTK_STOCK_OK;
+ response_id = GTK_RESPONSE_OK;
+ break;
+
+ case STOCK_BUTTON_CANCEL:
+ stock_id = GTK_STOCK_CANCEL;
+ response_id = GTK_RESPONSE_CANCEL;
+ break;
+
+ case STOCK_BUTTON_CLOSE:
+ stock_id = GTK_STOCK_CLOSE;
+ response_id = GTK_RESPONSE_CLOSE;
+ break;
+
+ case STOCK_BUTTON_YES:
+ stock_id = GTK_STOCK_YES;
+ response_id = GTK_RESPONSE_YES;
+ break;
+
+ case STOCK_BUTTON_NO:
+ stock_id = GTK_STOCK_NO;
+ response_id = GTK_RESPONSE_NO;
+ break;
+
+ case STOCK_BUTTON_APPLY:
+ stock_id = GTK_STOCK_APPLY;
+ response_id = GTK_RESPONSE_APPLY;
+ break;
+
+ case STOCK_BUTTON_HELP:
+ stock_id = GTK_STOCK_HELP;
+ response_id = GTK_RESPONSE_HELP;
+ break;
+
+ default:
+ break;
+ }
+
+ if (stock_id)
+ return add_button(stock_id, response_id);
+ else
+ return 0;
+}
+
+/* Gtk::DialogClass
+ */
+
+void
+Gtk::DialogClass::init(GtkDialogClass *g_class)
+{
+ WindowClass::init((GtkWindowClass*)g_class);
+ g_class->response = &response_proxy;
+ g_class->close = &close_proxy;
+}
+
+GtkDialogClass*
+Gtk::DialogClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkDialogClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::DialogClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_DIALOG, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::DialogClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::DialogClass::response_proxy(GtkDialog *dialog, gint response_id)
+{
+ DialogSignals *signals = dynamic_cast<DialogSignals*>(G::ObjectSignals::pointer((GObject*)dialog));
+ if (signals)
+ signals->on_response(response_id);
+ else
+ {
+ GtkDialogClass *g_class = get_parent_class(dialog);
+ if (g_class && g_class->response)
+ g_class->response(dialog, response_id);
+ }
+}
+
+void
+Gtk::DialogClass::close_proxy(GtkDialog *dialog)
+{
+ DialogSignals *signals = dynamic_cast<DialogSignals*>(G::ObjectSignals::pointer((GObject*)dialog));
+ if (signals)
+ signals->on_close();
+ else
+ {
+ GtkDialogClass *g_class = get_parent_class(dialog);
+ if (g_class && g_class->close)
+ g_class->close(dialog);
+ }
+}
+
+/* Gtk::Dialog Signals
+ */
+
+const Gtk::Dialog::ResponseSignalType Gtk::Dialog::response_signal("response", (GCallback)&G::Marshal::void_int_callback);
+
+const Gtk::Dialog::CloseSignalType Gtk::Dialog::close_signal("close", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gtk/dialog.hh b/ui/xfc/gtk/dialog.hh
similarity index 100%
rename from libXFCui/xfc/gtk/dialog.hh
rename to ui/xfc/gtk/dialog.hh
diff --git a/libXFCui/xfc/gtk/dialogsignals.cc b/ui/xfc/gtk/dialogsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/dialogsignals.cc
rename to ui/xfc/gtk/dialogsignals.cc
diff --git a/libXFCui/xfc/gtk/dialogsignals.hh b/ui/xfc/gtk/dialogsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/dialogsignals.hh
rename to ui/xfc/gtk/dialogsignals.hh
diff --git a/libXFCui/xfc/gtk/dnd.cc b/ui/xfc/gtk/dnd.cc
similarity index 100%
rename from libXFCui/xfc/gtk/dnd.cc
rename to ui/xfc/gtk/dnd.cc
diff --git a/libXFCui/xfc/gtk/dnd.hh b/ui/xfc/gtk/dnd.hh
similarity index 100%
rename from libXFCui/xfc/gtk/dnd.hh
rename to ui/xfc/gtk/dnd.hh
diff --git a/libXFCui/xfc/gtk/drawingarea.cc b/ui/xfc/gtk/drawingarea.cc
similarity index 100%
rename from libXFCui/xfc/gtk/drawingarea.cc
rename to ui/xfc/gtk/drawingarea.cc
diff --git a/libXFCui/xfc/gtk/drawingarea.hh b/ui/xfc/gtk/drawingarea.hh
similarity index 100%
rename from libXFCui/xfc/gtk/drawingarea.hh
rename to ui/xfc/gtk/drawingarea.hh
diff --git a/ui/xfc/gtk/editable.cc b/ui/xfc/gtk/editable.cc
new file mode 100755
index 0000000..862e05c
--- /dev/null
+++ b/ui/xfc/gtk/editable.cc
@@ -0,0 +1,123 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * editable.cc - GtkEditable C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "editable.hh"
+#include "editablesignals.hh"
+#include "private/editableclass.hh"
+#include "private/marshal.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+
+using namespace Xfc;
+
+/* Gtk::Editable
+ */
+
+Gtk::Editable::Editable()
+{
+}
+
+Gtk::Editable::~Editable()
+{
+}
+
+String
+Gtk::Editable::get_chars(int start_pos, int end_pos) const
+{
+ return gtk_editable_get_chars(gtk_editable(), start_pos, end_pos);
+}
+
+void
+Gtk::Editable::insert_text(const String& new_text, int& position)
+{
+ gtk_editable_insert_text(gtk_editable(), new_text.c_str(), new_text.size(), &position);
+}
+
+/* Gtk::EditableClass
+ */
+
+void
+Gtk::EditableClass::init(GtkEditableClass *g_iface)
+{
+ g_iface->insert_text = &insert_text_proxy;
+ g_iface->delete_text = &delete_text_proxy;
+ g_iface->changed = &changed_proxy;
+}
+
+GtkEditableClass*
+Gtk::EditableClass::get_parent_iface(void *instance)
+{
+ return static_cast<GtkEditableClass*>(g_type_interface_peek_parent(GTK_EDITABLE_GET_CLASS(instance)));
+}
+
+void
+Gtk::EditableClass::insert_text_proxy(GtkEditable *editable, const gchar *text, gint length, gint *position)
+{
+ EditableSignals *signals = dynamic_cast<EditableSignals*>(G::ObjectSignals::pointer((GObject*)editable));
+ if (signals)
+ {
+ std::string tmp_text(text, length);
+ signals->on_insert_text(tmp_text, position);
+ }
+ else
+ {
+ GtkEditableClass *g_iface = get_parent_iface(editable);
+ if (g_iface && g_iface->insert_text)
+ g_iface->insert_text(editable, text, length, position);
+ }
+}
+
+void
+Gtk::EditableClass::delete_text_proxy(GtkEditable *editable, gint start_pos, gint end_pos)
+{
+ EditableSignals *signals = dynamic_cast<EditableSignals*>(G::ObjectSignals::pointer((GObject*)editable));
+ if (signals)
+ signals->on_delete_text(start_pos, end_pos);
+ else
+ {
+ GtkEditableClass *g_iface = get_parent_iface(editable);
+ if (g_iface && g_iface->delete_text)
+ g_iface->delete_text(editable, start_pos, end_pos);
+ }
+}
+
+void
+Gtk::EditableClass::changed_proxy(GtkEditable *editable)
+{
+ EditableSignals *signals = dynamic_cast<EditableSignals*>(G::ObjectSignals::pointer((GObject*)editable));
+ if (signals)
+ signals->on_changed();
+ else
+ {
+ GtkEditableClass *g_iface = get_parent_iface(editable);
+ if (g_iface && g_iface->changed)
+ g_iface->changed(editable);
+ }
+}
+
+/* Gtk::Editable Signals
+ */
+
+const Gtk::Editable::InsertTextSignalType Gtk::Editable::insert_text_signal("insert_text", (GCallback)&Marshal::void_string_int_pint_callback);
+
+const Gtk::Editable::DeleteTextSignalType Gtk::Editable::delete_text_signal("delete_text", (GCallback)&G::Marshal::void_int_int_callback);
+
+const Gtk::Editable::ChangedSignalType Gtk::Editable::changed_signal("changed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gtk/editable.hh b/ui/xfc/gtk/editable.hh
similarity index 100%
rename from libXFCui/xfc/gtk/editable.hh
rename to ui/xfc/gtk/editable.hh
diff --git a/libXFCui/xfc/gtk/editablesignals.cc b/ui/xfc/gtk/editablesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/editablesignals.cc
rename to ui/xfc/gtk/editablesignals.cc
diff --git a/libXFCui/xfc/gtk/editablesignals.hh b/ui/xfc/gtk/editablesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/editablesignals.hh
rename to ui/xfc/gtk/editablesignals.hh
diff --git a/libXFCui/xfc/gtk/entry.cc b/ui/xfc/gtk/entry.cc
similarity index 100%
rename from libXFCui/xfc/gtk/entry.cc
rename to ui/xfc/gtk/entry.cc
diff --git a/libXFCui/xfc/gtk/entry.hh b/ui/xfc/gtk/entry.hh
similarity index 100%
rename from libXFCui/xfc/gtk/entry.hh
rename to ui/xfc/gtk/entry.hh
diff --git a/libXFCui/xfc/gtk/entrycompletion.cc b/ui/xfc/gtk/entrycompletion.cc
similarity index 100%
rename from libXFCui/xfc/gtk/entrycompletion.cc
rename to ui/xfc/gtk/entrycompletion.cc
diff --git a/libXFCui/xfc/gtk/entrycompletion.hh b/ui/xfc/gtk/entrycompletion.hh
similarity index 100%
rename from libXFCui/xfc/gtk/entrycompletion.hh
rename to ui/xfc/gtk/entrycompletion.hh
diff --git a/libXFCui/xfc/gtk/entrycompletionsignals.cc b/ui/xfc/gtk/entrycompletionsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/entrycompletionsignals.cc
rename to ui/xfc/gtk/entrycompletionsignals.cc
diff --git a/libXFCui/xfc/gtk/entrycompletionsignals.hh b/ui/xfc/gtk/entrycompletionsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/entrycompletionsignals.hh
rename to ui/xfc/gtk/entrycompletionsignals.hh
diff --git a/libXFCui/xfc/gtk/entrysignals.cc b/ui/xfc/gtk/entrysignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/entrysignals.cc
rename to ui/xfc/gtk/entrysignals.cc
diff --git a/libXFCui/xfc/gtk/entrysignals.hh b/ui/xfc/gtk/entrysignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/entrysignals.hh
rename to ui/xfc/gtk/entrysignals.hh
diff --git a/libXFCui/xfc/gtk/enums.hh b/ui/xfc/gtk/enums.hh
similarity index 100%
rename from libXFCui/xfc/gtk/enums.hh
rename to ui/xfc/gtk/enums.hh
diff --git a/libXFCui/xfc/gtk/eventbox.cc b/ui/xfc/gtk/eventbox.cc
similarity index 100%
rename from libXFCui/xfc/gtk/eventbox.cc
rename to ui/xfc/gtk/eventbox.cc
diff --git a/libXFCui/xfc/gtk/eventbox.hh b/ui/xfc/gtk/eventbox.hh
similarity index 100%
rename from libXFCui/xfc/gtk/eventbox.hh
rename to ui/xfc/gtk/eventbox.hh
diff --git a/libXFCui/xfc/gtk/expander.cc b/ui/xfc/gtk/expander.cc
similarity index 100%
rename from libXFCui/xfc/gtk/expander.cc
rename to ui/xfc/gtk/expander.cc
diff --git a/libXFCui/xfc/gtk/expander.hh b/ui/xfc/gtk/expander.hh
similarity index 100%
rename from libXFCui/xfc/gtk/expander.hh
rename to ui/xfc/gtk/expander.hh
diff --git a/ui/xfc/gtk/filechooser.cc b/ui/xfc/gtk/filechooser.cc
new file mode 100644
index 0000000..5a07553
--- /dev/null
+++ b/ui/xfc/gtk/filechooser.cc
@@ -0,0 +1,350 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * filechooser.cc - GtkFileChooser C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "filechooser.hh"
+#include "private/marshal.hh"
+#include "widget.hh"
+#include "xfc/glib/error.hh"
+
+using namespace Xfc;
+
+/* Gtk::FileChooser
+ */
+
+Gtk::FileChooser::FileChooser()
+{
+}
+
+Gtk::FileChooser::~FileChooser()
+{
+}
+
+std::string
+Gtk::FileChooser::get_filename() const
+{
+ char *filename = gtk_file_chooser_get_filename(gtk_file_chooser());
+ std::string s((filename) ? filename : "");
+ g_free(filename);
+ return s;
+}
+
+bool
+Gtk::FileChooser::get_filenames(std::vector<std::string>& filenames) const
+{
+ g_return_val_if_fail(filenames.empty(), false);
+ GSList *first = gtk_file_chooser_get_filenames(gtk_file_chooser());
+ GSList *next = first;
+
+ while (next)
+ {
+ char *filename = (char*)next->data;
+ filenames.push_back(filename);
+ g_free(filename);
+ next = g_slist_next(next);
+ }
+
+ g_slist_free(first);
+ return !filenames.empty();
+}
+
+std::string
+Gtk::FileChooser::get_current_folder() const
+{
+ char *name = gtk_file_chooser_get_current_folder(gtk_file_chooser());
+ std::string s((name) ? name : "");
+ g_free(name);
+ return s;
+}
+
+String
+Gtk::FileChooser::get_uri() const
+{
+ char *uri = gtk_file_chooser_get_uri(gtk_file_chooser());
+ String s(uri);
+ g_free(uri);
+ return s;
+}
+
+bool
+Gtk::FileChooser::get_uris(std::vector<String>& uris) const
+{
+ g_return_val_if_fail(uris.empty(), false);
+ GSList *first = gtk_file_chooser_get_uris(gtk_file_chooser());
+ GSList *next = first;
+
+ while (next)
+ {
+ char *uri = (char*)next->data;
+ uris.push_back(uri);
+ g_free(uri);
+ next = g_slist_next(next);
+ }
+
+ g_slist_free(first);
+ return !uris.empty();
+}
+
+String
+Gtk::FileChooser::get_current_folder_uri() const
+{
+ char *uri = gtk_file_chooser_get_current_folder_uri(gtk_file_chooser());
+ String s(uri);
+ g_free(uri);
+ return s;
+}
+
+Gtk::Widget*
+Gtk::FileChooser::get_preview_widget() const
+{
+ GtkWidget *widget = gtk_file_chooser_get_preview_widget(gtk_file_chooser());
+ return widget ? G::Object::wrap<Widget>(widget) : 0;
+}
+
+std::string
+Gtk::FileChooser::get_preview_filename() const
+{
+ char *filename = gtk_file_chooser_get_preview_filename(gtk_file_chooser());
+ std::string s((filename) ? filename : "");
+ g_free(filename);
+ return s;
+}
+
+String
+Gtk::FileChooser::get_preview_uri() const
+{
+ char *uri = gtk_file_chooser_get_preview_uri(gtk_file_chooser());
+ String s(uri);
+ g_free(uri);
+ return s;
+}
+
+Gtk::Widget*
+Gtk::FileChooser::get_extra_widget() const
+{
+ GtkWidget *widget = gtk_file_chooser_get_extra_widget(gtk_file_chooser());
+ return widget ? G::Object::wrap<Widget>(widget) : 0;
+}
+
+Gtk::FileFilter*
+Gtk::FileChooser::get_filter() const
+{
+ GtkFileFilter *filter = gtk_file_chooser_get_filter(gtk_file_chooser());
+ return filter ? G::Object::wrap<FileFilter>(filter) : 0;
+}
+
+bool
+Gtk::FileChooser::list_filters(std::vector<String>& filters) const
+{
+ g_return_val_if_fail(filters.empty(), false);
+ GSList *first = gtk_file_chooser_list_filters(gtk_file_chooser());
+ GSList *next = first;
+
+ while (next)
+ {
+ char *filter = (char*)next->data;
+ filters.push_back(filter);
+ next = g_slist_next(next);
+ }
+
+ g_slist_free(first);
+ return !filters.empty();
+}
+
+bool
+Gtk::FileChooser::list_shortcut_folders(std::vector<std::string>& folders) const
+{
+ g_return_val_if_fail(folders.empty(), false);
+ GSList *first = gtk_file_chooser_list_shortcut_folders(gtk_file_chooser());
+ GSList *next = first;
+
+ while (next)
+ {
+ char *name = (char*)next->data;
+ folders.push_back(name);
+ g_free(name);
+ next = g_slist_next(next);
+ }
+
+ g_slist_free(first);
+ return !folders.empty();
+}
+
+bool
+Gtk::FileChooser::list_shortcut_folder_uris(std::vector<String>& uris) const
+{
+ g_return_val_if_fail(uris.empty(), false);
+ GSList *first = gtk_file_chooser_list_shortcut_folder_uris(gtk_file_chooser());
+ GSList *next = first;
+
+ while (next)
+ {
+ char *uri = (char*)next->data;
+ uris.push_back(uri);
+ g_free(uri);
+ next = g_slist_next(next);
+ }
+
+ g_slist_free(first);
+ return !uris.empty();
+}
+
+void
+Gtk::FileChooser::set_current_name(const String& name)
+{
+ set_current_name(name.c_str());
+}
+
+bool
+Gtk::FileChooser::set_filename(const std::string& filename)
+{
+ return set_filename(filename.c_str());
+}
+
+bool
+Gtk::FileChooser::select_filename(const std::string& filename)
+{
+ return select_filename(filename.c_str());
+}
+
+void
+Gtk::FileChooser::unselect_filename(const std::string& filename)
+{
+ unselect_filename(filename.c_str());
+}
+
+bool
+Gtk::FileChooser::set_current_folder(const std::string& filename)
+{
+ return set_current_folder(filename.c_str());
+}
+
+bool
+Gtk::FileChooser::set_uri(const String& uri)
+{
+ return set_uri(uri.c_str());
+}
+
+bool
+Gtk::FileChooser::select_uri(const String& uri)
+{
+ return select_uri(uri.c_str());
+}
+
+void
+Gtk::FileChooser::unselect_uri(const String& uri)
+{
+ unselect_uri(uri.c_str());
+}
+
+bool
+Gtk::FileChooser::set_current_folder_uri(const String& uri)
+{
+ return set_current_folder_uri(uri.c_str());
+}
+
+void
+Gtk::FileChooser::set_preview_widget(Widget& preview_widget)
+{
+ gtk_file_chooser_set_preview_widget(gtk_file_chooser(), preview_widget.gtk_widget());
+}
+
+void
+Gtk::FileChooser::set_extra_widget(Widget& extra_widget)
+{
+ gtk_file_chooser_set_extra_widget(gtk_file_chooser(), extra_widget.gtk_widget());
+}
+
+void
+Gtk::FileChooser::add_filter(const FileFilter& filter)
+{
+ gtk_file_chooser_add_filter(gtk_file_chooser(), filter.gtk_file_filter());
+}
+
+void
+Gtk::FileChooser::remove_filter(const FileFilter& filter)
+{
+ gtk_file_chooser_remove_filter(gtk_file_chooser(), filter.gtk_file_filter());
+}
+
+void
+Gtk::FileChooser::set_filter(const FileFilter& filter)
+{
+ gtk_file_chooser_set_filter(gtk_file_chooser(), filter.gtk_file_filter());
+}
+
+bool
+Gtk::FileChooser::add_shortcut_folder(const char *folder, G::Error *error)
+{
+ return gtk_file_chooser_add_shortcut_folder(gtk_file_chooser(), folder, *error);
+}
+
+bool
+Gtk::FileChooser::add_shortcut_folder(const std::string& folder, G::Error *error)
+{
+ return add_shortcut_folder(folder.c_str(), error);
+}
+
+bool
+Gtk::FileChooser::remove_shortcut_folder(const char *folder, G::Error *error)
+{
+ return gtk_file_chooser_remove_shortcut_folder(gtk_file_chooser(), folder, *error);
+}
+
+bool
+Gtk::FileChooser::remove_shortcut_folder(const std::string& folder, G::Error *error)
+{
+ return remove_shortcut_folder(folder.c_str(), error);
+}
+
+bool
+Gtk::FileChooser::add_shortcut_folder_uri(const char *uri, G::Error *error)
+{
+ return gtk_file_chooser_add_shortcut_folder_uri(gtk_file_chooser(), uri, *error);
+}
+
+bool
+Gtk::FileChooser::add_shortcut_folder_uri(const String& uri, G::Error *error)
+{
+ return add_shortcut_folder_uri(uri.c_str(), error);
+}
+
+bool
+Gtk::FileChooser::remove_shortcut_folder_uri(const char *uri, G::Error *error)
+{
+ return gtk_file_chooser_remove_shortcut_folder_uri(gtk_file_chooser(), uri, *error);
+}
+
+bool
+Gtk::FileChooser::remove_shortcut_folder_uri(const String& uri, G::Error *error)
+{
+ return remove_shortcut_folder_uri(uri.c_str(), error);
+}
+
+/* Gtk::FileChooser signals
+ */
+
+const Gtk::FileChooser::CurrentFolderChangedSignalType Gtk::FileChooser::current_folder_changed_signal("current-folder-changed", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::FileChooser::FilerActivatedSignalType Gtk::FileChooser::file_activated_signal("file-activated", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::FileChooser::SelectionChangedSignalType Gtk::FileChooser::selection_changed_signal("selection-changed", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::FileChooser::UpdatePreviewSignalType Gtk::FileChooser::update_preview_signal("update-preview", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gtk/filechooser.hh b/ui/xfc/gtk/filechooser.hh
similarity index 100%
rename from libXFCui/xfc/gtk/filechooser.hh
rename to ui/xfc/gtk/filechooser.hh
diff --git a/libXFCui/xfc/gtk/filechooserbutton.cc b/ui/xfc/gtk/filechooserbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/filechooserbutton.cc
rename to ui/xfc/gtk/filechooserbutton.cc
diff --git a/libXFCui/xfc/gtk/filechooserbutton.hh b/ui/xfc/gtk/filechooserbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/filechooserbutton.hh
rename to ui/xfc/gtk/filechooserbutton.hh
diff --git a/libXFCui/xfc/gtk/filechooserdialog.cc b/ui/xfc/gtk/filechooserdialog.cc
similarity index 100%
rename from libXFCui/xfc/gtk/filechooserdialog.cc
rename to ui/xfc/gtk/filechooserdialog.cc
diff --git a/libXFCui/xfc/gtk/filechooserdialog.hh b/ui/xfc/gtk/filechooserdialog.hh
similarity index 100%
rename from libXFCui/xfc/gtk/filechooserdialog.hh
rename to ui/xfc/gtk/filechooserdialog.hh
diff --git a/libXFCui/xfc/gtk/filechooserwidget.cc b/ui/xfc/gtk/filechooserwidget.cc
similarity index 100%
rename from libXFCui/xfc/gtk/filechooserwidget.cc
rename to ui/xfc/gtk/filechooserwidget.cc
diff --git a/libXFCui/xfc/gtk/filechooserwidget.hh b/ui/xfc/gtk/filechooserwidget.hh
similarity index 100%
rename from libXFCui/xfc/gtk/filechooserwidget.hh
rename to ui/xfc/gtk/filechooserwidget.hh
diff --git a/libXFCui/xfc/gtk/filefilter.cc b/ui/xfc/gtk/filefilter.cc
similarity index 100%
rename from libXFCui/xfc/gtk/filefilter.cc
rename to ui/xfc/gtk/filefilter.cc
diff --git a/libXFCui/xfc/gtk/filefilter.hh b/ui/xfc/gtk/filefilter.hh
similarity index 100%
rename from libXFCui/xfc/gtk/filefilter.hh
rename to ui/xfc/gtk/filefilter.hh
diff --git a/libXFCui/xfc/gtk/fixed.cc b/ui/xfc/gtk/fixed.cc
similarity index 100%
rename from libXFCui/xfc/gtk/fixed.cc
rename to ui/xfc/gtk/fixed.cc
diff --git a/libXFCui/xfc/gtk/fixed.hh b/ui/xfc/gtk/fixed.hh
similarity index 100%
rename from libXFCui/xfc/gtk/fixed.hh
rename to ui/xfc/gtk/fixed.hh
diff --git a/libXFCui/xfc/gtk/fontbutton.cc b/ui/xfc/gtk/fontbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/fontbutton.cc
rename to ui/xfc/gtk/fontbutton.cc
diff --git a/libXFCui/xfc/gtk/fontbutton.hh b/ui/xfc/gtk/fontbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/fontbutton.hh
rename to ui/xfc/gtk/fontbutton.hh
diff --git a/libXFCui/xfc/gtk/fontbuttonsignals.cc b/ui/xfc/gtk/fontbuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/fontbuttonsignals.cc
rename to ui/xfc/gtk/fontbuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/fontbuttonsignals.hh b/ui/xfc/gtk/fontbuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/fontbuttonsignals.hh
rename to ui/xfc/gtk/fontbuttonsignals.hh
diff --git a/libXFCui/xfc/gtk/fontselection.cc b/ui/xfc/gtk/fontselection.cc
similarity index 100%
rename from libXFCui/xfc/gtk/fontselection.cc
rename to ui/xfc/gtk/fontselection.cc
diff --git a/libXFCui/xfc/gtk/fontselection.hh b/ui/xfc/gtk/fontselection.hh
similarity index 100%
rename from libXFCui/xfc/gtk/fontselection.hh
rename to ui/xfc/gtk/fontselection.hh
diff --git a/libXFCui/xfc/gtk/frame.cc b/ui/xfc/gtk/frame.cc
similarity index 100%
rename from libXFCui/xfc/gtk/frame.cc
rename to ui/xfc/gtk/frame.cc
diff --git a/libXFCui/xfc/gtk/frame.hh b/ui/xfc/gtk/frame.hh
similarity index 100%
rename from libXFCui/xfc/gtk/frame.hh
rename to ui/xfc/gtk/frame.hh
diff --git a/libXFCui/xfc/gtk/gammacurve.cc b/ui/xfc/gtk/gammacurve.cc
similarity index 100%
rename from libXFCui/xfc/gtk/gammacurve.cc
rename to ui/xfc/gtk/gammacurve.cc
diff --git a/libXFCui/xfc/gtk/gammacurve.hh b/ui/xfc/gtk/gammacurve.hh
similarity index 100%
rename from libXFCui/xfc/gtk/gammacurve.hh
rename to ui/xfc/gtk/gammacurve.hh
diff --git a/libXFCui/xfc/gtk/gc.cc b/ui/xfc/gtk/gc.cc
similarity index 100%
rename from libXFCui/xfc/gtk/gc.cc
rename to ui/xfc/gtk/gc.cc
diff --git a/libXFCui/xfc/gtk/gc.hh b/ui/xfc/gtk/gc.hh
similarity index 100%
rename from libXFCui/xfc/gtk/gc.hh
rename to ui/xfc/gtk/gc.hh
diff --git a/libXFCui/xfc/gtk/gtk.hh b/ui/xfc/gtk/gtk.hh
similarity index 100%
rename from libXFCui/xfc/gtk/gtk.hh
rename to ui/xfc/gtk/gtk.hh
diff --git a/libXFCui/xfc/gtk/handlebox.cc b/ui/xfc/gtk/handlebox.cc
similarity index 100%
rename from libXFCui/xfc/gtk/handlebox.cc
rename to ui/xfc/gtk/handlebox.cc
diff --git a/libXFCui/xfc/gtk/handlebox.hh b/ui/xfc/gtk/handlebox.hh
similarity index 100%
rename from libXFCui/xfc/gtk/handlebox.hh
rename to ui/xfc/gtk/handlebox.hh
diff --git a/libXFCui/xfc/gtk/handleboxsignals.cc b/ui/xfc/gtk/handleboxsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/handleboxsignals.cc
rename to ui/xfc/gtk/handleboxsignals.cc
diff --git a/libXFCui/xfc/gtk/handleboxsignals.hh b/ui/xfc/gtk/handleboxsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/handleboxsignals.hh
rename to ui/xfc/gtk/handleboxsignals.hh
diff --git a/libXFCui/xfc/gtk/iconfactory.cc b/ui/xfc/gtk/iconfactory.cc
similarity index 100%
rename from libXFCui/xfc/gtk/iconfactory.cc
rename to ui/xfc/gtk/iconfactory.cc
diff --git a/libXFCui/xfc/gtk/iconfactory.hh b/ui/xfc/gtk/iconfactory.hh
similarity index 100%
rename from libXFCui/xfc/gtk/iconfactory.hh
rename to ui/xfc/gtk/iconfactory.hh
diff --git a/libXFCui/xfc/gtk/iconset.cc b/ui/xfc/gtk/iconset.cc
similarity index 100%
rename from libXFCui/xfc/gtk/iconset.cc
rename to ui/xfc/gtk/iconset.cc
diff --git a/libXFCui/xfc/gtk/iconset.hh b/ui/xfc/gtk/iconset.hh
similarity index 100%
rename from libXFCui/xfc/gtk/iconset.hh
rename to ui/xfc/gtk/iconset.hh
diff --git a/libXFCui/xfc/gtk/iconsource.cc b/ui/xfc/gtk/iconsource.cc
similarity index 100%
rename from libXFCui/xfc/gtk/iconsource.cc
rename to ui/xfc/gtk/iconsource.cc
diff --git a/libXFCui/xfc/gtk/iconsource.hh b/ui/xfc/gtk/iconsource.hh
similarity index 100%
rename from libXFCui/xfc/gtk/iconsource.hh
rename to ui/xfc/gtk/iconsource.hh
diff --git a/ui/xfc/gtk/icontheme.cc b/ui/xfc/gtk/icontheme.cc
new file mode 100644
index 0000000..cf6dca8
--- /dev/null
+++ b/ui/xfc/gtk/icontheme.cc
@@ -0,0 +1,353 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * icontheme.cc - GtkIconTheme C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "icontheme.hh"
+#include "iconthemesignals.hh"
+#include "private/iconthemeclass.hh"
+#include "private/marshal.hh"
+#include "../gdk/screen.hh"
+#include "../gdk-pixbuf/pixbuf.hh"
+#include "xfc/glib/error.hh"
+
+using namespace Xfc;
+
+/* Gtk::IconInfo
+ */
+
+Gtk::IconInfo::IconInfo(GtkIconInfo *icon_info)
+: G::Boxed(GTK_TYPE_ICON_INFO, icon_info)
+{
+}
+
+Gtk::IconInfo::IconInfo(GtkIconInfo *icon_info, bool copy)
+: G::Boxed(GTK_TYPE_ICON_INFO, icon_info, copy)
+{
+}
+
+Gtk::IconInfo::IconInfo(const IconInfo& src)
+: G::Boxed(GTK_TYPE_ICON_INFO, src.g_boxed(), true)
+{
+}
+
+Gtk::IconInfo::~IconInfo()
+{
+}
+
+Gtk::IconInfo&
+Gtk::IconInfo::operator=(const IconInfo& src)
+{
+ if (src.boxed_ != boxed_)
+ copy(src);
+ return *this;
+}
+
+String
+Gtk::IconInfo::get_filename() const
+{
+ return gtk_icon_info_get_filename(gtk_icon_info());
+}
+
+Gdk::Pixbuf*
+Gtk::IconInfo::get_builtin_pixbuf() const
+{
+ return G::Object::wrap<Gdk::Pixbuf>(gtk_icon_info_get_builtin_pixbuf(gtk_icon_info()));
+}
+
+bool
+Gtk::IconInfo::get_embedded_rect(Gdk::Rectangle& rectangle) const
+{
+ return gtk_icon_info_get_embedded_rect(gtk_icon_info(), rectangle.gdk_rectangle());
+}
+
+std::vector<Gdk::Point>
+Gtk::IconInfo::get_attach_points() const
+{
+ GdkPoint *tmp_points = 0;
+ int count = 0;
+ gtk_icon_info_get_attach_points(gtk_icon_info(), &tmp_points, &count);
+
+ std::vector<Gdk::Point> points;
+ int i = 0;
+ while (i < count)
+ {
+ points.push_back(tmp_points[i]);
+ ++i;
+ }
+
+ g_free(tmp_points);
+ return points;
+}
+
+String
+Gtk::IconInfo::get_display_name() const
+{
+ return gtk_icon_info_get_display_name(gtk_icon_info());
+}
+
+Pointer<Gdk::Pixbuf>
+Gtk::IconInfo::load_icon(G::Error *error)
+{
+ GdkPixbuf *pixbuf = gtk_icon_info_load_icon(gtk_icon_info(), *error);
+ return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf) : 0;
+}
+
+void
+Gtk::IconInfo::set_raw_coordinates(bool raw_coordinates)
+{
+ return gtk_icon_info_set_raw_coordinates(gtk_icon_info(), raw_coordinates);
+}
+
+/* Gtk::IconTheme
+ */
+
+Gtk::IconTheme::IconTheme(GtkIconTheme *icon_theme, bool owns_reference)
+: G::Object((GObject*)icon_theme, owns_reference)
+{
+}
+
+Gtk::IconTheme::IconTheme()
+: G::Object((GObject*)IconThemeClass::create())
+{
+}
+
+Gtk::IconTheme::~IconTheme()
+{
+}
+
+Gtk::IconTheme*
+Gtk::IconTheme::get_for_screen(const Gdk::Screen *screen)
+{
+ GdkScreen *tmp_screen = screen ? screen->gdk_screen() : gdk_screen_get_default();
+ return G::Object::wrap<IconTheme>(gtk_icon_theme_get_for_screen(tmp_screen));
+}
+
+std::vector<String>
+Gtk::IconTheme::get_search_path() const
+{
+ char **tmp_path = 0;
+ gtk_icon_theme_get_search_path(gtk_icon_theme(), &tmp_path, 0);
+ std::vector<String> path;
+ int i = 0;
+ while (tmp_path[i])
+ {
+ String s(tmp_path[i]);
+ path.push_back(s);
+ ++i;
+ }
+ g_strfreev(tmp_path);
+ return path;
+}
+
+String
+Gtk::IconTheme::get_example_icon_name() const
+{
+ char *icon_name = gtk_icon_theme_get_example_icon_name(gtk_icon_theme());
+ String s(icon_name);
+ g_free(icon_name);
+ return s;
+}
+
+bool
+Gtk::IconTheme::has_icon(const String& icon_name) const
+{
+ return has_icon(icon_name.c_str());
+}
+
+std::vector<int>
+Gtk::IconTheme::get_icon_sizes(const char *icon_name) const
+{
+ std::vector<int> sizes;
+ int *tmp_sizes = gtk_icon_theme_get_icon_sizes(gtk_icon_theme(), icon_name);
+
+ int i = 0;
+ while (tmp_sizes && tmp_sizes[i] != 0)
+ {
+ sizes.push_back(tmp_sizes[i]);
+ ++i;
+ }
+
+ g_free(tmp_sizes);
+ return sizes;
+}
+
+std::vector<int>
+Gtk::IconTheme::get_icon_sizes(const String& icon_name) const
+{
+ return get_icon_sizes(icon_name.c_str());
+}
+
+void
+Gtk::IconTheme::set_screen(Gdk::Screen *screen)
+{
+ gtk_icon_theme_set_screen(gtk_icon_theme(), *screen);
+}
+
+void
+Gtk::IconTheme::set_search_path(const std::vector<String>& path)
+{
+ g_return_if_fail(!path.empty());
+ int count = path.size();
+ const char **tmp_path = new const char*[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_path[i] = path[i].c_str();
+ ++i;
+ }
+
+ gtk_icon_theme_set_search_path(gtk_icon_theme(), tmp_path, count);
+ delete [] tmp_path;
+}
+
+void
+Gtk::IconTheme::append_search_path(const String& path)
+{
+ append_search_path(path.c_str());
+}
+
+void
+Gtk::IconTheme::prepend_search_path(const String& path)
+{
+ prepend_search_path(path.c_str());
+}
+
+void
+Gtk::IconTheme::set_custom_theme(const String& theme_name)
+{
+ set_custom_theme(theme_name.c_str());
+}
+
+Pointer<Gtk::IconInfo>
+Gtk::IconTheme::lookup_icon(const char *icon_name, int size, IconLookupFlagsField flags)
+{
+ GtkIconInfo *info = gtk_icon_theme_lookup_icon(gtk_icon_theme(), icon_name, size, (GtkIconLookupFlags)flags);
+ return info ? G::Boxed::wrap<IconInfo>(GTK_TYPE_ICON_INFO, info, false) : 0;
+}
+
+Pointer<Gtk::IconInfo>
+Gtk::IconTheme::lookup_icon(const String& icon_name, int size, IconLookupFlagsField flags)
+{
+ return lookup_icon(icon_name.c_str(), size, flags);
+}
+
+
+Pointer<Gdk::Pixbuf>
+Gtk::IconTheme::load_icon(const char *icon_name, int size, IconLookupFlagsField flags, G::Error *error)
+{
+ GdkPixbuf *pixbuf = gtk_icon_theme_load_icon(gtk_icon_theme(), icon_name, size, (GtkIconLookupFlags)flags, *error);
+ return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf) : 0;
+}
+
+Pointer<Gdk::Pixbuf>
+Gtk::IconTheme::load_icon(const String& icon_name, int size, IconLookupFlagsField flags, G::Error *error)
+{
+ return load_icon(icon_name, size, flags, error);
+}
+
+std::vector<String>
+Gtk::IconTheme::list_icons(const char *context)
+{
+ std::vector<String> icons;
+ GList *first = gtk_icon_theme_list_icons(gtk_icon_theme(), context);
+ GList *next = first;
+
+ while (next)
+ {
+ char *icon_name = (char*)next->data;
+ icons.push_back(icon_name);
+ g_free(icon_name);
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return icons;
+}
+
+std::vector<String>
+Gtk::IconTheme::list_icons(const String& context)
+{
+ return list_icons(context.c_str());
+}
+
+void
+Gtk::IconTheme::add_builtin_icon(const char *icon_name, int size, Gdk::Pixbuf& pixbuf)
+{
+ gtk_icon_theme_add_builtin_icon(icon_name, size, pixbuf.gdk_pixbuf());
+}
+
+void
+Gtk::IconTheme::add_builtin_icon(const String& icon_name, int size, Gdk::Pixbuf& pixbuf)
+{
+ gtk_icon_theme_add_builtin_icon(icon_name.c_str(), size, pixbuf.gdk_pixbuf());
+}
+
+/* Gtk::IconThemeClass
+ */
+
+void
+Gtk::IconThemeClass::init(GtkIconThemeClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+ g_class->changed = &changed_proxy;
+}
+
+GtkIconThemeClass*
+Gtk::IconThemeClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkIconThemeClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::IconThemeClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_ICON_THEME, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::IconThemeClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::IconThemeClass::changed_proxy(GtkIconTheme *icon_theme)
+{
+ IconThemeSignals *signals = dynamic_cast<IconThemeSignals*>(G::ObjectSignals::pointer((GObject*)icon_theme));
+ if (signals)
+ signals->on_changed();
+ else
+ {
+ GtkIconThemeClass *g_class = get_parent_class(icon_theme);
+ if (g_class && g_class->changed)
+ g_class->changed(icon_theme);
+ }
+}
+
+/* Gtk::IconTheme signals
+ */
+
+const Gtk::IconTheme::ChangedSignalType Gtk::IconTheme::changed_signal("changed", (GCallback)&G::Marshal::void_callback);
+
diff --git a/libXFCui/xfc/gtk/icontheme.hh b/ui/xfc/gtk/icontheme.hh
similarity index 100%
rename from libXFCui/xfc/gtk/icontheme.hh
rename to ui/xfc/gtk/icontheme.hh
diff --git a/libXFCui/xfc/gtk/iconthemesignals.cc b/ui/xfc/gtk/iconthemesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/iconthemesignals.cc
rename to ui/xfc/gtk/iconthemesignals.cc
diff --git a/libXFCui/xfc/gtk/iconthemesignals.hh b/ui/xfc/gtk/iconthemesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/iconthemesignals.hh
rename to ui/xfc/gtk/iconthemesignals.hh
diff --git a/libXFCui/xfc/gtk/iconview.cc b/ui/xfc/gtk/iconview.cc
similarity index 100%
rename from libXFCui/xfc/gtk/iconview.cc
rename to ui/xfc/gtk/iconview.cc
diff --git a/libXFCui/xfc/gtk/iconview.hh b/ui/xfc/gtk/iconview.hh
similarity index 100%
rename from libXFCui/xfc/gtk/iconview.hh
rename to ui/xfc/gtk/iconview.hh
diff --git a/libXFCui/xfc/gtk/iconviewsignals.cc b/ui/xfc/gtk/iconviewsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/iconviewsignals.cc
rename to ui/xfc/gtk/iconviewsignals.cc
diff --git a/libXFCui/xfc/gtk/iconviewsignals.hh b/ui/xfc/gtk/iconviewsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/iconviewsignals.hh
rename to ui/xfc/gtk/iconviewsignals.hh
diff --git a/libXFCui/xfc/gtk/image.cc b/ui/xfc/gtk/image.cc
similarity index 100%
rename from libXFCui/xfc/gtk/image.cc
rename to ui/xfc/gtk/image.cc
diff --git a/libXFCui/xfc/gtk/image.hh b/ui/xfc/gtk/image.hh
similarity index 100%
rename from libXFCui/xfc/gtk/image.hh
rename to ui/xfc/gtk/image.hh
diff --git a/libXFCui/xfc/gtk/imagemenuitem.cc b/ui/xfc/gtk/imagemenuitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/imagemenuitem.cc
rename to ui/xfc/gtk/imagemenuitem.cc
diff --git a/libXFCui/xfc/gtk/imagemenuitem.hh b/ui/xfc/gtk/imagemenuitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/imagemenuitem.hh
rename to ui/xfc/gtk/imagemenuitem.hh
diff --git a/libXFCui/xfc/gtk/inline/Makefile.am b/ui/xfc/gtk/inline/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gtk/inline/Makefile.am
rename to ui/xfc/gtk/inline/Makefile.am
diff --git a/libXFCui/xfc/gtk/inline/aboutdialog.inl b/ui/xfc/gtk/inline/aboutdialog.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/aboutdialog.inl
rename to ui/xfc/gtk/inline/aboutdialog.inl
diff --git a/libXFCui/xfc/gtk/inline/accelgroup.inl b/ui/xfc/gtk/inline/accelgroup.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/accelgroup.inl
rename to ui/xfc/gtk/inline/accelgroup.inl
diff --git a/libXFCui/xfc/gtk/inline/accelkey.inl b/ui/xfc/gtk/inline/accelkey.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/accelkey.inl
rename to ui/xfc/gtk/inline/accelkey.inl
diff --git a/libXFCui/xfc/gtk/inline/accellabel.inl b/ui/xfc/gtk/inline/accellabel.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/accellabel.inl
rename to ui/xfc/gtk/inline/accellabel.inl
diff --git a/libXFCui/xfc/gtk/inline/accelmap.inl b/ui/xfc/gtk/inline/accelmap.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/accelmap.inl
rename to ui/xfc/gtk/inline/accelmap.inl
diff --git a/libXFCui/xfc/gtk/inline/accessible.inl b/ui/xfc/gtk/inline/accessible.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/accessible.inl
rename to ui/xfc/gtk/inline/accessible.inl
diff --git a/libXFCui/xfc/gtk/inline/action.inl b/ui/xfc/gtk/inline/action.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/action.inl
rename to ui/xfc/gtk/inline/action.inl
diff --git a/libXFCui/xfc/gtk/inline/actiongroup.inl b/ui/xfc/gtk/inline/actiongroup.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/actiongroup.inl
rename to ui/xfc/gtk/inline/actiongroup.inl
diff --git a/libXFCui/xfc/gtk/inline/adjustment.inl b/ui/xfc/gtk/inline/adjustment.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/adjustment.inl
rename to ui/xfc/gtk/inline/adjustment.inl
diff --git a/libXFCui/xfc/gtk/inline/alignment.inl b/ui/xfc/gtk/inline/alignment.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/alignment.inl
rename to ui/xfc/gtk/inline/alignment.inl
diff --git a/libXFCui/xfc/gtk/inline/arrow.inl b/ui/xfc/gtk/inline/arrow.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/arrow.inl
rename to ui/xfc/gtk/inline/arrow.inl
diff --git a/libXFCui/xfc/gtk/inline/aspectframe.inl b/ui/xfc/gtk/inline/aspectframe.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/aspectframe.inl
rename to ui/xfc/gtk/inline/aspectframe.inl
diff --git a/libXFCui/xfc/gtk/inline/bin.inl b/ui/xfc/gtk/inline/bin.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/bin.inl
rename to ui/xfc/gtk/inline/bin.inl
diff --git a/libXFCui/xfc/gtk/inline/box.inl b/ui/xfc/gtk/inline/box.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/box.inl
rename to ui/xfc/gtk/inline/box.inl
diff --git a/libXFCui/xfc/gtk/inline/boxchild.inl b/ui/xfc/gtk/inline/boxchild.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/boxchild.inl
rename to ui/xfc/gtk/inline/boxchild.inl
diff --git a/libXFCui/xfc/gtk/inline/builder.inl b/ui/xfc/gtk/inline/builder.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/builder.inl
rename to ui/xfc/gtk/inline/builder.inl
diff --git a/libXFCui/xfc/gtk/inline/button.inl b/ui/xfc/gtk/inline/button.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/button.inl
rename to ui/xfc/gtk/inline/button.inl
diff --git a/libXFCui/xfc/gtk/inline/buttonbox.inl b/ui/xfc/gtk/inline/buttonbox.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/buttonbox.inl
rename to ui/xfc/gtk/inline/buttonbox.inl
diff --git a/libXFCui/xfc/gtk/inline/calendar.inl b/ui/xfc/gtk/inline/calendar.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/calendar.inl
rename to ui/xfc/gtk/inline/calendar.inl
diff --git a/libXFCui/xfc/gtk/inline/celleditable.inl b/ui/xfc/gtk/inline/celleditable.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/celleditable.inl
rename to ui/xfc/gtk/inline/celleditable.inl
diff --git a/libXFCui/xfc/gtk/inline/celllayout.inl b/ui/xfc/gtk/inline/celllayout.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/celllayout.inl
rename to ui/xfc/gtk/inline/celllayout.inl
diff --git a/libXFCui/xfc/gtk/inline/cellrenderer.inl b/ui/xfc/gtk/inline/cellrenderer.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellrenderer.inl
rename to ui/xfc/gtk/inline/cellrenderer.inl
diff --git a/libXFCui/xfc/gtk/inline/cellrenderercombo.inl b/ui/xfc/gtk/inline/cellrenderercombo.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellrenderercombo.inl
rename to ui/xfc/gtk/inline/cellrenderercombo.inl
diff --git a/libXFCui/xfc/gtk/inline/cellrendererpixbuf.inl b/ui/xfc/gtk/inline/cellrendererpixbuf.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellrendererpixbuf.inl
rename to ui/xfc/gtk/inline/cellrendererpixbuf.inl
diff --git a/libXFCui/xfc/gtk/inline/cellrendererprogress.inl b/ui/xfc/gtk/inline/cellrendererprogress.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellrendererprogress.inl
rename to ui/xfc/gtk/inline/cellrendererprogress.inl
diff --git a/libXFCui/xfc/gtk/inline/cellrenderertext.inl b/ui/xfc/gtk/inline/cellrenderertext.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellrenderertext.inl
rename to ui/xfc/gtk/inline/cellrenderertext.inl
diff --git a/libXFCui/xfc/gtk/inline/cellrenderertoggle.inl b/ui/xfc/gtk/inline/cellrenderertoggle.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellrenderertoggle.inl
rename to ui/xfc/gtk/inline/cellrenderertoggle.inl
diff --git a/libXFCui/xfc/gtk/inline/cellview.inl b/ui/xfc/gtk/inline/cellview.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/cellview.inl
rename to ui/xfc/gtk/inline/cellview.inl
diff --git a/libXFCui/xfc/gtk/inline/checkbutton.inl b/ui/xfc/gtk/inline/checkbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/checkbutton.inl
rename to ui/xfc/gtk/inline/checkbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/checkmenuitem.inl b/ui/xfc/gtk/inline/checkmenuitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/checkmenuitem.inl
rename to ui/xfc/gtk/inline/checkmenuitem.inl
diff --git a/libXFCui/xfc/gtk/inline/clipboard.inl b/ui/xfc/gtk/inline/clipboard.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/clipboard.inl
rename to ui/xfc/gtk/inline/clipboard.inl
diff --git a/libXFCui/xfc/gtk/inline/colorbutton.inl b/ui/xfc/gtk/inline/colorbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/colorbutton.inl
rename to ui/xfc/gtk/inline/colorbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/colorselection.inl b/ui/xfc/gtk/inline/colorselection.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/colorselection.inl
rename to ui/xfc/gtk/inline/colorselection.inl
diff --git a/libXFCui/xfc/gtk/inline/combobox.inl b/ui/xfc/gtk/inline/combobox.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/combobox.inl
rename to ui/xfc/gtk/inline/combobox.inl
diff --git a/libXFCui/xfc/gtk/inline/comboboxentry.inl b/ui/xfc/gtk/inline/comboboxentry.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/comboboxentry.inl
rename to ui/xfc/gtk/inline/comboboxentry.inl
diff --git a/libXFCui/xfc/gtk/inline/container.inl b/ui/xfc/gtk/inline/container.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/container.inl
rename to ui/xfc/gtk/inline/container.inl
diff --git a/libXFCui/xfc/gtk/inline/curve.inl b/ui/xfc/gtk/inline/curve.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/curve.inl
rename to ui/xfc/gtk/inline/curve.inl
diff --git a/libXFCui/xfc/gtk/inline/dialog.inl b/ui/xfc/gtk/inline/dialog.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/dialog.inl
rename to ui/xfc/gtk/inline/dialog.inl
diff --git a/libXFCui/xfc/gtk/inline/dnd.inl b/ui/xfc/gtk/inline/dnd.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/dnd.inl
rename to ui/xfc/gtk/inline/dnd.inl
diff --git a/libXFCui/xfc/gtk/inline/drawingarea.inl b/ui/xfc/gtk/inline/drawingarea.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/drawingarea.inl
rename to ui/xfc/gtk/inline/drawingarea.inl
diff --git a/libXFCui/xfc/gtk/inline/editable.inl b/ui/xfc/gtk/inline/editable.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/editable.inl
rename to ui/xfc/gtk/inline/editable.inl
diff --git a/libXFCui/xfc/gtk/inline/entry.inl b/ui/xfc/gtk/inline/entry.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/entry.inl
rename to ui/xfc/gtk/inline/entry.inl
diff --git a/libXFCui/xfc/gtk/inline/entrycompletion.inl b/ui/xfc/gtk/inline/entrycompletion.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/entrycompletion.inl
rename to ui/xfc/gtk/inline/entrycompletion.inl
diff --git a/libXFCui/xfc/gtk/inline/eventbox.inl b/ui/xfc/gtk/inline/eventbox.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/eventbox.inl
rename to ui/xfc/gtk/inline/eventbox.inl
diff --git a/libXFCui/xfc/gtk/inline/expander.inl b/ui/xfc/gtk/inline/expander.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/expander.inl
rename to ui/xfc/gtk/inline/expander.inl
diff --git a/libXFCui/xfc/gtk/inline/filechooser.inl b/ui/xfc/gtk/inline/filechooser.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/filechooser.inl
rename to ui/xfc/gtk/inline/filechooser.inl
diff --git a/libXFCui/xfc/gtk/inline/filechooserbutton.inl b/ui/xfc/gtk/inline/filechooserbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/filechooserbutton.inl
rename to ui/xfc/gtk/inline/filechooserbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/filechooserdialog.inl b/ui/xfc/gtk/inline/filechooserdialog.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/filechooserdialog.inl
rename to ui/xfc/gtk/inline/filechooserdialog.inl
diff --git a/libXFCui/xfc/gtk/inline/filechooserwidget.inl b/ui/xfc/gtk/inline/filechooserwidget.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/filechooserwidget.inl
rename to ui/xfc/gtk/inline/filechooserwidget.inl
diff --git a/libXFCui/xfc/gtk/inline/filefilter.inl b/ui/xfc/gtk/inline/filefilter.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/filefilter.inl
rename to ui/xfc/gtk/inline/filefilter.inl
diff --git a/libXFCui/xfc/gtk/inline/fixed.inl b/ui/xfc/gtk/inline/fixed.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/fixed.inl
rename to ui/xfc/gtk/inline/fixed.inl
diff --git a/libXFCui/xfc/gtk/inline/fontbutton.inl b/ui/xfc/gtk/inline/fontbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/fontbutton.inl
rename to ui/xfc/gtk/inline/fontbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/fontselection.inl b/ui/xfc/gtk/inline/fontselection.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/fontselection.inl
rename to ui/xfc/gtk/inline/fontselection.inl
diff --git a/libXFCui/xfc/gtk/inline/frame.inl b/ui/xfc/gtk/inline/frame.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/frame.inl
rename to ui/xfc/gtk/inline/frame.inl
diff --git a/libXFCui/xfc/gtk/inline/gammacurve.inl b/ui/xfc/gtk/inline/gammacurve.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/gammacurve.inl
rename to ui/xfc/gtk/inline/gammacurve.inl
diff --git a/libXFCui/xfc/gtk/inline/handlebox.inl b/ui/xfc/gtk/inline/handlebox.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/handlebox.inl
rename to ui/xfc/gtk/inline/handlebox.inl
diff --git a/libXFCui/xfc/gtk/inline/iconfactory.inl b/ui/xfc/gtk/inline/iconfactory.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/iconfactory.inl
rename to ui/xfc/gtk/inline/iconfactory.inl
diff --git a/libXFCui/xfc/gtk/inline/iconset.inl b/ui/xfc/gtk/inline/iconset.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/iconset.inl
rename to ui/xfc/gtk/inline/iconset.inl
diff --git a/libXFCui/xfc/gtk/inline/iconsource.inl b/ui/xfc/gtk/inline/iconsource.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/iconsource.inl
rename to ui/xfc/gtk/inline/iconsource.inl
diff --git a/libXFCui/xfc/gtk/inline/icontheme.inl b/ui/xfc/gtk/inline/icontheme.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/icontheme.inl
rename to ui/xfc/gtk/inline/icontheme.inl
diff --git a/libXFCui/xfc/gtk/inline/iconview.inl b/ui/xfc/gtk/inline/iconview.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/iconview.inl
rename to ui/xfc/gtk/inline/iconview.inl
diff --git a/libXFCui/xfc/gtk/inline/image.inl b/ui/xfc/gtk/inline/image.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/image.inl
rename to ui/xfc/gtk/inline/image.inl
diff --git a/libXFCui/xfc/gtk/inline/imagemenuitem.inl b/ui/xfc/gtk/inline/imagemenuitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/imagemenuitem.inl
rename to ui/xfc/gtk/inline/imagemenuitem.inl
diff --git a/libXFCui/xfc/gtk/inline/invisible.inl b/ui/xfc/gtk/inline/invisible.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/invisible.inl
rename to ui/xfc/gtk/inline/invisible.inl
diff --git a/libXFCui/xfc/gtk/inline/item.inl b/ui/xfc/gtk/inline/item.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/item.inl
rename to ui/xfc/gtk/inline/item.inl
diff --git a/libXFCui/xfc/gtk/inline/label.inl b/ui/xfc/gtk/inline/label.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/label.inl
rename to ui/xfc/gtk/inline/label.inl
diff --git a/libXFCui/xfc/gtk/inline/layout.inl b/ui/xfc/gtk/inline/layout.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/layout.inl
rename to ui/xfc/gtk/inline/layout.inl
diff --git a/libXFCui/xfc/gtk/inline/liststore.inl b/ui/xfc/gtk/inline/liststore.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/liststore.inl
rename to ui/xfc/gtk/inline/liststore.inl
diff --git a/libXFCui/xfc/gtk/inline/menu.inl b/ui/xfc/gtk/inline/menu.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/menu.inl
rename to ui/xfc/gtk/inline/menu.inl
diff --git a/libXFCui/xfc/gtk/inline/menubar.inl b/ui/xfc/gtk/inline/menubar.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/menubar.inl
rename to ui/xfc/gtk/inline/menubar.inl
diff --git a/libXFCui/xfc/gtk/inline/menuitem.inl b/ui/xfc/gtk/inline/menuitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/menuitem.inl
rename to ui/xfc/gtk/inline/menuitem.inl
diff --git a/libXFCui/xfc/gtk/inline/menushell.inl b/ui/xfc/gtk/inline/menushell.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/menushell.inl
rename to ui/xfc/gtk/inline/menushell.inl
diff --git a/libXFCui/xfc/gtk/inline/menutoolbutton.inl b/ui/xfc/gtk/inline/menutoolbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/menutoolbutton.inl
rename to ui/xfc/gtk/inline/menutoolbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/messagedialog.inl b/ui/xfc/gtk/inline/messagedialog.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/messagedialog.inl
rename to ui/xfc/gtk/inline/messagedialog.inl
diff --git a/libXFCui/xfc/gtk/inline/misc.inl b/ui/xfc/gtk/inline/misc.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/misc.inl
rename to ui/xfc/gtk/inline/misc.inl
diff --git a/libXFCui/xfc/gtk/inline/notebook.inl b/ui/xfc/gtk/inline/notebook.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/notebook.inl
rename to ui/xfc/gtk/inline/notebook.inl
diff --git a/libXFCui/xfc/gtk/inline/object.inl b/ui/xfc/gtk/inline/object.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/object.inl
rename to ui/xfc/gtk/inline/object.inl
diff --git a/libXFCui/xfc/gtk/inline/paned.inl b/ui/xfc/gtk/inline/paned.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/paned.inl
rename to ui/xfc/gtk/inline/paned.inl
diff --git a/libXFCui/xfc/gtk/inline/plug.inl b/ui/xfc/gtk/inline/plug.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/plug.inl
rename to ui/xfc/gtk/inline/plug.inl
diff --git a/libXFCui/xfc/gtk/inline/printoperationpreview.inl b/ui/xfc/gtk/inline/printoperationpreview.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/printoperationpreview.inl
rename to ui/xfc/gtk/inline/printoperationpreview.inl
diff --git a/libXFCui/xfc/gtk/inline/printpagesetup.inl b/ui/xfc/gtk/inline/printpagesetup.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/printpagesetup.inl
rename to ui/xfc/gtk/inline/printpagesetup.inl
diff --git a/libXFCui/xfc/gtk/inline/progressbar.inl b/ui/xfc/gtk/inline/progressbar.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/progressbar.inl
rename to ui/xfc/gtk/inline/progressbar.inl
diff --git a/libXFCui/xfc/gtk/inline/radioaction.inl b/ui/xfc/gtk/inline/radioaction.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/radioaction.inl
rename to ui/xfc/gtk/inline/radioaction.inl
diff --git a/libXFCui/xfc/gtk/inline/radiobutton.inl b/ui/xfc/gtk/inline/radiobutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/radiobutton.inl
rename to ui/xfc/gtk/inline/radiobutton.inl
diff --git a/libXFCui/xfc/gtk/inline/radiomenuitem.inl b/ui/xfc/gtk/inline/radiomenuitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/radiomenuitem.inl
rename to ui/xfc/gtk/inline/radiomenuitem.inl
diff --git a/libXFCui/xfc/gtk/inline/radiotoolbutton.inl b/ui/xfc/gtk/inline/radiotoolbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/radiotoolbutton.inl
rename to ui/xfc/gtk/inline/radiotoolbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/range.inl b/ui/xfc/gtk/inline/range.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/range.inl
rename to ui/xfc/gtk/inline/range.inl
diff --git a/libXFCui/xfc/gtk/inline/rc.inl b/ui/xfc/gtk/inline/rc.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/rc.inl
rename to ui/xfc/gtk/inline/rc.inl
diff --git a/libXFCui/xfc/gtk/inline/ruler.inl b/ui/xfc/gtk/inline/ruler.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/ruler.inl
rename to ui/xfc/gtk/inline/ruler.inl
diff --git a/libXFCui/xfc/gtk/inline/scale.inl b/ui/xfc/gtk/inline/scale.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/scale.inl
rename to ui/xfc/gtk/inline/scale.inl
diff --git a/libXFCui/xfc/gtk/inline/scrollbar.inl b/ui/xfc/gtk/inline/scrollbar.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/scrollbar.inl
rename to ui/xfc/gtk/inline/scrollbar.inl
diff --git a/libXFCui/xfc/gtk/inline/scrolledwindow.inl b/ui/xfc/gtk/inline/scrolledwindow.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/scrolledwindow.inl
rename to ui/xfc/gtk/inline/scrolledwindow.inl
diff --git a/libXFCui/xfc/gtk/inline/selection.inl b/ui/xfc/gtk/inline/selection.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/selection.inl
rename to ui/xfc/gtk/inline/selection.inl
diff --git a/libXFCui/xfc/gtk/inline/separator.inl b/ui/xfc/gtk/inline/separator.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/separator.inl
rename to ui/xfc/gtk/inline/separator.inl
diff --git a/libXFCui/xfc/gtk/inline/separatormenuitem.inl b/ui/xfc/gtk/inline/separatormenuitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/separatormenuitem.inl
rename to ui/xfc/gtk/inline/separatormenuitem.inl
diff --git a/libXFCui/xfc/gtk/inline/separatortoolitem.inl b/ui/xfc/gtk/inline/separatortoolitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/separatortoolitem.inl
rename to ui/xfc/gtk/inline/separatortoolitem.inl
diff --git a/libXFCui/xfc/gtk/inline/settings.inl b/ui/xfc/gtk/inline/settings.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/settings.inl
rename to ui/xfc/gtk/inline/settings.inl
diff --git a/libXFCui/xfc/gtk/inline/sizegroup.inl b/ui/xfc/gtk/inline/sizegroup.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/sizegroup.inl
rename to ui/xfc/gtk/inline/sizegroup.inl
diff --git a/libXFCui/xfc/gtk/inline/socket.inl b/ui/xfc/gtk/inline/socket.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/socket.inl
rename to ui/xfc/gtk/inline/socket.inl
diff --git a/libXFCui/xfc/gtk/inline/spinbutton.inl b/ui/xfc/gtk/inline/spinbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/spinbutton.inl
rename to ui/xfc/gtk/inline/spinbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/statusbar.inl b/ui/xfc/gtk/inline/statusbar.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/statusbar.inl
rename to ui/xfc/gtk/inline/statusbar.inl
diff --git a/libXFCui/xfc/gtk/inline/stock.inl b/ui/xfc/gtk/inline/stock.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/stock.inl
rename to ui/xfc/gtk/inline/stock.inl
diff --git a/libXFCui/xfc/gtk/inline/stockid.inl b/ui/xfc/gtk/inline/stockid.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/stockid.inl
rename to ui/xfc/gtk/inline/stockid.inl
diff --git a/libXFCui/xfc/gtk/inline/style.inl b/ui/xfc/gtk/inline/style.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/style.inl
rename to ui/xfc/gtk/inline/style.inl
diff --git a/libXFCui/xfc/gtk/inline/table.inl b/ui/xfc/gtk/inline/table.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/table.inl
rename to ui/xfc/gtk/inline/table.inl
diff --git a/libXFCui/xfc/gtk/inline/tearoffmenuitem.inl b/ui/xfc/gtk/inline/tearoffmenuitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/tearoffmenuitem.inl
rename to ui/xfc/gtk/inline/tearoffmenuitem.inl
diff --git a/libXFCui/xfc/gtk/inline/textbuffer.inl b/ui/xfc/gtk/inline/textbuffer.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/textbuffer.inl
rename to ui/xfc/gtk/inline/textbuffer.inl
diff --git a/libXFCui/xfc/gtk/inline/textiter.inl b/ui/xfc/gtk/inline/textiter.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/textiter.inl
rename to ui/xfc/gtk/inline/textiter.inl
diff --git a/libXFCui/xfc/gtk/inline/texttag.inl b/ui/xfc/gtk/inline/texttag.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/texttag.inl
rename to ui/xfc/gtk/inline/texttag.inl
diff --git a/libXFCui/xfc/gtk/inline/textview.inl b/ui/xfc/gtk/inline/textview.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/textview.inl
rename to ui/xfc/gtk/inline/textview.inl
diff --git a/libXFCui/xfc/gtk/inline/toggleaction.inl b/ui/xfc/gtk/inline/toggleaction.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/toggleaction.inl
rename to ui/xfc/gtk/inline/toggleaction.inl
diff --git a/libXFCui/xfc/gtk/inline/togglebutton.inl b/ui/xfc/gtk/inline/togglebutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/togglebutton.inl
rename to ui/xfc/gtk/inline/togglebutton.inl
diff --git a/libXFCui/xfc/gtk/inline/toggletoolbutton.inl b/ui/xfc/gtk/inline/toggletoolbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/toggletoolbutton.inl
rename to ui/xfc/gtk/inline/toggletoolbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/toolbar.inl b/ui/xfc/gtk/inline/toolbar.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/toolbar.inl
rename to ui/xfc/gtk/inline/toolbar.inl
diff --git a/libXFCui/xfc/gtk/inline/toolbutton.inl b/ui/xfc/gtk/inline/toolbutton.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/toolbutton.inl
rename to ui/xfc/gtk/inline/toolbutton.inl
diff --git a/libXFCui/xfc/gtk/inline/toolitem.inl b/ui/xfc/gtk/inline/toolitem.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/toolitem.inl
rename to ui/xfc/gtk/inline/toolitem.inl
diff --git a/libXFCui/xfc/gtk/inline/tooltips.inl b/ui/xfc/gtk/inline/tooltips.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/tooltips.inl
rename to ui/xfc/gtk/inline/tooltips.inl
diff --git a/libXFCui/xfc/gtk/inline/treednd.inl b/ui/xfc/gtk/inline/treednd.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treednd.inl
rename to ui/xfc/gtk/inline/treednd.inl
diff --git a/libXFCui/xfc/gtk/inline/treemodel.inl b/ui/xfc/gtk/inline/treemodel.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treemodel.inl
rename to ui/xfc/gtk/inline/treemodel.inl
diff --git a/libXFCui/xfc/gtk/inline/treemodelfilter.inl b/ui/xfc/gtk/inline/treemodelfilter.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treemodelfilter.inl
rename to ui/xfc/gtk/inline/treemodelfilter.inl
diff --git a/libXFCui/xfc/gtk/inline/treemodelsort.inl b/ui/xfc/gtk/inline/treemodelsort.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treemodelsort.inl
rename to ui/xfc/gtk/inline/treemodelsort.inl
diff --git a/libXFCui/xfc/gtk/inline/treeselection.inl b/ui/xfc/gtk/inline/treeselection.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treeselection.inl
rename to ui/xfc/gtk/inline/treeselection.inl
diff --git a/libXFCui/xfc/gtk/inline/treesortable.inl b/ui/xfc/gtk/inline/treesortable.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treesortable.inl
rename to ui/xfc/gtk/inline/treesortable.inl
diff --git a/libXFCui/xfc/gtk/inline/treestore.inl b/ui/xfc/gtk/inline/treestore.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treestore.inl
rename to ui/xfc/gtk/inline/treestore.inl
diff --git a/libXFCui/xfc/gtk/inline/treeview.inl b/ui/xfc/gtk/inline/treeview.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treeview.inl
rename to ui/xfc/gtk/inline/treeview.inl
diff --git a/libXFCui/xfc/gtk/inline/treeviewcolumn.inl b/ui/xfc/gtk/inline/treeviewcolumn.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/treeviewcolumn.inl
rename to ui/xfc/gtk/inline/treeviewcolumn.inl
diff --git a/libXFCui/xfc/gtk/inline/uimanager.inl b/ui/xfc/gtk/inline/uimanager.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/uimanager.inl
rename to ui/xfc/gtk/inline/uimanager.inl
diff --git a/libXFCui/xfc/gtk/inline/viewport.inl b/ui/xfc/gtk/inline/viewport.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/viewport.inl
rename to ui/xfc/gtk/inline/viewport.inl
diff --git a/libXFCui/xfc/gtk/inline/widget.inl b/ui/xfc/gtk/inline/widget.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/widget.inl
rename to ui/xfc/gtk/inline/widget.inl
diff --git a/libXFCui/xfc/gtk/inline/window.inl b/ui/xfc/gtk/inline/window.inl
similarity index 100%
rename from libXFCui/xfc/gtk/inline/window.inl
rename to ui/xfc/gtk/inline/window.inl
diff --git a/libXFCui/xfc/gtk/invisible.cc b/ui/xfc/gtk/invisible.cc
similarity index 100%
rename from libXFCui/xfc/gtk/invisible.cc
rename to ui/xfc/gtk/invisible.cc
diff --git a/libXFCui/xfc/gtk/invisible.hh b/ui/xfc/gtk/invisible.hh
similarity index 100%
rename from libXFCui/xfc/gtk/invisible.hh
rename to ui/xfc/gtk/invisible.hh
diff --git a/libXFCui/xfc/gtk/item.cc b/ui/xfc/gtk/item.cc
similarity index 100%
rename from libXFCui/xfc/gtk/item.cc
rename to ui/xfc/gtk/item.cc
diff --git a/libXFCui/xfc/gtk/item.hh b/ui/xfc/gtk/item.hh
similarity index 100%
rename from libXFCui/xfc/gtk/item.hh
rename to ui/xfc/gtk/item.hh
diff --git a/libXFCui/xfc/gtk/itemsignals.cc b/ui/xfc/gtk/itemsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/itemsignals.cc
rename to ui/xfc/gtk/itemsignals.cc
diff --git a/libXFCui/xfc/gtk/itemsignals.hh b/ui/xfc/gtk/itemsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/itemsignals.hh
rename to ui/xfc/gtk/itemsignals.hh
diff --git a/libXFCui/xfc/gtk/label.cc b/ui/xfc/gtk/label.cc
similarity index 100%
rename from libXFCui/xfc/gtk/label.cc
rename to ui/xfc/gtk/label.cc
diff --git a/libXFCui/xfc/gtk/label.hh b/ui/xfc/gtk/label.hh
similarity index 100%
rename from libXFCui/xfc/gtk/label.hh
rename to ui/xfc/gtk/label.hh
diff --git a/libXFCui/xfc/gtk/labelsignals.cc b/ui/xfc/gtk/labelsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/labelsignals.cc
rename to ui/xfc/gtk/labelsignals.cc
diff --git a/libXFCui/xfc/gtk/labelsignals.hh b/ui/xfc/gtk/labelsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/labelsignals.hh
rename to ui/xfc/gtk/labelsignals.hh
diff --git a/libXFCui/xfc/gtk/layout.cc b/ui/xfc/gtk/layout.cc
similarity index 100%
rename from libXFCui/xfc/gtk/layout.cc
rename to ui/xfc/gtk/layout.cc
diff --git a/libXFCui/xfc/gtk/layout.hh b/ui/xfc/gtk/layout.hh
similarity index 100%
rename from libXFCui/xfc/gtk/layout.hh
rename to ui/xfc/gtk/layout.hh
diff --git a/libXFCui/xfc/gtk/layoutsignals.cc b/ui/xfc/gtk/layoutsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/layoutsignals.cc
rename to ui/xfc/gtk/layoutsignals.cc
diff --git a/libXFCui/xfc/gtk/layoutsignals.hh b/ui/xfc/gtk/layoutsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/layoutsignals.hh
rename to ui/xfc/gtk/layoutsignals.hh
diff --git a/ui/xfc/gtk/liststore.cc b/ui/xfc/gtk/liststore.cc
new file mode 100755
index 0000000..89fa03d
--- /dev/null
+++ b/ui/xfc/gtk/liststore.cc
@@ -0,0 +1,264 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * liststore.cc - GtkListStore C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "liststore.hh"
+#include "private/liststoreclass.hh"
+#include "private/treemodeliface.hh"
+#include "private/treesortableiface.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Gtk::TreeRowValues
+ */
+
+Gtk::TreeRowValues::TreeRowValues()
+{
+}
+
+Gtk::TreeRowValues::~TreeRowValues()
+{
+ clear();
+}
+
+GValue*
+Gtk::TreeRowValues::create_value(const G::Value& value)
+{
+ GValue *tmp_value = g_new0(GValue, 1);
+ g_value_init(tmp_value, value.type());
+ g_value_copy(value.g_value(), tmp_value);
+ return tmp_value;
+}
+
+void
+Gtk::TreeRowValues::add(int column, const G::Value& value)
+{
+ gvalues_.push_back(create_value(value));
+ columns_.push_back(column);
+}
+
+void
+Gtk::TreeRowValues::add(int column, const char *str)
+{
+ GValue *tmp_value = g_new0(GValue, 1);
+ g_value_init(tmp_value, G_TYPE_STRING);
+ g_value_set_string(tmp_value, str);
+ gvalues_.push_back(tmp_value);
+ columns_.push_back(column);
+}
+
+void
+Gtk::TreeRowValues::add(int column, const std::string& str)
+{
+ add(column, str.c_str());
+}
+
+void
+Gtk::TreeRowValues::clear()
+{
+ unsigned int i = 0;
+ while (i < gvalues_.size())
+ {
+ if (G_VALUE_TYPE(gvalues_[i]))
+ g_value_unset(gvalues_[i]);
+ g_free(gvalues_[i]);
+ }
+ gvalues_.clear();
+ columns_.clear();
+}
+
+/* Gtk::ListStore
+ */
+
+Gtk::ListStore::ListStore()
+: G::Object((GObject*)ListStoreClass::create())
+{
+}
+
+Gtk::ListStore::ListStore(GtkListStore *list_store, bool owns_reference)
+: G::Object((GObject*)list_store, owns_reference)
+{
+}
+
+Gtk::ListStore::ListStore(int n_columns, ...)
+: G::Object((GObject*)ListStoreClass::create())
+{
+ g_return_if_fail(n_columns > 0);
+ va_list args;
+ va_start(args, n_columns);
+ GType *types = new GType[n_columns];
+
+ int i = 0;
+ while (i < n_columns)
+ {
+ types[i] = va_arg(args, GType);
+ ++i;
+ }
+
+ set_column_types(n_columns, types);
+ delete [] types;
+ va_end(args);
+}
+
+Gtk::ListStore::ListStore(int n_columns, const GType *types)
+: G::Object((GObject*)ListStoreClass::create())
+{
+ set_column_types(n_columns, types);
+}
+
+Gtk::ListStore::~ListStore()
+{
+}
+
+void
+Gtk::ListStore::set_column_types(int n_columns, const GType *types)
+{
+ gtk_list_store_set_column_types(gtk_list_store(), n_columns, const_cast<GType*>(types));
+}
+
+bool
+Gtk::ListStore::iter_is_valid(const TreeIter& iter) const
+{
+ return gtk_list_store_iter_is_valid(gtk_list_store(), iter.gtk_tree_iter());
+}
+
+Gtk::TreeIter
+Gtk::ListStore::append()
+{
+ GtkTreeIter iter;
+ gtk_list_store_append(gtk_list_store(), &iter);
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::ListStore::prepend()
+{
+ GtkTreeIter iter;
+ gtk_list_store_prepend(gtk_list_store(), &iter);
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::ListStore::insert(int position)
+{
+ GtkTreeIter iter;
+ gtk_list_store_insert(gtk_list_store(), &iter, position);
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::ListStore::insert_before(TreeIter& sibling)
+{
+ GtkTreeIter iter;
+ gtk_list_store_insert_before(gtk_list_store(), &iter, sibling.gtk_tree_iter());
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::ListStore::insert_after(TreeIter& sibling)
+{
+ GtkTreeIter iter;
+ gtk_list_store_insert_after(gtk_list_store(), &iter, sibling.gtk_tree_iter());
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::ListStore::insert_with_values(int position, const TreeRowValues& values)
+{
+ GtkTreeIter iter;
+ gtk_list_store_insert_with_valuesv(gtk_list_store(), &iter, position,
+ const_cast<int*>(values.columns()),
+ const_cast<GValue*>(values.gvalues()),
+ values.size());
+ return TreeIter(&iter, true);
+}
+
+bool
+Gtk::ListStore::remove(TreeIter& iter)
+{
+ return gtk_list_store_remove(gtk_list_store(), iter.gtk_tree_iter());
+}
+
+void
+Gtk::ListStore::swap(const TreeIter& a, const TreeIter& b)
+{
+ gtk_list_store_swap(gtk_list_store(), a.gtk_tree_iter(), b.gtk_tree_iter());
+}
+
+void
+Gtk::ListStore::move_after(const TreeIter& iter, const TreeIter *position)
+{
+ gtk_list_store_move_after(gtk_list_store(), iter.gtk_tree_iter(), *position);
+}
+
+void
+Gtk::ListStore::move_before(const TreeIter& iter, const TreeIter *position)
+{
+ gtk_list_store_move_before(gtk_list_store(), iter.gtk_tree_iter(), *position);
+}
+
+void
+Gtk::ListStore::set_value(const TreeIter& iter, int column, const G::Value& value)
+{
+ gtk_list_store_set_value(gtk_list_store(), iter.gtk_tree_iter(), column, value.g_value());
+}
+
+void
+Gtk::ListStore::set_value(const TreeIter& iter, int column, const char *str)
+{
+ G::Value value(gtk_list_store()->column_headers[column]);
+ value.set(String(str));
+ gtk_list_store_set_value(gtk_list_store(), iter, column, value.g_value());
+}
+
+void
+Gtk::ListStore::set_value(const TreeIter& iter, int column, const std::string& str)
+{
+ set_value(iter, column, str.c_str());
+}
+
+/* Gtk::ListStoreClass
+ */
+
+void
+Gtk::ListStoreClass::init(GtkListStoreClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::ListStoreClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_LIST_STORE, (GClassInitFunc)&init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_SORTABLE, (GInterfaceInitFunc)&TreeSortableIface::init);
+ }
+ return type;
+}
+
+void*
+Gtk::ListStoreClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
diff --git a/libXFCui/xfc/gtk/liststore.hh b/ui/xfc/gtk/liststore.hh
similarity index 100%
rename from libXFCui/xfc/gtk/liststore.hh
rename to ui/xfc/gtk/liststore.hh
diff --git a/ui/xfc/gtk/marshal.cc b/ui/xfc/gtk/marshal.cc
new file mode 100644
index 0000000..7351379
--- /dev/null
+++ b/ui/xfc/gtk/marshal.cc
@@ -0,0 +1,1348 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * marshal.cc - GObject signal callback functions.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "private/marshal.hh"
+#include "accelkey.hh"
+#include "actiongroup.hh"
+#include "adjustment.hh"
+#include "celleditable.hh"
+#include "menu.hh"
+#include "notebook.hh"
+#include "radioaction.hh"
+#include "style.hh"
+#include "textbuffer.hh"
+#include "texttag.hh"
+#include "tooltips.hh"
+#include "treemodel.hh"
+#include "treeviewcolumn.hh"
+#include "widget.hh"
+#include "../gdk/screen.hh"
+#include "../gdk-pixbuf/pixbuf.hh"
+#include "xfc/glib/private/connection.hh"
+#include <gtk/gtktreemodelfilter.h>
+
+using namespace Xfc;
+
+/* Gtk::Marshal::void_uint_gdkmodifiertype_gclosure_callback
+ */
+
+void
+Gtk::Marshal::void_uint_gdkmodifiertype_gclosure_callback(void *data, guint arg1, GdkModifierType arg2, GClosure *arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const Gtk::AccelKey&, GClosure*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ AccelKey accel_key(arg1, (Gdk::ModifierTypeField)arg2);
+ slot(accel_key, arg3);
+ }
+}
+
+/* Gtk::Marshal::void_string_uint_gdkmodifiertype_callback
+ */
+
+void
+Gtk::Marshal::void_string_uint_gdkmodifiertype_callback(void *data, const char *arg1, guint arg2, GdkModifierType arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const String&, const Gtk::AccelKey&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s(arg1);
+ AccelKey accel_key(arg2, (Gdk::ModifierTypeField)arg3);
+ slot(s, accel_key);
+ }
+}
+
+/* Gtk::Marshal::void_string_string_callback
+ */
+
+void
+Gtk::Marshal::void_string_string_callback(void *data, const char *arg1, const char *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const String&, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s1(arg1);
+ String s2(arg2);
+ slot(s1, s2);
+ }
+}
+
+/* Gtk::Marshal::void_string_callback
+ */
+
+void
+Gtk::Marshal::void_string_callback(void *data, const char *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s(arg);
+ slot(s);
+ }
+}
+
+/* Gtk::Marshal::void_string_int_pint_callback
+ */
+
+void
+Gtk::Marshal::void_string_int_pint_callback(void *data, const char *arg1, int arg2, int *arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const String&, int*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s(arg1, arg2);
+ slot(s, arg3);
+ }
+}
+
+/* Gtk::Marshal::void_widget_callback1
+ */
+
+void
+Gtk::Marshal::void_widget_callback1(void *data, GtkWidget *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Widget*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(G::Object::wrap<Widget>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_widget_callback2
+ */
+
+void
+Gtk::Marshal::void_widget_callback2(void *data, GtkWidget *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Widget&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<Widget>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_menu_callback
+ */
+
+void
+Gtk::Marshal::void_menu_callback(void *data, GtkMenu *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Menu&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<Menu>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_adjustment_adjustment_callback
+ */
+
+void
+Gtk::Marshal::void_adjustment_adjustment_callback(void *data, GtkAdjustment *arg1, GtkAdjustment *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Adjustment*, Adjustment*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(G::Object::wrap<Adjustment>(arg1), G::Object::wrap<Adjustment>(arg2));
+ }
+}
+
+/* Gtk::Marshal::void_pint_callback
+ */
+
+void
+Gtk::Marshal::void_pint_callback(void *data, int *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, int*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg);
+ }
+}
+
+/* Gtk::Marshal::void_notebookpage_uint_callback
+ */
+
+void
+Gtk::Marshal::void_notebookpage_uint_callback(void *data, GtkNotebookPage *arg1, unsigned int arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Widget&, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ GtkWidget *widget = reinterpret_cast<GtkWidget*>(arg1);
+ slot(*G::Object::wrap<Widget>(widget), arg2);
+ }
+}
+
+/* Gtk::Marshal::void_double_callback
+ */
+
+void
+Gtk::Marshal::void_double_callback(void *data, double arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, double> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg);
+ }
+}
+
+/* Gtk::Marshal::pchar_double_callback
+ */
+
+char*
+Gtk::Marshal::pchar_double_callback(void *data, double arg)
+{
+ char *result = 0;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<char*, double> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot(arg);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_callback(void *data)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot();
+ }
+ return result;
+}
+
+/* Gtk::Marshal::int_callback
+ */
+
+int
+Gtk::Marshal::int_callback(void *data)
+{
+ int result = 0;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot();
+ }
+ return result;
+}
+
+/* Gtk::Marshal::int_pdouble_callback
+ */
+
+int
+Gtk::Marshal::int_pdouble_callback(void *data, double *arg)
+{
+ int result = 0;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<int, double*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot(arg);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_uint_string_callback
+ */
+
+void
+Gtk::Marshal::void_uint_string_callback(void *data, unsigned int arg1, const char *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, unsigned int, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s(arg2);
+ slot(arg1, s);
+ }
+}
+
+/* Gtk::Marshal::void_textiter_callback
+ */
+
+void Gtk::Marshal::void_textiter_callback( void *data, GtkTextIter *arg1 )
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextIter&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter(arg1);
+ slot(iter);
+ }
+}
+
+/* Gtk::Marshal::void_textiter_string_int_callback
+ */
+
+void
+Gtk::Marshal::void_textiter_string_int_callback(void *data, GtkTextIter *arg1, const char *arg2, int arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextIter&, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter(arg1);
+ String s(arg2, arg3);
+ slot(iter, s);
+ }
+}
+
+/* Gtk::Marshal::void_textiter_gdkpixbuf_callback
+ */
+
+void
+Gtk::Marshal::void_textiter_gdkpixbuf_callback(void *data, GtkTextIter *arg1, GdkPixbuf *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextIter&, Gdk::Pixbuf&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter(arg1);
+ slot(iter, *G::Object::wrap<Gdk::Pixbuf>(arg2));
+ }
+}
+
+/* Gtk::Marshal::void_textiter_textchildanchor_callback
+ */
+
+void
+Gtk::Marshal::void_textiter_textchildanchor_callback(void *data, GtkTextIter *arg1, GtkTextChildAnchor *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextIter&, TextChildAnchor&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter(arg1);
+ slot(iter, *G::Object::wrap<TextChildAnchor>(arg2));
+ }
+}
+
+/* Gtk::Marshal::void_textiter_textiter_callback
+ */
+
+void
+Gtk::Marshal::void_textiter_textiter_callback(void *data, GtkTextIter *arg1, GtkTextIter *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextIter&, TextIter&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter1(arg1);
+ TextIter iter2(arg2);
+ slot(iter1, iter2);
+ }
+}
+
+/* Gtk::Marshal::void_textiter_textmark_callback
+ */
+
+void
+Gtk::Marshal::void_textiter_textmark_callback(void *data, const GtkTextIter *arg1, GtkTextMark *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const TextIter&, TextMark&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter(const_cast<GtkTextIter*>(arg1));
+ slot(iter, *G::Object::wrap<TextMark>(arg2));
+ }
+}
+
+/* Gtk::Marshal::void_textiter_callback
+ */
+
+void
+Gtk::Marshal::void_textmark_callback(void *data, GtkTextMark *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextMark&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<TextMark>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_textag_textiter_textiter_callback
+ */
+
+void
+Gtk::Marshal::void_textag_textiter_textiter_callback(void *data, GtkTextTag *arg1, const GtkTextIter *arg2, const GtkTextIter *arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextTag&, const TextIter&, const TextIter&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TextIter iter1(const_cast<GtkTextIter*>(arg2));
+ TextIter iter2(const_cast<GtkTextIter*>(arg3));
+ slot(*G::Object::wrap<TextTag>(arg1), iter1, iter2);
+ }
+}
+
+/* Gtk::Marshal::bool_gobject_gdkevent_textiter_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_gobject_gdkevent_textiter_callback(void *data, GObject *arg1, GdkEvent *arg2, const GtkTextIter *arg3)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, G::Object&, Gdk::Event&, const TextIter&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event(arg2);
+ TextIter iter(const_cast<GtkTextIter*>(arg3));
+ result = slot(*G::Object::wrap<G::Object>(arg1), event, iter);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_texttag_bool_callback
+ */
+
+void
+Gtk::Marshal::void_texttag_bool_callback(void *data, GtkTextTag *arg1, gboolean arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Gtk::TextTag&, bool> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<TextTag>(arg1), arg2);
+ }
+}
+
+/* Gtk::Marshal::void_texttag_callback
+ */
+
+void
+Gtk::Marshal::void_texttag_callback(void *data, GtkTextTag *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextTag&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<TextTag>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_orientation_callback
+ */
+
+void
+Gtk::Marshal::void_orientation_callback(void *data, GtkOrientation arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Gtk::Orientation> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot((Orientation)arg);
+ }
+}
+
+/* Gtk::Marshal::void_toolbarstyle_callback
+ */
+
+void
+Gtk::Marshal::void_toolbarstyle_callback(void *data, GtkToolbarStyle arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, ToolbarStyle> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot((ToolbarStyle)arg);
+ }
+}
+
+/* Gtk::Marshal::bool_int_int_int_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_int_int_int_callback(void *data, int arg1, int arg2, int arg3)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, int, int, int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot(arg1, arg2, arg3);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_treepath_callback
+ */
+
+void
+Gtk::Marshal::void_treepath_callback(void *data, GtkTreePath *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TreePath&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TreePath path(arg);
+ slot(path);
+ }
+}
+
+/* Gtk::Marshal::void_treepath_treeiter_callback
+ */
+
+void
+Gtk::Marshal::void_treepath_treeiter_callback(void *data, GtkTreePath *arg1, GtkTreeIter *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TreePath&, TreeIter&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TreePath path(arg1);
+ TreeIter iter(arg2);
+ slot(path, iter);
+ }
+}
+
+/* Gtk::Marshal::void_treepath_treeiter_pint_callback
+ */
+
+void
+Gtk::Marshal::void_treepath_treeiter_pint_callback(void *data, GtkTreePath *arg1, GtkTreeIter *arg2, int *arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TreePath&, TreeIter&, int*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TreePath path(arg1);
+ TreeIter iter(arg2);
+ slot(path, iter, arg3);
+ }
+}
+
+/* Gtk::Marshal::void_treepath_treeviewcolumn_callback
+ */
+
+void
+Gtk::Marshal::void_treepath_treeviewcolumn_callback(void *data, GtkTreePath *arg1, GtkTreeViewColumn *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const TreePath&, TreeViewColumn&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TreePath path(arg1);
+ slot(path, *G::Object::wrap<TreeViewColumn>(arg2));
+ }
+}
+
+/* Gtk::Marshal::bool_treeiter_treepath_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_treeiter_treepath_callback(void *data, GtkTreeIter *arg1, GtkTreePath *arg2)
+{
+ gboolean result = false;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const TreeIter&, const TreePath&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TreeIter iter(arg1);
+ TreePath path(arg2);
+ result = slot(iter, path);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_treeiter_treepath_callback
+ */
+
+void
+Gtk::Marshal::void_treeiter_treepath_callback(void *data, GtkTreeIter *arg1, GtkTreePath *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const TreeIter&, const TreePath&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ TreeIter iter(arg1);
+ TreePath path(arg2);
+ slot(iter, path);
+ }
+}
+
+/* Gtk::Marshal::void_requistion_callback
+ */
+
+void
+Gtk::Marshal::void_requistion_callback(void *data, GtkRequisition *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Requisition*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(reinterpret_cast<Requisition*>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_allocation_callback
+ */
+
+void
+Gtk::Marshal::void_allocation_callback(void *data, GtkAllocation *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const Allocation&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(reinterpret_cast<Allocation&>(*arg));
+ }
+}
+
+/* Gtk::Marshal::void_statetype_callback
+ */
+
+void
+Gtk::Marshal::void_statetype_callback(void *data, GtkStateType arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, StateType> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot((StateType)arg);
+ }
+}
+
+/* Gtk::Marshal::void_style_callback
+ */
+
+void
+Gtk::Marshal::void_style_callback(void *data, GtkStyle *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Style*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(G::Object::wrap<Style>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_textdirection_callback
+ */
+
+void
+Gtk::Marshal::void_textdirection_callback(void *data, GtkTextDirection arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, TextDirection> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot((TextDirection)arg);
+ }
+}
+
+/* Gtk::Marshal::void_gparamspec_callback
+ */
+
+void
+Gtk::Marshal::void_gparamspec_callback(void *data, GParamSpec *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, GParamSpec*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg);
+ }
+}
+
+/* Gtk::Marshal::bool_bool_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_bool_callback(void *data, bool arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, bool> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot(arg);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_directiontype_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_directiontype_callback(void *data, GtkDirectionType arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, DirectionType> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot((DirectionType)arg);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_gdkscreen_callback
+ */
+
+void
+Gtk::Marshal::void_gdkscreen_callback(void *data, GdkScreen *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Gdk::Screen*> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(G::Object::wrap<Gdk::Screen>(arg));
+ }
+}
+
+/* Gtk::Marshal::bool_uint_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_uint_callback(void *data, unsigned int arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot(arg);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_selectiondata_uint_uint_callback
+ */
+
+void
+Gtk::Marshal::void_selectiondata_uint_uint_callback(void *data, GtkSelectionData *arg1, unsigned int arg2, unsigned int arg3)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, SelectionData&, unsigned int, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ SelectionData selection_data(arg1);
+ slot(selection_data, arg2, arg3);
+ }
+}
+
+/* Gtk::Marshal::void_selectiondata_uint_callback
+ */
+
+void
+Gtk::Marshal::void_selectiondata_uint_callback(void *data, GtkSelectionData *arg1, unsigned int arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const SelectionData&, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ SelectionData selection_data(arg1);
+ slot(selection_data, arg2);
+ }
+}
+
+/* Gtk::Marshal::void_dragcontext_callback
+ */
+
+void
+Gtk::Marshal::void_dragcontext_callback(void *data, GdkDragContext *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, DragContext&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<DragContext>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_dragcontext_selectiondata_uint_uint_callback
+ */
+
+void
+Gtk::Marshal::void_dragcontext_selectiondata_uint_uint_callback(void *data, GdkDragContext *arg1, GtkSelectionData *arg2, unsigned int arg3, unsigned int arg4)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, DragContext&, SelectionData&, unsigned int, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ SelectionData selection_data(arg2);
+ slot(*G::Object::wrap<DragContext>(arg1), selection_data, arg3, arg4);
+ }
+}
+
+/* Gtk::Marshal::void_dragcontext_uint_callback
+ */
+
+void
+Gtk::Marshal::void_dragcontext_uint_callback(void *data, GdkDragContext *arg1, unsigned int arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, DragContext&, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<DragContext>(arg1), arg2);
+ }
+}
+
+/* Gtk::Marshal::void_dragcontext_int_int_uint_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_dragcontext_int_int_uint_callback(void *data, GdkDragContext *arg1, int arg2, int arg3, unsigned int arg4)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, DragContext&, int, int, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ result = slot(*G::Object::wrap<DragContext>(arg1), arg2, arg3, arg4);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_dragcontext_int_int_selectiondata_uint_uint_callback
+ */
+
+void
+Gtk::Marshal::void_dragcontext_int_int_selectiondata_uint_uint_callback(void *data, GdkDragContext *arg1, int arg2, int arg3, GtkSelectionData *arg4, unsigned int arg5, unsigned int arg6)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, DragContext&, int, int, const SelectionData&, unsigned int, unsigned int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ SelectionData selection_data(arg4);
+ slot(*G::Object::wrap<DragContext>(arg1), arg2, arg3, selection_data, arg5, arg6);
+ }
+}
+
+/* Gtk::Marshal::bool_event_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_event_callback(void *data, GdkEvent *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::Event&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(event);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_event_callback
+ */
+
+void
+Gtk::Marshal::void_event_callback(void *data, GdkEvent *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, const Gdk::Event&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ slot(event);
+ }
+}
+
+/* Gtk::Marshal::bool_eventany_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventany_callback(void *data, GdkEventAny *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventAny&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.any());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventbutton_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventbutton_callback(void *data, GdkEventButton *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventButton&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.button());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventscroll_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventscroll_callback(void *data, GdkEventScroll *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventScroll&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.scroll());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventmotion_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventmotion_callback(void *data, GdkEventMotion *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventMotion&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.motion());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventexpose_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventexpose_callback(void *data, GdkEventExpose *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventExpose&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.expose());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventkey_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventkey_callback(void *data, GdkEventKey *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventKey&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.key());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventcrossing_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventcrossing_callback(void *data, GdkEventCrossing *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventCrossing&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.crossing());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventconfigure_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventconfigure_callback(void *data, GdkEventConfigure *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventConfigure&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.configure());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventfocus_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventfocus_callback(void *data, GdkEventFocus *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventFocus&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.focus_change());
+ }
+ return result;
+}
+/* Gtk::Marshal::bool_eventproperty_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventproperty_callback(void *data, GdkEventProperty *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventProperty&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.property());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventselection_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventselection_callback(void *data, GdkEventSelection *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventSelection&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.selection());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventproximity_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventproximity_callback(void *data, GdkEventProximity *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventProximity&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.proximity());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventvisibility_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventvisibility_callback(void *data, GdkEventVisibility *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventVisibility&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.visibility());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventclient_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventclient_callback(void *data, GdkEventClient *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventClient&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.client());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_eventwindowstate_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_eventwindowstate_callback(void *data, GdkEventWindowState *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const Gdk::EventWindowState&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ Gdk::Event event((GdkEvent*)arg);
+ result = slot(*event.window_state());
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_radioaction_callback
+ */
+
+void
+Gtk::Marshal::void_radioaction_callback(void *data, GtkRadioAction *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, RadioAction&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<RadioAction>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_radioaction_callback
+ */
+
+void
+Gtk::Marshal::void_action_callback(void *data, GtkAction *arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Action&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<Action>(arg));
+ }
+}
+
+/* Gtk::Marshal::void_action_callback
+ */
+
+void
+Gtk::Marshal::void_action_widget_callback(void *data, GtkAction *arg1, GtkWidget *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, Action&, Widget> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(*G::Object::wrap<Action>(arg1), *G::Object::wrap<Widget>(arg2));
+ }
+}
+
+/* Gtk::Marshal::bool_tooltips_string_string_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_tooltips_string_string_callback(void *data, GtkTooltips *arg1, const char *arg2, const char *arg3)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, Tooltips&, const String&, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s1(arg2);
+ String s2(arg3);
+ result = slot(*G::Object::wrap<Tooltips>(arg1), s1, s2);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::bool_treemodel_treeiter_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_treemodel_treeiter_callback(void *data, GtkTreeModel *arg1, GtkTreeIter *arg2)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ GtkTreeIter real_iter;
+ gtk_tree_model_filter_convert_iter_to_child_iter((GtkTreeModelFilter*)arg1, &real_iter, arg2);
+ GtkTreeModel *real_model = gtk_tree_model_filter_get_model((GtkTreeModelFilter*)arg1);
+ typedef sigc::slot<bool, const TreeModel&, const TreeIter&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ G::Object *object = G::Object::pointer((GObject*)real_model);
+ Gtk::TreeModel *tmp_model = dynamic_cast<Gtk::TreeModel*>(object);
+ Gtk::TreeIter tmp_iter(&real_iter);
+ result = slot(*tmp_model, tmp_iter);
+ }
+ return result;
+}
+
+/* Gtk::Marshal::void_int_callback
+ */
+
+void
+Gtk::Marshal::void_int_callback(void *data, int arg)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, int> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ slot(arg);
+ }
+}
+
+/* Gtk::Marshal::void_celleditable_string_callback
+ */
+
+void
+Gtk::Marshal::void_celleditable_string_callback(void *data, GtkCellEditable *arg1, const char *arg2)
+{
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<void, CellEditable*, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ CellEditable *editable = dynamic_cast<CellEditable*>(G::Object::wrap_new<Widget>((GtkWidget*)arg1));
+ String s(arg2);
+ slot(editable, s);
+ }
+}
+
+/* Gtk::Marshal::void_string_callback
+ */
+
+gboolean
+Gtk::Marshal::bool_string_callback(void *data, const char *arg)
+{
+ gboolean result = FALSE;
+ G::Connection *c = static_cast<G::Connection*>(data);
+ if (c)
+ {
+ typedef sigc::slot<bool, const String&> SlotType;
+ SlotType& slot = static_cast<SlotType&>(c->slot_);
+ String s(arg);
+ result = slot(s);
+ }
+ return result;
+}
+
diff --git a/ui/xfc/gtk/menu.cc b/ui/xfc/gtk/menu.cc
new file mode 100755
index 0000000..4ee51b1
--- /dev/null
+++ b/ui/xfc/gtk/menu.cc
@@ -0,0 +1,197 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * menu.cc - GtkMenu C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "menu.hh"
+#include "accelgroup.hh"
+#include "menuitem.hh"
+#include "private/menuclass.hh"
+#include "../gdk/screen.hh"
+#include "xfc/glib/private/objectclass.hh"
+
+using namespace Xfc;
+
+/* Gtk::Menu
+ */
+
+Gtk::Menu::Menu(GtkMenu *menu, bool owns_reference)
+: MenuShell((GtkMenuShell*)menu, owns_reference)
+{
+}
+
+Gtk::Menu::Menu()
+: MenuShell((GtkMenuShell*)MenuClass::create())
+{
+}
+
+Gtk::Menu::Menu(const AccelGroup& accel_group)
+: MenuShell((GtkMenuShell*)MenuClass::create())
+{
+ set_accel_group(&accel_group);
+}
+
+Gtk::Menu::~Menu()
+{
+}
+
+void
+Gtk::Menu::on_menu_detach(Widget& /*attach_widget*/)
+{
+}
+
+Gtk::MenuItem*
+Gtk::Menu::get_active() const
+{
+ return G::Object::wrap<MenuItem>((GtkMenuItem*)gtk_menu_get_active(gtk_menu()));
+}
+
+Gtk::AccelGroup*
+Gtk::Menu::get_accel_group() const
+{
+ return G::Object::wrap<AccelGroup>(gtk_menu_get_accel_group(gtk_menu()));
+}
+
+Gtk::Widget*
+Gtk::Menu::get_attach_widget() const
+{
+ return G::Object::wrap<Widget>(gtk_menu_get_attach_widget(gtk_menu()));
+}
+
+String
+Gtk::Menu::get_title() const
+{
+ return gtk_menu_get_title(gtk_menu());
+}
+
+std::vector<Gtk::Menu*>
+Gtk::Menu::get_for_attach_widget(Widget& widget)
+{
+ std::vector<Menu*> menus;
+ GList *list = gtk_menu_get_for_attach_widget(widget.gtk_widget());
+
+ while (list)
+ {
+ menus.push_back(G::Object::wrap<Menu>((GtkMenu*)list->data));
+ list = g_list_next(list);
+ }
+ return menus;
+}
+
+namespace { // menu_position_slot_callback
+
+void menu_position_slot_callback(GtkMenu*, gint *x, gint *y, gboolean *push_in, gpointer data)
+{
+ Gtk::Menu::MenuPositionSlot& slot = *static_cast<Gtk::Menu::MenuPositionSlot*>(data);
+ slot(x, y, (bool*)push_in);
+}
+
+} // namespace
+
+void
+Gtk::Menu::popup(MenuShell& parent_shell, MenuItem& parent_item, unsigned int button, const MenuPositionSlot& position, unsigned int activate_time)
+{
+ MenuPositionSlot tmp_position(position);
+ gtk_menu_popup(gtk_menu(), parent_shell.gtk_widget(), parent_item.gtk_widget(), &menu_position_slot_callback,
+ &tmp_position, button, activate_time);
+}
+
+void
+Gtk::Menu::popup(unsigned int button, const MenuPositionSlot& position, unsigned int activate_time)
+{
+ MenuPositionSlot tmp_position(position);
+ gtk_menu_popup(gtk_menu(), 0, 0, &menu_position_slot_callback, &tmp_position, button, activate_time);
+}
+
+void
+Gtk::Menu::set_accel_group(const AccelGroup *accel_group)
+{
+ gtk_menu_set_accel_group(gtk_menu(), *accel_group);
+}
+
+void
+Gtk::Menu::set_accel_path(const String& accel_path)
+{
+ gtk_menu_set_accel_path(gtk_menu(), accel_path.c_str());
+}
+
+void
+Gtk::Menu::attach_to_widget(Widget& attach_widget)
+{
+ gtk_menu_attach_to_widget(gtk_menu(), attach_widget.gtk_widget(), &MenuClass::menu_detach_callback);
+}
+
+void
+Gtk::Menu::set_title(const String& title)
+{
+ gtk_menu_set_title(gtk_menu(), title.c_str());
+}
+
+void
+Gtk::Menu::reorder_child(const MenuItem& child, int position)
+{
+ gtk_menu_reorder_child(gtk_menu(), child.gtk_widget(), position);
+}
+
+void
+Gtk::Menu::set_screen(const Gdk::Screen *screen)
+{
+ gtk_menu_set_screen(gtk_menu(), screen->gdk_screen());
+}
+
+void
+Gtk::Menu::attach(MenuItem &child, unsigned int left_attach, unsigned int right_attach,
+ unsigned int top_attach, unsigned int bottom_attach)
+{
+ gtk_menu_attach(gtk_menu(), child.gtk_widget(), left_attach, right_attach, top_attach, bottom_attach);
+}
+
+/* Gtk::MenuClass
+ */
+
+void
+Gtk::MenuClass::init(GtkMenuClass *g_class)
+{
+ MenuShellClass::init((GtkMenuShellClass*)g_class);
+}
+
+GType
+Gtk::MenuClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_MENU, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::MenuClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::MenuClass::menu_detach_callback(GtkWidget *widget, GtkMenu *menu)
+{
+ void *ptr = g_object_get_qdata((GObject*)menu, G::ObjectClass::quark());
+ if (ptr)
+ static_cast<Menu*>(ptr)->on_menu_detach(*G::Object::wrap<Gtk::Widget>(widget));
+}
+
diff --git a/libXFCui/xfc/gtk/menu.hh b/ui/xfc/gtk/menu.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menu.hh
rename to ui/xfc/gtk/menu.hh
diff --git a/libXFCui/xfc/gtk/menubar.cc b/ui/xfc/gtk/menubar.cc
similarity index 100%
rename from libXFCui/xfc/gtk/menubar.cc
rename to ui/xfc/gtk/menubar.cc
diff --git a/libXFCui/xfc/gtk/menubar.hh b/ui/xfc/gtk/menubar.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menubar.hh
rename to ui/xfc/gtk/menubar.hh
diff --git a/libXFCui/xfc/gtk/menuitem.cc b/ui/xfc/gtk/menuitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/menuitem.cc
rename to ui/xfc/gtk/menuitem.cc
diff --git a/libXFCui/xfc/gtk/menuitem.hh b/ui/xfc/gtk/menuitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menuitem.hh
rename to ui/xfc/gtk/menuitem.hh
diff --git a/libXFCui/xfc/gtk/menuitemsignals.cc b/ui/xfc/gtk/menuitemsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/menuitemsignals.cc
rename to ui/xfc/gtk/menuitemsignals.cc
diff --git a/libXFCui/xfc/gtk/menuitemsignals.hh b/ui/xfc/gtk/menuitemsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menuitemsignals.hh
rename to ui/xfc/gtk/menuitemsignals.hh
diff --git a/libXFCui/xfc/gtk/menushell.cc b/ui/xfc/gtk/menushell.cc
similarity index 100%
rename from libXFCui/xfc/gtk/menushell.cc
rename to ui/xfc/gtk/menushell.cc
diff --git a/libXFCui/xfc/gtk/menushell.hh b/ui/xfc/gtk/menushell.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menushell.hh
rename to ui/xfc/gtk/menushell.hh
diff --git a/libXFCui/xfc/gtk/menushellsignals.cc b/ui/xfc/gtk/menushellsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/menushellsignals.cc
rename to ui/xfc/gtk/menushellsignals.cc
diff --git a/libXFCui/xfc/gtk/menushellsignals.hh b/ui/xfc/gtk/menushellsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menushellsignals.hh
rename to ui/xfc/gtk/menushellsignals.hh
diff --git a/libXFCui/xfc/gtk/menutoolbutton.cc b/ui/xfc/gtk/menutoolbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/menutoolbutton.cc
rename to ui/xfc/gtk/menutoolbutton.cc
diff --git a/libXFCui/xfc/gtk/menutoolbutton.hh b/ui/xfc/gtk/menutoolbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/menutoolbutton.hh
rename to ui/xfc/gtk/menutoolbutton.hh
diff --git a/libXFCui/xfc/gtk/messagedialog.cc b/ui/xfc/gtk/messagedialog.cc
similarity index 100%
rename from libXFCui/xfc/gtk/messagedialog.cc
rename to ui/xfc/gtk/messagedialog.cc
diff --git a/libXFCui/xfc/gtk/messagedialog.hh b/ui/xfc/gtk/messagedialog.hh
similarity index 100%
rename from libXFCui/xfc/gtk/messagedialog.hh
rename to ui/xfc/gtk/messagedialog.hh
diff --git a/libXFCui/xfc/gtk/misc.cc b/ui/xfc/gtk/misc.cc
similarity index 100%
rename from libXFCui/xfc/gtk/misc.cc
rename to ui/xfc/gtk/misc.cc
diff --git a/libXFCui/xfc/gtk/misc.hh b/ui/xfc/gtk/misc.hh
similarity index 100%
rename from libXFCui/xfc/gtk/misc.hh
rename to ui/xfc/gtk/misc.hh
diff --git a/libXFCui/xfc/gtk/notebook.cc b/ui/xfc/gtk/notebook.cc
similarity index 100%
rename from libXFCui/xfc/gtk/notebook.cc
rename to ui/xfc/gtk/notebook.cc
diff --git a/libXFCui/xfc/gtk/notebook.hh b/ui/xfc/gtk/notebook.hh
similarity index 100%
rename from libXFCui/xfc/gtk/notebook.hh
rename to ui/xfc/gtk/notebook.hh
diff --git a/libXFCui/xfc/gtk/notebooksignals.cc b/ui/xfc/gtk/notebooksignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/notebooksignals.cc
rename to ui/xfc/gtk/notebooksignals.cc
diff --git a/libXFCui/xfc/gtk/notebooksignals.hh b/ui/xfc/gtk/notebooksignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/notebooksignals.hh
rename to ui/xfc/gtk/notebooksignals.hh
diff --git a/libXFCui/xfc/gtk/object.cc b/ui/xfc/gtk/object.cc
similarity index 100%
rename from libXFCui/xfc/gtk/object.cc
rename to ui/xfc/gtk/object.cc
diff --git a/libXFCui/xfc/gtk/object.hh b/ui/xfc/gtk/object.hh
similarity index 100%
rename from libXFCui/xfc/gtk/object.hh
rename to ui/xfc/gtk/object.hh
diff --git a/libXFCui/xfc/gtk/objectsignals.cc b/ui/xfc/gtk/objectsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/objectsignals.cc
rename to ui/xfc/gtk/objectsignals.cc
diff --git a/libXFCui/xfc/gtk/objectsignals.hh b/ui/xfc/gtk/objectsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/objectsignals.hh
rename to ui/xfc/gtk/objectsignals.hh
diff --git a/libXFCui/xfc/gtk/paned.cc b/ui/xfc/gtk/paned.cc
similarity index 100%
rename from libXFCui/xfc/gtk/paned.cc
rename to ui/xfc/gtk/paned.cc
diff --git a/libXFCui/xfc/gtk/paned.hh b/ui/xfc/gtk/paned.hh
similarity index 100%
rename from libXFCui/xfc/gtk/paned.hh
rename to ui/xfc/gtk/paned.hh
diff --git a/libXFCui/xfc/gtk/plug.cc b/ui/xfc/gtk/plug.cc
similarity index 100%
rename from libXFCui/xfc/gtk/plug.cc
rename to ui/xfc/gtk/plug.cc
diff --git a/libXFCui/xfc/gtk/plug.hh b/ui/xfc/gtk/plug.hh
similarity index 100%
rename from libXFCui/xfc/gtk/plug.hh
rename to ui/xfc/gtk/plug.hh
diff --git a/libXFCui/xfc/gtk/plugsignals.cc b/ui/xfc/gtk/plugsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/plugsignals.cc
rename to ui/xfc/gtk/plugsignals.cc
diff --git a/libXFCui/xfc/gtk/plugsignals.hh b/ui/xfc/gtk/plugsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/plugsignals.hh
rename to ui/xfc/gtk/plugsignals.hh
diff --git a/libXFCui/xfc/gtk/printcontext.cc b/ui/xfc/gtk/printcontext.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printcontext.cc
rename to ui/xfc/gtk/printcontext.cc
diff --git a/libXFCui/xfc/gtk/printcontext.hh b/ui/xfc/gtk/printcontext.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printcontext.hh
rename to ui/xfc/gtk/printcontext.hh
diff --git a/libXFCui/xfc/gtk/printdialogs.cc b/ui/xfc/gtk/printdialogs.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printdialogs.cc
rename to ui/xfc/gtk/printdialogs.cc
diff --git a/libXFCui/xfc/gtk/printdialogs.hh b/ui/xfc/gtk/printdialogs.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printdialogs.hh
rename to ui/xfc/gtk/printdialogs.hh
diff --git a/libXFCui/xfc/gtk/printer.hh b/ui/xfc/gtk/printer.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printer.hh
rename to ui/xfc/gtk/printer.hh
diff --git a/libXFCui/xfc/gtk/printjob.cc b/ui/xfc/gtk/printjob.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printjob.cc
rename to ui/xfc/gtk/printjob.cc
diff --git a/libXFCui/xfc/gtk/printjob.hh b/ui/xfc/gtk/printjob.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printjob.hh
rename to ui/xfc/gtk/printjob.hh
diff --git a/libXFCui/xfc/gtk/printoperation.cc b/ui/xfc/gtk/printoperation.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printoperation.cc
rename to ui/xfc/gtk/printoperation.cc
diff --git a/libXFCui/xfc/gtk/printoperation.hh b/ui/xfc/gtk/printoperation.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printoperation.hh
rename to ui/xfc/gtk/printoperation.hh
diff --git a/libXFCui/xfc/gtk/printoperationpreview.cc b/ui/xfc/gtk/printoperationpreview.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printoperationpreview.cc
rename to ui/xfc/gtk/printoperationpreview.cc
diff --git a/libXFCui/xfc/gtk/printoperationpreview.hh b/ui/xfc/gtk/printoperationpreview.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printoperationpreview.hh
rename to ui/xfc/gtk/printoperationpreview.hh
diff --git a/libXFCui/xfc/gtk/printoperationpreviewsignals.cc b/ui/xfc/gtk/printoperationpreviewsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printoperationpreviewsignals.cc
rename to ui/xfc/gtk/printoperationpreviewsignals.cc
diff --git a/libXFCui/xfc/gtk/printoperationpreviewsignals.hh b/ui/xfc/gtk/printoperationpreviewsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printoperationpreviewsignals.hh
rename to ui/xfc/gtk/printoperationpreviewsignals.hh
diff --git a/libXFCui/xfc/gtk/printoperationsignals.cc b/ui/xfc/gtk/printoperationsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printoperationsignals.cc
rename to ui/xfc/gtk/printoperationsignals.cc
diff --git a/libXFCui/xfc/gtk/printoperationsignals.hh b/ui/xfc/gtk/printoperationsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printoperationsignals.hh
rename to ui/xfc/gtk/printoperationsignals.hh
diff --git a/ui/xfc/gtk/printpagesetup.cc b/ui/xfc/gtk/printpagesetup.cc
new file mode 100644
index 0000000..9e77de8
--- /dev/null
+++ b/ui/xfc/gtk/printpagesetup.cc
@@ -0,0 +1,108 @@
+#include "printpagesetup.hh"
+//#include "private/printpagesetupclass.hh"
+#include "xfc/atk/object.hh"
+
+#include <xfc/gtk/printsetting.hh>
+
+namespace Xfc {
+
+namespace Gtk {
+
+//PageSetup::PageSetup( const PageSetup *pagesetup ) : Object( PageSetupClass::create())
+//{
+//}
+
+PageSetup::PageSetup( GtkPageSetup *ctx, bool owns_reference ) : G::Object((GObject *)ctx, owns_reference )
+{
+}
+
+PageOrientation PageSetup::get_orientation()
+{
+ return (PageOrientation)gtk_page_setup_get_orientation( gtk_page_setup());
+}
+
+void PageSetup::set_orientation( PageOrientation orientation )
+{
+ gtk_page_setup_set_orientation( gtk_page_setup(), (GtkPageOrientation)orientation );
+}
+
+PaperSize PageSetup::get_paper_size()
+{
+ return PaperSize( gtk_page_setup_get_paper_size( gtk_page_setup()));
+}
+
+void PageSetup::set_paper_size( const PaperSize &size )
+{
+ gtk_page_setup_set_paper_size( gtk_page_setup(), (GtkPaperSize*)size );
+}
+
+double PageSetup::get_top_margin( Unit unit )
+{
+ return gtk_page_setup_get_top_margin( gtk_page_setup(), (GtkUnit)unit );
+}
+
+void PageSetup::set_top_margin( double margin, Unit unit)
+{
+ gtk_page_setup_set_top_margin( gtk_page_setup(), margin, (GtkUnit)unit );
+}
+
+double PageSetup::get_bottom_margin( Unit unit)
+{
+ return gtk_page_setup_get_bottom_margin( gtk_page_setup(), (GtkUnit)unit );
+}
+
+void PageSetup::set_bottom_margin( double margin, Unit unit )
+{
+ gtk_page_setup_set_bottom_margin( gtk_page_setup(), margin, (GtkUnit)unit );
+}
+
+double PageSetup::get_left_margin( Unit unit )
+{
+ return gtk_page_setup_get_left_margin( gtk_page_setup(), (GtkUnit)unit );
+}
+
+void PageSetup::set_left_margin( double margin, Unit unit )
+{
+ gtk_page_setup_set_left_margin( gtk_page_setup(), margin, (GtkUnit)unit );
+}
+
+double PageSetup::get_right_margin( Unit unit )
+{
+ return gtk_page_setup_get_right_margin( gtk_page_setup(), (GtkUnit)unit );
+}
+
+void PageSetup::set_right_margin( double margin, Unit unit )
+{
+ gtk_page_setup_set_right_margin( gtk_page_setup(), margin, (GtkUnit)unit );
+}
+
+#if 0
+void PageSetup::set_paper_size_and_default_margins( PaperSize *size )
+{
+
+}
+#endif
+
+double PageSetup::get_paper_width( Unit unit)
+{
+ return gtk_page_setup_get_paper_width( gtk_page_setup(), (GtkUnit)unit );
+}
+
+double PageSetup::get_paper_height( Unit unit )
+{
+ return gtk_page_setup_get_paper_height( gtk_page_setup(), (GtkUnit)unit );
+}
+
+double PageSetup::get_page_width( Unit unit)
+{
+ return gtk_page_setup_get_page_width( gtk_page_setup(), (GtkUnit)unit );
+}
+
+double PageSetup::get_page_height( Unit unit )
+{
+ return gtk_page_setup_get_page_height( gtk_page_setup(), (GtkUnit)unit );
+}
+
+}
+
+}
diff --git a/libXFCui/xfc/gtk/printpagesetup.hh b/ui/xfc/gtk/printpagesetup.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printpagesetup.hh
rename to ui/xfc/gtk/printpagesetup.hh
diff --git a/libXFCui/xfc/gtk/printsetting.cc b/ui/xfc/gtk/printsetting.cc
similarity index 100%
rename from libXFCui/xfc/gtk/printsetting.cc
rename to ui/xfc/gtk/printsetting.cc
diff --git a/libXFCui/xfc/gtk/printsetting.hh b/ui/xfc/gtk/printsetting.hh
similarity index 100%
rename from libXFCui/xfc/gtk/printsetting.hh
rename to ui/xfc/gtk/printsetting.hh
diff --git a/libXFCui/xfc/gtk/private/Makefile.am b/ui/xfc/gtk/private/Makefile.am
similarity index 100%
rename from libXFCui/xfc/gtk/private/Makefile.am
rename to ui/xfc/gtk/private/Makefile.am
diff --git a/libXFCui/xfc/gtk/private/aboutdialogclass.hh b/ui/xfc/gtk/private/aboutdialogclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/aboutdialogclass.hh
rename to ui/xfc/gtk/private/aboutdialogclass.hh
diff --git a/libXFCui/xfc/gtk/private/accelgroupclass.hh b/ui/xfc/gtk/private/accelgroupclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/accelgroupclass.hh
rename to ui/xfc/gtk/private/accelgroupclass.hh
diff --git a/libXFCui/xfc/gtk/private/accellabelclass.hh b/ui/xfc/gtk/private/accellabelclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/accellabelclass.hh
rename to ui/xfc/gtk/private/accellabelclass.hh
diff --git a/libXFCui/xfc/gtk/private/accessibleclass.hh b/ui/xfc/gtk/private/accessibleclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/accessibleclass.hh
rename to ui/xfc/gtk/private/accessibleclass.hh
diff --git a/libXFCui/xfc/gtk/private/actionclass.hh b/ui/xfc/gtk/private/actionclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/actionclass.hh
rename to ui/xfc/gtk/private/actionclass.hh
diff --git a/libXFCui/xfc/gtk/private/actiongroupclass.hh b/ui/xfc/gtk/private/actiongroupclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/actiongroupclass.hh
rename to ui/xfc/gtk/private/actiongroupclass.hh
diff --git a/libXFCui/xfc/gtk/private/adjustmentclass.hh b/ui/xfc/gtk/private/adjustmentclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/adjustmentclass.hh
rename to ui/xfc/gtk/private/adjustmentclass.hh
diff --git a/libXFCui/xfc/gtk/private/alignmentclass.hh b/ui/xfc/gtk/private/alignmentclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/alignmentclass.hh
rename to ui/xfc/gtk/private/alignmentclass.hh
diff --git a/libXFCui/xfc/gtk/private/arrowclass.hh b/ui/xfc/gtk/private/arrowclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/arrowclass.hh
rename to ui/xfc/gtk/private/arrowclass.hh
diff --git a/libXFCui/xfc/gtk/private/aspectframeclass.hh b/ui/xfc/gtk/private/aspectframeclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/aspectframeclass.hh
rename to ui/xfc/gtk/private/aspectframeclass.hh
diff --git a/libXFCui/xfc/gtk/private/binclass.hh b/ui/xfc/gtk/private/binclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/binclass.hh
rename to ui/xfc/gtk/private/binclass.hh
diff --git a/libXFCui/xfc/gtk/private/boxclass.hh b/ui/xfc/gtk/private/boxclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/boxclass.hh
rename to ui/xfc/gtk/private/boxclass.hh
diff --git a/libXFCui/xfc/gtk/private/buttonboxclass.hh b/ui/xfc/gtk/private/buttonboxclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/buttonboxclass.hh
rename to ui/xfc/gtk/private/buttonboxclass.hh
diff --git a/libXFCui/xfc/gtk/private/buttonclass.hh b/ui/xfc/gtk/private/buttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/buttonclass.hh
rename to ui/xfc/gtk/private/buttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/calendarclass.hh b/ui/xfc/gtk/private/calendarclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/calendarclass.hh
rename to ui/xfc/gtk/private/calendarclass.hh
diff --git a/libXFCui/xfc/gtk/private/celleditableiface.hh b/ui/xfc/gtk/private/celleditableiface.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/celleditableiface.hh
rename to ui/xfc/gtk/private/celleditableiface.hh
diff --git a/libXFCui/xfc/gtk/private/cellrendererclass.hh b/ui/xfc/gtk/private/cellrendererclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellrendererclass.hh
rename to ui/xfc/gtk/private/cellrendererclass.hh
diff --git a/libXFCui/xfc/gtk/private/cellrenderercomboclass.hh b/ui/xfc/gtk/private/cellrenderercomboclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellrenderercomboclass.hh
rename to ui/xfc/gtk/private/cellrenderercomboclass.hh
diff --git a/libXFCui/xfc/gtk/private/cellrendererpixbufclass.hh b/ui/xfc/gtk/private/cellrendererpixbufclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellrendererpixbufclass.hh
rename to ui/xfc/gtk/private/cellrendererpixbufclass.hh
diff --git a/libXFCui/xfc/gtk/private/cellrendererprogressclass.hh b/ui/xfc/gtk/private/cellrendererprogressclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellrendererprogressclass.hh
rename to ui/xfc/gtk/private/cellrendererprogressclass.hh
diff --git a/libXFCui/xfc/gtk/private/cellrenderertextclass.hh b/ui/xfc/gtk/private/cellrenderertextclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellrenderertextclass.hh
rename to ui/xfc/gtk/private/cellrenderertextclass.hh
diff --git a/libXFCui/xfc/gtk/private/cellrenderertoggleclass.hh b/ui/xfc/gtk/private/cellrenderertoggleclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellrenderertoggleclass.hh
rename to ui/xfc/gtk/private/cellrenderertoggleclass.hh
diff --git a/libXFCui/xfc/gtk/private/cellviewclass.hh b/ui/xfc/gtk/private/cellviewclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/cellviewclass.hh
rename to ui/xfc/gtk/private/cellviewclass.hh
diff --git a/libXFCui/xfc/gtk/private/checkbuttonclass.hh b/ui/xfc/gtk/private/checkbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/checkbuttonclass.hh
rename to ui/xfc/gtk/private/checkbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/checkmenuitemclass.hh b/ui/xfc/gtk/private/checkmenuitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/checkmenuitemclass.hh
rename to ui/xfc/gtk/private/checkmenuitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/colorbuttonclass.hh b/ui/xfc/gtk/private/colorbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/colorbuttonclass.hh
rename to ui/xfc/gtk/private/colorbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/colorselectionclass.hh b/ui/xfc/gtk/private/colorselectionclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/colorselectionclass.hh
rename to ui/xfc/gtk/private/colorselectionclass.hh
diff --git a/libXFCui/xfc/gtk/private/comboboxclass.hh b/ui/xfc/gtk/private/comboboxclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/comboboxclass.hh
rename to ui/xfc/gtk/private/comboboxclass.hh
diff --git a/libXFCui/xfc/gtk/private/comboboxentryclass.hh b/ui/xfc/gtk/private/comboboxentryclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/comboboxentryclass.hh
rename to ui/xfc/gtk/private/comboboxentryclass.hh
diff --git a/libXFCui/xfc/gtk/private/containerclass.hh b/ui/xfc/gtk/private/containerclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/containerclass.hh
rename to ui/xfc/gtk/private/containerclass.hh
diff --git a/libXFCui/xfc/gtk/private/curveclass.hh b/ui/xfc/gtk/private/curveclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/curveclass.hh
rename to ui/xfc/gtk/private/curveclass.hh
diff --git a/libXFCui/xfc/gtk/private/dialogclass.hh b/ui/xfc/gtk/private/dialogclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/dialogclass.hh
rename to ui/xfc/gtk/private/dialogclass.hh
diff --git a/libXFCui/xfc/gtk/private/drawingareaclass.hh b/ui/xfc/gtk/private/drawingareaclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/drawingareaclass.hh
rename to ui/xfc/gtk/private/drawingareaclass.hh
diff --git a/libXFCui/xfc/gtk/private/editableclass.hh b/ui/xfc/gtk/private/editableclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/editableclass.hh
rename to ui/xfc/gtk/private/editableclass.hh
diff --git a/libXFCui/xfc/gtk/private/entryclass.hh b/ui/xfc/gtk/private/entryclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/entryclass.hh
rename to ui/xfc/gtk/private/entryclass.hh
diff --git a/libXFCui/xfc/gtk/private/entrycompletionclass.hh b/ui/xfc/gtk/private/entrycompletionclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/entrycompletionclass.hh
rename to ui/xfc/gtk/private/entrycompletionclass.hh
diff --git a/libXFCui/xfc/gtk/private/eventboxclass.hh b/ui/xfc/gtk/private/eventboxclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/eventboxclass.hh
rename to ui/xfc/gtk/private/eventboxclass.hh
diff --git a/libXFCui/xfc/gtk/private/expanderclass.hh b/ui/xfc/gtk/private/expanderclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/expanderclass.hh
rename to ui/xfc/gtk/private/expanderclass.hh
diff --git a/libXFCui/xfc/gtk/private/filechooserbuttonclass.hh b/ui/xfc/gtk/private/filechooserbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/filechooserbuttonclass.hh
rename to ui/xfc/gtk/private/filechooserbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/filechooserdialogclass.hh b/ui/xfc/gtk/private/filechooserdialogclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/filechooserdialogclass.hh
rename to ui/xfc/gtk/private/filechooserdialogclass.hh
diff --git a/libXFCui/xfc/gtk/private/filechooserwidgetclass.hh b/ui/xfc/gtk/private/filechooserwidgetclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/filechooserwidgetclass.hh
rename to ui/xfc/gtk/private/filechooserwidgetclass.hh
diff --git a/libXFCui/xfc/gtk/private/filefilterclass.hh b/ui/xfc/gtk/private/filefilterclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/filefilterclass.hh
rename to ui/xfc/gtk/private/filefilterclass.hh
diff --git a/libXFCui/xfc/gtk/private/fixedclass.hh b/ui/xfc/gtk/private/fixedclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/fixedclass.hh
rename to ui/xfc/gtk/private/fixedclass.hh
diff --git a/libXFCui/xfc/gtk/private/fontbuttonclass.hh b/ui/xfc/gtk/private/fontbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/fontbuttonclass.hh
rename to ui/xfc/gtk/private/fontbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/fontselectionclass.hh b/ui/xfc/gtk/private/fontselectionclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/fontselectionclass.hh
rename to ui/xfc/gtk/private/fontselectionclass.hh
diff --git a/libXFCui/xfc/gtk/private/frameclass.hh b/ui/xfc/gtk/private/frameclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/frameclass.hh
rename to ui/xfc/gtk/private/frameclass.hh
diff --git a/libXFCui/xfc/gtk/private/gammacurveclass.hh b/ui/xfc/gtk/private/gammacurveclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/gammacurveclass.hh
rename to ui/xfc/gtk/private/gammacurveclass.hh
diff --git a/libXFCui/xfc/gtk/private/handleboxclass.hh b/ui/xfc/gtk/private/handleboxclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/handleboxclass.hh
rename to ui/xfc/gtk/private/handleboxclass.hh
diff --git a/libXFCui/xfc/gtk/private/iconfactoryclass.hh b/ui/xfc/gtk/private/iconfactoryclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/iconfactoryclass.hh
rename to ui/xfc/gtk/private/iconfactoryclass.hh
diff --git a/libXFCui/xfc/gtk/private/iconthemeclass.hh b/ui/xfc/gtk/private/iconthemeclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/iconthemeclass.hh
rename to ui/xfc/gtk/private/iconthemeclass.hh
diff --git a/libXFCui/xfc/gtk/private/iconviewclass.hh b/ui/xfc/gtk/private/iconviewclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/iconviewclass.hh
rename to ui/xfc/gtk/private/iconviewclass.hh
diff --git a/libXFCui/xfc/gtk/private/imageclass.hh b/ui/xfc/gtk/private/imageclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/imageclass.hh
rename to ui/xfc/gtk/private/imageclass.hh
diff --git a/libXFCui/xfc/gtk/private/imagemenuitemclass.hh b/ui/xfc/gtk/private/imagemenuitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/imagemenuitemclass.hh
rename to ui/xfc/gtk/private/imagemenuitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/invisibleclass.hh b/ui/xfc/gtk/private/invisibleclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/invisibleclass.hh
rename to ui/xfc/gtk/private/invisibleclass.hh
diff --git a/libXFCui/xfc/gtk/private/itemclass.hh b/ui/xfc/gtk/private/itemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/itemclass.hh
rename to ui/xfc/gtk/private/itemclass.hh
diff --git a/libXFCui/xfc/gtk/private/labelclass.hh b/ui/xfc/gtk/private/labelclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/labelclass.hh
rename to ui/xfc/gtk/private/labelclass.hh
diff --git a/libXFCui/xfc/gtk/private/layoutclass.hh b/ui/xfc/gtk/private/layoutclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/layoutclass.hh
rename to ui/xfc/gtk/private/layoutclass.hh
diff --git a/libXFCui/xfc/gtk/private/liststoreclass.hh b/ui/xfc/gtk/private/liststoreclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/liststoreclass.hh
rename to ui/xfc/gtk/private/liststoreclass.hh
diff --git a/libXFCui/xfc/gtk/private/marshal.hh b/ui/xfc/gtk/private/marshal.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/marshal.hh
rename to ui/xfc/gtk/private/marshal.hh
diff --git a/libXFCui/xfc/gtk/private/menubarclass.hh b/ui/xfc/gtk/private/menubarclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/menubarclass.hh
rename to ui/xfc/gtk/private/menubarclass.hh
diff --git a/libXFCui/xfc/gtk/private/menuclass.hh b/ui/xfc/gtk/private/menuclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/menuclass.hh
rename to ui/xfc/gtk/private/menuclass.hh
diff --git a/libXFCui/xfc/gtk/private/menuitemclass.hh b/ui/xfc/gtk/private/menuitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/menuitemclass.hh
rename to ui/xfc/gtk/private/menuitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/menushellclass.hh b/ui/xfc/gtk/private/menushellclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/menushellclass.hh
rename to ui/xfc/gtk/private/menushellclass.hh
diff --git a/libXFCui/xfc/gtk/private/menutoolbuttonclass.hh b/ui/xfc/gtk/private/menutoolbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/menutoolbuttonclass.hh
rename to ui/xfc/gtk/private/menutoolbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/messagedialogclass.hh b/ui/xfc/gtk/private/messagedialogclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/messagedialogclass.hh
rename to ui/xfc/gtk/private/messagedialogclass.hh
diff --git a/libXFCui/xfc/gtk/private/miscclass.hh b/ui/xfc/gtk/private/miscclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/miscclass.hh
rename to ui/xfc/gtk/private/miscclass.hh
diff --git a/libXFCui/xfc/gtk/private/notebookclass.hh b/ui/xfc/gtk/private/notebookclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/notebookclass.hh
rename to ui/xfc/gtk/private/notebookclass.hh
diff --git a/libXFCui/xfc/gtk/private/objectclass.hh b/ui/xfc/gtk/private/objectclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/objectclass.hh
rename to ui/xfc/gtk/private/objectclass.hh
diff --git a/libXFCui/xfc/gtk/private/panedclass.hh b/ui/xfc/gtk/private/panedclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/panedclass.hh
rename to ui/xfc/gtk/private/panedclass.hh
diff --git a/libXFCui/xfc/gtk/private/plugclass.hh b/ui/xfc/gtk/private/plugclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/plugclass.hh
rename to ui/xfc/gtk/private/plugclass.hh
diff --git a/libXFCui/xfc/gtk/private/printoperationclass.hh b/ui/xfc/gtk/private/printoperationclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/printoperationclass.hh
rename to ui/xfc/gtk/private/printoperationclass.hh
diff --git a/libXFCui/xfc/gtk/private/printoperationpreviewiface.hh b/ui/xfc/gtk/private/printoperationpreviewiface.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/printoperationpreviewiface.hh
rename to ui/xfc/gtk/private/printoperationpreviewiface.hh
diff --git a/libXFCui/xfc/gtk/private/printpagesetupclass.hh b/ui/xfc/gtk/private/printpagesetupclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/printpagesetupclass.hh
rename to ui/xfc/gtk/private/printpagesetupclass.hh
diff --git a/libXFCui/xfc/gtk/private/progressbarclass.hh b/ui/xfc/gtk/private/progressbarclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/progressbarclass.hh
rename to ui/xfc/gtk/private/progressbarclass.hh
diff --git a/libXFCui/xfc/gtk/private/radioactionclass.hh b/ui/xfc/gtk/private/radioactionclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/radioactionclass.hh
rename to ui/xfc/gtk/private/radioactionclass.hh
diff --git a/libXFCui/xfc/gtk/private/radiobuttonclass.hh b/ui/xfc/gtk/private/radiobuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/radiobuttonclass.hh
rename to ui/xfc/gtk/private/radiobuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/radiomenuitemclass.hh b/ui/xfc/gtk/private/radiomenuitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/radiomenuitemclass.hh
rename to ui/xfc/gtk/private/radiomenuitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/radiotoolbuttonclass.hh b/ui/xfc/gtk/private/radiotoolbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/radiotoolbuttonclass.hh
rename to ui/xfc/gtk/private/radiotoolbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/rangeclass.hh b/ui/xfc/gtk/private/rangeclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/rangeclass.hh
rename to ui/xfc/gtk/private/rangeclass.hh
diff --git a/libXFCui/xfc/gtk/private/rcclass.hh b/ui/xfc/gtk/private/rcclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/rcclass.hh
rename to ui/xfc/gtk/private/rcclass.hh
diff --git a/libXFCui/xfc/gtk/private/rulerclass.hh b/ui/xfc/gtk/private/rulerclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/rulerclass.hh
rename to ui/xfc/gtk/private/rulerclass.hh
diff --git a/libXFCui/xfc/gtk/private/scaleclass.hh b/ui/xfc/gtk/private/scaleclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/scaleclass.hh
rename to ui/xfc/gtk/private/scaleclass.hh
diff --git a/libXFCui/xfc/gtk/private/scrollbarclass.hh b/ui/xfc/gtk/private/scrollbarclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/scrollbarclass.hh
rename to ui/xfc/gtk/private/scrollbarclass.hh
diff --git a/libXFCui/xfc/gtk/private/scrolledwindowclass.hh b/ui/xfc/gtk/private/scrolledwindowclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/scrolledwindowclass.hh
rename to ui/xfc/gtk/private/scrolledwindowclass.hh
diff --git a/libXFCui/xfc/gtk/private/separatorclass.hh b/ui/xfc/gtk/private/separatorclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/separatorclass.hh
rename to ui/xfc/gtk/private/separatorclass.hh
diff --git a/libXFCui/xfc/gtk/private/separatormenuitemclass.hh b/ui/xfc/gtk/private/separatormenuitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/separatormenuitemclass.hh
rename to ui/xfc/gtk/private/separatormenuitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/separatortoolitemclass.hh b/ui/xfc/gtk/private/separatortoolitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/separatortoolitemclass.hh
rename to ui/xfc/gtk/private/separatortoolitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/sizegroupclass.hh b/ui/xfc/gtk/private/sizegroupclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/sizegroupclass.hh
rename to ui/xfc/gtk/private/sizegroupclass.hh
diff --git a/libXFCui/xfc/gtk/private/socketclass.hh b/ui/xfc/gtk/private/socketclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/socketclass.hh
rename to ui/xfc/gtk/private/socketclass.hh
diff --git a/libXFCui/xfc/gtk/private/spinbuttonclass.hh b/ui/xfc/gtk/private/spinbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/spinbuttonclass.hh
rename to ui/xfc/gtk/private/spinbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/statusbarclass.hh b/ui/xfc/gtk/private/statusbarclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/statusbarclass.hh
rename to ui/xfc/gtk/private/statusbarclass.hh
diff --git a/libXFCui/xfc/gtk/private/styleclass.hh b/ui/xfc/gtk/private/styleclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/styleclass.hh
rename to ui/xfc/gtk/private/styleclass.hh
diff --git a/libXFCui/xfc/gtk/private/tableclass.hh b/ui/xfc/gtk/private/tableclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/tableclass.hh
rename to ui/xfc/gtk/private/tableclass.hh
diff --git a/libXFCui/xfc/gtk/private/tearoffmenuitemclass.hh b/ui/xfc/gtk/private/tearoffmenuitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/tearoffmenuitemclass.hh
rename to ui/xfc/gtk/private/tearoffmenuitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/textbufferclass.hh b/ui/xfc/gtk/private/textbufferclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/textbufferclass.hh
rename to ui/xfc/gtk/private/textbufferclass.hh
diff --git a/libXFCui/xfc/gtk/private/texttagclass.hh b/ui/xfc/gtk/private/texttagclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/texttagclass.hh
rename to ui/xfc/gtk/private/texttagclass.hh
diff --git a/libXFCui/xfc/gtk/private/textviewclass.hh b/ui/xfc/gtk/private/textviewclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/textviewclass.hh
rename to ui/xfc/gtk/private/textviewclass.hh
diff --git a/libXFCui/xfc/gtk/private/toggleactionclass.hh b/ui/xfc/gtk/private/toggleactionclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/toggleactionclass.hh
rename to ui/xfc/gtk/private/toggleactionclass.hh
diff --git a/libXFCui/xfc/gtk/private/togglebuttonclass.hh b/ui/xfc/gtk/private/togglebuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/togglebuttonclass.hh
rename to ui/xfc/gtk/private/togglebuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/toggletoolbuttonclass.hh b/ui/xfc/gtk/private/toggletoolbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/toggletoolbuttonclass.hh
rename to ui/xfc/gtk/private/toggletoolbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/toolbarclass.hh b/ui/xfc/gtk/private/toolbarclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/toolbarclass.hh
rename to ui/xfc/gtk/private/toolbarclass.hh
diff --git a/libXFCui/xfc/gtk/private/toolbuttonclass.hh b/ui/xfc/gtk/private/toolbuttonclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/toolbuttonclass.hh
rename to ui/xfc/gtk/private/toolbuttonclass.hh
diff --git a/libXFCui/xfc/gtk/private/toolitemclass.hh b/ui/xfc/gtk/private/toolitemclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/toolitemclass.hh
rename to ui/xfc/gtk/private/toolitemclass.hh
diff --git a/libXFCui/xfc/gtk/private/tooltipsclass.hh b/ui/xfc/gtk/private/tooltipsclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/tooltipsclass.hh
rename to ui/xfc/gtk/private/tooltipsclass.hh
diff --git a/libXFCui/xfc/gtk/private/treemodelfilterclass.hh b/ui/xfc/gtk/private/treemodelfilterclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treemodelfilterclass.hh
rename to ui/xfc/gtk/private/treemodelfilterclass.hh
diff --git a/libXFCui/xfc/gtk/private/treemodeliface.hh b/ui/xfc/gtk/private/treemodeliface.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treemodeliface.hh
rename to ui/xfc/gtk/private/treemodeliface.hh
diff --git a/libXFCui/xfc/gtk/private/treemodelsortclass.hh b/ui/xfc/gtk/private/treemodelsortclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treemodelsortclass.hh
rename to ui/xfc/gtk/private/treemodelsortclass.hh
diff --git a/libXFCui/xfc/gtk/private/treesortableiface.hh b/ui/xfc/gtk/private/treesortableiface.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treesortableiface.hh
rename to ui/xfc/gtk/private/treesortableiface.hh
diff --git a/libXFCui/xfc/gtk/private/treestoreclass.hh b/ui/xfc/gtk/private/treestoreclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treestoreclass.hh
rename to ui/xfc/gtk/private/treestoreclass.hh
diff --git a/libXFCui/xfc/gtk/private/treeviewclass.hh b/ui/xfc/gtk/private/treeviewclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treeviewclass.hh
rename to ui/xfc/gtk/private/treeviewclass.hh
diff --git a/libXFCui/xfc/gtk/private/treeviewcolumnclass.hh b/ui/xfc/gtk/private/treeviewcolumnclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/treeviewcolumnclass.hh
rename to ui/xfc/gtk/private/treeviewcolumnclass.hh
diff --git a/libXFCui/xfc/gtk/private/uimanagerclass.hh b/ui/xfc/gtk/private/uimanagerclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/uimanagerclass.hh
rename to ui/xfc/gtk/private/uimanagerclass.hh
diff --git a/libXFCui/xfc/gtk/private/viewportclass.hh b/ui/xfc/gtk/private/viewportclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/viewportclass.hh
rename to ui/xfc/gtk/private/viewportclass.hh
diff --git a/libXFCui/xfc/gtk/private/widgetclass.hh b/ui/xfc/gtk/private/widgetclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/widgetclass.hh
rename to ui/xfc/gtk/private/widgetclass.hh
diff --git a/libXFCui/xfc/gtk/private/windowclass.hh b/ui/xfc/gtk/private/windowclass.hh
similarity index 100%
rename from libXFCui/xfc/gtk/private/windowclass.hh
rename to ui/xfc/gtk/private/windowclass.hh
diff --git a/libXFCui/xfc/gtk/progressbar.cc b/ui/xfc/gtk/progressbar.cc
similarity index 100%
rename from libXFCui/xfc/gtk/progressbar.cc
rename to ui/xfc/gtk/progressbar.cc
diff --git a/libXFCui/xfc/gtk/progressbar.hh b/ui/xfc/gtk/progressbar.hh
similarity index 100%
rename from libXFCui/xfc/gtk/progressbar.hh
rename to ui/xfc/gtk/progressbar.hh
diff --git a/ui/xfc/gtk/radioaction.cc b/ui/xfc/gtk/radioaction.cc
new file mode 100644
index 0000000..df24648
--- /dev/null
+++ b/ui/xfc/gtk/radioaction.cc
@@ -0,0 +1,241 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * radioaction.cc - GtkRadioAction C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "radioaction.hh"
+#include "radioactionsignals.hh"
+#include "accelkey.hh"
+#include "stockid.hh"
+#include "private/marshal.hh"
+#include "private/radioactionclass.hh"
+#include "xfc/glib/quark.hh"
+
+using namespace Xfc;
+
+namespace { // AccelKeyQuark
+
+const G::Quark AccelKeyQuark("gfc_action_accel_key");
+
+} // namespace
+
+/* Gtk::RadioAction
+ */
+
+Gtk::RadioAction::RadioAction(GtkRadioAction *action, bool owns_reference)
+: ToggleAction((GtkToggleAction*)action, owns_reference)
+{
+}
+
+Gtk::RadioAction::RadioAction(const RadioAction *group, const char *name, const char *label, int value)
+: ToggleAction((GtkToggleAction*)RadioActionClass::create(name))
+{
+ g_object_set(g_object(), "label", label, "value", value, 0);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioAction::RadioAction(const RadioAction *group, const String& name, const String& label, int value)
+: ToggleAction((GtkToggleAction*)RadioActionClass::create(name.c_str()))
+{
+ g_object_set(g_object(), "label", label.c_str(), "value", value, 0);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioAction::RadioAction(const RadioAction *group, const char *name, const StockId& stock_id, int value)
+: ToggleAction((GtkToggleAction*)RadioActionClass::create(name))
+{
+ g_object_set(g_object(), "stock_id", stock_id.c_str(), "value", value, 0);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioAction::RadioAction(const RadioAction *group, const String& name, const StockId& stock_id, int value)
+: ToggleAction((GtkToggleAction*)RadioActionClass::create(name.c_str()))
+{
+ g_object_set(g_object(), "stock_id", stock_id.c_str(), "value", value, 0);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioAction::RadioAction(const RadioAction *group, const char *name, const char *label, const StockId& stock_id, int value)
+: ToggleAction((GtkToggleAction*)RadioActionClass::create(name))
+{
+ g_object_set(g_object(), "label", label, "stock_id", stock_id.c_str(), "value", value, 0);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioAction::RadioAction(const RadioAction *group, const String& name, const String& label, const StockId& stock_id, int value)
+: ToggleAction((GtkToggleAction*)RadioActionClass::create(name.c_str()))
+{
+ g_object_set(g_object(), "label", label.c_str(), "stock_id", stock_id.c_str(), "value", value, 0);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioAction::~RadioAction()
+{
+}
+
+int
+Gtk::RadioAction::get_value() const
+{
+ int value;
+ g_object_get(g_object(), "value", &value, 0);
+ return value;
+}
+
+/* Gtk::RadioActionClass
+ */
+
+void
+Gtk::RadioActionClass::init(GtkRadioActionClass *g_class)
+{
+ ToggleActionClass::init((GtkToggleActionClass*)g_class);
+ g_class->changed = &changed_proxy;
+}
+
+GtkRadioActionClass*
+Gtk::RadioActionClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkRadioActionClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::RadioActionClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_RADIO_ACTION, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::RadioActionClass::create(const char *name)
+{
+ return g_object_new(get_type(), "name", name, 0);
+}
+
+void
+Gtk::RadioActionClass::changed_proxy(GtkRadioAction *action, GtkRadioAction *current)
+{
+ RadioActionSignals *signals = dynamic_cast<RadioActionSignals*>(G::ObjectSignals::pointer((GObject*)action));
+ if (signals)
+ signals->on_changed(*G::Object::wrap<RadioAction>(current));
+ else
+ {
+ GtkRadioActionClass *g_class = get_parent_class(action);
+ if (g_class && g_class->changed)
+ g_class->changed(action, current);
+ }
+}
+
+/* Gtk::RadioAction signals
+ */
+
+const Gtk::RadioAction::ChangedSignalType Gtk::RadioAction::changed_signal("changed", (GCallback)&Marshal::void_radioaction_callback);
+
+/* Gtk::RadioActions
+ */
+
+Gtk::RadioActions::RadioActions()
+: group_(0)
+{
+}
+
+Gtk::RadioActions::~RadioActions()
+{
+ clear();
+}
+
+Gtk::RadioAction*
+Gtk::RadioActions::add(const char *name, const char *label, int value, const char *tooltip)
+{
+ RadioAction *action = new RadioAction(group_, name, label, value);
+ group_ = action;
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ actions_.push_back(action);
+ return action;
+}
+
+Gtk::RadioAction*
+Gtk::RadioActions::add(const char *name, const char *label, const AccelKey& accel_key, int value, const char *tooltip)
+{
+ RadioAction *action = new RadioAction(group_, name, label, value);
+ group_ = action;
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ action->set_data(AccelKeyQuark, new AccelKey(accel_key));
+ actions_.push_back(action);
+ return action;
+}
+
+Gtk::RadioAction*
+Gtk::RadioActions::add(const char *name, const StockId& stock_id, int value, const char *tooltip)
+{
+ return add(name, 0, stock_id, value, tooltip);
+}
+
+Gtk::RadioAction*
+Gtk::RadioActions::add(const char *name, const StockId& stock_id, const AccelKey& accel_key, int value, const char *tooltip)
+{
+ return add(name, 0, stock_id, accel_key, value, tooltip);
+}
+
+Gtk::RadioAction*
+Gtk::RadioActions::add(const char *name, const char *label, const StockId& stock_id, int value, const char *tooltip)
+{
+ RadioAction *action = new RadioAction(group_, name, label, stock_id, value);
+ group_ = action;
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ actions_.push_back(action);
+ return action;
+}
+
+Gtk::RadioAction*
+Gtk::RadioActions::add(const char *name, const char *label, const StockId& stock_id, const AccelKey& accel_key, int value, const char *tooltip)
+{
+ RadioAction *action = new RadioAction(group_, name, label, stock_id, value);
+ group_ = action;
+ if (tooltip)
+ action->set_tooltip(tooltip);
+ action->set_data(AccelKeyQuark, new AccelKey(accel_key));
+ actions_.push_back(action);
+ return action;
+}
+
+void
+Gtk::RadioActions::clear()
+{
+ for (unsigned int i = 0; i < actions_.size(); i++)
+ {
+ AccelKey *accel_key = reinterpret_cast<AccelKey*>(actions_[i]->get_data(AccelKeyQuark));
+ if (accel_key)
+ delete accel_key;
+ actions_[i]->unref();
+ }
+ actions_.clear();
+ group_ = 0;
+}
+
diff --git a/libXFCui/xfc/gtk/radioaction.hh b/ui/xfc/gtk/radioaction.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radioaction.hh
rename to ui/xfc/gtk/radioaction.hh
diff --git a/libXFCui/xfc/gtk/radioactionsignals.cc b/ui/xfc/gtk/radioactionsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/radioactionsignals.cc
rename to ui/xfc/gtk/radioactionsignals.cc
diff --git a/libXFCui/xfc/gtk/radioactionsignals.hh b/ui/xfc/gtk/radioactionsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radioactionsignals.hh
rename to ui/xfc/gtk/radioactionsignals.hh
diff --git a/ui/xfc/gtk/radiobutton.cc b/ui/xfc/gtk/radiobutton.cc
new file mode 100755
index 0000000..6048462
--- /dev/null
+++ b/ui/xfc/gtk/radiobutton.cc
@@ -0,0 +1,120 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * radiobutton.cc - GtkRadioButton C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "radiobutton.hh"
+#include "radiobuttonsignals.hh"
+#include "private/radiobuttonclass.hh"
+#include "xfc/glib/private/marshal.hh"
+
+using namespace Xfc;
+
+/* Gtk::RadioButton
+ */
+
+Gtk::RadioButton::RadioButton(GtkRadioButton *radio_button, bool owns_reference)
+: CheckButton((GtkCheckButton*)radio_button, owns_reference)
+{
+}
+
+Gtk::RadioButton::RadioButton()
+: CheckButton((GtkCheckButton*)RadioButtonClass::create())
+{
+}
+
+Gtk::RadioButton::RadioButton(const RadioButton *group)
+: CheckButton((GtkCheckButton*)RadioButtonClass::create())
+{
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioButton::RadioButton(const RadioButton *group, const char *label, bool use_underline)
+: CheckButton((GtkCheckButton*)RadioButtonClass::create())
+{
+ set_label(label);
+ set_use_underline(use_underline);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioButton::RadioButton(const RadioButton *group, const String& label, bool use_underline)
+: CheckButton((GtkCheckButton*)RadioButtonClass::create())
+{
+ set_label(label);
+ set_use_underline(use_underline);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioButton::~RadioButton()
+{
+}
+
+/* Gtk::RadioButtonClass
+ */
+
+void
+Gtk::RadioButtonClass::init(GtkRadioButtonClass *g_class)
+{
+ CheckButtonClass::init((GtkCheckButtonClass*)g_class);
+ g_class->group_changed = &group_changed_proxy;
+}
+
+GtkRadioButtonClass*
+Gtk::RadioButtonClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkRadioButtonClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::RadioButtonClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_RADIO_BUTTON, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::RadioButtonClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::RadioButtonClass::group_changed_proxy(GtkRadioButton *radio_button)
+{
+ RadioButtonSignals *signals = dynamic_cast<RadioButtonSignals*>(G::ObjectSignals::pointer((GObject*)radio_button));
+ if (signals)
+ signals->on_group_changed();
+ else
+ {
+ GtkRadioButtonClass *g_class = get_parent_class(radio_button);
+ if (g_class && g_class->group_changed)
+ g_class->group_changed(radio_button);
+ }
+}
+
+/* Gtk::RadioButton signals
+ */
+
+const Gtk::RadioButton::GroupChangedSignalType Gtk::RadioButton::group_changed_signal("group-changed", (GCallback)&G::Marshal::void_callback);
diff --git a/libXFCui/xfc/gtk/radiobutton.hh b/ui/xfc/gtk/radiobutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radiobutton.hh
rename to ui/xfc/gtk/radiobutton.hh
diff --git a/libXFCui/xfc/gtk/radiobuttonsignals.cc b/ui/xfc/gtk/radiobuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/radiobuttonsignals.cc
rename to ui/xfc/gtk/radiobuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/radiobuttonsignals.hh b/ui/xfc/gtk/radiobuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radiobuttonsignals.hh
rename to ui/xfc/gtk/radiobuttonsignals.hh
diff --git a/ui/xfc/gtk/radiomenuitem.cc b/ui/xfc/gtk/radiomenuitem.cc
new file mode 100755
index 0000000..e08dbe2
--- /dev/null
+++ b/ui/xfc/gtk/radiomenuitem.cc
@@ -0,0 +1,118 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * radiomenuitem.cc - GtkRadioMenuItem C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "radiomenuitem.hh"
+#include "radiomenuitemsignals.hh"
+#include "private/radiomenuitemclass.hh"
+#include "xfc/glib/private/marshal.hh"
+
+using namespace Xfc;
+
+/* Gtk::RadioMenuItem
+ */
+
+Gtk::RadioMenuItem::RadioMenuItem(GtkRadioMenuItem *radio_menu_item, bool owns_reference)
+: CheckMenuItem((GtkCheckMenuItem*)radio_menu_item, owns_reference)
+{
+}
+
+Gtk::RadioMenuItem::RadioMenuItem()
+: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
+{
+}
+
+Gtk::RadioMenuItem::RadioMenuItem(const RadioMenuItem *group)
+: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
+{
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioMenuItem::RadioMenuItem(const RadioMenuItem *group, const char *label, bool use_underline)
+: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
+{
+ add_label(label, use_underline);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioMenuItem::RadioMenuItem(const RadioMenuItem *group, const String& label, bool use_underline)
+: CheckMenuItem((GtkCheckMenuItem*)RadioMenuItemClass::create())
+{
+ add_label(label, use_underline);
+ if (group)
+ set_group(group->get_group());
+}
+
+Gtk::RadioMenuItem::~RadioMenuItem()
+{
+}
+
+/* Gtk::RadioMenuItemClass
+ */
+
+void
+Gtk::RadioMenuItemClass::init(GtkRadioMenuItemClass *g_class)
+{
+ CheckMenuItemClass::init((GtkCheckMenuItemClass*)g_class);
+ g_class->group_changed = &group_changed_proxy;
+}
+
+GtkRadioMenuItemClass*
+Gtk::RadioMenuItemClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkRadioMenuItemClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::RadioMenuItemClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_RADIO_MENU_ITEM, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::RadioMenuItemClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::RadioMenuItemClass::group_changed_proxy(GtkRadioMenuItem *radio_menu_item)
+{
+ RadioMenuItemSignals *signals = dynamic_cast<RadioMenuItemSignals*>(G::ObjectSignals::pointer((GObject*)radio_menu_item));
+ if (signals)
+ signals->on_group_changed();
+ else
+ {
+ GtkRadioMenuItemClass *g_class = get_parent_class(radio_menu_item);
+ if (g_class && g_class->group_changed)
+ g_class->group_changed(radio_menu_item);
+ }
+}
+
+/* Gtk::RadioMenuItem signals
+ */
+
+const Gtk::RadioMenuItem::GroupChangedSignalType Gtk::RadioMenuItem::group_changed_signal("group-changed", (GCallback)&G::Marshal::void_callback);
diff --git a/libXFCui/xfc/gtk/radiomenuitem.hh b/ui/xfc/gtk/radiomenuitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radiomenuitem.hh
rename to ui/xfc/gtk/radiomenuitem.hh
diff --git a/libXFCui/xfc/gtk/radiomenuitemsignals.cc b/ui/xfc/gtk/radiomenuitemsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/radiomenuitemsignals.cc
rename to ui/xfc/gtk/radiomenuitemsignals.cc
diff --git a/libXFCui/xfc/gtk/radiomenuitemsignals.hh b/ui/xfc/gtk/radiomenuitemsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radiomenuitemsignals.hh
rename to ui/xfc/gtk/radiomenuitemsignals.hh
diff --git a/libXFCui/xfc/gtk/radiotoolbutton.cc b/ui/xfc/gtk/radiotoolbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/radiotoolbutton.cc
rename to ui/xfc/gtk/radiotoolbutton.cc
diff --git a/libXFCui/xfc/gtk/radiotoolbutton.hh b/ui/xfc/gtk/radiotoolbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/radiotoolbutton.hh
rename to ui/xfc/gtk/radiotoolbutton.hh
diff --git a/libXFCui/xfc/gtk/range.cc b/ui/xfc/gtk/range.cc
similarity index 100%
rename from libXFCui/xfc/gtk/range.cc
rename to ui/xfc/gtk/range.cc
diff --git a/libXFCui/xfc/gtk/range.hh b/ui/xfc/gtk/range.hh
similarity index 100%
rename from libXFCui/xfc/gtk/range.hh
rename to ui/xfc/gtk/range.hh
diff --git a/libXFCui/xfc/gtk/rangesignals.cc b/ui/xfc/gtk/rangesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/rangesignals.cc
rename to ui/xfc/gtk/rangesignals.cc
diff --git a/libXFCui/xfc/gtk/rangesignals.hh b/ui/xfc/gtk/rangesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/rangesignals.hh
rename to ui/xfc/gtk/rangesignals.hh
diff --git a/ui/xfc/gtk/rc.cc b/ui/xfc/gtk/rc.cc
new file mode 100755
index 0000000..ffcb55e
--- /dev/null
+++ b/ui/xfc/gtk/rc.cc
@@ -0,0 +1,328 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * rcstyle.cc - GtkRcStyle C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "rc.hh"
+#include "settings.hh"
+#include "style.hh"
+#include "widget.hh"
+#include "private/rcclass.hh"
+#include "../gdk/color.hh"
+#include "../gdk/pixmap.hh"
+#include "../pango/font.hh"
+#include "xfc/glib/quark.hh"
+#include "xfc/glib/scanner.hh"
+
+using namespace Xfc;
+
+/* Gtk::RC
+ */
+
+std::vector<String>
+Gtk::RC::get_default_files()
+{
+ std::vector<String> filenames;
+
+ int i = 0;
+ char **tmp_filenames = gtk_rc_get_default_files();
+
+ while (tmp_filenames[i] && *tmp_filenames[i])
+ {
+ String s(tmp_filenames[i]);
+ filenames.push_back(s);
+ ++i;
+ }
+ return filenames;
+}
+
+Gtk::Style*
+Gtk::RC::get_style_by_paths(const Settings& settings, const char *widget_path, const char *class_path, GType type)
+{
+ return G::Object::wrap<Style>(gtk_rc_get_style_by_paths(settings.gtk_settings(), widget_path, class_path, type));
+}
+
+Gtk::Style*
+Gtk::RC::get_style_by_paths(const Settings& settings, const String& widget_path, const String& class_path, GType type)
+{
+ return get_style_by_paths(settings, widget_path.c_str(), class_path.c_str(), type);
+}
+
+String
+Gtk::RC::get_theme_dir()
+{
+ return gtk_rc_get_theme_dir();
+}
+
+String
+Gtk::RC::get_module_dir()
+{
+ return gtk_rc_get_module_dir();
+}
+
+String
+Gtk::RC::get_im_module_file()
+{
+ return gtk_rc_get_im_module_file();
+}
+
+Gtk::Style*
+Gtk::RC::get_style(const Widget& widget)
+{
+ return G::Object::wrap<Style>(gtk_rc_get_style(widget.gtk_widget()));
+}
+
+Pointer<G::Scanner>
+Gtk::RC::get_scanner()
+{
+ return new G::Scanner(gtk_rc_scanner_new());
+}
+
+void
+Gtk::RC::add_default_file(const String& filename)
+{
+ gtk_rc_add_default_file(filename.c_str());
+}
+
+void
+Gtk::RC::set_default_files(const std::vector<String>& filenames)
+{
+ g_return_if_fail(!filenames.empty());
+ int count = filenames.size();
+ char **tmp_filenames = new char*[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_filenames[i] = const_cast<char*>(filenames[i].c_str());
+ ++i;
+ }
+
+ gtk_rc_set_default_files(tmp_filenames);
+ delete [] tmp_filenames;
+}
+
+void
+Gtk::RC::parse(const String& filename)
+{
+ gtk_rc_parse(filename.c_str());
+}
+
+void
+Gtk::RC::parse_string(const String& rc_string)
+{
+ gtk_rc_parse_string(rc_string.c_str());
+}
+
+bool
+Gtk::RC::reparse_all_for_settings(const Settings& settings, bool force_load)
+{
+ return gtk_rc_reparse_all_for_settings(settings.gtk_settings(), force_load);
+}
+
+void
+Gtk::RC::reset_styles(const Settings& settings)
+{
+ gtk_rc_reset_styles(settings.gtk_settings());
+}
+
+String
+Gtk::RC::find_pixmap_in_path(const Settings& settings, const char *pixmap_file, const G::Scanner *scanner)
+{
+ return gtk_rc_find_pixmap_in_path(settings.gtk_settings(), *scanner, pixmap_file);
+}
+
+String
+Gtk::RC::find_pixmap_in_path(const Settings& settings, const String& pixmap_file, const G::Scanner *scanner)
+{
+ return gtk_rc_find_pixmap_in_path(settings.gtk_settings(), *scanner, pixmap_file.c_str());
+}
+
+unsigned int
+Gtk::RC::parse_color(const G::Scanner& scanner, Gdk::Color& color)
+{
+ return gtk_rc_parse_color(scanner.g_scanner(), color.gdk_color());
+}
+
+unsigned int
+Gtk::RC::parse_state(const G::Scanner& scanner, StateType& state)
+{
+ return gtk_rc_parse_state(scanner.g_scanner(), (GtkStateType*)&state);
+}
+
+/* Gtk::RcStyle
+ */
+
+Gtk::RcStyle::RcStyle(GtkRcStyle *rc_style, bool owns_reference)
+: G::Object((GObject*)rc_style, owns_reference)
+{
+}
+
+Gtk::RcStyle::RcStyle()
+: G::Object((GObject*)RcStyleClass::create())
+{
+}
+
+Gtk::RcStyle::~RcStyle()
+{
+}
+
+String
+Gtk::RcStyle::name() const
+{
+ return gtk_rc_style()->name;
+}
+
+String
+Gtk::RcStyle::bg_pixmap_name(StateType state_type) const
+{
+ return gtk_rc_style()->bg_pixmap_name[state_type];
+}
+
+Pointer<Pango::FontDescription>
+Gtk::RcStyle::font_description() const
+{
+ return G::Boxed::wrap<Pango::FontDescription>(PANGO_TYPE_FONT_DESCRIPTION, gtk_rc_style()->font_desc, true);
+}
+
+Gdk::Color
+Gtk::RcStyle::fg(StateType state_type) const
+{
+ return Gdk::Color(>k_rc_style()->fg[state_type]);
+}
+
+Gdk::Color
+Gtk::RcStyle::bg(StateType state_type) const
+{
+ return Gdk::Color(>k_rc_style()->bg[state_type]);
+}
+
+Gdk::Color
+Gtk::RcStyle::text(StateType state_type) const
+{
+ return Gdk::Color(>k_rc_style()->text[state_type]);
+}
+
+Gdk::Color
+Gtk::RcStyle::base(StateType state_type) const
+{
+ return Gdk::Color(>k_rc_style()->base[state_type]);
+}
+
+Pointer<Gtk::RcStyle>
+Gtk::RcStyle::copy() const
+{
+ return G::Object::wrap_new<RcStyle>(gtk_rc_style_copy(gtk_rc_style()), true);
+}
+
+void
+Gtk::RcStyle::set_name(const char *name)
+{
+ char *old_name = gtk_rc_style()->name;
+ if (old_name)
+ g_free(old_name);
+
+ gtk_rc_style()->name = name ? g_strdup(name) : 0;
+}
+
+void
+Gtk::RcStyle::set_name(const String& name)
+{
+ set_name(name.c_str());
+}
+
+void
+Gtk::RcStyle::set_bg_pixmap_name(StateType state_type, const char *name)
+{
+ char *old_name = gtk_rc_style()->bg_pixmap_name[state_type];
+ if (old_name)
+ g_free(old_name);
+
+ gtk_rc_style()->bg_pixmap_name[state_type] = name ? g_strdup(name) : 0;
+}
+
+void
+Gtk::RcStyle::set_bg_pixmap_name(StateType state_type, const String& name)
+{
+ set_bg_pixmap_name(state_type, name.c_str());
+}
+
+void
+Gtk::RcStyle::set_font_description(const Pango::FontDescription *font_desc) const
+{
+ PangoFontDescription *old_font_desc = gtk_rc_style()->font_desc;
+ if (old_font_desc)
+ pango_font_description_free(old_font_desc);
+
+ gtk_rc_style()->font_desc = font_desc ? pango_font_description_copy(*font_desc) : 0;
+}
+
+void
+Gtk::RcStyle::set_fg(StateType state_type, const Gdk::Color& color)
+{
+ gtk_rc_style()->fg[state_type] = *color.gdk_color();
+ ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_FG);
+}
+
+void
+Gtk::RcStyle::set_bg(StateType state_type, const Gdk::Color& color)
+{
+ gtk_rc_style()->bg[state_type] = *color.gdk_color();
+ ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_BG);
+}
+
+void
+Gtk::RcStyle::set_text(StateType state_type, const Gdk::Color& color)
+{
+ gtk_rc_style()->text[state_type] = *color.gdk_color();
+ ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_TEXT);
+}
+
+void
+Gtk::RcStyle::set_base(StateType state_type, const Gdk::Color& color)
+{
+ gtk_rc_style()->base[state_type] = *color.gdk_color();
+ ((int&)gtk_rc_style()->color_flags[state_type]) |= int(GTK_RC_BASE);
+}
+
+/* Gtk::RcStyleClass
+ */
+
+void
+Gtk::RcStyleClass::init(GtkRcStyleClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::RcStyleClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_RC_STYLE, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::RcStyleClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
diff --git a/libXFCui/xfc/gtk/rc.hh b/ui/xfc/gtk/rc.hh
similarity index 100%
rename from libXFCui/xfc/gtk/rc.hh
rename to ui/xfc/gtk/rc.hh
diff --git a/libXFCui/xfc/gtk/ruler.cc b/ui/xfc/gtk/ruler.cc
similarity index 100%
rename from libXFCui/xfc/gtk/ruler.cc
rename to ui/xfc/gtk/ruler.cc
diff --git a/libXFCui/xfc/gtk/ruler.hh b/ui/xfc/gtk/ruler.hh
similarity index 100%
rename from libXFCui/xfc/gtk/ruler.hh
rename to ui/xfc/gtk/ruler.hh
diff --git a/libXFCui/xfc/gtk/scale.cc b/ui/xfc/gtk/scale.cc
similarity index 100%
rename from libXFCui/xfc/gtk/scale.cc
rename to ui/xfc/gtk/scale.cc
diff --git a/libXFCui/xfc/gtk/scale.hh b/ui/xfc/gtk/scale.hh
similarity index 100%
rename from libXFCui/xfc/gtk/scale.hh
rename to ui/xfc/gtk/scale.hh
diff --git a/libXFCui/xfc/gtk/scalesignals.cc b/ui/xfc/gtk/scalesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/scalesignals.cc
rename to ui/xfc/gtk/scalesignals.cc
diff --git a/libXFCui/xfc/gtk/scalesignals.hh b/ui/xfc/gtk/scalesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/scalesignals.hh
rename to ui/xfc/gtk/scalesignals.hh
diff --git a/libXFCui/xfc/gtk/scrollbar.cc b/ui/xfc/gtk/scrollbar.cc
similarity index 100%
rename from libXFCui/xfc/gtk/scrollbar.cc
rename to ui/xfc/gtk/scrollbar.cc
diff --git a/libXFCui/xfc/gtk/scrollbar.hh b/ui/xfc/gtk/scrollbar.hh
similarity index 100%
rename from libXFCui/xfc/gtk/scrollbar.hh
rename to ui/xfc/gtk/scrollbar.hh
diff --git a/libXFCui/xfc/gtk/scrolledwindow.cc b/ui/xfc/gtk/scrolledwindow.cc
similarity index 100%
rename from libXFCui/xfc/gtk/scrolledwindow.cc
rename to ui/xfc/gtk/scrolledwindow.cc
diff --git a/libXFCui/xfc/gtk/scrolledwindow.hh b/ui/xfc/gtk/scrolledwindow.hh
similarity index 100%
rename from libXFCui/xfc/gtk/scrolledwindow.hh
rename to ui/xfc/gtk/scrolledwindow.hh
diff --git a/ui/xfc/gtk/selection.cc b/ui/xfc/gtk/selection.cc
new file mode 100755
index 0000000..edc87cd
--- /dev/null
+++ b/ui/xfc/gtk/selection.cc
@@ -0,0 +1,306 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * selection.cc - GtkSelectionData, GtkTargetEntry and GtkTargetList C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "selection.hh"
+#include "treemodel.hh"
+#include "xfc/gdk/display.hh"
+#include "xfc/gdk-pixbuf/pixbuf.hh"
+#include "xfc/glib/object.hh"
+#include <gtk/gtktreednd.h>
+
+using namespace Xfc;
+
+/* Gtk::SelectionData
+ */
+
+Gtk::SelectionData::SelectionData(GtkSelectionData *data)
+: G::Boxed(GTK_TYPE_SELECTION_DATA, data)
+{
+}
+
+Gtk::SelectionData::SelectionData(GtkSelectionData *data, bool copy)
+: G::Boxed(GTK_TYPE_SELECTION_DATA, data, copy)
+{
+}
+
+Gtk::SelectionData::~SelectionData()
+{
+}
+
+String
+Gtk::SelectionData::get_selection() const
+{
+ char *selection = gdk_atom_name(gtk_selection_data()->selection);
+ String s(selection);
+ g_free(selection);
+ return s;
+}
+
+String
+Gtk::SelectionData::get_target() const
+{
+ char *target = gdk_atom_name(gtk_selection_data()->target);
+ String s(target);
+ g_free(target);
+ return s;
+}
+
+String
+Gtk::SelectionData::get_type() const
+{
+ char *type = gdk_atom_name(gtk_selection_data()->type);
+ String s(type);
+ g_free(type);
+ return s;
+}
+
+Gdk::Display*
+Gtk::SelectionData::display() const
+{
+ return G::Object::wrap<Gdk::Display>(gtk_selection_data()->display);
+}
+
+String
+Gtk::SelectionData::get_text() const
+{
+ unsigned char *text = gtk_selection_data_get_text(gtk_selection_data());
+ String s((char*)text);
+ g_free(text);
+ return s;
+}
+
+Pointer<Gdk::Pixbuf>
+Gtk::SelectionData::get_pixbuf() const
+{
+ GdkPixbuf *pixbuf = gtk_selection_data_get_pixbuf(gtk_selection_data());
+ return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf, true) : 0;
+}
+
+std::vector<String>
+Gtk::SelectionData::get_uris() const
+{
+ std::vector<String> uris;
+
+ int i = 0;
+ char **tmp_uris = gtk_selection_data_get_uris(gtk_selection_data());
+
+ while (tmp_uris[i] && *tmp_uris[i])
+ {
+ String s(tmp_uris[i]);
+ uris.push_back(s);
+ ++i;
+ }
+
+ g_strfreev(tmp_uris);
+ return uris;
+}
+
+bool
+Gtk::SelectionData::get_targets(std::vector<Gdk::Atom>& targets) const
+{
+ g_return_val_if_fail(targets.empty(), false);
+ GdkAtom *tmp_targets = 0;
+ int n_atoms = 0;
+
+ bool result = gtk_selection_data_get_targets(gtk_selection_data(), &tmp_targets, &n_atoms);
+ if (result)
+ {
+ int i = 0;
+ while (i < n_atoms)
+ {
+ targets.push_back(tmp_targets[i]);
+ ++i;
+ }
+ g_free(tmp_targets);
+ }
+ return result;
+}
+
+bool
+Gtk::SelectionData::get_targets(std::vector<String>& targets) const
+{
+ g_return_val_if_fail(targets.empty(), false);
+ GdkAtom *tmp_targets = 0;
+ int n_atoms = 0;
+
+ bool result = gtk_selection_data_get_targets(gtk_selection_data(), &tmp_targets, &n_atoms);
+ if (result)
+ {
+ int i = 0;
+ while (i < n_atoms)
+ {
+ char *name = gdk_atom_name(tmp_targets[i]);
+ targets.push_back(name);
+ g_free(name);
+ ++i;
+ }
+ result = !targets.empty();
+ g_free(tmp_targets);
+ }
+ return result;
+}
+
+bool
+Gtk::SelectionData::set_text(const String& str)
+{
+ return gtk_selection_data_set_text(gtk_selection_data(), str.c_str(), str.size());
+}
+
+bool
+Gtk::SelectionData::set_pixbuf(Gdk::Pixbuf& pixbuf)
+{
+ return gtk_selection_data_set_pixbuf(gtk_selection_data(), pixbuf.gdk_pixbuf());
+}
+
+bool
+Gtk::SelectionData::set_uris(const std::vector<String>& uris)
+{
+ g_return_val_if_fail(!uris.empty(), false);
+ int count = uris.size();
+ char **tmp_uris = new char*[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_uris[i] = const_cast<char*>(uris[i].c_str());
+ ++i;
+ }
+
+ bool result = gtk_selection_data_set_uris(gtk_selection_data(), tmp_uris);
+ delete [] tmp_uris;
+ return result;
+}
+
+bool
+Gtk::SelectionData::get_row_drag_data(TreeModel **model, Pointer<TreePath> *path) const
+{
+ GtkTreeModel *tmp_model = 0;
+ GtkTreePath *tmp_path = 0;
+
+ bool result = gtk_tree_get_row_drag_data(gtk_selection_data(), model ? &tmp_model : 0, path ? &tmp_path : 0);
+
+ if (model && tmp_model)
+ {
+ G::Object *object = G::Object::pointer((GObject*)tmp_model);
+ *model = dynamic_cast<TreeModel*>(object);
+ }
+
+ if (path && tmp_path)
+ *path = G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, tmp_path, false);
+
+ return result;
+}
+
+bool
+Gtk::SelectionData::set_row_drag_data(TreeModel& tree_model, const TreePath& path)
+{
+ return gtk_tree_set_row_drag_data(gtk_selection_data(), tree_model.gtk_tree_model(), path.gtk_tree_path());
+}
+
+/* Gtk::TargetEntry
+ */
+
+Gtk::TargetEntry::TargetEntry()
+{
+ set(0, 0, 0);
+}
+
+Gtk::TargetEntry::TargetEntry(const char *target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
+{
+ set(target_name, unique_id, drag_flags);
+}
+
+Gtk::TargetEntry::TargetEntry(const String& target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
+{
+ set(target_name, unique_id, drag_flags);
+}
+
+void
+Gtk::TargetEntry::set(const char *target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
+{
+ entry_.target = const_cast<char*>(target_name);
+ entry_.flags = drag_flags;
+ entry_.info = unique_id;
+}
+
+void
+Gtk::TargetEntry::set(const String& target_name, unsigned int unique_id, Gtk::TargetFlagsField drag_flags)
+{
+ set(target_name.c_str(), unique_id, drag_flags);
+}
+
+/* Gtk::TargetList
+ */
+
+Gtk::TargetList::TargetList()
+: target_list_(gtk_target_list_new(0, 0))
+{
+}
+
+Gtk::TargetList::TargetList(const std::vector<TargetEntry>& targets)
+: target_list_(gtk_target_list_new(0, 0))
+{
+ add(targets);
+}
+
+Gtk::TargetList::TargetList(GtkTargetList *target_list)
+: target_list_(target_list)
+{
+}
+
+Gtk::TargetList::~TargetList()
+{
+ if (target_list_)
+ {
+ gtk_target_list_unref(target_list_);
+ target_list_ = 0;
+ }
+}
+
+void
+Gtk::TargetList::add(Gdk::Atom target, unsigned int flags, unsigned int info)
+{
+ gtk_target_list_add(gtk_target_list(), target, flags, info);
+}
+
+void
+Gtk::TargetList::add(const TargetEntry& entry)
+{
+ gtk_target_list_add(gtk_target_list(), gdk_atom_intern (entry.target(), FALSE), entry.flags(), entry.info());
+}
+
+void
+Gtk::TargetList::add(const std::vector<TargetEntry>& targets)
+{
+ g_return_if_fail(!targets.empty());
+ int count = targets.size();
+ GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_targets[i] = *(targets[i].gtk_target_entry());
+ ++i;
+ }
+
+ gtk_target_list_add_table(gtk_target_list(), tmp_targets, count);
+ delete [] tmp_targets;
+}
+
diff --git a/libXFCui/xfc/gtk/selection.hh b/ui/xfc/gtk/selection.hh
similarity index 100%
rename from libXFCui/xfc/gtk/selection.hh
rename to ui/xfc/gtk/selection.hh
diff --git a/libXFCui/xfc/gtk/separator.cc b/ui/xfc/gtk/separator.cc
similarity index 100%
rename from libXFCui/xfc/gtk/separator.cc
rename to ui/xfc/gtk/separator.cc
diff --git a/libXFCui/xfc/gtk/separator.hh b/ui/xfc/gtk/separator.hh
similarity index 100%
rename from libXFCui/xfc/gtk/separator.hh
rename to ui/xfc/gtk/separator.hh
diff --git a/libXFCui/xfc/gtk/separatormenuitem.cc b/ui/xfc/gtk/separatormenuitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/separatormenuitem.cc
rename to ui/xfc/gtk/separatormenuitem.cc
diff --git a/libXFCui/xfc/gtk/separatormenuitem.hh b/ui/xfc/gtk/separatormenuitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/separatormenuitem.hh
rename to ui/xfc/gtk/separatormenuitem.hh
diff --git a/libXFCui/xfc/gtk/separatortoolitem.cc b/ui/xfc/gtk/separatortoolitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/separatortoolitem.cc
rename to ui/xfc/gtk/separatortoolitem.cc
diff --git a/libXFCui/xfc/gtk/separatortoolitem.hh b/ui/xfc/gtk/separatortoolitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/separatortoolitem.hh
rename to ui/xfc/gtk/separatortoolitem.hh
diff --git a/libXFCui/xfc/gtk/settings.cc b/ui/xfc/gtk/settings.cc
similarity index 100%
rename from libXFCui/xfc/gtk/settings.cc
rename to ui/xfc/gtk/settings.cc
diff --git a/libXFCui/xfc/gtk/settings.hh b/ui/xfc/gtk/settings.hh
similarity index 100%
rename from libXFCui/xfc/gtk/settings.hh
rename to ui/xfc/gtk/settings.hh
diff --git a/libXFCui/xfc/gtk/sizegroup.cc b/ui/xfc/gtk/sizegroup.cc
similarity index 100%
rename from libXFCui/xfc/gtk/sizegroup.cc
rename to ui/xfc/gtk/sizegroup.cc
diff --git a/libXFCui/xfc/gtk/sizegroup.hh b/ui/xfc/gtk/sizegroup.hh
similarity index 100%
rename from libXFCui/xfc/gtk/sizegroup.hh
rename to ui/xfc/gtk/sizegroup.hh
diff --git a/libXFCui/xfc/gtk/socket.cc b/ui/xfc/gtk/socket.cc
similarity index 100%
rename from libXFCui/xfc/gtk/socket.cc
rename to ui/xfc/gtk/socket.cc
diff --git a/libXFCui/xfc/gtk/socket.hh b/ui/xfc/gtk/socket.hh
similarity index 100%
rename from libXFCui/xfc/gtk/socket.hh
rename to ui/xfc/gtk/socket.hh
diff --git a/libXFCui/xfc/gtk/socketsignals.cc b/ui/xfc/gtk/socketsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/socketsignals.cc
rename to ui/xfc/gtk/socketsignals.cc
diff --git a/libXFCui/xfc/gtk/socketsignals.hh b/ui/xfc/gtk/socketsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/socketsignals.hh
rename to ui/xfc/gtk/socketsignals.hh
diff --git a/libXFCui/xfc/gtk/spinbutton.cc b/ui/xfc/gtk/spinbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/spinbutton.cc
rename to ui/xfc/gtk/spinbutton.cc
diff --git a/libXFCui/xfc/gtk/spinbutton.hh b/ui/xfc/gtk/spinbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/spinbutton.hh
rename to ui/xfc/gtk/spinbutton.hh
diff --git a/libXFCui/xfc/gtk/spinbuttonsignals.cc b/ui/xfc/gtk/spinbuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/spinbuttonsignals.cc
rename to ui/xfc/gtk/spinbuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/spinbuttonsignals.hh b/ui/xfc/gtk/spinbuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/spinbuttonsignals.hh
rename to ui/xfc/gtk/spinbuttonsignals.hh
diff --git a/libXFCui/xfc/gtk/statusbar.cc b/ui/xfc/gtk/statusbar.cc
similarity index 100%
rename from libXFCui/xfc/gtk/statusbar.cc
rename to ui/xfc/gtk/statusbar.cc
diff --git a/libXFCui/xfc/gtk/statusbar.hh b/ui/xfc/gtk/statusbar.hh
similarity index 100%
rename from libXFCui/xfc/gtk/statusbar.hh
rename to ui/xfc/gtk/statusbar.hh
diff --git a/libXFCui/xfc/gtk/statusbarsignals.cc b/ui/xfc/gtk/statusbarsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/statusbarsignals.cc
rename to ui/xfc/gtk/statusbarsignals.cc
diff --git a/libXFCui/xfc/gtk/statusbarsignals.hh b/ui/xfc/gtk/statusbarsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/statusbarsignals.hh
rename to ui/xfc/gtk/statusbarsignals.hh
diff --git a/libXFCui/xfc/gtk/stock.cc b/ui/xfc/gtk/stock.cc
similarity index 100%
rename from libXFCui/xfc/gtk/stock.cc
rename to ui/xfc/gtk/stock.cc
diff --git a/libXFCui/xfc/gtk/stock.hh b/ui/xfc/gtk/stock.hh
similarity index 100%
rename from libXFCui/xfc/gtk/stock.hh
rename to ui/xfc/gtk/stock.hh
diff --git a/libXFCui/xfc/gtk/stockid.cc b/ui/xfc/gtk/stockid.cc
similarity index 100%
rename from libXFCui/xfc/gtk/stockid.cc
rename to ui/xfc/gtk/stockid.cc
diff --git a/libXFCui/xfc/gtk/stockid.hh b/ui/xfc/gtk/stockid.hh
similarity index 100%
rename from libXFCui/xfc/gtk/stockid.hh
rename to ui/xfc/gtk/stockid.hh
diff --git a/libXFCui/xfc/gtk/style.cc b/ui/xfc/gtk/style.cc
similarity index 100%
rename from libXFCui/xfc/gtk/style.cc
rename to ui/xfc/gtk/style.cc
diff --git a/libXFCui/xfc/gtk/style.hh b/ui/xfc/gtk/style.hh
similarity index 100%
rename from libXFCui/xfc/gtk/style.hh
rename to ui/xfc/gtk/style.hh
diff --git a/libXFCui/xfc/gtk/table.cc b/ui/xfc/gtk/table.cc
similarity index 100%
rename from libXFCui/xfc/gtk/table.cc
rename to ui/xfc/gtk/table.cc
diff --git a/libXFCui/xfc/gtk/table.hh b/ui/xfc/gtk/table.hh
similarity index 100%
rename from libXFCui/xfc/gtk/table.hh
rename to ui/xfc/gtk/table.hh
diff --git a/libXFCui/xfc/gtk/tearoffmenuitem.cc b/ui/xfc/gtk/tearoffmenuitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/tearoffmenuitem.cc
rename to ui/xfc/gtk/tearoffmenuitem.cc
diff --git a/libXFCui/xfc/gtk/tearoffmenuitem.hh b/ui/xfc/gtk/tearoffmenuitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/tearoffmenuitem.hh
rename to ui/xfc/gtk/tearoffmenuitem.hh
diff --git a/libXFCui/xfc/gtk/textbuffer.cc b/ui/xfc/gtk/textbuffer.cc
similarity index 100%
rename from libXFCui/xfc/gtk/textbuffer.cc
rename to ui/xfc/gtk/textbuffer.cc
diff --git a/libXFCui/xfc/gtk/textbuffer.hh b/ui/xfc/gtk/textbuffer.hh
similarity index 100%
rename from libXFCui/xfc/gtk/textbuffer.hh
rename to ui/xfc/gtk/textbuffer.hh
diff --git a/libXFCui/xfc/gtk/textbuffersignals.cc b/ui/xfc/gtk/textbuffersignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/textbuffersignals.cc
rename to ui/xfc/gtk/textbuffersignals.cc
diff --git a/libXFCui/xfc/gtk/textbuffersignals.hh b/ui/xfc/gtk/textbuffersignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/textbuffersignals.hh
rename to ui/xfc/gtk/textbuffersignals.hh
diff --git a/ui/xfc/gtk/textiter.cc b/ui/xfc/gtk/textiter.cc
new file mode 100755
index 0000000..d2343c7
--- /dev/null
+++ b/ui/xfc/gtk/textiter.cc
@@ -0,0 +1,444 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2002-2003 The XFC Development Team.
+ *
+ * textiter.cc - GtkTextIter C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "textbuffer.hh"
+#include "xfc/gdk-pixbuf/pixbuf.hh"
+#include "xfc/glib/unicode.hh"
+
+using namespace Xfc;
+
+Gtk::TextIter::TextIter()
+: G::Boxed(GTK_TYPE_TEXT_ITER)
+{
+ GtkTextIter iter = { 0, };
+ copy(&iter);
+}
+
+Gtk::TextIter::TextIter(GtkTextIter *iter)
+: G::Boxed(GTK_TYPE_TEXT_ITER, iter)
+{
+}
+
+Gtk::TextIter::TextIter(GtkTextIter *iter, bool copy)
+: G::Boxed(GTK_TYPE_TEXT_ITER, iter, copy)
+{
+}
+
+Gtk::TextIter::TextIter(const TextIter& src)
+: G::Boxed(GTK_TYPE_TEXT_ITER, src.g_boxed(), true)
+{
+}
+
+Gtk::TextIter::~TextIter()
+{
+}
+
+Gtk::TextIter&
+Gtk::TextIter::operator=(const TextIter& src)
+{
+ if (src.boxed_ != boxed_)
+ copy(src);
+ return *this;
+}
+
+Gtk::TextBuffer*
+Gtk::TextIter::get_buffer() const
+{
+ return G::Object::wrap<TextBuffer>(gtk_text_iter_get_buffer(gtk_text_iter()));
+}
+
+G::Unichar
+Gtk::TextIter::get_char() const
+{
+ return gtk_text_iter_get_char(gtk_text_iter());
+}
+
+G::Unichar
+Gtk::TextIter::operator*() const
+{
+ return gtk_text_iter_get_char(gtk_text_iter());
+}
+
+String
+Gtk::TextIter::get_slice(const TextIter& start, const TextIter& end)
+{
+ char *tmp_slice = gtk_text_iter_get_slice(start.gtk_text_iter(), end.gtk_text_iter());
+ String slice(tmp_slice);
+ g_free(tmp_slice);
+ return slice;
+}
+
+String
+Gtk::TextIter::get_text(const TextIter& start, const TextIter& end)
+{
+ char *tmp_text = gtk_text_iter_get_text(start.gtk_text_iter(), end.gtk_text_iter());
+ String text(tmp_text);
+ g_free(tmp_text);
+ return text;
+}
+
+String
+Gtk::TextIter::get_visible_slice(const TextIter& start, const TextIter& end)
+{
+ char *tmp_slice = gtk_text_iter_get_visible_slice(start.gtk_text_iter(), end.gtk_text_iter());
+ String slice(tmp_slice);
+ g_free(tmp_slice);
+ return slice;
+}
+
+String
+Gtk::TextIter::get_visible_text(const TextIter& start, const TextIter& end)
+{
+ char *tmp_text = gtk_text_iter_get_visible_text(start.gtk_text_iter(), end.gtk_text_iter());
+ String text(tmp_text);
+ g_free(tmp_text);
+ return text;
+}
+
+Gdk::Pixbuf*
+Gtk::TextIter::get_pixbuf() const
+{
+ return G::Object::wrap<Gdk::Pixbuf>(gtk_text_iter_get_pixbuf(gtk_text_iter()));
+}
+
+bool
+Gtk::TextIter::get_marks(std::vector<TextMark*>& marks) const
+{
+ g_return_val_if_fail(marks.empty(), false);
+ GSList *first = gtk_text_iter_get_marks(gtk_text_iter());
+ GSList *next = first;
+ while (next)
+ {
+ marks.push_back(G::Object::wrap<TextMark>((GtkTextMark*)next->data));
+ next = g_slist_next(next);
+ }
+ g_slist_free(first);
+ return !marks.empty();
+}
+
+Gtk::TextChildAnchor*
+Gtk::TextIter::get_child_anchor() const
+{
+ GtkTextChildAnchor *anchor = gtk_text_iter_get_child_anchor(gtk_text_iter());
+ return anchor ? G::Object::wrap<TextChildAnchor>(anchor) : 0;
+}
+
+bool
+Gtk::TextIter::get_toggled_tags(std::vector<TextTag*>& tags, bool toggled_on) const
+{
+ g_return_val_if_fail(tags.empty(), false);
+ GSList *first = gtk_text_iter_get_toggled_tags(gtk_text_iter(), toggled_on);
+ GSList *next = first;
+ while (next)
+ {
+ tags.push_back(G::Object::wrap<TextTag>((GtkTextTag*)next->data));
+ next = g_slist_next(next);
+ }
+ g_slist_free(first);
+ return !tags.empty();
+}
+
+bool
+Gtk::TextIter::begins_tag(const TextTag *tag) const
+{
+ return gtk_text_iter_begins_tag(gtk_text_iter(), *tag);
+}
+
+bool
+Gtk::TextIter::ends_tag(const TextTag *tag) const
+{
+ return gtk_text_iter_ends_tag(gtk_text_iter(), *tag);
+}
+
+bool
+Gtk::TextIter::toggles_tag(const TextTag *tag) const
+{
+ return gtk_text_iter_toggles_tag(gtk_text_iter(), *tag);
+}
+
+bool
+Gtk::TextIter::has_tag(const TextTag& tag) const
+{
+ return gtk_text_iter_has_tag(gtk_text_iter(), tag.gtk_text_tag());
+}
+
+bool
+Gtk::TextIter::get_tags(std::vector<TextTag*>& tags) const
+{
+ g_return_val_if_fail(tags.empty(), false);
+ GSList *first = gtk_text_iter_get_tags(gtk_text_iter());
+ GSList *next = first;
+ while (next)
+ {
+ tags.push_back(G::Object::wrap<TextTag>((GtkTextTag*)next->data));
+ next = g_slist_next(next);
+ }
+ g_slist_free(first);
+ return !tags.empty();
+}
+
+bool
+Gtk::TextIter::get_attributes(TextAttributes& values) const
+{
+ return gtk_text_iter_get_attributes(gtk_text_iter(), values.gtk_text_attributes());
+}
+
+PangoLanguage*
+Gtk::TextIter::get_language() const
+{
+ return gtk_text_iter_get_language(gtk_text_iter());
+}
+
+bool
+Gtk::TextIter::equal(const TextIter& other) const
+{
+ return gtk_text_iter_equal(gtk_text_iter(), other.gtk_text_iter());
+}
+
+int
+Gtk::TextIter::compare(const TextIter& other) const
+{
+ return gtk_text_iter_compare(gtk_text_iter(), other.gtk_text_iter());
+}
+
+bool
+Gtk::TextIter::in_range(const TextIter& start, const TextIter& end)
+{
+ return gtk_text_iter_in_range(gtk_text_iter(), start.gtk_text_iter(), end.gtk_text_iter());
+}
+
+bool
+Gtk::TextIter::operator==(const TextIter& other) const
+{
+ return equal(other);
+}
+
+bool
+Gtk::TextIter::operator!=(const TextIter& other) const
+{
+ return !equal(other);
+}
+
+bool
+Gtk::TextIter::operator<(const TextIter& other) const
+{
+ return compare(other) < 0;
+}
+
+bool
+Gtk::TextIter::operator>(const TextIter& other) const
+{
+ return compare(other) > 0;
+}
+
+bool
+Gtk::TextIter::operator<=(const TextIter& other) const
+{
+ return compare(other) <= 0;
+}
+
+bool
+Gtk::TextIter::operator>=(const TextIter& other) const
+{
+ return compare(other) >= 0;
+}
+
+bool
+Gtk::TextIter::forward_to_tag_toggle(const TextTag *tag)
+{
+ return gtk_text_iter_forward_to_tag_toggle(gtk_text_iter(), *tag);
+}
+
+bool
+Gtk::TextIter::backward_to_tag_toggle(const TextTag *tag)
+{
+ return gtk_text_iter_backward_to_tag_toggle(gtk_text_iter(), *tag);
+}
+
+namespace { // text_char_prediciate_callback
+
+gboolean text_char_prediciate_callback(gunichar ch, gpointer data)
+{
+ Gtk::TextIter::TextCharPredicate& slot = *static_cast<Gtk::TextIter::TextCharPredicate*>(data);
+ return slot(ch);
+}
+
+} // namespace
+
+bool
+Gtk::TextIter::forward_find_char(const TextCharPredicate& predicate, const TextIter *limit)
+{
+ TextCharPredicate tmp_predicate(predicate);
+ return gtk_text_iter_forward_find_char(gtk_text_iter(), &text_char_prediciate_callback, &tmp_predicate, limit->gtk_text_iter());
+}
+
+bool
+Gtk::TextIter::backward_find_char(const TextCharPredicate& predicate, const TextIter *limit)
+{
+ TextCharPredicate tmp_predicate(predicate);
+ return gtk_text_iter_backward_find_char(gtk_text_iter(), &text_char_prediciate_callback, &tmp_predicate, limit->gtk_text_iter());
+}
+
+bool
+Gtk::TextIter::forward_search(const String& str, const TextIter *limit)
+{
+ return gtk_text_iter_forward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
+}
+
+bool
+Gtk::TextIter::forward_search(const char *str, const TextIter *limit)
+{
+ return gtk_text_iter_forward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
+}
+
+bool
+Gtk::TextIter::forward_search(const String& str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_forward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::forward_search(const char *str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_forward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::forward_search(const String& str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_forward_search(gtk_text_iter(), str.c_str(), (GtkTextSearchFlags)flags,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::forward_search(const char *str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_forward_search(gtk_text_iter(), str, (GtkTextSearchFlags)flags,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::backward_search(const String& str, const TextIter *limit)
+{
+ return gtk_text_iter_backward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
+}
+
+bool
+Gtk::TextIter::backward_search(const char *str, const TextIter *limit)
+{
+ return gtk_text_iter_backward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY, 0, 0, *limit);
+}
+
+bool
+Gtk::TextIter::backward_search(const String& str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_backward_search(gtk_text_iter(), str.c_str(), GTK_TEXT_SEARCH_VISIBLE_ONLY,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::backward_search(const char *str, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_backward_search(gtk_text_iter(), str, GTK_TEXT_SEARCH_VISIBLE_ONLY,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::backward_search(const String& str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_backward_search(gtk_text_iter(), str.c_str(), (GtkTextSearchFlags)flags,
+ *match_start, *match_end, *limit);
+}
+
+bool
+Gtk::TextIter::backward_search(const char *str, TextSearchFlagsField flags, TextIter *match_start, TextIter *match_end, const TextIter *limit)
+{
+ return gtk_text_iter_backward_search(gtk_text_iter(), str, (GtkTextSearchFlags)flags,
+ *match_start, *match_end, *limit);
+}
+
+void
+Gtk::TextIter::order(const TextIter& first, const TextIter& second)
+{
+ gtk_text_iter_order(first.gtk_text_iter(), second.gtk_text_iter());
+}
+
+Gtk::TextIter
+Gtk::TextIter::operator+(int chars) const
+{
+ TextIter iter = *this;
+ gtk_text_iter_forward_chars(iter.gtk_text_iter(), chars);
+ return iter;
+}
+
+Gtk::TextIter
+Gtk::TextIter::operator-(int chars) const
+{
+ TextIter iter = *this;
+ gtk_text_iter_backward_chars(iter.gtk_text_iter(), chars);
+ return iter;
+}
+
+Gtk::TextIter&
+Gtk::TextIter::operator+=(int chars)
+{
+ gtk_text_iter_forward_chars(gtk_text_iter(), chars);
+ return *this;
+}
+
+Gtk::TextIter&
+Gtk::TextIter::operator-=(int chars)
+{
+ gtk_text_iter_backward_chars(gtk_text_iter(), chars);
+ return *this;
+}
+
+Gtk::TextIter&
+Gtk::TextIter::operator++()
+{
+ gtk_text_iter_forward_char(gtk_text_iter());
+ return *this;
+}
+
+Gtk::TextIter&
+Gtk::TextIter::operator--()
+{
+ gtk_text_iter_backward_char(gtk_text_iter());
+ return *this;
+}
+
+Gtk::TextIter
+Gtk::TextIter::operator++(int)
+{
+ TextIter iter = *this;
+ gtk_text_iter_forward_char(iter.gtk_text_iter());
+ return iter;
+}
+
+Gtk::TextIter
+Gtk::TextIter::operator--(int)
+{
+ TextIter iter = *this;
+ gtk_text_iter_backward_char(iter.gtk_text_iter());
+ return *this;
+}
+
diff --git a/libXFCui/xfc/gtk/textiter.hh b/ui/xfc/gtk/textiter.hh
similarity index 100%
rename from libXFCui/xfc/gtk/textiter.hh
rename to ui/xfc/gtk/textiter.hh
diff --git a/libXFCui/xfc/gtk/texttag.cc b/ui/xfc/gtk/texttag.cc
similarity index 100%
rename from libXFCui/xfc/gtk/texttag.cc
rename to ui/xfc/gtk/texttag.cc
diff --git a/libXFCui/xfc/gtk/texttag.hh b/ui/xfc/gtk/texttag.hh
similarity index 100%
rename from libXFCui/xfc/gtk/texttag.hh
rename to ui/xfc/gtk/texttag.hh
diff --git a/libXFCui/xfc/gtk/texttagsignals.cc b/ui/xfc/gtk/texttagsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/texttagsignals.cc
rename to ui/xfc/gtk/texttagsignals.cc
diff --git a/libXFCui/xfc/gtk/texttagsignals.hh b/ui/xfc/gtk/texttagsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/texttagsignals.hh
rename to ui/xfc/gtk/texttagsignals.hh
diff --git a/libXFCui/xfc/gtk/textview.cc b/ui/xfc/gtk/textview.cc
similarity index 100%
rename from libXFCui/xfc/gtk/textview.cc
rename to ui/xfc/gtk/textview.cc
diff --git a/libXFCui/xfc/gtk/textview.hh b/ui/xfc/gtk/textview.hh
similarity index 100%
rename from libXFCui/xfc/gtk/textview.hh
rename to ui/xfc/gtk/textview.hh
diff --git a/libXFCui/xfc/gtk/textviewsignals.cc b/ui/xfc/gtk/textviewsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/textviewsignals.cc
rename to ui/xfc/gtk/textviewsignals.cc
diff --git a/libXFCui/xfc/gtk/textviewsignals.hh b/ui/xfc/gtk/textviewsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/textviewsignals.hh
rename to ui/xfc/gtk/textviewsignals.hh
diff --git a/libXFCui/xfc/gtk/toggleaction.cc b/ui/xfc/gtk/toggleaction.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toggleaction.cc
rename to ui/xfc/gtk/toggleaction.cc
diff --git a/libXFCui/xfc/gtk/toggleaction.hh b/ui/xfc/gtk/toggleaction.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toggleaction.hh
rename to ui/xfc/gtk/toggleaction.hh
diff --git a/libXFCui/xfc/gtk/toggleactionsignals.cc b/ui/xfc/gtk/toggleactionsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toggleactionsignals.cc
rename to ui/xfc/gtk/toggleactionsignals.cc
diff --git a/libXFCui/xfc/gtk/toggleactionsignals.hh b/ui/xfc/gtk/toggleactionsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toggleactionsignals.hh
rename to ui/xfc/gtk/toggleactionsignals.hh
diff --git a/libXFCui/xfc/gtk/togglebutton.cc b/ui/xfc/gtk/togglebutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/togglebutton.cc
rename to ui/xfc/gtk/togglebutton.cc
diff --git a/libXFCui/xfc/gtk/togglebutton.hh b/ui/xfc/gtk/togglebutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/togglebutton.hh
rename to ui/xfc/gtk/togglebutton.hh
diff --git a/libXFCui/xfc/gtk/togglebuttonsignals.cc b/ui/xfc/gtk/togglebuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/togglebuttonsignals.cc
rename to ui/xfc/gtk/togglebuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/togglebuttonsignals.hh b/ui/xfc/gtk/togglebuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/togglebuttonsignals.hh
rename to ui/xfc/gtk/togglebuttonsignals.hh
diff --git a/libXFCui/xfc/gtk/toggletoolbutton.cc b/ui/xfc/gtk/toggletoolbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toggletoolbutton.cc
rename to ui/xfc/gtk/toggletoolbutton.cc
diff --git a/libXFCui/xfc/gtk/toggletoolbutton.hh b/ui/xfc/gtk/toggletoolbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toggletoolbutton.hh
rename to ui/xfc/gtk/toggletoolbutton.hh
diff --git a/libXFCui/xfc/gtk/toggletoolbuttonsignals.cc b/ui/xfc/gtk/toggletoolbuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toggletoolbuttonsignals.cc
rename to ui/xfc/gtk/toggletoolbuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/toggletoolbuttonsignals.hh b/ui/xfc/gtk/toggletoolbuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toggletoolbuttonsignals.hh
rename to ui/xfc/gtk/toggletoolbuttonsignals.hh
diff --git a/libXFCui/xfc/gtk/toolbar.cc b/ui/xfc/gtk/toolbar.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toolbar.cc
rename to ui/xfc/gtk/toolbar.cc
diff --git a/libXFCui/xfc/gtk/toolbar.hh b/ui/xfc/gtk/toolbar.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toolbar.hh
rename to ui/xfc/gtk/toolbar.hh
diff --git a/libXFCui/xfc/gtk/toolbarsignals.cc b/ui/xfc/gtk/toolbarsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toolbarsignals.cc
rename to ui/xfc/gtk/toolbarsignals.cc
diff --git a/libXFCui/xfc/gtk/toolbarsignals.hh b/ui/xfc/gtk/toolbarsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toolbarsignals.hh
rename to ui/xfc/gtk/toolbarsignals.hh
diff --git a/libXFCui/xfc/gtk/toolbutton.cc b/ui/xfc/gtk/toolbutton.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toolbutton.cc
rename to ui/xfc/gtk/toolbutton.cc
diff --git a/libXFCui/xfc/gtk/toolbutton.hh b/ui/xfc/gtk/toolbutton.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toolbutton.hh
rename to ui/xfc/gtk/toolbutton.hh
diff --git a/libXFCui/xfc/gtk/toolbuttonsignals.cc b/ui/xfc/gtk/toolbuttonsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toolbuttonsignals.cc
rename to ui/xfc/gtk/toolbuttonsignals.cc
diff --git a/libXFCui/xfc/gtk/toolbuttonsignals.hh b/ui/xfc/gtk/toolbuttonsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toolbuttonsignals.hh
rename to ui/xfc/gtk/toolbuttonsignals.hh
diff --git a/libXFCui/xfc/gtk/toolitem.cc b/ui/xfc/gtk/toolitem.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toolitem.cc
rename to ui/xfc/gtk/toolitem.cc
diff --git a/libXFCui/xfc/gtk/toolitem.hh b/ui/xfc/gtk/toolitem.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toolitem.hh
rename to ui/xfc/gtk/toolitem.hh
diff --git a/libXFCui/xfc/gtk/toolitemsignals.cc b/ui/xfc/gtk/toolitemsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/toolitemsignals.cc
rename to ui/xfc/gtk/toolitemsignals.cc
diff --git a/libXFCui/xfc/gtk/toolitemsignals.hh b/ui/xfc/gtk/toolitemsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/toolitemsignals.hh
rename to ui/xfc/gtk/toolitemsignals.hh
diff --git a/libXFCui/xfc/gtk/tooltips.cc b/ui/xfc/gtk/tooltips.cc
similarity index 100%
rename from libXFCui/xfc/gtk/tooltips.cc
rename to ui/xfc/gtk/tooltips.cc
diff --git a/libXFCui/xfc/gtk/tooltips.hh b/ui/xfc/gtk/tooltips.hh
similarity index 100%
rename from libXFCui/xfc/gtk/tooltips.hh
rename to ui/xfc/gtk/tooltips.hh
diff --git a/libXFCui/xfc/gtk/treednd.cc b/ui/xfc/gtk/treednd.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treednd.cc
rename to ui/xfc/gtk/treednd.cc
diff --git a/libXFCui/xfc/gtk/treednd.hh b/ui/xfc/gtk/treednd.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treednd.hh
rename to ui/xfc/gtk/treednd.hh
diff --git a/ui/xfc/gtk/treemodel.cc b/ui/xfc/gtk/treemodel.cc
new file mode 100755
index 0000000..e9a253e
--- /dev/null
+++ b/ui/xfc/gtk/treemodel.cc
@@ -0,0 +1,563 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * treemodel.cc - GtkTreePath, GtkTreeIter, GtkTreeModel and GtkTreeRowReference C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "treemodel.hh"
+#include "treemodelsignals.hh"
+#include "selection.hh"
+#include "private/marshal.hh"
+#include "private/treemodeliface.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Gtk::TreePath
+ */
+
+Gtk::TreePath::TreePath()
+: G::Boxed(GTK_TYPE_TREE_PATH, gtk_tree_path_new(), false)
+{
+}
+
+Gtk::TreePath::TreePath(const char *path)
+: G::Boxed(GTK_TYPE_TREE_PATH, path ? gtk_tree_path_new_from_string(path) : gtk_tree_path_new_first(), false)
+{
+ if (!path)
+ append_index(0);
+}
+
+Gtk::TreePath::TreePath(const String& path)
+: G::Boxed(GTK_TYPE_TREE_PATH, gtk_tree_path_new_from_string(path.c_str()), false)
+{
+ if (path.null())
+ append_index(0);
+}
+
+Gtk::TreePath::TreePath(int first_index, ...)
+: G::Boxed(GTK_TYPE_TREE_PATH, gtk_tree_path_new(), false)
+{
+ va_list args;
+ va_start(args, first_index);
+ int arg = first_index;
+
+ while (arg != -1)
+ {
+ append_index(arg);
+ arg = va_arg(args, int);
+ }
+
+ va_end(args);
+}
+
+Gtk::TreePath::TreePath(GtkTreePath *path)
+: G::Boxed(GTK_TYPE_TREE_PATH, path)
+{
+}
+
+Gtk::TreePath::TreePath(GtkTreePath *path, bool copy)
+: G::Boxed(GTK_TYPE_TREE_PATH, path, copy)
+{
+}
+
+Gtk::TreePath::TreePath(const TreePath& src)
+: G::Boxed(GTK_TYPE_TREE_PATH, src.g_boxed(), true)
+{
+}
+
+Gtk::TreePath::~TreePath()
+{
+}
+
+Gtk::TreePath&
+Gtk::TreePath::operator=(const TreePath& src)
+{
+ if (src.boxed_ != boxed_)
+ copy(src);
+ return *this;
+}
+
+String
+Gtk::TreePath::to_string() const
+{
+ char *tmp_path = gtk_tree_path_to_string(gtk_tree_path());
+ String path(tmp_path);
+ g_free(tmp_path);
+ return path;
+}
+
+std::vector<int>
+Gtk::TreePath::get_indices() const
+{
+ std::vector<int> indices;
+ int *tmp_indices = gtk_tree_path_get_indices(gtk_tree_path());
+ int count = gtk_tree_path_get_depth(gtk_tree_path());
+
+ int i = 0;
+ while (i < count)
+ {
+ indices.push_back(tmp_indices[i]);
+ ++i;
+ }
+ return indices;
+}
+
+int
+Gtk::TreePath::compare(const TreePath& other) const
+{
+ return gtk_tree_path_compare(gtk_tree_path(), other.gtk_tree_path());
+}
+
+bool
+Gtk::TreePath::is_ancestor(const TreePath& descendant) const
+{
+ return gtk_tree_path_is_ancestor(gtk_tree_path(), descendant.gtk_tree_path());
+}
+
+bool
+Gtk::TreePath::is_descendant(const TreePath& ancestor) const
+{
+ return gtk_tree_path_is_descendant(gtk_tree_path(), ancestor.gtk_tree_path());
+}
+
+bool
+Gtk::TreePath::operator==(const TreePath& other) const
+{
+ return compare(other) == 0;
+}
+
+bool
+Gtk::TreePath::operator!=(const TreePath& other) const
+{
+ return compare(other);
+}
+
+bool
+Gtk::TreePath::operator<(const TreePath& other) const
+{
+ return compare(other) > 0;
+}
+
+bool
+Gtk::TreePath::operator>(const TreePath& other) const
+{
+ return compare(other) < 0;
+}
+
+/* Gtk::TreeIter
+ */
+
+Gtk::TreeIter::TreeIter()
+: G::Boxed(GTK_TYPE_TREE_ITER)
+{
+ GtkTreeIter iter = { 0, };
+ copy(&iter);
+}
+
+Gtk::TreeIter::TreeIter(GtkTreeIter *iter)
+: G::Boxed(GTK_TYPE_TREE_ITER, iter)
+{
+}
+
+Gtk::TreeIter::TreeIter(GtkTreeIter *iter, bool copy)
+: G::Boxed(GTK_TYPE_TREE_ITER, iter, copy)
+{
+}
+
+Gtk::TreeIter::TreeIter(const TreeIter& src)
+: G::Boxed(GTK_TYPE_TREE_ITER, src.g_boxed(), true)
+{
+}
+
+Gtk::TreeIter::~TreeIter()
+{
+}
+
+Gtk::TreeIter&
+Gtk::TreeIter::operator=(const TreeIter& src)
+{
+ if (src.boxed_ != boxed_)
+ copy(src);
+ return *this;
+}
+
+/* Gtk::TreeModel
+ */
+
+Gtk::TreeModel::TreeModel()
+{
+}
+
+Gtk::TreeModel::~TreeModel()
+{
+}
+
+bool
+Gtk::TreeModel::get_iter(TreeIter& iter, const TreePath& path) const
+{
+ return gtk_tree_model_get_iter(gtk_tree_model(), iter.gtk_tree_iter(), path.gtk_tree_path());
+}
+
+bool
+Gtk::TreeModel::get_iter(TreeIter& iter, const char *path) const
+{
+ return gtk_tree_model_get_iter_from_string(gtk_tree_model(), iter.gtk_tree_iter(), path);
+}
+
+bool
+Gtk::TreeModel::get_iter(TreeIter& iter, const String& path) const
+{
+ return gtk_tree_model_get_iter_from_string(gtk_tree_model(), iter.gtk_tree_iter(), path.c_str());
+}
+
+String
+Gtk::TreeModel::get_string_from_iter(const TreeIter& iter) const
+{
+ char *tmp = gtk_tree_model_get_string_from_iter(gtk_tree_model(), iter.gtk_tree_iter());
+ String s(tmp);
+ g_free(tmp);
+ return s;
+}
+
+bool
+Gtk::TreeModel::get_iter_first(TreeIter& iter) const
+{
+ return gtk_tree_model_get_iter_first(gtk_tree_model(), iter.gtk_tree_iter());
+}
+
+Pointer<Gtk::TreePath>
+Gtk::TreeModel::get_path(const TreeIter& iter) const
+{
+ return G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, gtk_tree_model_get_path(gtk_tree_model(), iter.gtk_tree_iter()), false);
+}
+
+void
+Gtk::TreeModel::get_value(const TreeIter& iter, int column, G::Value& value) const
+{
+ gtk_tree_model_get_value(gtk_tree_model(), iter.gtk_tree_iter(), column, value.g_value());
+}
+
+String
+Gtk::TreeModel::get_value(const TreeIter& iter, int column) const
+{
+ String s;
+ get_value(iter, column, s);
+ return s;
+}
+
+bool
+Gtk::TreeModel::get_value(const TreeIter& iter, int column, String& str) const
+{
+ G::Value value;
+ gtk_tree_model_get_value(gtk_tree_model(), iter.gtk_tree_iter(), column, value.g_value());
+ return value.get(str);
+}
+
+bool
+Gtk::TreeModel::get_value(const TreeIter& iter, int column, std::string& str) const
+{
+ String s;
+ bool result = get_value(iter, column, s);
+ str.assign(s.str());
+ return result;
+}
+
+bool
+Gtk::TreeModel::iter_has_child(const TreeIter& iter) const
+{
+ return gtk_tree_model_iter_has_child(gtk_tree_model(), iter.gtk_tree_iter());
+}
+
+bool
+Gtk::TreeModel::iter_next(TreeIter& iter)
+{
+ return gtk_tree_model_iter_next(gtk_tree_model(), iter.gtk_tree_iter());
+}
+
+bool
+Gtk::TreeModel::iter_children(TreeIter& iter, const TreeIter *parent)
+{
+ return gtk_tree_model_iter_children(gtk_tree_model(), iter.gtk_tree_iter(), *parent);
+}
+
+int
+Gtk::TreeModel::iter_n_children(const TreeIter *iter)
+{
+ return gtk_tree_model_iter_n_children(gtk_tree_model(), *iter);
+}
+
+bool
+Gtk::TreeModel::iter_nth_child(TreeIter& iter, const TreeIter *parent, int n)
+{
+ return gtk_tree_model_iter_nth_child(gtk_tree_model(), iter.gtk_tree_iter(), *parent, n);
+}
+
+bool
+Gtk::TreeModel::iter_parent(TreeIter& iter, const TreeIter& child)
+{
+ return gtk_tree_model_iter_parent(gtk_tree_model(), iter.gtk_tree_iter(), child.gtk_tree_iter());
+}
+
+void
+Gtk::TreeModel::ref_node(TreeIter *iter)
+{
+ gtk_tree_model_ref_node(gtk_tree_model(), *iter);
+}
+
+void
+Gtk::TreeModel::unref_node(TreeIter *iter)
+{
+ gtk_tree_model_unref_node(gtk_tree_model(), *iter);
+}
+
+namespace { // ForeachSlot callback
+
+gboolean foreach_slot_callback(GtkTreeModel*, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
+{
+ Gtk::TreeModel::ForeachSlot& slot = *static_cast<Gtk::TreeModel::ForeachSlot*>(data);
+ Gtk::TreePath tmp_path(path);
+ Gtk::TreeIter tmp_iter(iter);
+ return slot(tmp_path, tmp_iter);
+}
+
+} // namespace
+
+void
+Gtk::TreeModel::foreach(const ForeachSlot& each)
+{
+ ForeachSlot tmp_each(each);
+ gtk_tree_model_foreach(gtk_tree_model(), &foreach_slot_callback, &tmp_each);
+}
+
+void
+Gtk::TreeModel::row_changed(const TreePath& path, const TreeIter& iter)
+{
+ gtk_tree_model_row_changed(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter());
+}
+
+void
+Gtk::TreeModel::row_inserted(const TreePath& path, const TreeIter& iter)
+{
+ gtk_tree_model_row_inserted(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter());
+}
+
+void
+Gtk::TreeModel::row_has_child_toggled(const TreePath& path, const TreeIter& iter)
+{
+ gtk_tree_model_row_has_child_toggled(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter());
+}
+
+void
+Gtk::TreeModel::row_deleted(const TreePath& path)
+{
+ gtk_tree_model_row_deleted(gtk_tree_model(), path.gtk_tree_path());
+}
+
+void
+Gtk::TreeModel::rows_reordered(const TreePath& path, const TreeIter& iter, int *new_order)
+{
+ gtk_tree_model_rows_reordered(gtk_tree_model(), path.gtk_tree_path(), iter.gtk_tree_iter(), new_order);
+}
+
+/* Gtk::TreeModelIface
+ */
+
+void
+Gtk::TreeModelIface::init(GtkTreeModelIface *g_iface)
+{
+ g_iface->row_changed = &row_changed_proxy;
+ g_iface->row_inserted = &row_inserted_proxy;
+ g_iface->row_has_child_toggled = &row_has_child_toggled_proxy;
+ g_iface->row_deleted = &row_deleted_proxy;
+ g_iface->rows_reordered = &rows_reordered_proxy;
+}
+
+GtkTreeModelIface*
+Gtk::TreeModelIface::get_parent_iface(void *instance)
+{
+ return static_cast<GtkTreeModelIface*>(g_type_interface_peek_parent(GTK_TREE_MODEL_GET_IFACE(instance)));
+}
+
+void
+Gtk::TreeModelIface::row_changed_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter)
+{
+ TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
+ if (signals)
+ {
+ TreePath tmp_path(path);
+ TreeIter tmp_iter(iter);
+ signals->on_row_changed(tmp_path, tmp_iter);
+ }
+ else
+ {
+ GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
+ if (g_iface && g_iface->row_changed)
+ g_iface->row_changed(tree_model, path, iter);
+ }
+}
+
+void
+Gtk::TreeModelIface::row_inserted_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter)
+{
+ TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
+ if (signals)
+ {
+ TreePath tmp_path(path);
+ TreeIter tmp_iter(iter);
+ signals->on_row_inserted(tmp_path, tmp_iter);
+ }
+ else
+ {
+ GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
+ if (g_iface && g_iface->row_inserted)
+ g_iface->row_inserted(tree_model, path, iter);
+ }
+}
+
+void
+Gtk::TreeModelIface::row_has_child_toggled_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter)
+{
+ TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
+ if (signals)
+ {
+ TreePath tmp_path(path);
+ TreeIter tmp_iter(iter);
+ signals->on_row_has_child_toggled(tmp_path, tmp_iter);
+ }
+ else
+ {
+ GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
+ if (g_iface && g_iface->row_has_child_toggled)
+ g_iface->row_has_child_toggled(tree_model, path, iter);
+ }
+}
+
+void
+Gtk::TreeModelIface::row_deleted_proxy(GtkTreeModel *tree_model, GtkTreePath *path)
+{
+ TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
+ if (signals)
+ {
+ TreePath tmp_path(path);
+ signals->on_row_deleted(tmp_path);
+ }
+ else
+ {
+ GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
+ if (g_iface && g_iface->row_deleted)
+ g_iface->row_deleted(tree_model, path);
+ }
+}
+
+void
+Gtk::TreeModelIface::rows_reordered_proxy(GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, gint *new_order)
+{
+ TreeModelSignals *signals = dynamic_cast<TreeModelSignals*>(G::ObjectSignals::pointer((GObject*)tree_model));
+ if (signals)
+ {
+ TreePath tmp_path(path);
+ TreeIter tmp_iter(iter);
+ signals->on_rows_reordered(tmp_path, tmp_iter, new_order);
+ }
+ else
+ {
+ GtkTreeModelIface *g_iface = get_parent_iface(tree_model);
+ if (g_iface && g_iface->rows_reordered)
+ g_iface->rows_reordered(tree_model, path, iter, new_order);
+ }
+}
+
+/* Gtk::TreeModel signals
+ */
+
+const Gtk::TreeModel::RowChangedSignalType Gtk::TreeModel::row_changed_signal("row_changed", (GCallback)&Marshal::void_treepath_treeiter_callback);
+
+const Gtk::TreeModel::RowInsertedSignalType Gtk::TreeModel::row_inserted_signal("row_inserted", (GCallback)&Marshal::void_treepath_treeiter_callback);
+
+const Gtk::TreeModel::RowHasChildToggledSignalType Gtk::TreeModel::row_has_child_toggled_signal("row_has_child_toggled", (GCallback)&Marshal::void_treepath_treeiter_callback);
+
+const Gtk::TreeModel::RowDeletedSignalType Gtk::TreeModel::row_deleted_signal("row_deleted", (GCallback)&Marshal::void_treepath_callback);
+
+const Gtk::TreeModel::RowsReorderedSignalType Gtk::TreeModel::rows_reordered_signal("rows_reordered", (GCallback)&Marshal::void_treepath_treeiter_pint_callback);
+
+/* Gtk::TreeRowReference
+ */
+
+Gtk::TreeRowReference::TreeRowReference(TreeModel& model, const TreePath& path)
+: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, gtk_tree_row_reference_new(model.gtk_tree_model(), path.gtk_tree_path()), false)
+{
+}
+
+Gtk::TreeRowReference::TreeRowReference(G::Object& proxy, TreeModel& model, const TreePath& path)
+: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, gtk_tree_row_reference_new_proxy(proxy.g_object(), model.gtk_tree_model(), path.gtk_tree_path()), false)
+{
+}
+
+Gtk::TreeRowReference::TreeRowReference(GtkTreeRowReference *reference)
+: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, reference)
+{
+}
+
+Gtk::TreeRowReference::TreeRowReference(GtkTreeRowReference *reference, bool copy)
+: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, reference, copy)
+{
+}
+
+Gtk::TreeRowReference::TreeRowReference(const TreeRowReference& src)
+: G::Boxed(GTK_TYPE_TREE_ROW_REFERENCE, src.g_boxed(), true)
+{
+}
+
+Gtk::TreeRowReference::~TreeRowReference()
+{
+}
+
+Gtk::TreeRowReference&
+Gtk::TreeRowReference::operator=(const TreeRowReference& src)
+{
+ if (src.boxed_ != boxed_)
+ copy(src);
+ return *this;
+}
+
+Pointer<Gtk::TreePath>
+Gtk::TreeRowReference::get_path() const
+{
+ return G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, gtk_tree_row_reference_get_path(gtk_tree_row_reference()), false);
+}
+
+void
+Gtk::TreeRowReference::inserted(const G::Object& proxy, const TreePath& path)
+{
+ gtk_tree_row_reference_inserted(proxy.g_object(), path.gtk_tree_path());
+}
+
+void
+Gtk::TreeRowReference::deleted(const G::Object& proxy, const TreePath& path)
+{
+ gtk_tree_row_reference_deleted(proxy.g_object(), path.gtk_tree_path());
+}
+
+void
+Gtk::TreeRowReference::reordered(const G::Object& proxy, const TreePath& path, const TreeIter& iter, int *new_order)
+{
+ gtk_tree_row_reference_reordered(proxy.g_object(), path.gtk_tree_path(), iter.gtk_tree_iter(), new_order);
+}
+
diff --git a/libXFCui/xfc/gtk/treemodel.hh b/ui/xfc/gtk/treemodel.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treemodel.hh
rename to ui/xfc/gtk/treemodel.hh
diff --git a/ui/xfc/gtk/treemodelfilter.cc b/ui/xfc/gtk/treemodelfilter.cc
new file mode 100644
index 0000000..6d5e2d0
--- /dev/null
+++ b/ui/xfc/gtk/treemodelfilter.cc
@@ -0,0 +1,192 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * treemodelfilter.cc - GtkTreeModelFilter C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "treemodelfilter.hh"
+#include "treemodel.hh"
+#include "private/treemodelfilterclass.hh"
+#include "private/treemodeliface.hh"
+#include "xfc/glib/private/objectclass.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Gtk::TreeModelFilter
+ */
+
+Gtk::TreeModelFilter::TreeModelFilter(GtkTreeModelFilter *filter, bool owns_reference)
+: G::Object((GObject*)filter, owns_reference)
+{
+}
+
+Gtk::TreeModelFilter::TreeModelFilter(TreeModel& child_model, const TreePath *root)
+: G::Object((GObject*)TreeModelFilterClass::create(child_model.gtk_tree_model(), *root))
+{
+}
+
+Gtk::TreeModelFilter::~TreeModelFilter()
+{
+}
+
+Gtk::TreeModel*
+Gtk::TreeModelFilter::get_model() const
+{
+ GtkTreeModel *child_model = gtk_tree_model_filter_get_model(gtk_tree_model_filter());
+ TreeModel *tmp_child_model = 0;
+ if (child_model)
+ {
+ G::Object *object = G::Object::pointer((GObject*)child_model);
+ tmp_child_model = dynamic_cast<Gtk::TreeModel*>(object);
+ }
+ return tmp_child_model;
+}
+
+namespace { // VisibleCallback
+
+struct VisibleCallback
+{
+ typedef Gtk::TreeModelFilter::VisibleSlot VisibleSlot;
+ VisibleSlot slot_;
+
+ VisibleCallback(const VisibleSlot& slot)
+ : slot_(slot)
+ {
+ }
+
+ static gboolean notify(GtkTreeModel *model, GtkTreeIter *iter, void *data)
+ {
+ VisibleCallback *cb = static_cast<VisibleCallback*>(data);
+ G::Object *object = G::Object::pointer((GObject*)model);
+ Gtk::TreeModel *tmp_model = dynamic_cast<Gtk::TreeModel*>(object);
+ Gtk::TreeIter tmp_iter(iter);
+ return cb->slot_(*tmp_model, tmp_iter);
+ }
+
+ static void destroy(void *data)
+ {
+ VisibleCallback *cb = static_cast<VisibleCallback*>(data);
+ delete cb;
+ }
+};
+
+} // namespace
+
+void
+Gtk::TreeModelFilter::set_visible_func(const VisibleSlot& slot)
+{
+ VisibleCallback *cb = new VisibleCallback(slot);
+ gtk_tree_model_filter_set_visible_func(gtk_tree_model_filter(), &VisibleCallback::notify, cb, &VisibleCallback::destroy);
+}
+
+namespace { // ModifyCallback
+
+struct ModifyCallback
+{
+ typedef Gtk::TreeModelFilter::ModifySlot ModifySlot;
+ ModifySlot slot_;
+
+ ModifyCallback(const ModifySlot& slot)
+ : slot_(slot)
+ {
+ }
+
+ static void notify(GtkTreeModel *model, GtkTreeIter *iter, GValue *value, int column, void *data)
+ {
+ ModifyCallback *cb = static_cast<ModifyCallback*>(data);
+ G::Object *object = G::Object::pointer((GObject*)model);
+ Gtk::TreeModel *tmp_model = dynamic_cast<Gtk::TreeModel*>(object);
+ Gtk::TreeIter tmp_iter(iter);
+ G::Value tmp_value(value);
+ return cb->slot_(*tmp_model, tmp_iter, tmp_value, column);
+ }
+
+ static void destroy(void *data)
+ {
+ ModifyCallback *cb = static_cast<ModifyCallback*>(data);
+ delete cb;
+ }
+};
+
+} // namespace
+
+void
+Gtk::TreeModelFilter::set_modify_func(int n_columns, const GType types[], const ModifySlot& slot)
+{
+ ModifyCallback *cb = new ModifyCallback(slot);
+ gtk_tree_model_filter_set_modify_func(gtk_tree_model_filter(), n_columns, const_cast<GType*>(types),
+ &ModifyCallback::notify, cb, &ModifyCallback::destroy);
+}
+
+Gtk::TreeIter
+Gtk::TreeModelFilter::convert_child_iter_to_iter(const TreeIter& child_iter)
+{
+ GtkTreeIter filter_iter;
+ gtk_tree_model_filter_convert_child_iter_to_iter(gtk_tree_model_filter(), &filter_iter, child_iter.gtk_tree_iter());
+ return TreeIter(&filter_iter, true);
+}
+
+Gtk::TreeIter
+Gtk::TreeModelFilter::convert_iter_to_child_iter(const TreeIter& filter_iter)
+{
+ GtkTreeIter child_iter;
+ gtk_tree_model_filter_convert_iter_to_child_iter(gtk_tree_model_filter(), &child_iter, filter_iter.gtk_tree_iter());
+ return TreeIter(&child_iter, true);
+}
+
+Pointer<Gtk::TreePath>
+Gtk::TreeModelFilter::convert_child_path_to_path(const TreePath& child_path)
+{
+ GtkTreePath *path = gtk_tree_model_filter_convert_child_path_to_path(gtk_tree_model_filter(), child_path.gtk_tree_path());
+ return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
+}
+
+Pointer<Gtk::TreePath>
+Gtk::TreeModelFilter::convert_path_to_child_path(const TreePath& filter_path)
+{
+ GtkTreePath *path = gtk_tree_model_filter_convert_path_to_child_path(gtk_tree_model_filter(), filter_path.gtk_tree_path());
+ return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
+}
+
+/* Gtk::TreeModelFilterClass
+ */
+
+void
+Gtk::TreeModelFilterClass::init(GtkTreeModelFilterClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::TreeModelFilterClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_TREE_MODEL_FILTER, (GClassInitFunc)&init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
+ }
+ return type;
+}
+
+void*
+Gtk::TreeModelFilterClass::create(GtkTreeModel *child_model, GtkTreePath *root)
+{
+ return g_object_new(get_type(), "child_model", child_model, "virtual_root", root, 0);
+}
+
diff --git a/libXFCui/xfc/gtk/treemodelfilter.hh b/ui/xfc/gtk/treemodelfilter.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treemodelfilter.hh
rename to ui/xfc/gtk/treemodelfilter.hh
diff --git a/libXFCui/xfc/gtk/treemodelsignals.cc b/ui/xfc/gtk/treemodelsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treemodelsignals.cc
rename to ui/xfc/gtk/treemodelsignals.cc
diff --git a/libXFCui/xfc/gtk/treemodelsignals.hh b/ui/xfc/gtk/treemodelsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treemodelsignals.hh
rename to ui/xfc/gtk/treemodelsignals.hh
diff --git a/ui/xfc/gtk/treemodelsort.cc b/ui/xfc/gtk/treemodelsort.cc
new file mode 100755
index 0000000..1476aa7
--- /dev/null
+++ b/ui/xfc/gtk/treemodelsort.cc
@@ -0,0 +1,122 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * treemodelsort.cc - GtkTreeModelSort C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "treemodelsort.hh"
+#include "private/treemodelsortclass.hh"
+#include "private/treemodeliface.hh"
+#include "private/treesortableiface.hh"
+#include "xfc/glib/private/objectclass.hh"
+
+using namespace Xfc;
+
+/* Gtk::TreeModelSort
+ */
+
+Gtk::TreeModelSort::TreeModelSort(GtkTreeModelSort *tree_model, bool owns_reference)
+: G::Object((GObject*)tree_model, owns_reference)
+{
+}
+
+Gtk::TreeModelSort::TreeModelSort(TreeModel& child_model)
+: G::Object((GObject*)TreeModelSortClass::create(child_model.gtk_tree_model()))
+{
+}
+
+Gtk::TreeModelSort::~TreeModelSort()
+{
+}
+
+Gtk::TreeModel*
+Gtk::TreeModelSort::get_model() const
+{
+ GtkTreeModel *child_model = gtk_tree_model_sort_get_model(gtk_tree_model_sort());
+ TreeModel *tmp_child_model = 0;
+ if (child_model)
+ {
+ G::Object *object = G::Object::pointer((GObject*)child_model);
+ tmp_child_model = dynamic_cast<Gtk::TreeModel*>(object);
+ }
+ return tmp_child_model;
+}
+
+bool
+Gtk::TreeModelSort::iter_is_valid(const TreeIter& iter) const
+{
+ return gtk_tree_model_sort_iter_is_valid(gtk_tree_model_sort(), iter.gtk_tree_iter());
+}
+
+Pointer<Gtk::TreePath>
+Gtk::TreeModelSort::convert_child_path_to_path(const TreePath& child_path)
+{
+ GtkTreePath *path = gtk_tree_model_sort_convert_child_path_to_path(gtk_tree_model_sort(), child_path.gtk_tree_path());
+ return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
+}
+
+Gtk::TreeIter
+Gtk::TreeModelSort::convert_child_iter_to_iter(const TreeIter& child_iter)
+{
+ GtkTreeIter sort_iter;
+ gtk_tree_model_sort_convert_child_iter_to_iter(gtk_tree_model_sort(), &sort_iter, child_iter.gtk_tree_iter());
+ return TreeIter(&sort_iter, true);
+}
+
+Pointer<Gtk::TreePath>
+Gtk::TreeModelSort::convert_path_to_child_path(const TreePath& sorted_path)
+{
+ GtkTreePath *path = gtk_tree_model_sort_convert_path_to_child_path(gtk_tree_model_sort(), sorted_path.gtk_tree_path());
+ return path ? G::Boxed::wrap<TreePath>(GTK_TYPE_TREE_PATH, path, false) : 0;
+}
+
+Gtk::TreeIter
+Gtk::TreeModelSort::convert_iter_to_child_iter(const TreeIter& sorted_iter)
+{
+ GtkTreeIter child_iter;
+ gtk_tree_model_sort_convert_iter_to_child_iter(gtk_tree_model_sort(), &child_iter, sorted_iter.gtk_tree_iter());
+ return TreeIter(&child_iter, true);
+}
+
+/* Gtk::TreeModelSortClass
+ */
+
+void
+Gtk::TreeModelSortClass::init(GtkTreeModelSortClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::TreeModelSortClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_TREE_MODEL_SORT, (GClassInitFunc)&init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_SORTABLE, (GInterfaceInitFunc)&TreeSortableIface::init);
+ }
+ return type;
+}
+
+void*
+Gtk::TreeModelSortClass::create(GtkTreeModel *child_model)
+{
+ return g_object_new(get_type(), "model", child_model, 0);
+}
+
diff --git a/libXFCui/xfc/gtk/treemodelsort.hh b/ui/xfc/gtk/treemodelsort.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treemodelsort.hh
rename to ui/xfc/gtk/treemodelsort.hh
diff --git a/libXFCui/xfc/gtk/treeselection.cc b/ui/xfc/gtk/treeselection.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treeselection.cc
rename to ui/xfc/gtk/treeselection.cc
diff --git a/libXFCui/xfc/gtk/treeselection.hh b/ui/xfc/gtk/treeselection.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treeselection.hh
rename to ui/xfc/gtk/treeselection.hh
diff --git a/ui/xfc/gtk/treesortable.cc b/ui/xfc/gtk/treesortable.cc
new file mode 100755
index 0000000..af7d41a
--- /dev/null
+++ b/ui/xfc/gtk/treesortable.cc
@@ -0,0 +1,125 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * treesortable.cc - GtkTreeSortable C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "treesortable.hh"
+#include "treesortablesignals.hh"
+#include "treemodel.hh"
+#include "private/marshal.hh"
+#include "private/treesortableiface.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/objectsignals.hh"
+
+using namespace Xfc;
+
+/* Gtk::TreeSortable
+ */
+
+Gtk::TreeSortable::TreeSortable()
+{
+}
+
+Gtk::TreeSortable::~TreeSortable()
+{
+}
+
+namespace { // CompareCallback
+
+struct CompareCallback
+{
+ typedef Gtk::TreeSortable::CompareSlot CompareSlot;
+ CompareSlot slot_;
+
+ CompareCallback(const CompareSlot& slot)
+ : slot_(slot)
+ {
+ }
+
+ static int notify(GtkTreeModel*, GtkTreeIter *a, GtkTreeIter *b, void *data)
+ {
+ CompareCallback *cb = static_cast<CompareCallback*>(data);
+ Gtk::TreeIter tmp_a(a);
+ Gtk::TreeIter tmp_b(b);
+ return cb->slot_(tmp_a, tmp_b);
+ }
+
+ static void destroy(void *data)
+ {
+ CompareCallback *cb = static_cast<CompareCallback*>(data);
+ delete cb;
+ }
+};
+
+} // namespace
+
+void
+Gtk::TreeSortable::set_sort_func(int sort_column_id, const CompareSlot& compare)
+{
+ CompareCallback *cb = new CompareCallback(compare);
+ gtk_tree_sortable_set_sort_func(gtk_tree_sortable(), sort_column_id, &CompareCallback::notify, cb, &CompareCallback::destroy);
+}
+
+void
+Gtk::TreeSortable::set_default_sort_func(const CompareSlot& compare)
+{
+ CompareCallback *cb = new CompareCallback(compare);
+ gtk_tree_sortable_set_default_sort_func(gtk_tree_sortable(), &CompareCallback::notify, cb, &CompareCallback::destroy);
+}
+
+void
+Gtk::TreeSortable::reset_default_sort_func()
+{
+ gtk_tree_sortable_set_default_sort_func(gtk_tree_sortable(), 0, 0, 0);
+}
+
+/* Gtk::TreeSortableIface
+ */
+
+void
+Gtk::TreeSortableIface::init(GtkTreeSortableIface *g_iface)
+{
+ g_iface->sort_column_changed = &sort_column_changed_proxy;
+}
+
+GtkTreeSortableIface*
+Gtk::TreeSortableIface::get_parent_iface(void *instance)
+{
+ return static_cast<GtkTreeSortableIface*>(g_type_interface_peek_parent(GTK_TREE_SORTABLE_GET_IFACE(instance)));
+}
+
+void
+Gtk::TreeSortableIface::sort_column_changed_proxy(GtkTreeSortable *sortable)
+{
+ TreeSortableSignals *signals = dynamic_cast<TreeSortableSignals*>(G::ObjectSignals::pointer((GObject*)sortable));
+ if (signals)
+ {
+ signals->on_sort_column_changed();
+ }
+ else
+ {
+ GtkTreeSortableIface *g_iface = get_parent_iface(sortable);
+ if (g_iface && g_iface->sort_column_changed)
+ g_iface->sort_column_changed(sortable);
+ }
+}
+
+/* Gtk::TreeSortable signals
+ */
+
+const Gtk::TreeSortable::SortColumnChangedSignalType Gtk::TreeSortable::sort_column_changed_signal("sort_column_changed", (GCallback)&G::Marshal::void_callback);
diff --git a/libXFCui/xfc/gtk/treesortable.hh b/ui/xfc/gtk/treesortable.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treesortable.hh
rename to ui/xfc/gtk/treesortable.hh
diff --git a/libXFCui/xfc/gtk/treesortablesignals.cc b/ui/xfc/gtk/treesortablesignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treesortablesignals.cc
rename to ui/xfc/gtk/treesortablesignals.cc
diff --git a/libXFCui/xfc/gtk/treesortablesignals.hh b/ui/xfc/gtk/treesortablesignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treesortablesignals.hh
rename to ui/xfc/gtk/treesortablesignals.hh
diff --git a/ui/xfc/gtk/treestore.cc b/ui/xfc/gtk/treestore.cc
new file mode 100755
index 0000000..465e0e9
--- /dev/null
+++ b/ui/xfc/gtk/treestore.cc
@@ -0,0 +1,213 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * treestore.cc - GtkTreeStore C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "treestore.hh"
+#include "private/treestoreclass.hh"
+#include "private/treemodeliface.hh"
+#include "private/treesortableiface.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Gtk::TreeStore
+ */
+
+Gtk::TreeStore::TreeStore()
+: G::Object((GObject*)TreeStoreClass::create())
+{
+}
+
+Gtk::TreeStore::TreeStore(GtkTreeStore *tree_store, bool owns_reference)
+: G::Object((GObject*)tree_store, owns_reference)
+{
+}
+
+Gtk::TreeStore::TreeStore(int n_columns, ...)
+: G::Object((GObject*)TreeStoreClass::create())
+{
+ g_return_if_fail(n_columns > 0);
+ va_list args;
+ va_start(args, n_columns);
+ GType *types = new GType[n_columns];
+
+ int i = 0;
+ while (i < n_columns)
+ {
+ types[i] = va_arg(args, GType);
+ ++i;
+ }
+
+ set_column_types(n_columns, types);
+ delete [] types;
+ va_end(args);
+}
+
+Gtk::TreeStore::TreeStore(int n_columns, const GType *types)
+: G::Object((GObject*)TreeStoreClass::create())
+{
+ set_column_types(n_columns, types);
+}
+
+Gtk::TreeStore::~TreeStore()
+{
+}
+
+void
+Gtk::TreeStore::set_column_types(int n_columns, const GType *types)
+{
+ gtk_tree_store_set_column_types(gtk_tree_store(), n_columns, const_cast<GType*>(types));
+}
+
+bool
+Gtk::TreeStore::is_ancestor(const TreeIter& iter, const TreeIter& descendant) const
+{
+ return gtk_tree_store_is_ancestor(gtk_tree_store(), iter.gtk_tree_iter(), descendant.gtk_tree_iter()) != 0;
+}
+
+int
+Gtk::TreeStore::iter_depth(const TreeIter& iter) const
+{
+ return gtk_tree_store_iter_depth(gtk_tree_store(), iter.gtk_tree_iter());
+}
+
+bool
+Gtk::TreeStore::iter_is_valid(const TreeIter& iter) const
+{
+ return gtk_tree_store_iter_is_valid(gtk_tree_store(), iter.gtk_tree_iter());
+}
+
+void
+Gtk::TreeStore::set_value(const TreeIter& iter, int column, const G::Value& value)
+{
+ gtk_tree_store_set_value(gtk_tree_store(), iter.gtk_tree_iter(), column, value.g_value());
+}
+
+void
+Gtk::TreeStore::set_value(const TreeIter& iter, int column, const char *str)
+{
+ G::Value value(gtk_tree_store()->column_headers[column]);
+ value.set(String(str));
+ gtk_tree_store_set_value(gtk_tree_store(), iter, column, value.g_value());
+}
+
+void
+Gtk::TreeStore::set_value(const TreeIter& iter, int column, const std::string& str)
+{
+ set_value(iter, column, str.c_str());
+}
+
+Gtk::TreeIter
+Gtk::TreeStore::append(TreeIter *parent)
+{
+ GtkTreeIter iter;
+ gtk_tree_store_append(gtk_tree_store(), &iter, *parent);
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::TreeStore::prepend(TreeIter *parent)
+{
+ GtkTreeIter iter;
+ gtk_tree_store_prepend(gtk_tree_store(), &iter, *parent);
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::TreeStore::insert(int position, TreeIter *parent)
+{
+ GtkTreeIter iter;
+ gtk_tree_store_insert(gtk_tree_store(), &iter, *parent, position);
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::TreeStore::insert_before(TreeIter& sibling, TreeIter *parent)
+{
+ GtkTreeIter iter;
+ gtk_tree_store_insert_before(gtk_tree_store(), &iter, *parent, sibling.gtk_tree_iter());
+ return TreeIter(&iter, true);
+}
+
+Gtk::TreeIter
+Gtk::TreeStore::insert_after(TreeIter& sibling, TreeIter *parent)
+{
+ GtkTreeIter iter;
+ gtk_tree_store_insert_after(gtk_tree_store(), &iter, *parent, sibling.gtk_tree_iter());
+ return TreeIter(&iter, true);
+}
+
+bool
+Gtk::TreeStore::remove(TreeIter& iter)
+{
+ return gtk_tree_store_remove(gtk_tree_store(), iter.gtk_tree_iter());
+}
+
+void
+Gtk::TreeStore::reorder(const TreeIter& parent, int *new_order)
+{
+ gtk_tree_store_reorder(gtk_tree_store(), parent.gtk_tree_iter(), new_order);
+}
+
+void
+Gtk::TreeStore::swap(const TreeIter& a, const TreeIter& b)
+{
+ gtk_tree_store_swap(gtk_tree_store(), a.gtk_tree_iter(), b.gtk_tree_iter());
+}
+
+void
+Gtk::TreeStore::move_after(const TreeIter& iter, const TreeIter *position)
+{
+ gtk_tree_store_move_after(gtk_tree_store(), iter.gtk_tree_iter(), *position);
+}
+
+void
+Gtk::TreeStore::move_before(const TreeIter& iter, const TreeIter *position)
+{
+ gtk_tree_store_move_before(gtk_tree_store(), iter.gtk_tree_iter(), *position);
+}
+
+/* Gtk::TreeStoreClass
+ */
+
+void
+Gtk::TreeStoreClass::init(GtkTreeStoreClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::TreeStoreClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_TREE_STORE, (GClassInitFunc)&init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_MODEL, (GInterfaceInitFunc)&TreeModelIface::init);
+ G::TypeInstance::add_interface(type, GTK_TYPE_TREE_SORTABLE, (GInterfaceInitFunc)&TreeSortableIface::init);
+ }
+ return type;
+}
+
+void*
+Gtk::TreeStoreClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
diff --git a/libXFCui/xfc/gtk/treestore.hh b/ui/xfc/gtk/treestore.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treestore.hh
rename to ui/xfc/gtk/treestore.hh
diff --git a/libXFCui/xfc/gtk/treeview.cc b/ui/xfc/gtk/treeview.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treeview.cc
rename to ui/xfc/gtk/treeview.cc
diff --git a/libXFCui/xfc/gtk/treeview.hh b/ui/xfc/gtk/treeview.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treeview.hh
rename to ui/xfc/gtk/treeview.hh
diff --git a/libXFCui/xfc/gtk/treeviewcolumn.cc b/ui/xfc/gtk/treeviewcolumn.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treeviewcolumn.cc
rename to ui/xfc/gtk/treeviewcolumn.cc
diff --git a/libXFCui/xfc/gtk/treeviewcolumn.hh b/ui/xfc/gtk/treeviewcolumn.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treeviewcolumn.hh
rename to ui/xfc/gtk/treeviewcolumn.hh
diff --git a/libXFCui/xfc/gtk/treeviewcolumnsignals.cc b/ui/xfc/gtk/treeviewcolumnsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treeviewcolumnsignals.cc
rename to ui/xfc/gtk/treeviewcolumnsignals.cc
diff --git a/libXFCui/xfc/gtk/treeviewcolumnsignals.hh b/ui/xfc/gtk/treeviewcolumnsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treeviewcolumnsignals.hh
rename to ui/xfc/gtk/treeviewcolumnsignals.hh
diff --git a/libXFCui/xfc/gtk/treeviewsignals.cc b/ui/xfc/gtk/treeviewsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/treeviewsignals.cc
rename to ui/xfc/gtk/treeviewsignals.cc
diff --git a/libXFCui/xfc/gtk/treeviewsignals.hh b/ui/xfc/gtk/treeviewsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/treeviewsignals.hh
rename to ui/xfc/gtk/treeviewsignals.hh
diff --git a/ui/xfc/gtk/uimanager.cc b/ui/xfc/gtk/uimanager.cc
new file mode 100644
index 0000000..734c5ff
--- /dev/null
+++ b/ui/xfc/gtk/uimanager.cc
@@ -0,0 +1,334 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * uimanager.cc - GtkUIManager C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "uimanager.hh"
+#include "uimanagersignals.hh"
+#include "accelgroup.hh"
+#include "widget.hh"
+#include "private/marshal.hh"
+#include "private/uimanagerclass.hh"
+#include "xfc/glib/error.hh"
+
+using namespace Xfc;
+
+/* Gtk::UIManager
+ */
+
+Gtk::UIManager::UIManager(GtkUIManager *ui_manager, bool owns_reference)
+: G::Object((GObject*)ui_manager, owns_reference)
+{
+}
+
+Gtk::UIManager::UIManager()
+: G::Object((GObject*)UIManagerClass::create())
+{
+}
+
+Gtk::UIManager::~UIManager()
+{
+}
+
+bool
+Gtk::UIManager::get_action_groups(std::vector<ActionGroup*>& action_groups) const
+{
+ g_return_val_if_fail(action_groups.empty(), false);
+
+ GList *first = gtk_ui_manager_get_action_groups(gtk_ui_manager());
+ GList *next = first;
+
+ while (next)
+ {
+ action_groups.push_back(G::Object::wrap<ActionGroup>((GtkActionGroup*)next->data));
+ next = g_list_next(next);
+ }
+
+ return !action_groups.empty();
+}
+
+Gtk::AccelGroup*
+Gtk::UIManager::get_accel_group() const
+{
+ return G::Object::wrap<AccelGroup>(gtk_ui_manager_get_accel_group(gtk_ui_manager()));
+}
+
+Gtk::Widget*
+Gtk::UIManager::get_widget(const char *path) const
+{
+ GtkWidget *widget = gtk_ui_manager_get_widget(gtk_ui_manager(), path);
+ return widget ? G::Object::wrap<Widget>(widget) : 0;
+}
+
+Gtk::Widget*
+Gtk::UIManager::get_widget(const String& path) const
+{
+ return get_widget(path.c_str());
+}
+
+bool
+Gtk::UIManager::get_toplevels(std::vector<Widget*>& toplevels, UIManagerItemTypeField types) const
+{
+ g_return_val_if_fail(toplevels.empty(), false);
+
+ GSList *first = gtk_ui_manager_get_toplevels(gtk_ui_manager(), (GtkUIManagerItemType)types);
+ GSList *next = first;
+
+ while (next)
+ {
+ toplevels.push_back(G::Object::wrap<Widget>((GtkWidget*)next->data));
+ next = g_slist_next(next);
+ }
+
+ g_slist_free(first);
+ return !toplevels.empty();
+}
+
+Gtk::Action*
+Gtk::UIManager::get_action(const char *path) const
+{
+ GtkAction *action = gtk_ui_manager_get_action(gtk_ui_manager(), path);
+ return action ? G::Object::wrap<Action>(action) : 0;
+}
+
+String
+Gtk::UIManager::get_ui() const
+{
+ char *merged_ui = gtk_ui_manager_get_ui(gtk_ui_manager());
+ String s(merged_ui);
+ g_free(merged_ui);
+ return s;
+}
+
+void
+Gtk::UIManager::insert_action_group(ActionGroup& action_group, int pos)
+{
+ gtk_ui_manager_insert_action_group(gtk_ui_manager(), action_group.gtk_action_group(), pos);
+}
+
+void
+Gtk::UIManager::remove_action_group(ActionGroup& action_group)
+{
+ gtk_ui_manager_remove_action_group(gtk_ui_manager(), action_group.gtk_action_group());
+}
+
+unsigned int
+Gtk::UIManager::add_ui_from_string(const char *buffer, int length, G::Error *error)
+{
+ return gtk_ui_manager_add_ui_from_string(gtk_ui_manager(), buffer, (gssize)length, *error);
+}
+
+unsigned int
+Gtk::UIManager::add_ui_from_string(const String& buffer, G::Error *error)
+{
+ return add_ui_from_string(buffer.c_str(), buffer.size(), error);
+}
+
+unsigned int
+Gtk::UIManager::add_ui_from_file(const char *filename, G::Error *error)
+{
+ return gtk_ui_manager_add_ui_from_file(gtk_ui_manager(), filename, *error);
+}
+
+unsigned int
+Gtk::UIManager::add_ui_from_file(const String& filename, G::Error *error)
+{
+ return add_ui_from_file(filename.c_str(), error);
+}
+
+void
+Gtk::UIManager::add_ui(unsigned int merge_id, const char *path, const char *name, const char *action, UIManagerItemType type, bool top)
+{
+ gtk_ui_manager_add_ui(gtk_ui_manager(), merge_id, path, name, action, (GtkUIManagerItemType)type, top);
+}
+
+void
+Gtk::UIManager::add_ui(unsigned int merge_id, const String& path, const String& name, const String& action, UIManagerItemType type, bool top)
+{
+ add_ui(merge_id, path.c_str(), name.c_str(), action.c_str(), type, top);
+}
+
+void
+Gtk::UIManager::add_ui_separator(unsigned int merge_id, const char *path, const char *name, bool top)
+{
+ gtk_ui_manager_add_ui(gtk_ui_manager(), merge_id, path, name, 0, (GtkUIManagerItemType)0, top);
+
+}
+
+void
+Gtk::UIManager::add_ui_separator(unsigned int merge_id, const String& path, const String& name, bool top)
+{
+ add_ui_separator(merge_id, path.c_str(), name.c_str(), top);
+
+}
+
+void
+Gtk::UIManager::remove_ui(unsigned int merge_id)
+{
+ gtk_ui_manager_remove_ui(gtk_ui_manager(), merge_id);
+}
+
+void
+Gtk::UIManager::ensure_update()
+{
+ gtk_ui_manager_ensure_update(gtk_ui_manager());
+}
+
+unsigned int
+Gtk::UIManager::new_merge_id()
+{
+ return gtk_ui_manager_new_merge_id(gtk_ui_manager());
+}
+
+/* Gtk::UIManagerClass
+ */
+
+void
+Gtk::UIManagerClass::init(GtkUIManagerClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+ g_class->add_widget = &add_widget_proxy;
+ g_class->actions_changed = &actions_changed_proxy;
+ g_class->connect_proxy = &connect_proxy_proxy;
+ g_class->disconnect_proxy = &disconnect_proxy_proxy;
+ g_class->pre_activate = &pre_activate_proxy;
+ g_class->post_activate = &post_activate_proxy;
+}
+
+GtkUIManagerClass*
+Gtk::UIManagerClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkUIManagerClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::UIManagerClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_UI_MANAGER, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::UIManagerClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::UIManagerClass::add_widget_proxy(GtkUIManager *merge, GtkWidget *widget)
+{
+ UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
+ if (signals)
+ signals->on_add_widget(*G::Object::wrap<Widget>(widget));
+ else
+ {
+ GtkUIManagerClass *g_class = get_parent_class(merge);
+ if (g_class && g_class->add_widget)
+ g_class->add_widget(merge, widget);
+ }
+}
+
+void
+Gtk::UIManagerClass::actions_changed_proxy(GtkUIManager *merge)
+{
+ UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
+ if (signals)
+ signals->on_actions_changed();
+ else
+ {
+ GtkUIManagerClass *g_class = get_parent_class(merge);
+ if (g_class && g_class->actions_changed)
+ g_class->actions_changed(merge);
+ }
+}
+
+void
+Gtk::UIManagerClass::connect_proxy_proxy(GtkUIManager *merge, GtkAction *action, GtkWidget *proxy)
+{
+ UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
+ if (signals)
+ signals->on_connect_proxy(*G::Object::wrap<Action>(action), *G::Object::wrap<Widget>(proxy));
+ else
+ {
+ GtkUIManagerClass *g_class = get_parent_class(merge);
+ if (g_class && g_class->connect_proxy)
+ g_class->connect_proxy(merge, action, proxy);
+ }
+}
+
+void
+Gtk::UIManagerClass::disconnect_proxy_proxy(GtkUIManager *merge, GtkAction *action, GtkWidget *proxy)
+{
+ UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
+ if (signals)
+ signals->on_disconnect_proxy(*G::Object::wrap<Action>(action), *G::Object::wrap<Widget>(proxy));
+ else
+ {
+ GtkUIManagerClass *g_class = get_parent_class(merge);
+ if (g_class && g_class->disconnect_proxy)
+ g_class->disconnect_proxy(merge, action, proxy);
+ }
+}
+
+void
+Gtk::UIManagerClass::pre_activate_proxy(GtkUIManager *merge, GtkAction *action)
+{
+ UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
+ if (signals)
+ signals->on_pre_activate(*G::Object::wrap<Action>(action));
+ else
+ {
+ GtkUIManagerClass *g_class = get_parent_class(merge);
+ if (g_class && g_class->pre_activate)
+ g_class->pre_activate(merge, action);
+ }
+}
+
+void
+Gtk::UIManagerClass::post_activate_proxy(GtkUIManager *merge, GtkAction *action)
+{
+ UIManagerSignals *signals = dynamic_cast<UIManagerSignals*>(G::ObjectSignals::pointer((GObject*)merge));
+ if (signals)
+ signals->on_post_activate(*G::Object::wrap<Action>(action));
+ else
+ {
+ GtkUIManagerClass *g_class = get_parent_class(merge);
+ if (g_class && g_class->post_activate)
+ g_class->post_activate(merge, action);
+ }
+}
+
+/* Gtk::UIManager signals
+ */
+
+const Gtk::UIManager::AddWidgetSignalType Gtk::UIManager::add_widget_signal("add_widget", (GCallback)&Marshal::void_widget_callback2);
+
+const Gtk::UIManager::ActionsChangedSignalType Gtk::UIManager::actions_changed_signal("actions_changed", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::UIManager::ConnectProxySignalType Gtk::UIManager::connect_proxy_signal("connect_proxy", (GCallback)&Marshal::void_action_widget_callback);
+
+const Gtk::UIManager::DisconnectProxySignalType Gtk::UIManager::disconnect_proxy_signal("disconnect_proxy", (GCallback)&Marshal::void_action_widget_callback);
+
+const Gtk::UIManager::PreActivateSignalType Gtk::UIManager::pre_activate_signal("pre_activate", (GCallback)&Marshal::void_action_callback);
+
+const Gtk::UIManager::PostActivateSignalType Gtk::UIManager::post_activate_signal("post_activate", (GCallback)&Marshal::void_action_callback);
+
diff --git a/libXFCui/xfc/gtk/uimanager.hh b/ui/xfc/gtk/uimanager.hh
similarity index 100%
rename from libXFCui/xfc/gtk/uimanager.hh
rename to ui/xfc/gtk/uimanager.hh
diff --git a/libXFCui/xfc/gtk/uimanagersignals.cc b/ui/xfc/gtk/uimanagersignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/uimanagersignals.cc
rename to ui/xfc/gtk/uimanagersignals.cc
diff --git a/libXFCui/xfc/gtk/uimanagersignals.hh b/ui/xfc/gtk/uimanagersignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/uimanagersignals.hh
rename to ui/xfc/gtk/uimanagersignals.hh
diff --git a/libXFCui/xfc/gtk/viewport.cc b/ui/xfc/gtk/viewport.cc
similarity index 100%
rename from libXFCui/xfc/gtk/viewport.cc
rename to ui/xfc/gtk/viewport.cc
diff --git a/libXFCui/xfc/gtk/viewport.hh b/ui/xfc/gtk/viewport.hh
similarity index 100%
rename from libXFCui/xfc/gtk/viewport.hh
rename to ui/xfc/gtk/viewport.hh
diff --git a/libXFCui/xfc/gtk/viewportsignals.cc b/ui/xfc/gtk/viewportsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/viewportsignals.cc
rename to ui/xfc/gtk/viewportsignals.cc
diff --git a/libXFCui/xfc/gtk/viewportsignals.hh b/ui/xfc/gtk/viewportsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/viewportsignals.hh
rename to ui/xfc/gtk/viewportsignals.hh
diff --git a/ui/xfc/gtk/widget.cc b/ui/xfc/gtk/widget.cc
new file mode 100755
index 0000000..7a5e9df
--- /dev/null
+++ b/ui/xfc/gtk/widget.cc
@@ -0,0 +1,1977 @@
+/* Xfc-UI: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * widget.cc - GtkWidget C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "widget.hh"
+#include "widgetsignals.hh"
+#include "accelgroup.hh"
+#include "clipboard.hh"
+#include "container.hh"
+#include "rc.hh"
+#include "settings.hh"
+#include "stockid.hh"
+#include "style.hh"
+#include "private/marshal.hh"
+#include "private/widgetclass.hh"
+#include "xfc/atk/object.hh"
+#include "xfc/gdk/bitmap.hh"
+#include "xfc/gdk/color.hh"
+#include "xfc/gdk/cursor.hh"
+#include "xfc/gdk/display.hh"
+#include "xfc/gdk/region.hh"
+#include "xfc/gdk/screen.hh"
+#include "xfc/gdk/visual.hh"
+#include "xfc/gdk/window.hh"
+#include "xfc/gdk-pixbuf/pixbuf.hh"
+#include "xfc/pango/context.hh"
+#include "xfc/pango/font.hh"
+#include "xfc/pango/layout.hh"
+#include "xfc/glib/value.hh"
+
+using namespace Xfc;
+
+/* Gtk::Allocation
+ */
+
+Gtk::Allocation::Allocation()
+{
+}
+
+Gtk::Allocation::Allocation(int x, int y, int width, int height)
+: Gdk::Rectangle(x, y, width, height)
+{
+}
+
+Gtk::Allocation::Allocation(const GtkAllocation& allocation)
+: Gdk::Rectangle(allocation)
+{
+}
+
+/* Gtk::Requisition
+ */
+
+Gtk::Requisition::Requisition()
+{
+ set(0, 0);
+}
+
+Gtk::Requisition::Requisition(int width, int height)
+{
+ set(width, height);
+}
+
+Gtk::Requisition::Requisition(const GtkRequisition& requisition)
+{
+ set(requisition.width, requisition.height);
+}
+
+bool
+Gtk::Requisition::operator==(const Requisition& other) const
+{
+ return other.width() == requisition_.width && other.height() == requisition_.height;
+}
+
+bool
+Gtk::Requisition::operator!=(const Requisition& other) const
+{
+ return !(*this == other);
+}
+
+/* Gtk::Widget
+ */
+
+Gtk::Widget::Widget(GtkWidget *widget, bool owns_reference)
+: Object((GtkObject*)widget, owns_reference)
+{
+}
+
+Gtk::Widget::Widget()
+: Object((GtkObject*)WidgetClass::create())
+{
+}
+
+Gtk::Widget::~Widget()
+{
+}
+
+void
+Gtk::Widget::set_allocation(const Allocation& allocation)
+{
+ gtk_widget()->allocation = *allocation.gtk_allocation();
+}
+
+void
+Gtk::Widget::set_window(const Gdk::Window& window)
+{
+ g_return_if_fail(!gtk_widget()->window);
+ gtk_widget()->window = window.gdk_window();
+}
+
+Gtk::Requisition
+Gtk::Widget::get_child_requisition() const
+{
+ GtkRequisition requisition;
+ gtk_widget_get_child_requisition(gtk_widget(), &requisition);
+ return requisition;
+}
+
+void
+Gtk::Widget::get_child_requisition(Requisition& requisition) const
+{
+ gtk_widget_get_child_requisition(gtk_widget(), requisition.gtk_requisition());
+}
+
+Gdk::Window*
+Gtk::Widget::get_window() const
+{
+ return is_realized() ? G::Object::wrap<Gdk::Window>(gtk_widget()->window) : 0;
+}
+
+String
+Gtk::Widget::get_name() const
+{
+ return gtk_widget_get_name(gtk_widget());
+}
+
+Gtk::Widget*
+Gtk::Widget::get_parent() const
+{
+ GtkWidget *parent = gtk_widget_get_parent(gtk_widget());
+ return parent ? G::Object::wrap<Widget>(parent) : 0;
+}
+
+Gdk::Window*
+Gtk::Widget::get_parent_window() const
+{
+ GdkWindow *window = gtk_widget_get_parent_window(gtk_widget());
+ return window ? G::Object::wrap<Gdk::Window>(window) : 0;
+}
+
+Gtk::Widget*
+Gtk::Widget::get_toplevel() const
+{
+ GtkWidget *top_level = gtk_widget_get_toplevel(gtk_widget());
+ return top_level ? G::Object::wrap<Widget>(top_level) : 0;
+}
+
+Gtk::Widget*
+Gtk::Widget::get_ancestor(GType widget_type) const
+{
+ GtkWidget *ancestor = gtk_widget_get_ancestor(gtk_widget(), widget_type);
+ return ancestor ? G::Object::wrap<Widget>(ancestor) : 0;
+}
+
+Gdk::Colormap*
+Gtk::Widget::get_colormap() const
+{
+ return G::Object::wrap<Gdk::Colormap>(gtk_widget_get_colormap(gtk_widget()));
+}
+
+const Gdk::Visual*
+Gtk::Widget::get_visual() const
+{
+ return G::Object::wrap<Gdk::Visual>(gtk_widget_get_visual(gtk_widget()));
+}
+
+Gdk::Screen*
+Gtk::Widget::get_screen() const
+{
+ return G::Object::wrap<Gdk::Screen>(gtk_widget_get_screen(gtk_widget()));
+}
+
+Gdk::Display*
+Gtk::Widget::get_display() const
+{
+ return G::Object::wrap<Gdk::Display>(gtk_widget_get_display(gtk_widget()));
+}
+
+Gdk::Window*
+Gtk::Widget::get_root_window() const
+{
+ return G::Object::wrap<Gdk::Window>(gtk_widget_get_root_window(gtk_widget()));
+}
+
+Gtk::Settings*
+Gtk::Widget::get_settings() const
+{
+ return G::Object::wrap<Settings>(gtk_widget_get_settings(gtk_widget()));
+}
+
+Gtk::Clipboard*
+Gtk::Widget::get_clipboard(Gdk::Atom selection) const
+{
+ return G::Object::wrap<Clipboard>(gtk_widget_get_clipboard(gtk_widget(), selection));
+}
+
+Atk::Object*
+Gtk::Widget::get_accessible() const
+{
+ return G::Object::wrap<Atk::Object>(gtk_widget_get_accessible(gtk_widget()));
+}
+
+Gdk::Point
+Gtk::Widget::get_pointer() const
+{
+ GdkPoint point;
+ gtk_widget_get_pointer(gtk_widget(), &point.x, &point.y);
+ return point;
+}
+
+bool
+Gtk::Widget::is_ancestor(Widget *ancestor) const
+{
+ return gtk_widget_is_ancestor(gtk_widget(), ancestor->gtk_widget());
+}
+
+Gtk::Style*
+Gtk::Widget::get_style() const
+{
+ return G::Object::wrap<Style>(gtk_widget_get_style(gtk_widget()));
+}
+
+Gtk::Style*
+Gtk::Widget::rc_get_style() const
+{
+ return G::Object::wrap<Style>(gtk_rc_get_style(gtk_widget()));
+}
+
+Gtk::RcStyle*
+Gtk::Widget::get_modifier_style() const
+{
+ return G::Object::wrap<RcStyle>(gtk_widget_get_modifier_style(gtk_widget()));
+}
+
+String
+Gtk::Widget::get_composite_name() const
+{
+ char *name = gtk_widget_get_composite_name(gtk_widget());
+ String s(name);
+ g_free(name);
+ return s;
+}
+
+Pango::Context*
+Gtk::Widget::get_pango_context() const
+{
+ return G::Object::wrap<Pango::Context>(gtk_widget_get_pango_context(gtk_widget()));
+}
+
+const Gtk::Style*
+Gtk::Widget::get_default_style()
+{
+ return G::Object::wrap<Style>(gtk_widget_get_default_style());
+}
+
+Gdk::Colormap*
+Gtk::Widget::get_default_colormap()
+{
+ return G::Object::wrap<Gdk::Colormap>(gtk_widget_get_default_colormap());
+}
+
+const Gdk::Visual*
+Gtk::Widget::get_default_visual()
+{
+ return G::Object::wrap<Gdk::Visual>(gtk_widget_get_default_visual());
+}
+
+void
+Gtk::Widget::style_get_property(const char *property_name, G::Value& value)
+{
+ gtk_widget_style_get_property(gtk_widget(), property_name, value.g_value());
+}
+
+void
+Gtk::Widget::style_get_property(const String& property_name, G::Value& value)
+{
+ gtk_widget_style_get_property(gtk_widget(), property_name.c_str(), value.g_value());
+}
+
+void
+Gtk::Widget::path(String& path, String& path_reversed) const
+{
+ unsigned int length;
+ char *tmp_path = 0;
+ char *tmp_path_reversed = 0;
+ gtk_widget_path(gtk_widget(), &length, &tmp_path, &tmp_path_reversed);
+
+ if (tmp_path)
+ {
+ path.assign(tmp_path, length);
+ g_free(tmp_path);
+ }
+
+ if (tmp_path_reversed)
+ {
+ path_reversed.assign(tmp_path_reversed, length);
+ g_free(tmp_path_reversed);
+ }
+}
+
+void
+Gtk::Widget::class_path(String& path, String& path_reversed) const
+{
+ unsigned int length;
+ char *tmp_path = 0;
+ char *tmp_path_reversed = 0;
+ gtk_widget_class_path(gtk_widget(), &length, &tmp_path, &tmp_path_reversed);
+
+ if (tmp_path)
+ {
+ path.assign(tmp_path, length);
+ g_free(tmp_path);
+ }
+
+ if (tmp_path_reversed)
+ {
+ path_reversed.assign(tmp_path_reversed, length);
+ g_free(tmp_path_reversed);
+ }
+}
+
+void
+Gtk::Widget::show(bool visible)
+{
+ visible ? show() : hide();
+}
+
+void
+Gtk::Widget::queue_draw_area(const Gdk::Rectangle& rectangle)
+{
+ gtk_widget_queue_draw_area(gtk_widget(), rectangle.x(), rectangle.y(), rectangle.width(), rectangle.height());
+}
+
+void
+Gtk::Widget::size_request(Requisition *requisition)
+{
+ GtkRequisition tmp;
+ gtk_widget_size_request(gtk_widget(), &tmp);
+ if (requisition)
+ requisition->set(tmp.width, tmp.height);
+}
+
+void
+Gtk::Widget::size_allocate(const Allocation& allocation)
+{
+ gtk_widget_size_allocate(gtk_widget(), allocation.gtk_allocation());
+}
+
+void
+Gtk::Widget::add_accelerator(const char *accel_signal, AccelGroup& accel_group, const AccelKey& accel_key)
+{
+ gtk_widget_add_accelerator(gtk_widget(), accel_signal, accel_group.gtk_accel_group(), accel_key.key(),
+ (GdkModifierType)accel_key.mods(), (GtkAccelFlags)accel_key.flags());
+}
+
+void
+Gtk::Widget::add_accelerator(const String& accel_signal, AccelGroup& accel_group, const AccelKey& accel_key)
+{
+ add_accelerator(accel_signal.c_str(), accel_group, accel_key);
+}
+
+bool
+Gtk::Widget::remove_accelerator(AccelGroup& accel_group, const AccelKey& accel_key)
+{
+ return gtk_widget_remove_accelerator(gtk_widget(), accel_group.gtk_accel_group(), accel_key.key(),
+ (GdkModifierType)accel_key.mods());
+
+}
+
+void
+Gtk::Widget::set_accel_path(const char *accel_path, AccelGroup& accel_group)
+{
+ gtk_widget_set_accel_path(gtk_widget(), accel_path, accel_group.gtk_accel_group());
+}
+
+void
+Gtk::Widget::set_accel_path(const String& accel_path, AccelGroup& accel_group)
+{
+ set_accel_path(accel_path.c_str(), accel_group);
+}
+
+bool
+Gtk::Widget::list_accel_closures(std::vector<GClosure*>& closures)
+{
+ g_return_val_if_fail(closures.empty(), false);
+ GList *first = gtk_widget_list_accel_closures(gtk_widget());
+ GList *next = first;
+
+ while (next)
+ {
+ closures.push_back((GClosure*)next->data);
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return !closures.empty();
+}
+
+bool
+Gtk::Widget::can_activate_accel(const char *signal_name)
+{
+ g_return_val_if_fail(signal_name != 0, false);
+ GSignalQuery query;
+ g_signal_query(g_signal_lookup(signal_name, type()), &query);
+ g_return_val_if_fail(query.signal_id != 0, false);
+ return gtk_widget_can_activate_accel(gtk_widget(), query.signal_id);
+}
+
+bool
+Gtk::Widget::can_activate_accel(const String& signal_name)
+{
+ return can_activate_accel(signal_name.c_str());
+}
+
+int
+Gtk::Widget::send_expose(const Gdk::EventExpose& event)
+{
+ return gtk_widget_send_expose(gtk_widget(), event.gdk_event());
+}
+
+bool
+Gtk::Widget::event(const Gdk::Event& event)
+{
+ return gtk_widget_event(gtk_widget(), event);
+}
+
+bool
+Gtk::Widget::set_scroll_adjustments(Adjustment *hadjustment, Adjustment *vadjustment)
+{
+ return gtk_widget_set_scroll_adjustments(gtk_widget(), *hadjustment, *vadjustment);
+}
+
+void
+Gtk::Widget::reparent(Widget& new_parent)
+{
+ gtk_widget_reparent(gtk_widget(), new_parent.gtk_widget());
+}
+
+bool
+Gtk::Widget::intersect(const Gdk::Rectangle& area, Gdk::Rectangle *intersection)
+{
+ return gtk_widget_intersect(gtk_widget(), area.gdk_rectangle(), *intersection);
+}
+
+Gdk::Rectangle
+Gtk::Widget::intersect(const Gdk::Rectangle& area)
+{
+ GdkRectangle rectangle;
+ gtk_widget_intersect(gtk_widget(), area.gdk_rectangle(), &rectangle);
+ return rectangle;
+}
+
+Pointer<Gdk::Region>
+Gtk::Widget::intersect(Gdk::Region& region)
+{
+ return new Gdk::Region(gtk_widget_region_intersect(gtk_widget(), region.gdk_region()), false);
+}
+
+void
+Gtk::Widget::child_notify(const String& child_property)
+{
+ gtk_widget_child_notify(gtk_widget(), child_property.c_str());
+}
+
+void
+Gtk::Widget::set_name(const String& name)
+{
+ gtk_widget_set_name(gtk_widget(), name.c_str());
+}
+
+void
+Gtk::Widget::set_parent(Widget& parent)
+{
+ gtk_widget_set_parent(gtk_widget(), parent.gtk_widget());
+}
+
+void
+Gtk::Widget::set_parent_window(Gdk::Window *parent_window)
+{
+ gtk_widget_set_parent_window(gtk_widget(), *parent_window);
+}
+
+void
+Gtk::Widget::set_colormap(Gdk::Colormap& colormap)
+{
+ if (!is_realized())
+ gtk_widget_set_colormap(gtk_widget(), colormap.gdk_colormap());
+}
+
+bool
+Gtk::Widget::translate_coordinates(Widget &src_widget, int src_x, int src_y, int *dest_x, int *dest_y) const
+{
+ return gtk_widget_translate_coordinates(src_widget.gtk_widget(), gtk_widget(), src_x, src_y, dest_x, dest_y);
+}
+
+void
+Gtk::Widget::set_style(Style& style)
+{
+ gtk_widget_set_style(gtk_widget(), style.gtk_style());
+}
+
+void
+Gtk::Widget::modify_style(RcStyle& style)
+{
+ gtk_widget_modify_style(gtk_widget(), style.gtk_rc_style());
+}
+
+void
+Gtk::Widget::modify_fg(StateType state, const Gdk::Color *color)
+{
+ gtk_widget_modify_fg(gtk_widget(), (GtkStateType)state, *color);
+}
+
+void
+Gtk::Widget::modify_bg(StateType state, const Gdk::Color *color)
+{
+ gtk_widget_modify_bg(gtk_widget(), (GtkStateType)state, *color);
+}
+
+void
+Gtk::Widget::modify_text(StateType state, const Gdk::Color *color)
+{
+ gtk_widget_modify_text(gtk_widget(), (GtkStateType)state, *color);
+}
+
+void
+Gtk::Widget::modify_base(StateType state, const Gdk::Color *color)
+{
+ gtk_widget_modify_base(gtk_widget(), (GtkStateType)state, *color);
+}
+
+void
+Gtk::Widget::modify_font(const Pango::FontDescription *font_desc)
+{
+ gtk_widget_modify_font(gtk_widget(), *font_desc);
+}
+
+Pointer<Pango::Context>
+Gtk::Widget::create_pango_context()
+{
+ return G::Object::wrap_new<Pango::Context>(gtk_widget_create_pango_context(gtk_widget()), true);
+}
+
+Pointer<Pango::Layout>
+Gtk::Widget::create_pango_layout(const char *text)
+{
+ return G::Object::wrap_new<Pango::Layout>(gtk_widget_create_pango_layout(gtk_widget(), text), true);
+}
+
+Pointer<Pango::Layout>
+Gtk::Widget::create_pango_layout(const String& text)
+{
+ return create_pango_layout(text.c_str());
+}
+
+Pointer<Gdk::Pixbuf>
+Gtk::Widget::render_icon(const StockId& stock_id, IconSize size, const char *detail)
+{
+ GdkPixbuf *pixbuf = gtk_widget_render_icon(gtk_widget(), stock_id, (GtkIconSize)size, detail);
+ return pixbuf ? G::Object::wrap<Gdk::Pixbuf>(pixbuf, true) : 0;
+}
+
+void
+Gtk::Widget::set_composite_name(const String& name)
+{
+ gtk_widget_set_composite_name(gtk_widget(), name.c_str());
+}
+
+void
+Gtk::Widget::push_colormap(Gdk::Colormap& cmap)
+{
+ gtk_widget_push_colormap(cmap.gdk_colormap());
+}
+
+void
+Gtk::Widget::set_default_colormap(Gdk::Colormap *colormap)
+{
+ gtk_widget_set_default_colormap(*colormap);
+}
+
+void
+Gtk::Widget::shape_combine_mask(const Gdk::Bitmap& shape_mask, int offset_x, int offset_y)
+{
+ gtk_widget_shape_combine_mask(gtk_widget(), shape_mask.gdk_bitmap(), offset_x, offset_y);
+}
+
+bool
+Gtk::Widget::list_mnemonic_labels(std::vector<Widget*>& widgets)
+{
+ g_return_val_if_fail(widgets.empty(), false);
+ GList *first = gtk_widget_list_mnemonic_labels(gtk_widget());
+ GList *next = first;
+
+ while (next)
+ {
+ widgets.push_back(G::Object::wrap<Widget>((GtkWidget*)next->data));
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return !widgets.empty();
+}
+
+void
+Gtk::Widget::add_mnemonic_label(Widget& label)
+{
+ gtk_widget_add_mnemonic_label(gtk_widget(), label.gtk_widget());
+}
+
+void
+Gtk::Widget::remove_mnemonic_label(Widget& label)
+{
+ gtk_widget_remove_mnemonic_label(gtk_widget(), label.gtk_widget());
+}
+
+Gdk::GrabStatus
+Gtk::Widget::pointer_grab(Gdk::EventMaskField event_mask, Widget *confine_to, Gdk::Cursor *cursor,
+ bool owner_events, unsigned int time)
+{
+ GdkWindow *window = confine_to ? confine_to->gtk_widget()->window : 0;
+ return (Gdk::GrabStatus)gdk_pointer_grab(gtk_widget()->window, owner_events, (GdkEventMask)event_mask,
+ window, *cursor, time);
+}
+
+bool
+Gtk::Widget::selection_owner_set(Gdk::Atom selection, unsigned int time, const Gdk::Display *display)
+{
+ GdkDisplay *tmp_display = display ? display->gdk_display() : gtk_widget_get_display(gtk_widget());
+ return gtk_selection_owner_set_for_display(tmp_display, gtk_widget(), selection, time);
+}
+
+void
+Gtk::Widget::selection_add_target(Gdk::Atom selection, const TargetEntry& entry)
+{
+ gtk_selection_add_target(gtk_widget(), selection, gdk_atom_intern(entry.target(), FALSE), entry.info());
+}
+
+void
+Gtk::Widget::selection_add_targets(Gdk::Atom selection, const std::vector<TargetEntry>& targets)
+{
+ g_return_if_fail(!targets.empty());
+ int count = targets.size();
+ GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_targets[i] = *(targets[i].gtk_target_entry());
+ ++i;
+ }
+
+ gtk_selection_add_targets(gtk_widget(), selection, tmp_targets, count);
+ delete [] tmp_targets;
+}
+
+bool
+Gtk::Widget::selection_owner_unset(Gdk::Atom selection, unsigned int time, const Gdk::Display *display)
+{
+ GdkDisplay *tmp_display = display ? display->gdk_display() : gdk_display_get_default();
+ return gtk_selection_owner_set_for_display(tmp_display, 0, selection, time);
+}
+
+void
+Gtk::Widget::drag_get_data(DragContext& context, Gdk::Atom target, unsigned int time)
+{
+ gtk_drag_get_data(gtk_widget(), context.gdk_drag_context(), target, time);
+}
+
+void
+Gtk::Widget::drag_dest_set(Gtk::DestDefaultsField flags, const TargetEntry& target, Gdk::DragActionField actions)
+{
+ gtk_drag_dest_set(gtk_widget(), (GtkDestDefaults)flags, target.gtk_target_entry(), 1, (GdkDragAction)actions);
+}
+
+void
+Gtk::Widget::drag_dest_set(Gtk::DestDefaultsField flags, const std::vector<TargetEntry>& targets, Gdk::DragActionField actions)
+{
+ g_return_if_fail (!targets.empty());
+ int count = targets.size ();
+ GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_targets[i] = *(targets[i].gtk_target_entry());
+ ++i;
+ }
+
+ gtk_drag_dest_set(gtk_widget(), (GtkDestDefaults)flags, tmp_targets, count, (GdkDragAction)actions);
+ delete [] tmp_targets;
+}
+
+void
+Gtk::Widget::drag_dest_set_proxy(Gdk::Window *proxy_window, Gdk::DragProtocol protocol, bool use_coordinates)
+{
+ gtk_drag_dest_set_proxy(gtk_widget(), *proxy_window, (GdkDragProtocol)protocol, use_coordinates);
+}
+
+Gdk::Atom
+Gtk::Widget::drag_dest_find_target(const DragContext& context, const TargetList *target_list)
+{
+ return gtk_drag_dest_find_target(gtk_widget(), context.gdk_drag_context(), *target_list);
+}
+
+Gtk::TargetList*
+Gtk::Widget::drag_dest_get_target_list() const
+{
+ GtkTargetList *target_list = gtk_drag_dest_get_target_list(gtk_widget());
+ return target_list ? new TargetList(target_list) : 0;
+}
+
+void
+Gtk::Widget::drag_dest_set_target_list(TargetList *target_list)
+{
+ gtk_drag_dest_set_target_list(gtk_widget(), *target_list);
+}
+
+Gtk::DragContext*
+Gtk::Widget::drag_source_begin(const TargetList& targets, Gdk::DragActionField actions, int button, const Gdk::Event& event)
+{
+ GdkDragContext *dc = gtk_drag_begin(gtk_widget(), targets.gtk_target_list(), (GdkDragAction)actions, button, event.gdk_event());
+ return dc ? G::Object::wrap<DragContext>(dc) : 0;
+}
+
+void
+Gtk::Widget::drag_source_set(Gdk::ModifierTypeField start_button_mask, const TargetEntry& target, Gdk::DragActionField actions)
+{
+ gtk_drag_source_set(gtk_widget(), (GdkModifierType)start_button_mask, target.gtk_target_entry(), 1, (GdkDragAction)actions);
+}
+
+void
+Gtk::Widget::drag_source_set(Gdk::ModifierTypeField start_button_mask, const std::vector<TargetEntry>& targets, Gdk::DragActionField actions)
+{
+ g_return_if_fail (!targets.empty ());
+ int count = targets.size ();
+ GtkTargetEntry *tmp_targets = new GtkTargetEntry[count];
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_targets[i] = *(targets[i].gtk_target_entry());
+ ++i;
+ }
+
+ gtk_drag_source_set(gtk_widget(), (GdkModifierType)start_button_mask, tmp_targets, count, (GdkDragAction)actions);
+ delete [] tmp_targets;
+}
+
+Gtk::TargetList*
+Gtk::Widget::drag_source_get_target_list() const
+{
+ GtkTargetList *target_list = gtk_drag_source_get_target_list(gtk_widget());
+ return target_list ? new TargetList(target_list) : 0;
+}
+
+void
+Gtk::Widget::drag_source_set_target_list(TargetList *target_list)
+{
+ gtk_drag_source_set_target_list(gtk_widget(), *target_list);
+}
+
+void
+Gtk::Widget::drag_source_set_icon(Gdk::Colormap *colormap, Gdk::Pixmap *pixmap, Gdk::Bitmap *mask)
+{
+ gtk_drag_source_set_icon(gtk_widget(), *colormap, *pixmap, *mask);
+}
+
+void
+Gtk::Widget::drag_source_set_icon_pixbuf(Gdk::Pixbuf& pixbuf)
+{
+ gtk_drag_source_set_icon_pixbuf(gtk_widget(), pixbuf.gdk_pixbuf());
+}
+
+void
+Gtk::Widget::drag_source_set_icon_stock(const StockId& stock_id)
+{
+ gtk_drag_source_set_icon_stock(gtk_widget(), stock_id);
+}
+
+/* Gtk::WidgetClass
+ */
+
+void
+Gtk::WidgetClass::init(GtkWidgetClass *g_class)
+{
+ ObjectClass::init((GtkObjectClass*)g_class);
+ g_class->show = &show_proxy;
+ g_class->hide = &hide_proxy;
+ g_class->map = &map_proxy;
+ g_class->unmap = &unmap_proxy;
+ g_class->realize = &realize_proxy;
+ g_class->unrealize = &unrealize_proxy;
+ g_class->size_request = &size_request_proxy;
+ g_class->size_allocate = &size_allocate_proxy;
+ g_class->state_changed = &state_changed_proxy;
+ g_class->parent_set = &parent_set_proxy;
+ g_class->hierarchy_changed = &hierarchy_changed_proxy;
+ g_class->style_set = &style_set_proxy;
+ g_class->direction_changed = &direction_changed_proxy;
+ g_class->grab_notify = &grab_notify_proxy;
+ g_class->child_notify = &child_notify_proxy;
+ g_class->mnemonic_activate = &mnemonic_activate_proxy;
+ g_class->grab_focus = &grab_focus_proxy;
+ g_class->focus = &focus_proxy;
+ g_class->screen_changed = &screen_changed_proxy;
+ g_class->can_activate_accel = &can_activate_accel_proxy;
+ g_class->selection_get = &selection_get_proxy;
+ g_class->selection_received = &selection_received_proxy;
+ g_class->drag_begin = &drag_begin_proxy;
+ g_class->drag_end = &drag_end_proxy;
+ g_class->drag_data_get = &drag_data_get_proxy;
+ g_class->drag_data_delete = &drag_data_delete_proxy;
+ g_class->drag_leave = &drag_leave_proxy;
+ g_class->drag_motion = &drag_motion_proxy;
+ g_class->drag_drop = &drag_drop_proxy;
+ g_class->drag_data_received = &drag_data_received_proxy;
+ g_class->event = &event_proxy;
+ g_class->button_press_event = &button_press_event_proxy;
+ g_class->button_release_event = &button_release_event_proxy;
+ g_class->scroll_event = &scroll_event_proxy;
+ g_class->motion_notify_event = &motion_notify_event_proxy;
+ g_class->delete_event = &delete_event_proxy;
+ g_class->destroy_event = &destroy_event_proxy;
+ g_class->expose_event = &expose_event_proxy;
+ g_class->key_press_event = &key_press_event_proxy;
+ g_class->key_release_event = &key_release_event_proxy;
+ g_class->enter_notify_event = &enter_notify_event_proxy;
+ g_class->leave_notify_event = &leave_notify_event_proxy;
+ g_class->configure_event = &configure_event_proxy;
+ g_class->focus_in_event = &focus_in_event_proxy;
+ g_class->focus_out_event = &focus_out_event_proxy;
+ g_class->map_event = &map_event_proxy;
+ g_class->unmap_event = &unmap_event_proxy;
+ g_class->property_notify_event = &property_notify_event_proxy;
+ g_class->selection_clear_event = &selection_clear_event_proxy;
+ g_class->selection_request_event = &selection_request_event_proxy;
+ g_class->selection_notify_event = &selection_notify_event_proxy;
+ g_class->proximity_in_event = &proximity_in_event_proxy;
+ g_class->proximity_out_event = &proximity_out_event_proxy;
+ g_class->visibility_notify_event = &visibility_notify_event_proxy;
+ g_class->client_event = &client_event_proxy;
+ g_class->no_expose_event = &no_expose_event_proxy;
+ g_class->window_state_event = &window_state_event_proxy;
+}
+
+GtkWidgetClass*
+Gtk::WidgetClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkWidgetClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::WidgetClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_WIDGET, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::WidgetClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
+void
+Gtk::WidgetClass::show_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_show();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->show)
+ g_class->show(widget);
+ }
+}
+
+void
+Gtk::WidgetClass::hide_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_hide();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->hide)
+ g_class->hide(widget);
+ }
+}
+
+void
+Gtk::WidgetClass::map_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_map();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->map)
+ g_class->map(widget);
+ }
+}
+
+void
+Gtk::WidgetClass::unmap_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_unmap();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->unmap)
+ g_class->unmap(widget);
+ }
+}
+
+void
+Gtk::WidgetClass::realize_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_realize();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->realize)
+ g_class->realize(widget);
+ }
+}
+
+void
+Gtk::WidgetClass::unrealize_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_unrealize();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->unrealize)
+ g_class->unrealize(widget);
+ }
+}
+
+void
+Gtk::WidgetClass::size_request_proxy(GtkWidget *widget, GtkRequisition *requisition)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Requisition tmp_requisition;
+ static_cast<WidgetSignals*>(ptr)->on_size_request(&tmp_requisition);
+ *requisition = *tmp_requisition;
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->size_request)
+ g_class->size_request(widget, requisition);
+ }
+}
+
+void
+Gtk::WidgetClass::size_allocate_proxy(GtkWidget *widget, GtkAllocation *allocation)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Allocation tmp_allocation(*allocation);
+ static_cast<WidgetSignals*>(ptr)->on_size_allocate(tmp_allocation);
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->size_allocate)
+ g_class->size_allocate(widget, allocation);
+ }
+}
+
+void
+Gtk::WidgetClass::state_changed_proxy(GtkWidget *widget, GtkStateType previous_state)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_state_changed((StateType)previous_state);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->state_changed)
+ g_class->state_changed(widget, previous_state);
+ }
+}
+
+void
+Gtk::WidgetClass::parent_set_proxy(GtkWidget *widget, GtkWidget *previous_parent)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_parent_set(G::Object::wrap<Widget>(previous_parent));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->parent_set)
+ g_class->parent_set(widget, previous_parent);
+ }
+}
+
+void
+Gtk::WidgetClass::hierarchy_changed_proxy(GtkWidget *widget, GtkWidget *previous_toplevel)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_hierarchy_changed(G::Object::wrap<Widget>(previous_toplevel));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->hierarchy_changed)
+ g_class->hierarchy_changed(widget, previous_toplevel);
+ }
+}
+
+void
+Gtk::WidgetClass::style_set_proxy(GtkWidget *widget, GtkStyle *previous_style)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr && static_cast<Widget*>(G::Object::pointer((GObject*)widget))->is_realized())
+ static_cast<WidgetSignals*>(ptr)->on_style_set(G::Object::wrap<Style>(previous_style));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->style_set)
+ g_class->style_set(widget, previous_style);
+ }
+}
+
+void
+Gtk::WidgetClass::direction_changed_proxy(GtkWidget *widget, GtkTextDirection previous_direction)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_direction_changed((TextDirection)previous_direction);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->direction_changed)
+ g_class->direction_changed(widget, previous_direction);
+ }
+}
+
+void
+Gtk::WidgetClass::grab_notify_proxy(GtkWidget *widget, gboolean was_grabbed)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_grab_notify(was_grabbed);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->grab_notify)
+ g_class->grab_notify(widget, was_grabbed);
+ }
+}
+
+void
+Gtk::WidgetClass::child_notify_proxy(GtkWidget *widget, GParamSpec *pspec)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_child_notify(pspec);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->child_notify)
+ g_class->child_notify(widget, pspec);
+ }
+}
+
+gboolean
+Gtk::WidgetClass::mnemonic_activate_proxy(GtkWidget *widget, gboolean group_cycling)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ result = static_cast<WidgetSignals*>(ptr)->on_mnemonic_activate(group_cycling);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->mnemonic_activate)
+ result = g_class->mnemonic_activate(widget, group_cycling);
+ }
+ return result;
+}
+
+void
+Gtk::WidgetClass::grab_focus_proxy(GtkWidget *widget)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_grab_focus();
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->grab_focus)
+ g_class->grab_focus(widget);
+ }
+}
+
+gboolean
+Gtk::WidgetClass::focus_proxy(GtkWidget *widget, GtkDirectionType direction)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ result = static_cast<WidgetSignals*>(ptr)->on_focus((DirectionType)direction);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->focus)
+ result = g_class->focus(widget, direction);
+ }
+ return result;
+}
+
+void
+Gtk::WidgetClass::screen_changed_proxy(GtkWidget *widget, GdkScreen *previous_screen)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_screen_changed(G::Object::wrap<Gdk::Screen>(previous_screen));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->screen_changed)
+ g_class->screen_changed(widget, previous_screen);
+ }
+}
+
+gboolean
+Gtk::WidgetClass::can_activate_accel_proxy(GtkWidget *widget, guint signal_id)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ result = static_cast<WidgetSignals*>(ptr)->on_can_activate_accel(signal_id);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->can_activate_accel)
+ result = g_class->can_activate_accel(widget, signal_id);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::event_proxy(GtkWidget *widget, GdkEvent *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event(event);
+ result = static_cast<WidgetSignals*>(ptr)->on_event(tmp_event);
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->event)
+ result = g_class->event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::button_press_event_proxy(GtkWidget *widget, GdkEventButton *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_button_press_event(*tmp_event.button());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->button_press_event)
+ result = g_class->button_press_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::button_release_event_proxy(GtkWidget *widget, GdkEventButton *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_button_release_event(*tmp_event.button());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->button_release_event)
+ result = g_class->button_release_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::scroll_event_proxy(GtkWidget *widget, GdkEventScroll *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_scroll_event(*tmp_event.scroll());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->scroll_event)
+ result = g_class->scroll_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::motion_notify_event_proxy(GtkWidget *widget, GdkEventMotion *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_motion_notify_event(*tmp_event.motion());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->motion_notify_event)
+ result = g_class->motion_notify_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::delete_event_proxy(GtkWidget *widget, GdkEventAny *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_delete_event(*tmp_event.any());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->delete_event)
+ result = g_class->delete_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::destroy_event_proxy(GtkWidget *widget, GdkEventAny *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_destroy_event(*tmp_event.any());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->destroy_event)
+ result = g_class->destroy_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::expose_event_proxy(GtkWidget *widget, GdkEventExpose *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_expose_event(*tmp_event.expose());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->expose_event)
+ result = g_class->expose_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::key_press_event_proxy(GtkWidget *widget, GdkEventKey *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_key_press_event(*tmp_event.key());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->key_press_event)
+ result = g_class->key_press_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::key_release_event_proxy(GtkWidget *widget, GdkEventKey *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_key_release_event(*tmp_event.key());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->key_release_event)
+ result = g_class->key_release_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::enter_notify_event_proxy(GtkWidget *widget, GdkEventCrossing *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_enter_notify_event(*tmp_event.crossing());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->enter_notify_event)
+ result = g_class->enter_notify_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::leave_notify_event_proxy(GtkWidget *widget, GdkEventCrossing *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_leave_notify_event(*tmp_event.crossing());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->leave_notify_event)
+ result = g_class->leave_notify_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::configure_event_proxy(GtkWidget *widget, GdkEventConfigure *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_configure_event(*tmp_event.configure());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->configure_event)
+ result = g_class->configure_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::focus_in_event_proxy(GtkWidget *widget, GdkEventFocus *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_focus_in_event(*tmp_event.focus_change());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->focus_in_event)
+ result = g_class->focus_in_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::focus_out_event_proxy(GtkWidget *widget, GdkEventFocus *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_focus_out_event(*tmp_event.focus_change());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->focus_out_event)
+ result = g_class->focus_out_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::map_event_proxy(GtkWidget *widget, GdkEventAny *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_map_event(*tmp_event.any());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->map_event)
+ result = g_class->map_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::unmap_event_proxy(GtkWidget *widget, GdkEventAny *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_unmap_event(*tmp_event.any());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->unmap_event)
+ result = g_class->unmap_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::property_notify_event_proxy(GtkWidget *widget, GdkEventProperty *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_property_notify_event(*tmp_event.property());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->property_notify_event)
+ result = g_class->property_notify_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::selection_clear_event_proxy(GtkWidget *widget, GdkEventSelection *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_selection_clear_event(*tmp_event.selection());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->selection_clear_event)
+ result = g_class->selection_clear_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::selection_request_event_proxy(GtkWidget *widget, GdkEventSelection *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_selection_request_event(*tmp_event.selection());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->selection_request_event)
+ result = g_class->selection_request_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::selection_notify_event_proxy(GtkWidget *widget, GdkEventSelection *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_selection_notify_event(*tmp_event.selection());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->selection_notify_event)
+ result = g_class->selection_notify_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::proximity_in_event_proxy(GtkWidget *widget, GdkEventProximity *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_proximity_in_event(*tmp_event.proximity());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->proximity_in_event)
+ result = g_class->proximity_in_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::proximity_out_event_proxy(GtkWidget *widget, GdkEventProximity *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_proximity_out_event(*tmp_event.proximity());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->proximity_out_event)
+ result = g_class->proximity_out_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::visibility_notify_event_proxy(GtkWidget *widget, GdkEventVisibility *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_visibility_notify_event(*tmp_event.visibility());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->visibility_notify_event)
+ result = g_class->visibility_notify_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::client_event_proxy(GtkWidget *widget, GdkEventClient *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_client_event(*tmp_event.client());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->client_event)
+ result = g_class->client_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::no_expose_event_proxy(GtkWidget *widget, GdkEventAny *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_no_expose_event(*tmp_event.any());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->no_expose_event)
+ result = g_class->no_expose_event(widget, event);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::window_state_event_proxy(GtkWidget *widget, GdkEventWindowState *event)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gdk::Event tmp_event((GdkEvent*)event);
+ result = static_cast<WidgetSignals*>(ptr)->on_window_state_event(*tmp_event.window_state());
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->window_state_event)
+ result = g_class->window_state_event(widget, event);
+ }
+ return result;
+}
+
+void
+Gtk::WidgetClass::selection_get_proxy(GtkWidget *widget, GtkSelectionData *selection_data, guint info, guint time)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gtk::SelectionData tmp_selection_data(selection_data);
+ static_cast<WidgetSignals*>(ptr)->on_selection_get(tmp_selection_data, info, time);
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->selection_get)
+ g_class->selection_get(widget, selection_data, info, time);
+ }
+}
+
+void
+Gtk::WidgetClass::selection_received_proxy(GtkWidget *widget, GtkSelectionData *selection_data, guint time)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gtk::SelectionData tmp_selection_data(selection_data);
+ static_cast<WidgetSignals*>(ptr)->on_selection_received(tmp_selection_data, time);
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->selection_received)
+ g_class->selection_received(widget, selection_data, time);
+ }
+}
+
+void
+Gtk::WidgetClass::drag_begin_proxy(GtkWidget *widget, GdkDragContext *context)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_drag_begin(*G::Object::wrap<DragContext>(context));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_begin)
+ g_class->drag_begin(widget, context);
+ }
+}
+
+void
+Gtk::WidgetClass::drag_end_proxy(GtkWidget *widget, GdkDragContext *context)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_drag_end(*G::Object::wrap<DragContext>(context));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_end)
+ g_class->drag_end(widget, context);
+ }
+}
+
+void
+Gtk::WidgetClass::drag_data_get_proxy(GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gtk::SelectionData tmp_selection_data(selection_data);
+ static_cast<WidgetSignals*>(ptr)->on_drag_data_get(*G::Object::wrap<DragContext>(context), tmp_selection_data, info, time);
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_data_get)
+ g_class->drag_data_get(widget, context, selection_data, info, time);
+ }
+}
+
+void
+Gtk::WidgetClass::drag_data_delete_proxy(GtkWidget *widget, GdkDragContext *context)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_drag_data_delete(*G::Object::wrap<DragContext>(context));
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_data_delete)
+ g_class->drag_data_delete(widget, context);
+ }
+}
+
+void
+Gtk::WidgetClass::drag_leave_proxy(GtkWidget *widget, GdkDragContext *context, guint time)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ static_cast<WidgetSignals*>(ptr)->on_drag_leave(*G::Object::wrap<DragContext>(context), time);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_leave)
+ g_class->drag_leave(widget, context, time);
+ }
+}
+
+gboolean
+Gtk::WidgetClass::drag_motion_proxy(GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ result = static_cast<WidgetSignals*>(ptr)->on_drag_motion(*G::Object::wrap<DragContext>(context),x, y, time);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_motion)
+ result = g_class->drag_motion(widget, context, x, y, time);
+ }
+ return result;
+}
+
+gboolean
+Gtk::WidgetClass::drag_drop_proxy(GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time)
+{
+ gboolean result = FALSE;
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ result = static_cast<WidgetSignals*>(ptr)->on_drag_drop(*G::Object::wrap<DragContext>(context), x, y, time);
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_drop)
+ result = g_class->drag_drop(widget, context, x, y, time);
+ }
+ return result;
+}
+
+void
+Gtk::WidgetClass::drag_data_received_proxy(GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time)
+{
+ void *ptr = g_object_get_qdata((GObject*)widget, G::ObjectSignals::quark());
+ if (ptr)
+ {
+ Gtk::SelectionData tmp_selection_data(selection_data);
+ static_cast<WidgetSignals*>(ptr)->on_drag_data_received(*G::Object::wrap<DragContext>(context),
+ x, y, tmp_selection_data, info, time);
+ }
+ else
+ {
+ GtkWidgetClass *g_class = get_parent_class(widget);
+ if (g_class && g_class->drag_data_received)
+ g_class->drag_data_received(widget, context, x, y, selection_data, info, time);
+ }
+}
+
+/* Gtk::Widget signals
+ */
+
+const Gtk::Widget::ShowSignalType Gtk::Widget::show_signal("show", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::HideSignalType Gtk::Widget::hide_signal("hide", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::MapSignalType Gtk::Widget::map_signal("map", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::UnmapSignalType Gtk::Widget::unmap_signal("unmap", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::RealizeSignalType Gtk::Widget::realize_signal("realize", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::UnrealizeSignalType Gtk::Widget::unrealize_signal("unrealize", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::SizeRequestSignalType Gtk::Widget::size_request_signal("size_request", (GCallback)&Marshal::void_requistion_callback);
+
+const Gtk::Widget::SizeAllocateSignalType Gtk::Widget::size_allocate_signal("size_allocate", (GCallback)&Marshal::void_allocation_callback);
+
+const Gtk::Widget::StateChangedSignalType Gtk::Widget::state_changed_signal("state_changed", (GCallback)&Marshal::void_statetype_callback);
+
+const Gtk::Widget::ParentSetSignalType Gtk::Widget::parent_set_signal("parent_set", (GCallback)&Marshal::void_widget_callback1);
+
+const Gtk::Widget::HierarchyChangedSignalType Gtk::Widget::hierarchy_changed_signal("hierarchy_changed", (GCallback)&Marshal::void_widget_callback1);
+
+const Gtk::Widget::StyleSetSignalType Gtk::Widget::style_set_signal("style_set", (GCallback)&Marshal::void_style_callback);
+
+const Gtk::Widget::DirectionChangedSignalType Gtk::Widget::direction_changed_signal("direction_changed", (GCallback)&Marshal::void_textdirection_callback);
+
+const Gtk::Widget::GrabNotifySignalType Gtk::Widget::grab_notify_signal("grab_notify", (GCallback)&G::Marshal::void_bool_callback);
+
+const Gtk::Widget::ChildNotifySignalType Gtk::Widget::child_notify_signal("child_notify", (GCallback)&Marshal::void_gparamspec_callback);
+
+const Gtk::Widget::MnemonicActivateSignalType Gtk::Widget::mnemonic_activate_signal("mnemonic_activate", (GCallback)&Marshal::bool_bool_callback);
+
+const Gtk::Widget::GrabFocusSignalType Gtk::Widget::grab_focus_signal("grab_focus", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::FocusSignalType Gtk::Widget::focus_signal("focus", (GCallback)&Marshal::bool_directiontype_callback);
+
+const Gtk::Widget::AccelClosuresChangedSignalType Gtk::Widget::accel_closures_changed_signal("accel_closures_changed", (GCallback)&G::Marshal::void_callback);
+
+const Gtk::Widget::ScreenChangedSignalType Gtk::Widget::screen_changed_signal("screen_changed", (GCallback)&Marshal::void_gdkscreen_callback);
+
+const Gtk::Widget::CanActivateAccelSignalType Gtk::Widget::can_activate_accel_signal("can_activate_accel", (GCallback)&Marshal::bool_uint_callback);
+
+const Gtk::Widget::SelectionGetSignalType Gtk::Widget::selection_get_signal("selection_get", (GCallback)&Marshal::void_selectiondata_uint_uint_callback);
+
+const Gtk::Widget::SelectionReceivedSignalType Gtk::Widget::selection_received_signal("selection_received", (GCallback)&Marshal::void_selectiondata_uint_callback);
+
+const Gtk::Widget::DragBeginSignalType Gtk::Widget::drag_begin_signal("drag_begin", (GCallback)&Marshal::void_dragcontext_callback);
+
+const Gtk::Widget::DragEndSignalType Gtk::Widget::drag_end_signal("drag_end", (GCallback)&Marshal::void_dragcontext_callback);
+
+const Gtk::Widget::DragDataGetSignalType Gtk::Widget::drag_data_get_signal("drag_data_get", (GCallback)&Marshal::void_dragcontext_selectiondata_uint_uint_callback);
+
+const Gtk::Widget::DragDataDeleteSignalType Gtk::Widget::drag_data_delete_signal("drag_data_delete", (GCallback)&Marshal::void_dragcontext_callback);
+
+const Gtk::Widget::DragLeaveSignalType Gtk::Widget::drag_leave_signal("drag_leave", (GCallback)&Marshal::void_dragcontext_uint_callback);
+
+const Gtk::Widget::DragMotionSignalType Gtk::Widget::drag_motion_signal("drag_motion", (GCallback)&Marshal::bool_dragcontext_int_int_uint_callback);
+
+const Gtk::Widget::DragDropSignalType Gtk::Widget::drag_drop_signal("drag_drop", (GCallback)&Marshal::bool_dragcontext_int_int_uint_callback);
+
+const Gtk::Widget::DragDataReceivedSignalType Gtk::Widget::drag_data_received_signal("drag_data_received", (GCallback)&Marshal::void_dragcontext_int_int_selectiondata_uint_uint_callback);
+
+const Gtk::Widget::EventSignalType Gtk::Widget::event_signal("event", (GCallback)&Marshal::bool_event_callback);
+
+const Gtk::Widget::EventAfterSignalType Gtk::Widget::event_after_signal("event-after", (GCallback)&Marshal::void_event_callback);
+
+const Gtk::Widget::ButtonPressEventSignalType Gtk::Widget::button_press_event_signal("button_press_event", (GCallback)&Marshal::bool_eventbutton_callback);
+
+const Gtk::Widget::ButtonReleaseEventSignalType Gtk::Widget::button_release_event_signal("button_release_event", (GCallback)&Marshal::bool_eventbutton_callback);
+
+const Gtk::Widget::ScrollEventSignalType Gtk::Widget::scroll_event_signal("scroll_event", (GCallback)&Marshal::bool_eventscroll_callback);
+
+const Gtk::Widget::MotionNotifyEventSignalType Gtk::Widget::motion_notify_event_signal("motion_notify_event", (GCallback)&Marshal::bool_eventmotion_callback);
+
+const Gtk::Widget::DeleteEventSignalType Gtk::Widget::delete_event_signal("delete_event", (GCallback)&Marshal::bool_event_callback);
+
+const Gtk::Widget::DestroyEventSignalType Gtk::Widget::destroy_event_signal("destroy_event", (GCallback)&Marshal::bool_eventany_callback);
+
+const Gtk::Widget::ExposeEventSignalType Gtk::Widget::expose_event_signal("expose_event", (GCallback)&Marshal::bool_eventexpose_callback);
+
+const Gtk::Widget::KeyPressEventSignalType Gtk::Widget::key_press_event_signal("key_press_event", (GCallback)&Marshal::bool_eventkey_callback);
+
+const Gtk::Widget::KeyReleaseEventSignalType Gtk::Widget::key_release_event_signal("key_release_event", (GCallback)&Marshal::bool_eventkey_callback);
+
+const Gtk::Widget::EnterNotifyEventSignalType Gtk::Widget::enter_notify_event_signal("enter_notify_event", (GCallback)&Marshal::bool_eventcrossing_callback);
+
+const Gtk::Widget::LeaveNotifyEventSignalType Gtk::Widget::leave_notify_event_signal("leave_notify_event", (GCallback)&Marshal::bool_eventcrossing_callback);
+
+const Gtk::Widget::ConfigureEventSignalType Gtk::Widget::configure_event_signal("configure_event", (GCallback)&Marshal::bool_eventconfigure_callback);
+
+const Gtk::Widget::FocusInEventSignalType Gtk::Widget::focus_in_event_signal("focus_in_event", (GCallback)&Marshal::bool_eventfocus_callback);
+
+const Gtk::Widget::FocusOutEventSignalType Gtk::Widget::focus_out_event_signal("focus_out_event", (GCallback)&Marshal::bool_eventfocus_callback);
+
+const Gtk::Widget::MapEventSignalType Gtk::Widget::map_event_signal("map_event", (GCallback)&Marshal::bool_eventany_callback);
+
+const Gtk::Widget::UnmapEventSignalType Gtk::Widget::unmap_event_signal("unmap_event", (GCallback)&Marshal::bool_eventany_callback);
+
+const Gtk::Widget::PropertyNotifyEventSignalType Gtk::Widget::property_notify_event_signal("property_notify_event", (GCallback)&Marshal::bool_eventproperty_callback);
+
+const Gtk::Widget::SelectionClearEventSignalType Gtk::Widget::selection_clear_event_signal("selection_clear_event", (GCallback)&Marshal::bool_eventselection_callback);
+
+const Gtk::Widget::SelectionRequestEventSignalType Gtk::Widget::selection_request_event_signal("selection_request_event", (GCallback)&Marshal::bool_eventselection_callback);
+
+const Gtk::Widget::SelectionNotifyEventSignalType Gtk::Widget::selection_notify_event_signal("selection_notify_event", (GCallback)&Marshal::bool_eventselection_callback);
+
+const Gtk::Widget::ProximityInEventSignalType Gtk::Widget::proximity_in_event_signal("proximity_in_event", (GCallback)&Marshal::bool_eventproximity_callback);
+
+const Gtk::Widget::ProximityOutEventSignalType Gtk::Widget::proximity_out_event_signal("proximity_out_event", (GCallback)&Marshal::bool_eventproximity_callback);
+
+const Gtk::Widget::VisibilityNotifyEventSignalType Gtk::Widget::visibility_notify_event_signal("visibility_notify_event", (GCallback)&Marshal::bool_eventvisibility_callback);
+
+const Gtk::Widget::ClientEventSignalType Gtk::Widget::client_event_signal("client_event", (GCallback)&Marshal::bool_eventclient_callback);
+
+const Gtk::Widget::NoExposeEventSignalType Gtk::Widget::no_expose_event_signal("no_expose_event", (GCallback)&Marshal::bool_eventany_callback);
+
+const Gtk::Widget::WindowStateEventSignalType Gtk::Widget::window_state_event_signal("window_state_event", (GCallback)&Marshal::bool_eventwindowstate_callback);
+
diff --git a/libXFCui/xfc/gtk/widget.hh b/ui/xfc/gtk/widget.hh
similarity index 100%
rename from libXFCui/xfc/gtk/widget.hh
rename to ui/xfc/gtk/widget.hh
diff --git a/libXFCui/xfc/gtk/widgetsignals.cc b/ui/xfc/gtk/widgetsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/widgetsignals.cc
rename to ui/xfc/gtk/widgetsignals.cc
diff --git a/libXFCui/xfc/gtk/widgetsignals.hh b/ui/xfc/gtk/widgetsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/widgetsignals.hh
rename to ui/xfc/gtk/widgetsignals.hh
diff --git a/ui/xfc/gtk/window.cc b/ui/xfc/gtk/window.cc
new file mode 100755
index 0000000..3cb6ffc
--- /dev/null
+++ b/ui/xfc/gtk/window.cc
@@ -0,0 +1,520 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * window.cc - GtkWindow and GtkWindowGroup C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "window.hh"
+#include "windowsignals.hh"
+#include "accelgroup.hh"
+#include "private/marshal.hh"
+#include "private/windowclass.hh"
+#include "xfc/gdk/events.hh"
+#include "xfc/gdk/screen.hh"
+#include "xfc/gdk/window.hh"
+#include "xfc/gdk-pixbuf/pixbuf.hh"
+#include "xfc/glib/error.hh"
+#include "xfc/glib/quark.hh"
+#include "xfc/glib/private/objectclass.hh"
+#include "xfc/convert.hh"
+#include <gtk/gtkaboutdialog.h>
+
+using namespace Xfc;
+
+/* Gtk::Window
+ */
+
+Gtk::Window::Window(GtkWindow *window, bool owns_reference)
+: Bin((GtkBin*)window, owns_reference)
+{
+}
+
+Gtk::Window::Window(WindowType type)
+: Bin((GtkBin*)WindowClass::create((GtkWindowType)type))
+{
+}
+
+Gtk::Window::~Window()
+{
+ if (instance_)
+ {
+ remove_data(G::ObjectClass::quark());
+ dispose();
+ instance_ = 0;
+ }
+}
+
+String
+Gtk::Window::get_title() const
+{
+ return gtk_window_get_title(gtk_window());
+}
+
+String
+Gtk::Window::get_role() const
+{
+ return gtk_window_get_role(gtk_window());
+}
+
+Gtk::Widget*
+Gtk::Window::get_focus() const
+{
+ return G::Object::wrap<Widget>(gtk_window_get_focus(gtk_window()));
+}
+
+Gtk::Window*
+Gtk::Window::get_transient_for() const
+{
+ GtkWindow *window = gtk_window_get_transient_for(gtk_window());
+ return window ? G::Object::wrap<Window>(window) : 0;
+}
+
+Gdk::WindowTypeHint
+Gtk::Window::get_type_hint() const
+{
+ return (Gdk::WindowTypeHint)gtk_window_get_type_hint(gtk_window());
+}
+
+Gdk::Screen*
+Gtk::Window::get_screen() const
+{
+ return G::Object::wrap<Gdk::Screen>(gtk_window_get_screen(gtk_window()));
+}
+
+String
+Gtk::Window::get_icon_name() const
+{
+ return gtk_window_get_icon_name(gtk_window());
+}
+
+namespace { // real_get_icon_list
+
+bool real_get_icon_list(GtkWindow *window, std::vector<Gdk::Pixbuf*>& icons)
+{
+ g_return_val_if_fail(icons.empty(), false);
+
+ GList *first = window ? gtk_window_get_icon_list(window) : gtk_window_get_default_icon_list();
+ GList *next = first;
+
+ while (next)
+ {
+ icons.push_back(G::Object::wrap<Gdk::Pixbuf>((GdkPixbuf*)next->data));
+ next = g_list_next(next);
+ }
+ g_list_free(first);
+ return !icons.empty();
+}
+
+} // real_get_icon_list
+
+bool
+Gtk::Window::get_icon_list(std::vector<Gdk::Pixbuf*>& icons) const
+{
+ return real_get_icon_list(gtk_window(), icons);
+}
+
+Gdk::Pixbuf*
+Gtk::Window::get_icon() const
+{
+ GdkPixbuf *icon = gtk_window_get_icon(gtk_window());
+ return icon ? G::Object::wrap<Gdk::Pixbuf>(icon) : 0;
+}
+
+bool
+Gtk::Window::get_default_icon_list(std::vector<Gdk::Pixbuf*>& icons)
+{
+ return real_get_icon_list(0, icons);
+}
+
+Gdk::Point
+Gtk::Window::get_position() const
+{
+ int root_x, root_y;
+ get_position(&root_x, &root_y);
+ return Gdk::Point(root_x, root_y);
+}
+
+void
+Gtk::Window::set_title(const String& title)
+{
+ gtk_window_set_title(gtk_window(), title.c_str());
+}
+
+void
+Gtk::Window::set_wmclass(const String& wmclass_name, const String& wmclass_class)
+{
+ gtk_window_set_wmclass(gtk_window(), wmclass_name.c_str(), wmclass_class.c_str());
+}
+
+void
+Gtk::Window::set_role(const String& role)
+{
+ gtk_window_set_role(gtk_window(), role.c_str());
+}
+
+Gtk::AccelGroup*
+Gtk::Window::add_accel_group(AccelGroup *accel_group)
+{
+ AccelGroup *tmp_accel_group = accel_group;
+
+ if (!tmp_accel_group)
+ tmp_accel_group = new Gtk::AccelGroup;
+
+ gtk_window_add_accel_group(gtk_window(), *tmp_accel_group);
+
+ if (!accel_group)
+ tmp_accel_group->unref();
+
+ return tmp_accel_group;
+}
+
+void
+Gtk::Window::remove_accel_group(AccelGroup& accel_group)
+{
+ gtk_window_remove_accel_group(gtk_window(), accel_group.gtk_accel_group());
+}
+
+void
+Gtk::Window::set_focus(Widget *widget)
+{
+ gtk_window_set_focus(gtk_window(), *widget);
+}
+
+void
+Gtk::Window::set_default(Widget *default_widget)
+{
+ gtk_window_set_default(gtk_window(), *default_widget);
+}
+
+void
+Gtk::Window::set_transient_for(Window *parent)
+{
+ gtk_window_set_transient_for(gtk_window(), parent->gtk_window());
+}
+
+void
+Gtk::Window::set_geometry_hints(Widget *geometry_widget, const Gdk::Geometry& geometry)
+{
+ gtk_window_set_geometry_hints(gtk_window(), *geometry_widget, geometry.gdk_geometry(), geometry.gdk_window_hints());
+}
+
+void
+Gtk::Window::set_screen(const Gdk::Screen& screen)
+{
+ gtk_window_set_screen(gtk_window(), screen.gdk_screen());
+}
+
+namespace { // real_set_icon_list
+
+void real_set_icon_list(GtkWindow *window, std::vector<Gdk::Pixbuf*>& icons)
+{
+ g_return_if_fail(!icons.empty());
+ GList *tmp_icons = 0;
+ int count = icons.size();
+
+ int i = 0;
+ while (i < count)
+ {
+ tmp_icons = g_list_append(tmp_icons, icons[i]->gdk_pixbuf());
+ ++i;
+ }
+ window ? gtk_window_set_icon_list(window, tmp_icons) : gtk_window_set_default_icon_list(tmp_icons);
+ g_list_free(tmp_icons);
+}
+
+} // real_set_icon_list
+
+void
+Gtk::Window::set_icon_list(std::vector<Gdk::Pixbuf*>& icons)
+{
+ real_set_icon_list(gtk_window(), icons);
+}
+
+void
+Gtk::Window::set_icon(Gdk::Pixbuf& icon)
+{
+ gtk_window_set_icon(gtk_window(), icon.gdk_pixbuf());
+}
+
+bool
+Gtk::Window::set_icon_from_file(const char *filename, G::Error *error)
+{
+ return gtk_window_set_icon_from_file(gtk_window(), filename, *error);
+}
+
+void
+Gtk::Window::set_icon_name(const String& name)
+{
+ set_icon_name(name.c_str());
+}
+
+bool
+Gtk::Window::set_icon_from_file(const String& filename, G::Error *error)
+{
+ return gtk_window_set_icon_from_file(gtk_window(), filename.c_str(), *error);
+}
+
+void
+Gtk::Window::show_about_dialog(Gdk::Pixbuf *logo, const String& name, const String& version, const String& comments,
+ const String& copyright, const String& website, const std::vector<String> *authors,
+ const std::vector<String> *documenters, const String& license)
+{
+ char **tmp_authors = authors ? vector_of_string_to_array(*authors) : 0;
+ char **tmp_documenters = documenters ? vector_of_string_to_array(*documenters) : 0;
+
+ gtk_show_about_dialog(gtk_window(),
+ "logo", logo ? logo->gdk_pixbuf() : 0,
+ "name", name.c_str(),
+ "version", version.c_str(),
+ "copyright", copyright.c_str(),
+ "website", website.c_str(),
+ "comments", comments.c_str(),
+ "authors", tmp_authors,
+ "documenters", tmp_documenters,
+ "license", license.c_str(),
+ 0);
+
+ if (tmp_authors)
+ delete [] tmp_authors;
+
+ if (tmp_documenters)
+ delete [] tmp_documenters;
+}
+
+void
+Gtk::Window::set_default_icon_list(std::vector<Gdk::Pixbuf*>& icons)
+{
+ real_set_icon_list(0, icons);
+}
+
+void
+Gtk::Window::set_default_icon(Gdk::Pixbuf& icon)
+{
+ gtk_window_set_default_icon(icon.gdk_pixbuf());
+}
+
+void
+Gtk::Window::set_default_icon_name(const String& name)
+{
+ gtk_window_set_default_icon_name(name.c_str());
+}
+
+bool
+Gtk::Window::set_default_icon_from_file(const String& filename, G::Error *error)
+{
+ return gtk_window_set_default_icon_from_file(filename.c_str(), *error);
+}
+
+bool
+Gtk::Window::list_toplevels(std::vector<Widget*>& toplevels)
+{
+ g_return_val_if_fail(toplevels.empty(), false);
+ GList *first = gtk_window_list_toplevels();
+ GList *next = first;
+
+ while (next)
+ {
+ toplevels.push_back(G::Object::wrap<Widget>((GtkWidget*)next->data));
+ next = g_list_next(next);
+ }
+
+ g_list_free(first);
+ return !toplevels.empty();
+}
+
+void
+Gtk::Window::add_mnemonic(unsigned int keyval, Widget& target)
+{
+ gtk_window_add_mnemonic(gtk_window(), keyval, target.gtk_widget());
+}
+
+void
+Gtk::Window::remove_mnemonic(unsigned int keyval, Widget& target)
+{
+ gtk_window_remove_mnemonic(gtk_window(), keyval, target.gtk_widget());
+}
+
+bool
+Gtk::Window::activate_key(const Gdk::EventKey& event)
+{
+ return gtk_window_activate_key(gtk_window(), event.gdk_event_key());
+}
+
+bool
+Gtk::Window::propagate_key_event(const Gdk::EventKey& event)
+{
+ return gtk_window_propagate_key_event(gtk_window(), event.gdk_event_key());
+}
+
+void
+Gtk::Window::move(const Gdk::Point& point)
+{
+ move(point.x(), point.y());
+}
+
+bool
+Gtk::Window::parse_geometry(const String& geometry)
+{
+ return gtk_window_parse_geometry(gtk_window(), geometry.c_str());
+}
+
+/* Gtk::WindowClass
+ */
+
+void
+Gtk::WindowClass::init(GtkWindowClass *g_class)
+{
+ BinClass::init((GtkBinClass*)g_class);
+ g_class->set_focus = &set_focus_proxy;
+ g_class->frame_event = &frame_event_proxy;
+ g_class->keys_changed = &keys_changed_proxy;
+}
+
+GtkWindowClass*
+Gtk::WindowClass::get_parent_class(void *instance)
+{
+ return static_cast<GtkWindowClass*>(g_type_class_peek_parent(G_OBJECT_GET_CLASS(instance)));
+}
+
+GType
+Gtk::WindowClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_WINDOW, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::WindowClass::create(GtkWindowType type)
+{
+ return g_object_new(get_type(), "type", type, 0);
+}
+
+void
+Gtk::WindowClass::set_focus_proxy(GtkWindow *window, GtkWidget *focus)
+{
+ WindowSignals *signals = dynamic_cast<WindowSignals*>(G::ObjectSignals::pointer((GObject*)window));
+ if (signals)
+ signals->on_set_focus(G::Object::wrap<Gtk::Widget>(focus));
+ else
+ {
+ GtkWindowClass *g_class = get_parent_class(window);
+ if (g_class && g_class->set_focus)
+ g_class->set_focus(window, focus);
+ }
+}
+
+gboolean
+Gtk::WindowClass::frame_event_proxy(GtkWindow *window, GdkEvent *event)
+{
+ gboolean result = FALSE;
+ WindowSignals *signals = dynamic_cast<WindowSignals*>(G::ObjectSignals::pointer((GObject*)window));
+ if (signals)
+ {
+ Gdk::Event tmp_event(event);
+ signals->on_frame_event(tmp_event);
+ }
+ else
+ {
+ GtkWindowClass *g_class = get_parent_class(window);
+ if (g_class && g_class->frame_event)
+ result = g_class->frame_event(window, event);
+ }
+ return result;
+}
+
+void
+Gtk::WindowClass::keys_changed_proxy(GtkWindow *window)
+{
+ WindowSignals *signals = dynamic_cast<WindowSignals*>(G::ObjectSignals::pointer((GObject*)window));
+ if (signals)
+ signals->on_keys_changed();
+ else
+ {
+ GtkWindowClass *g_class = get_parent_class(window);
+ if (g_class && g_class->keys_changed)
+ g_class->keys_changed(window);
+ }
+}
+
+/* Gtk::Window signals
+ */
+
+const Gtk::Window::SetFocusSignalType Gtk::Window::set_focus_signal("set_focus", (GCallback)&Marshal::void_widget_callback1);
+
+const Gtk::Window::FrameEventSignalType Gtk::Window::frame_event_signal("frame_event", (GCallback)&Marshal::bool_event_callback);
+
+const Gtk::Window::KeysChangedSignalType Gtk::Window::keys_changed_signal("keys_changed", (GCallback)&G::Marshal::void_callback);
+
+/* Gtk::WindowGroup
+ */
+
+Gtk::WindowGroup::WindowGroup(GtkWindowGroup *group, bool owns_reference)
+: G::Object((GObject*)group, owns_reference)
+{
+}
+
+Gtk::WindowGroup::WindowGroup()
+: G::Object((GObject*)WindowGroupClass::create())
+{
+}
+
+Gtk::WindowGroup::~WindowGroup()
+{
+}
+
+void
+Gtk::WindowGroup::add_window(Window& window)
+{
+ gtk_window_group_add_window(gtk_window_group(), window.gtk_window());
+}
+
+void
+Gtk::WindowGroup::remove_window(Window& window)
+{
+ gtk_window_group_remove_window(gtk_window_group(), window.gtk_window());
+}
+
+/* Gtk::WindowGroupClass
+ */
+
+void
+Gtk::WindowGroupClass::init(GtkWindowGroupClass *g_class)
+{
+ G::ObjectClass::init((GObjectClass*)g_class);
+}
+
+GType
+Gtk::WindowGroupClass::get_type()
+{
+ static GType type = 0;
+ if (!type)
+ {
+ type = G::TypeInstance::register_type(GTK_TYPE_WINDOW_GROUP, (GClassInitFunc)&init);
+ }
+ return type;
+}
+
+void*
+Gtk::WindowGroupClass::create()
+{
+ return g_object_new(get_type(), 0);
+}
+
diff --git a/libXFCui/xfc/gtk/window.hh b/ui/xfc/gtk/window.hh
similarity index 100%
rename from libXFCui/xfc/gtk/window.hh
rename to ui/xfc/gtk/window.hh
diff --git a/libXFCui/xfc/gtk/windowsignals.cc b/ui/xfc/gtk/windowsignals.cc
similarity index 100%
rename from libXFCui/xfc/gtk/windowsignals.cc
rename to ui/xfc/gtk/windowsignals.cc
diff --git a/libXFCui/xfc/gtk/windowsignals.hh b/ui/xfc/gtk/windowsignals.hh
similarity index 100%
rename from libXFCui/xfc/gtk/windowsignals.hh
rename to ui/xfc/gtk/windowsignals.hh
diff --git a/ui/xfc/main.cc b/ui/xfc/main.cc
new file mode 100644
index 0000000..0a96057
--- /dev/null
+++ b/ui/xfc/main.cc
@@ -0,0 +1,322 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2002-2003 The XFC Development Team.
+ *
+ * main.cc - Initialization and main processing loop wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "main.hh"
+#include "gdk/events.hh"
+#include "gtk/window.hh"
+#include "xfc/object.hh"
+#include "xfc/utfstring.hh"
+#include "xfc/glib/error.hh"
+#include "xfc/glib/object.hh"
+#include "xfc/glib/option.hh"
+
+namespace Xfc {
+
+namespace Main {
+
+/* Main::Connection
+ */
+
+struct Connection : public sigc::connection
+{
+ typedef void (*PF)(unsigned int);
+ PF pf_;
+ unsigned int connect_id_;
+
+ Connection(const sigc::slot_base& slot, PF pf)
+ : sigc::connection(const_cast<sigc::slot_base&>(slot)), pf_(pf), connect_id_(0)
+ {
+ }
+
+ static void* notify_handler(void *data)
+ {
+ Connection *c = static_cast<Connection*>(data);
+ if (c)
+ {
+ (*c->pf_)(c->connect_id_);
+ c->connect_id_ = 0;
+ }
+ return 0;
+ }
+
+ static void destroy_handler(void *data)
+ {
+ Connection *c = static_cast<Connection*>(data);
+ if (c)
+ {
+ c->notify(data);
+ delete c;
+ }
+ }
+};
+
+/* Main::QuitConnection
+ */
+
+struct QuitConnection : public Connection
+{
+ typedef Main::QuitSignal::SlotType QuitSlot;
+ QuitSlot slot_;
+
+ QuitConnection(const QuitSlot& slot, PF pf)
+ : Connection(slot, pf), slot_(slot)
+ {
+ slot_.add_destroy_notify_callback(this, &Connection::notify_handler);
+ }
+
+ ~QuitConnection()
+ {
+ slot_.remove_destroy_notify_callback(this);
+ }
+};
+
+/* Main::KeySnooperConnection
+ */
+
+struct KeySnooperConnection : public Connection
+{
+ typedef KeySnooperSignal::SlotType KeySnoopeSlot;
+ KeySnoopeSlot slot_;
+
+ KeySnooperConnection(const
+ KeySnoopeSlot& slot, PF pf)
+ : Connection(slot, pf), slot_(slot)
+ {
+ slot_.add_destroy_notify_callback(this, &Connection::notify_handler);
+ }
+
+ ~KeySnooperConnection()
+ {
+ slot_.remove_destroy_notify_callback(this);
+ }
+};
+
+void
+init(int *argc, char ***argv)
+{
+ gtk_init(argc, argv);
+}
+
+bool
+init_check(int *argc, char ***argv)
+{
+ return gtk_init_check(argc, argv);
+}
+
+bool
+init_with_args(int *argc, char ***argv, const char *parameter_string, G::OptionGroup& main_group, G::Error *error)
+{
+ return gtk_init_with_args(argc, argv, const_cast<char*>(parameter_string),
+ (GOptionEntry*)main_group.get_entries(), 0, *error);
+}
+
+namespace { // InitAddCallback
+
+struct InitAddCallback
+{
+ typedef sigc::slot<bool> CallbackSlot;
+ CallbackSlot slot_;
+
+ InitAddCallback(const CallbackSlot& slot)
+ : slot_(slot)
+ {
+ }
+
+ static gboolean notify(void *data)
+ {
+ InitAddCallback *cb = static_cast<InitAddCallback*>(data);
+ bool result = cb->slot_();
+ delete cb;
+ return result;
+ }
+};
+
+} // namespace
+
+void
+init_add(const sigc::slot<bool>& callback)
+{
+ InitAddCallback *cb = new InitAddCallback(callback);
+ gtk_init_add(&InitAddCallback::notify, cb);
+}
+
+#ifdef G_THREADS_ENABLED
+void
+threads_init(GThreadFunctions *vtable)
+{
+ if (!g_thread_supported())
+ g_thread_init(vtable);
+ gdk_threads_init();
+}
+#endif
+
+GOptionGroup*
+get_option_group(bool open_default_display)
+{
+ return gtk_get_option_group(open_default_display);
+}
+
+PangoLanguage*
+default_language()
+{
+ return gtk_get_default_language();
+}
+
+bool
+events_pending()
+{
+ return gtk_events_pending() != 0;
+}
+
+Pointer<Gdk::Event>
+get_current_event()
+{
+ return G::Boxed::wrap<Gdk::Event>(GDK_TYPE_EVENT, gtk_get_current_event(), false);
+}
+
+unsigned int
+get_current_event_time()
+{
+ return gtk_get_current_event_time();
+}
+
+bool
+get_current_event_state(Gdk::ModifierTypeField *state)
+{
+ return gtk_get_current_event_state((GdkModifierType*)state);
+}
+
+Gtk::Widget*
+get_event_widget(Gdk::Event& event)
+{
+ GtkWidget *widget = gtk_get_event_widget(event.gdk_event());
+ return widget ? G::Object::wrap<Gtk::Widget>(widget) : 0;
+}
+
+void
+run(Gtk::Window *main_window)
+{
+ if (main_window)
+ {
+ main_window->signal_destroy().connect(sigc::ptr_fun(&quit));
+ main_window->show();
+ }
+ gtk_main();
+}
+
+int
+level()
+{
+ return gtk_main_level();
+}
+
+void
+quit()
+{
+ gtk_main_quit();
+}
+
+bool
+iterate(bool blocking)
+{
+ return gtk_main_iteration_do(blocking);
+}
+
+void
+grab_add(Gtk::Widget& widget)
+{
+ gtk_grab_add(widget.gtk_widget());
+}
+
+Gtk::Widget*
+grab_get_current()
+{
+ GtkWidget *widget = gtk_grab_get_current();
+ return widget ? G::Object::wrap<Gtk::Widget>(widget) : 0;
+}
+
+void
+grab_remove(Gtk::Widget& widget)
+{
+ gtk_grab_remove(widget.gtk_widget());
+}
+
+/* QuitSignal
+ */
+
+QuitSignal quit_signal;
+
+namespace { // quit_signal_callback
+
+gboolean quit_signal_callback(gpointer data)
+{
+ QuitConnection *c = static_cast<QuitConnection*>(data);
+ return c->slot_();
+}
+
+} // namespace
+
+sigc::connection
+QuitSignal::connect(const SlotType& slot, unsigned int main_level)
+{
+ QuitConnection *c = new QuitConnection(slot, >k_quit_remove);
+ c->connect_id_ = gtk_quit_add_full(main_level, &quit_signal_callback, 0, c, (GtkDestroyNotify)&Connection::destroy_handler);
+ return sigc::connection(const_cast<SlotType&>(slot));
+}
+
+/* KeySnooperSignal
+ */
+
+KeySnooperSignal key_snooper_signal;
+
+KeySnooperSignal::~KeySnooperSignal()
+{
+ int count = connection_list.size();
+ while (count)
+ {
+ delete connection_list[count - 1];
+ --count;
+ }
+}
+
+namespace { // key_snooper_signal_callback
+
+gint key_snooper_signal_callback(GtkWidget *widget, GdkEventKey *key, void *data)
+{
+ KeySnooperConnection *c = static_cast<KeySnooperConnection*>(data);
+ Xfc::Gdk::Event tmp_event((GdkEvent*)key);
+ return c->slot_(*G::Object::wrap<Gtk::Widget>(widget), *tmp_event.key());
+}
+
+} // namespace
+
+sigc::connection
+KeySnooperSignal::connect(const SlotType& slot)
+{
+ KeySnooperConnection *c = new KeySnooperConnection(slot, >k_key_snooper_remove);
+ c->connect_id_ = gtk_key_snooper_install(&key_snooper_signal_callback, c);
+ connection_list.push_back(c);
+ return sigc::connection(const_cast<SlotType&>(slot));
+}
+
+} // namespace Main
+
+} // namespace Xfc
+
diff --git a/libXFCui/xfc/main.hh b/ui/xfc/main.hh
similarity index 100%
rename from libXFCui/xfc/main.hh
rename to ui/xfc/main.hh
diff --git a/ui/xfc/pango/CMakeLists.txt b/ui/xfc/pango/CMakeLists.txt
new file mode 100644
index 0000000..469ac94
--- /dev/null
+++ b/ui/xfc/pango/CMakeLists.txt
@@ -0,0 +1,17 @@
+ADD_DEFINITIONS( -fPIC )
+
+ADD_LIBRARY( xfc_pango STATIC
+ attributes.cc
+ break.cc
+ context.cc
+ coverage.cc
+ font.cc
+ fontmap.cc
+ fontset.cc
+ glyph.cc
+ item.cc
+ layout.cc
+ renderer.cc
+ script.cc
+ tabs.cc
+ types.cc)
diff --git a/libXFCui/xfc/pango/Makefile.am b/ui/xfc/pango/Makefile.am
similarity index 100%
rename from libXFCui/xfc/pango/Makefile.am
rename to ui/xfc/pango/Makefile.am
diff --git a/libXFCui/xfc/pango/attributes.cc b/ui/xfc/pango/attributes.cc
similarity index 100%
rename from libXFCui/xfc/pango/attributes.cc
rename to ui/xfc/pango/attributes.cc
diff --git a/libXFCui/xfc/pango/attributes.hh b/ui/xfc/pango/attributes.hh
similarity index 100%
rename from libXFCui/xfc/pango/attributes.hh
rename to ui/xfc/pango/attributes.hh
diff --git a/libXFCui/xfc/pango/break.cc b/ui/xfc/pango/break.cc
similarity index 100%
rename from libXFCui/xfc/pango/break.cc
rename to ui/xfc/pango/break.cc
diff --git a/libXFCui/xfc/pango/break.hh b/ui/xfc/pango/break.hh
similarity index 100%
rename from libXFCui/xfc/pango/break.hh
rename to ui/xfc/pango/break.hh
diff --git a/libXFCui/xfc/pango/context.cc b/ui/xfc/pango/context.cc
similarity index 100%
rename from libXFCui/xfc/pango/context.cc
rename to ui/xfc/pango/context.cc
diff --git a/libXFCui/xfc/pango/context.hh b/ui/xfc/pango/context.hh
similarity index 100%
rename from libXFCui/xfc/pango/context.hh
rename to ui/xfc/pango/context.hh
diff --git a/libXFCui/xfc/pango/coverage.cc b/ui/xfc/pango/coverage.cc
similarity index 100%
rename from libXFCui/xfc/pango/coverage.cc
rename to ui/xfc/pango/coverage.cc
diff --git a/libXFCui/xfc/pango/coverage.hh b/ui/xfc/pango/coverage.hh
similarity index 100%
rename from libXFCui/xfc/pango/coverage.hh
rename to ui/xfc/pango/coverage.hh
diff --git a/libXFCui/xfc/pango/font.cc b/ui/xfc/pango/font.cc
similarity index 100%
rename from libXFCui/xfc/pango/font.cc
rename to ui/xfc/pango/font.cc
diff --git a/libXFCui/xfc/pango/font.hh b/ui/xfc/pango/font.hh
similarity index 100%
rename from libXFCui/xfc/pango/font.hh
rename to ui/xfc/pango/font.hh
diff --git a/libXFCui/xfc/pango/fontmap.cc b/ui/xfc/pango/fontmap.cc
similarity index 100%
rename from libXFCui/xfc/pango/fontmap.cc
rename to ui/xfc/pango/fontmap.cc
diff --git a/libXFCui/xfc/pango/fontmap.hh b/ui/xfc/pango/fontmap.hh
similarity index 100%
rename from libXFCui/xfc/pango/fontmap.hh
rename to ui/xfc/pango/fontmap.hh
diff --git a/libXFCui/xfc/pango/fontset.cc b/ui/xfc/pango/fontset.cc
similarity index 100%
rename from libXFCui/xfc/pango/fontset.cc
rename to ui/xfc/pango/fontset.cc
diff --git a/libXFCui/xfc/pango/fontset.hh b/ui/xfc/pango/fontset.hh
similarity index 100%
rename from libXFCui/xfc/pango/fontset.hh
rename to ui/xfc/pango/fontset.hh
diff --git a/libXFCui/xfc/pango/glyph.cc b/ui/xfc/pango/glyph.cc
similarity index 100%
rename from libXFCui/xfc/pango/glyph.cc
rename to ui/xfc/pango/glyph.cc
diff --git a/libXFCui/xfc/pango/glyph.hh b/ui/xfc/pango/glyph.hh
similarity index 100%
rename from libXFCui/xfc/pango/glyph.hh
rename to ui/xfc/pango/glyph.hh
diff --git a/libXFCui/xfc/pango/inline/Makefile.am b/ui/xfc/pango/inline/Makefile.am
similarity index 100%
rename from libXFCui/xfc/pango/inline/Makefile.am
rename to ui/xfc/pango/inline/Makefile.am
diff --git a/libXFCui/xfc/pango/inline/attributes.inl b/ui/xfc/pango/inline/attributes.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/attributes.inl
rename to ui/xfc/pango/inline/attributes.inl
diff --git a/libXFCui/xfc/pango/inline/break.inl b/ui/xfc/pango/inline/break.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/break.inl
rename to ui/xfc/pango/inline/break.inl
diff --git a/libXFCui/xfc/pango/inline/context.inl b/ui/xfc/pango/inline/context.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/context.inl
rename to ui/xfc/pango/inline/context.inl
diff --git a/libXFCui/xfc/pango/inline/coverage.inl b/ui/xfc/pango/inline/coverage.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/coverage.inl
rename to ui/xfc/pango/inline/coverage.inl
diff --git a/libXFCui/xfc/pango/inline/font.inl b/ui/xfc/pango/inline/font.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/font.inl
rename to ui/xfc/pango/inline/font.inl
diff --git a/libXFCui/xfc/pango/inline/fontmap.inl b/ui/xfc/pango/inline/fontmap.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/fontmap.inl
rename to ui/xfc/pango/inline/fontmap.inl
diff --git a/libXFCui/xfc/pango/inline/fontset.inl b/ui/xfc/pango/inline/fontset.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/fontset.inl
rename to ui/xfc/pango/inline/fontset.inl
diff --git a/libXFCui/xfc/pango/inline/glyph.inl b/ui/xfc/pango/inline/glyph.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/glyph.inl
rename to ui/xfc/pango/inline/glyph.inl
diff --git a/libXFCui/xfc/pango/inline/item.inl b/ui/xfc/pango/inline/item.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/item.inl
rename to ui/xfc/pango/inline/item.inl
diff --git a/libXFCui/xfc/pango/inline/layout.inl b/ui/xfc/pango/inline/layout.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/layout.inl
rename to ui/xfc/pango/inline/layout.inl
diff --git a/libXFCui/xfc/pango/inline/renderer.inl b/ui/xfc/pango/inline/renderer.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/renderer.inl
rename to ui/xfc/pango/inline/renderer.inl
diff --git a/libXFCui/xfc/pango/inline/script.inl b/ui/xfc/pango/inline/script.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/script.inl
rename to ui/xfc/pango/inline/script.inl
diff --git a/libXFCui/xfc/pango/inline/tabs.inl b/ui/xfc/pango/inline/tabs.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/tabs.inl
rename to ui/xfc/pango/inline/tabs.inl
diff --git a/libXFCui/xfc/pango/inline/types.inl b/ui/xfc/pango/inline/types.inl
similarity index 100%
rename from libXFCui/xfc/pango/inline/types.inl
rename to ui/xfc/pango/inline/types.inl
diff --git a/libXFCui/xfc/pango/item.cc b/ui/xfc/pango/item.cc
similarity index 100%
rename from libXFCui/xfc/pango/item.cc
rename to ui/xfc/pango/item.cc
diff --git a/libXFCui/xfc/pango/item.hh b/ui/xfc/pango/item.hh
similarity index 100%
rename from libXFCui/xfc/pango/item.hh
rename to ui/xfc/pango/item.hh
diff --git a/libXFCui/xfc/pango/layout.cc b/ui/xfc/pango/layout.cc
similarity index 100%
rename from libXFCui/xfc/pango/layout.cc
rename to ui/xfc/pango/layout.cc
diff --git a/libXFCui/xfc/pango/layout.hh b/ui/xfc/pango/layout.hh
similarity index 100%
rename from libXFCui/xfc/pango/layout.hh
rename to ui/xfc/pango/layout.hh
diff --git a/libXFCui/xfc/pango/pango.hh b/ui/xfc/pango/pango.hh
similarity index 100%
rename from libXFCui/xfc/pango/pango.hh
rename to ui/xfc/pango/pango.hh
diff --git a/libXFCui/xfc/pango/private/Makefile.am b/ui/xfc/pango/private/Makefile.am
similarity index 100%
rename from libXFCui/xfc/pango/private/Makefile.am
rename to ui/xfc/pango/private/Makefile.am
diff --git a/libXFCui/xfc/pango/private/rendererclass.hh b/ui/xfc/pango/private/rendererclass.hh
similarity index 100%
rename from libXFCui/xfc/pango/private/rendererclass.hh
rename to ui/xfc/pango/private/rendererclass.hh
diff --git a/libXFCui/xfc/pango/renderer.cc b/ui/xfc/pango/renderer.cc
similarity index 100%
rename from libXFCui/xfc/pango/renderer.cc
rename to ui/xfc/pango/renderer.cc
diff --git a/libXFCui/xfc/pango/renderer.hh b/ui/xfc/pango/renderer.hh
similarity index 100%
rename from libXFCui/xfc/pango/renderer.hh
rename to ui/xfc/pango/renderer.hh
diff --git a/libXFCui/xfc/pango/script.cc b/ui/xfc/pango/script.cc
similarity index 100%
rename from libXFCui/xfc/pango/script.cc
rename to ui/xfc/pango/script.cc
diff --git a/libXFCui/xfc/pango/script.hh b/ui/xfc/pango/script.hh
similarity index 100%
rename from libXFCui/xfc/pango/script.hh
rename to ui/xfc/pango/script.hh
diff --git a/libXFCui/xfc/pango/tabs.cc b/ui/xfc/pango/tabs.cc
similarity index 100%
rename from libXFCui/xfc/pango/tabs.cc
rename to ui/xfc/pango/tabs.cc
diff --git a/libXFCui/xfc/pango/tabs.hh b/ui/xfc/pango/tabs.hh
similarity index 100%
rename from libXFCui/xfc/pango/tabs.hh
rename to ui/xfc/pango/tabs.hh
diff --git a/ui/xfc/pango/types.cc b/ui/xfc/pango/types.cc
new file mode 100755
index 0000000..7c55784
--- /dev/null
+++ b/ui/xfc/pango/types.cc
@@ -0,0 +1,125 @@
+/* XFC: Xfce Foundation Classes (User Interface Library)
+ * Copyright (C) 2004-2005 The XFC Development Team.
+ *
+ * types.cc - Pango types C++ wrapper implementation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "types.hh"
+#include "xfc/glib/unicode.hh"
+
+using namespace Xfc;
+
+/* Pango::unichar_direction
+ */
+
+Pango::Direction
+Pango::unichar_direction(G::Unichar ch)
+{
+ return (Direction)pango_unichar_direction(ch);
+}
+
+/* Pango::find_base_dir
+ */
+
+Pango::Direction
+Pango::find_base_dir(const char *text, int length)
+{
+ return (Direction)pango_find_base_dir(text, length);
+}
+
+/* Pango::Rectangle
+ */
+
+Pango::Rectangle::Rectangle()
+{
+ set(0, 0, 0, 0);
+}
+
+Pango::Rectangle::Rectangle(int x, int y, int width, int height)
+{
+ set(x, y, width, height);
+}
+
+Pango::Rectangle::Rectangle(const PangoRectangle& rectangle)
+{
+ set(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
+}
+
+void
+Pango::Rectangle::set(int x, int y, int width, int height)
+{
+ rectangle_.x = x;
+ rectangle_.y = y;
+ rectangle_.width = width;
+ rectangle_.height = height;
+}
+
+/* Pango::Matrix
+ */
+
+Pango::Matrix::Matrix()
+: G::Boxed(PANGO_TYPE_MATRIX)
+{
+ PangoMatrix matrix = PANGO_MATRIX_INIT;
+ copy(&matrix);
+}
+
+Pango::Matrix::Matrix(double xx, double xy, double yx, double yy, double x0, double y0)
+: G::Boxed(PANGO_TYPE_MATRIX)
+{
+ PangoMatrix matrix = { xx, xy, yx, yy, x0, y0 };
+ copy(&matrix);
+}
+
+Pango::Matrix::Matrix(PangoMatrix *matrix)
+: G::Boxed(PANGO_TYPE_MATRIX, matrix)
+{
+}
+
+Pango::Matrix::Matrix(PangoMatrix *matrix, bool copy)
+: G::Boxed(PANGO_TYPE_MATRIX, matrix, copy)
+{
+}
+
+Pango::Matrix::Matrix(const Matrix& src)
+: G::Boxed(PANGO_TYPE_MATRIX, src.g_boxed(), true)
+{
+}
+
+Pango::Matrix::~Matrix()
+{
+}
+
+Pango::Matrix&
+Pango::Matrix::operator=(const Matrix& src)
+{
+ if (src.boxed_ != boxed_)
+ copy(src);
+ return *this;
+}
+
+void
+Pango::Matrix::set(double xx, double xy, double yx, double yy, double x0, double y0)
+{
+ pango_matrix()->xx = xx;
+ pango_matrix()->xy = xy;
+ pango_matrix()->yx = yx;
+ pango_matrix()->yy = yy;
+ pango_matrix()->x0 = x0;
+ pango_matrix()->y0 = y0;
+}
+
diff --git a/libXFCui/xfc/pango/types.hh b/ui/xfc/pango/types.hh
similarity index 100%
rename from libXFCui/xfc/pango/types.hh
rename to ui/xfc/pango/types.hh
diff --git a/libXFCui/xfc/ui.hh b/ui/xfc/ui.hh
similarity index 100%
rename from libXFCui/xfc/ui.hh
rename to ui/xfc/ui.hh
diff --git a/libXFCui/xfc/xfcui.hh b/ui/xfc/xfcui.hh
similarity index 100%
rename from libXFCui/xfc/xfcui.hh
rename to ui/xfc/xfcui.hh
diff --git a/libXFCui/xfcui-4.3.pc.in b/ui/xfcui-4.3.pc.in
similarity index 100%
rename from libXFCui/xfcui-4.3.pc.in
rename to ui/xfcui-4.3.pc.in
diff --git a/xfc-config.h.in b/xfc-config.h.in
index 03c1be0..8460e7c 100644
--- a/xfc-config.h.in
+++ b/xfc-config.h.in
@@ -1,98 +1,90 @@
-/* xfc-config.h.in. Generated from configure.ac by autoheader. */
-
/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
+#cmakedefine HAVE_DLFCN_H
/* Define to 1 if you have the `flockfile' function. */
-#undef HAVE_FLOCKFILE
+#cmakedefine HAVE_FLOCKFILE
/* Define to 1 if you have the `funlockfile' function. */
-#undef HAVE_FUNLOCKFILE
+#cmakedefine HAVE_FUNLOCKFILE
/* Define to 1 if you have the `getc_unlocked' function. */
-#undef HAVE_GETC_UNLOCKED
+#cmakedefine HAVE_GETC_UNLOCKED
/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
+#cmakedefine HAVE_INTTYPES_H
/* Define to 1 if you have the `lstat' function. */
-#undef HAVE_LSTAT
+#cmakedefine HAVE_LSTAT
/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
+#cmakedefine HAVE_MEMORY_H
/* Define to 1 if you have the `mkstemp' function. */
-#undef HAVE_MKSTEMP
+#cmakedefine HAVE_MKSTEMP
/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
+#cmakedefine HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+#cmakedefine HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
+#cmakedefine HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+#cmakedefine HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
+#cmakedefine HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
+#cmakedefine HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
+#cmakedefine HAVE_UNISTD_H
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
-#undef LT_OBJDIR
+#cmakedefine LT_OBJDIR
/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
+#cmakedefine PACKAGE_BUGREPORT
/* Define to the full name of this package. */
-#undef PACKAGE_NAME
+#cmakedefine PACKAGE_NAME
/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
+#cmakedefine PACKAGE_STRING
/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
+#cmakedefine PACKAGE_TARNAME
/* Define to the home page for this package. */
-#undef PACKAGE_URL
+#cmakedefine PACKAGE_URL
/* Define to the version of this package. */
-#undef PACKAGE_VERSION
+#cmakedefine PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
+#cmakedefine STDC_HEADERS
/* "Define if cairo vector drawing system is enabled" */
-#undef XFC_CAIRO
+#cmakedefine XFC_CAIRO
/* "Defined if XFC support added" */
-#undef XFC_DE_FOUND
+#cmakedefine XFC_DE_FOUND
/* Define major version */
-#undef XFC_MAJOR_VERSION
+#define XFC_MAJOR_VERSION ${XFC_MAJOR_VERSION}
/* Define micro version */
-#undef XFC_MICRO_VERSION
+#define XFC_MICRO_VERSION ${XFC_MICRO_VERSION}
/* Define minor version */
-#undef XFC_MINOR_VERSION
+#define XFC_MINOR_VERSION ${XFC_MINOR_VERSION}
/* Defined if pango text render is supported" */
-#undef XFC_PANGO
+#cmakedefine XFC_PANGO
/* "Defined if sourceview widget is defined" */
-#undef XFC_SOURCEVIEW
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
+#cmakedefine XFC_SOURCEVIEW
More information about the Xfce4-commits
mailing list