[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(&gtk_rc_style()->fg[state_type]);
-}
-
-Gdk::Color 
-Gtk::RcStyle::bg(StateType state_type) const
-{
-	return Gdk::Color(&gtk_rc_style()->bg[state_type]);
-}
-
-Gdk::Color 
-Gtk::RcStyle::text(StateType state_type) const
-{
-	return Gdk::Color(&gtk_rc_style()->text[state_type]);
-}
-
-Gdk::Color 
-Gtk::RcStyle::base(StateType state_type) const
-{
-	return Gdk::Color(&gtk_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, &gtk_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, &gtk_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(&gtk_rc_style()->fg[state_type]);
+}
+
+Gdk::Color 
+Gtk::RcStyle::bg(StateType state_type) const
+{
+	return Gdk::Color(&gtk_rc_style()->bg[state_type]);
+}
+
+Gdk::Color 
+Gtk::RcStyle::text(StateType state_type) const
+{
+	return Gdk::Color(&gtk_rc_style()->text[state_type]);
+}
+
+Gdk::Color 
+Gtk::RcStyle::base(StateType state_type) const
+{
+	return Gdk::Color(&gtk_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, &gtk_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, &gtk_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