mono/xwt — pull request #322 by sevoku (2014-04-08 15:32:09+00:00)
Title: [GTK] add initial Gtk3 support

Hi! This pull request adds initial Gtk3 support and a Gtk3 test app (Gtk3Test).

To use the Gtk3 backend compile the Xwt.Gtk3 project and initialize Xwt with ToolkitType.Gtk3.

The new Xwt.Gtk3 project reuses all Xwt.Gtk sources, which have been modified for Gtk3 support (using conditional compiling by the XWT_GTK3 symbol set in Xwt.Gtk3).

The most important changes from Gtk2 to Gtk3 are based on the new sizing model (height-by-width, widh-by-height) eliminating the SizeRequested handlers/overrides.

In the Gtk3Test app almost everything is working like with Gtk2 except of:
* PopoverBackend (TODO!)
* SearchTextEntryBackend (TODO: **Gtk3 supports images in entries, so the implementation becomes obsolete. Maybe this feature should be added to Xwt.TextEntry, reusing the code from the SearchEntry implementation???** Ok, that would affect all other backends, too...)
* ComboBox with Images does not work at all (with Gtk2 there seem to be issues with the icon placement) and needs more investigation. To test regular ComboBoxes simply comment out the last example (after the *//A complex combobox* comment, lines 102-134) in TestApps/Samples/Samples/ComboBoxes.cs

I have tested everything on my development system with Ubuntu 14.04 (beta) with following versions:

Mono: 3.2.8+dfsg-4ubuntu1
Gtk3: 3.12.0-0ubuntu1-trusty0 (Gnome staging PPA)
gtk-sharp: 2.99.2-2ubuntu1

but it should work with all Gtk3 versions on Linux. TODO: Windows and Mac.