lazarus/lcl/interfaces/gtk3
2015-02-07 09:39:53 +00:00
..
gtk3bindings gtk3: added cairo_format_stride_for_width(). Patch by Cedric. issue #27205 2014-12-30 19:13:08 +00:00
alllclintfunits.pas
gtk3cellrenderer.pas Gtk3: implemented TCustomListView.ItemDelete, fixed crash in gtk3cellrenderer 2013-10-11 08:17:51 +00:00
gtk3defines.inc Updated gtk3 bindings to 3.8.6. Also bindings now include the missing error: PPGError on all needed procedures 2014-01-06 19:43:08 +00:00
gtk3int.pas LCL: Fix compilation of CustomDrawn and GTK3 widgetsets with NoLazUTF8Wrappers defined. 2015-02-07 09:39:53 +00:00
gtk3lclintf.inc gtk3: fixed inverted r & b colors on masked images. issue #27224 2015-01-02 18:23:50 +00:00
gtk3lclintfh.inc
gtk3object.inc Gtk3: initialize TGValue. 2014-11-24 07:50:18 +00:00
gtk3objects.pas LCL: Fix compilation of CustomDrawn and GTK3 widgetsets with NoLazUTF8Wrappers defined. 2015-02-07 09:39:53 +00:00
gtk3private.pas LCL: use TFileStreamUtf8 for LoadFromFile/SaveToFile for Grids, TTextStrings, TWin32MemoStrings, TWinCEMemoStrings, TQtMemoStrings, TGtk2MemoStrings, TGtk3MemoStrings, 2014-11-07 14:52:30 +00:00
gtk3procs.pas Set TColortoTGdkRGBA alpha to 1 by default 2014-01-07 04:33:09 +00:00
gtk3widgets.pas gtk3: started imagelist implementation in TListView. 2015-01-18 18:17:05 +00:00
gtk3winapi.inc gtk3: implemented TGtk3WidgetSet.FrameRect() 2014-10-23 16:37:27 +00:00
gtk3winapih.inc
gtk3wsbuttons.pp
gtk3wscalendar.pp
gtk3wschecklst.pp gtk3: implemented TCheckListBox handle - TGtk3CheckListBox 2013-09-27 08:47:13 +00:00
gtk3wscomctrls.pp gtk3: started imagelist implementation in TListView. 2015-01-18 18:17:05 +00:00
gtk3wscontrols.pp gtk3: implemented TGtk3WidgetSet.DrawFocus() 2013-06-23 13:52:59 +00:00
gtk3wsdialogs.pp gtk3: added gtk3wsextdlgs. Fixed crash with TOpenPictureDialog. issue #27216 2014-12-30 20:15:23 +00:00
gtk3wsextctrls.pp
gtk3wsextdlgs.pp gtk3: added gtk3wsextdlgs. Fixed crash with TOpenPictureDialog. issue #27216 2014-12-30 20:15:23 +00:00
gtk3wsfactory.pas gtk3: added gtk3wsextdlgs. Fixed crash with TOpenPictureDialog. issue #27216 2014-12-30 20:15:23 +00:00
gtk3wsforms.pp LCL: TScrollBox, remove unnecessary Invalidate on Windows. Issue #0026087 Move Invalidate in WS code for all other WS 2014-04-28 20:17:56 +00:00
gtk3wsimglist.pp
gtk3wsmenus.pp gtk3: implemented TPopupMenu.OnClose. 2015-01-04 19:48:38 +00:00
gtk3wsspin.pp
gtk3wsstdctrls.pp LCL: fixed GetDefaultColor for TStaticText, TNoteBook, TTabSheet, TGroupBox, bug #26535 2014-08-06 16:54:36 +00:00
interfaces.pp
Makefile
Makefile.compiled LCL: updated Makefiles 2013-09-15 15:12:42 +00:00
Makefile.fpc
README.txt

TODO:
* Cursors
* Themes (gtk3themes)
* Paint system (brush is critical)
* Paint system coordinates and transformations.
* Paint system text
* RawImage (bitmap, device)
* Other missing ws controls (trayicon, dragimagelist, splitter etc).
* Clipboard
* Caret
* Dialogs
* Designer
* Fix modal windows behaviour under kwin (metacity and xfwm works ok for now).
* For beta status move all signal handlers into separate unit, so gtk3widgets stay
  clean.
* Keep interface as simple as possible ! *
* If there's any problem which is fixed unlogical code,
  check if it's gtk3 bug first.



*KNOWN PROBLEMS:
1. GtkTextView inside GtkScrolledWindow with disabled scrollbars (GTK_POLICY_NONE)
   grows memo control. Seem that it's fixed in 3.8.2
   https://bugzilla.gnome.org/show_bug.cgi?id=688472
   https://bugzilla.gnome.org/show_bug.cgi?id=658928
   POSSIBLE SOLUTION IS TO OVERRIDE PGtkTextViewClass() for get_preferred_size

2. cairo clip rect in paint event have strange bounds when it paints only part
   of control (added temporary workaround after TGtk3Widget.GtkEventPaint call).

3. Window state isn't accurate (GtkWindow active/inactive property isn't updated
   correctly by gtk.

4. GtkNotebook switch-page cannot control is we forbid page switch when user clicks
   on it (tab).

Some links about gtk3:
http://igurublog.wordpress.com/tag/gtk3/


*NAMING OF UNITS* inside of gtk3bindings subdirectory:
All units are prefixed with laz eg. lazgtk3.pas to avoid
clashes with future versions of fpc which will probably have package named gtk3
and gtk3.pas unit inside.