[GTK] add initial Gtk3 support #322

Closed
wants to merge 6 commits into
from

Conversation

Projects
None yet
1 participant
@sevoku
Member

sevoku commented Apr 8, 2014

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.

@sevoku

This comment has been minimized.

Show comment Hide comment
@sevoku

sevoku Apr 8, 2014

Member

GTK3 search entry is easier to add then I thought (7663e24).

Member

sevoku commented Apr 8, 2014

GTK3 search entry is easier to add then I thought (7663e24).

@sevoku

This comment has been minimized.

Show comment Hide comment
@sevoku

sevoku May 15, 2014

Member

I had to rebase my repository. Now I have a separate gtk3 branch, so I'll reopen this issue with a correct branch and add some other pull requests. I hope nobody has merged this one into a private repository so far. Sorry and thanks!

Member

sevoku commented May 15, 2014

I had to rebase my repository. Now I have a separate gtk3 branch, so I'll reopen this issue with a correct branch and add some other pull requests. I hope nobody has merged this one into a private repository so far. Sorry and thanks!

@sevoku sevoku closed this May 15, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment