lazarus/lcl/interfaces/gtk3
Abou Al Montacir 8f1c337b19 GTK3: Code cleaning.
Removed legacy comments.
2024-02-12 22:47:02 +01:00
..
gtk3bindings GTK3: Fixed function return type and got rid of deprecated function call. 2023-11-16 00:33:35 +01:00
alllclintfunits.pas lcl: update_allunits: omit warning used not used 2023-07-20 14:53:55 +02:00
gtk3boxes.pas Lazarus trunk requires at least FPC 3.2.0. Remove checks for earlier FPC_FULLVERSION. 2023-07-07 17:39:03 +03:00
gtk3cellrenderer.pas GTK3: Updated GObject2 unit generated with new gir2pas version. 2023-06-17 15:40:08 +00:00
gtk3defines.inc
gtk3int.pas lcl: gtk3: fixed getting style constraints 2023-07-31 13:30:36 +02:00
gtk3lclintf.inc GTK3: Fixed computation of default widget height bounds. 2023-11-28 22:52:25 +01:00
gtk3lclintfh.inc lcl: gtk3: fixed getting style constraints 2023-07-31 13:30:36 +02:00
gtk3object.inc LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3objects.pas GTK3: Code cleaning. 2024-02-12 22:47:02 +01:00
gtk3private.pas
gtk3procs.pas GTK3: Fixed cursor update when dragging. 2023-12-03 18:45:41 +01:00
gtk3widgets.pas GTK3: Fixed handling of scroll event. 2024-02-11 10:27:48 +01:00
gtk3winapi.inc IDE, LCL: Lazarus help output refactoring by n7800, issue #40690: 2024-01-20 05:04:42 +03:00
gtk3winapih.inc IDE, LCL: Lazarus help output refactoring by n7800, issue #40690: 2024-01-20 05:04:42 +03:00
gtk3wsbuttons.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wscalendar.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wschecklst.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wscomctrls.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wscontrols.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wsdialogs.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wsextctrls.pp LCL/TShape: Inherit TShape from new TCustomShape class. 2023-09-12 12:03:54 +02:00
gtk3wsextdlgs.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wsfactory.pas LCL/TShape: Inherit TShape from new TCustomShape class. 2023-09-12 12:03:54 +02:00
gtk3wsforms.pp lcl: gtk3: fixed gtk warnings with docked forms 2023-07-31 13:30:36 +02:00
gtk3wsimglist.pp
gtk3wsmenus.pp LCL-GTK3: Support TFrame as a MenuItem's owner. Issue #40446, patch by haword. 2023-08-24 11:00:19 +03:00
gtk3wsspin.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wssplitter.pas LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wsstdctrls.pp LCL: Use TLCLHandle instead of a redefined LCLType.THandle or TLCLIntfHandle. Deprecate them. 2023-07-03 11:17:01 +03:00
gtk3wstrayicon.pas Systray on Unix needs to write user specific file to /tmp 2022-05-06 21:30:21 +10:00
interfaces.pp
issues.xml Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated). 2024-01-08 19:28:29 +01:00
Makefile updated makefiles 2023-08-14 20:31:20 +02:00
Makefile.compiled updated makefiles 2023-09-12 16:25:55 +02:00
Makefile.fpc updated makefiles 2023-08-14 20:31:20 +02:00
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.