Bitte hier nur konkrete, Code-bezogene Themen besprechen.
Philosophisches, Organisatorisches und Blabla kann man weiterhin hier anbringen.
@af0815: Ich bin kein Fan von Start-Bürokratie und Stuhlkreisen, welche nur allzu oft in sofortigen Projektleichen enden.
Zuerst sollte man ein Gefühl dafür bekommen, was überhaupt los ist und ob man Bock hat.
Ich mache mal ein konkretes Beispiel wie so ein Ablauf aussehen könnte.
- Mach mal ein neues Projekt und lege ein Synedit drauf. Dann wähle als LCLWidgetType "gtk3" und starte.
- Sieht Kacke aus, oder? Wo ist das Caret? (Text Cursor).
- Öffne mal lazarus/lcl/interfaces/gtk3/gtk3defines.inc und schalte GTK3DEBUGNOTIMPLEMENTED ein.
- Dann kompiliere wieder und schau, was auf der Konsole oder im Output Fenster steht. Ich sehe da u.A.
Also auf Deutsch: Es gibt kein Caret!WARNING: TGtk3WidgetSet.CreateCaret not implemented ...
WARNING: TGtk3WidgetSet.SetCaretRespondToFocus not implemented ...
WARNING: TGtk3WidgetSet.SetCaretPosEx not implemented ...
WARNING: TGtk3WidgetSet.ShowCaret not implemented ...
WARNING: TGtk3WidgetSet.ExcludeClipRect not implemented ...
WARNING: TGtk3WidgetSet.HideCaret not implemented ...
WARNING: TGtk3WidgetSet.DestroyCaret not implemented ...
WARNING: TGtk3WidgetSet.SetROP2 not implemented ...
Jetzt macht man sich bei GTK3 schlau und sucht und sucht.
Ich habe nichts gefunden wie ein Caret API.
Dann schaut man bei LCL-GTK2 nach. Da ist alles höchstlich verwinkelt und complicirt, aber am Ende - wenn ich das richtig gesehen habe - malt das den Strich einfach selber.
OK, muss man wohl selber malen.
Wie machen wir das? Das könnte man jetzt besprechen und dann umsetzen.
Wenn wir das schaffen, dann haben wir zwar noch kein durchorganisiertes Projekt, aber wenigstens einen Cursor für Synedit.
Wenn wir das nicht schaffen, nützt alle Vorfeld-Bürokratie nichts.
Sieht du das nicht auch so?
S.A.
https://docs.gtk.org/gtk3/migrating-2to3.html
https://docs.gtk.org/gtk4/migrating-3to4.html