Toolbar in einer Anwendung

Rhyt
Beiträge: 70
Registriert: Mo 28. Nov 2022, 20:22

Re: Toolbar in einer Anwendung

Beitrag von Rhyt »

korrektur, es soll hell werden :) mein Fehler, allerdings bleibt das Feld dann hängen. ich mache nachher ein paar Screenshots. Kann gut sein das bei dir das Verhalten anderes ist. Und stürzt bei dir ein Programm auch ab wenn du rechtsklickst und Symbolleiste Anpassen klickst?

CCRDudeLaz
Beiträge: 28
Registriert: Do 25. Jan 2024, 08:33
OS, Lazarus, FPC: Win/macOS/Linux (L trunk FPC trunk)
CPU-Target: 32+64

Re: Toolbar in einer Anwendung

Beitrag von CCRDudeLaz »

Den Absturz beim Rechtsklick habe ich auch, ging aber schon einmal, sieht aus als würde das die Funktion für die Immovables sein. Habe da nen temporären Fix nach GitLab gepusht.

Ich hab mich gestern auch noch an ItemGroups probiert, aber die laufen definitiv noch nicht.

Ein Fehler mit der Ansicht könnte sein, dass ich eines der Properties falsch initialisiert hatte (Selectable immer true).

Deine bessere Interpretation des Form.Handle ist jetzt auch gepusht.

Rhyt
Beiträge: 70
Registriert: Mo 28. Nov 2022, 20:22

Re: Toolbar in einer Anwendung

Beitrag von Rhyt »

kruschtel grad meine alten cocoa Bücher durch. aber ob ich da was hilfreiches finde

CCRDudeLaz
Beiträge: 28
Registriert: Do 25. Jan 2024, 08:33
OS, Lazarus, FPC: Win/macOS/Linux (L trunk FPC trunk)
CPU-Target: 32+64

Re: Toolbar in einer Anwendung

Beitrag von CCRDudeLaz »

Bei mir - macOS Ventura 13.6.4, Lazarus trunk vom 24.1. - sind die Icons genau in der gleichen Größe wie im Finder. Halt kleiner wenn ich den Text drunter zuschalte.
Auch bei mir wird der Button-Hintergrund während des Klicks ein wenig heller - aber das ist im Finder ebenso.
Sowohl normal als auch im Dark Mode.

Was mich interessieren würde: kann ich das -WM11.0 irgenwie per IFDEF abfragen? Dann könnte der Code automatisch zwischen init und initwithIdentifier wechseln.

Das mit den Immovables ist auch dauerhaft gefixt - der verflixte Array-Count.

Rhyt
Beiträge: 70
Registriert: Mo 28. Nov 2022, 20:22

Re: Toolbar in einer Anwendung

Beitrag von Rhyt »

glaube das mit dem ifdef geht nur mit custom defines, theoretisch kann man
-WM11.0
-dWM11

und dann per IFDEF WM11 abfragen.

CCRDudeLaz
Beiträge: 28
Registriert: Do 25. Jan 2024, 08:33
OS, Lazarus, FPC: Win/macOS/Linux (L trunk FPC trunk)
CPU-Target: 32+64

Re: Toolbar in einer Anwendung

Beitrag von CCRDudeLaz »

Das habe ich gerade temporär drin, aber das muss doch besser gehen ;)
Ich denke da gerade an Windows und GetWindowsVer, dass ja auch nicht zwingend die echte Windows-Version zurückliefert.
Vielleicht gibt es ja einen API-Call, der bei -WM11.0 auch 11.0 zurückliefert?
Evtl .auch das hier:
https://wiki.freepascal.org/FPC_New_Features_2.6.2
Apart from passing the deployment target version number to the linker and linking in the appropriate startup code, the compiler will also define a symbol called MAC_OS_X_VERSION_MIN_REQUIRED resp. IPHONE_OS_VERSION_MIN_REQUIRED containing a value equivalent to the one defined by Apple's Availability.h/AvailabilityMacros.h, i.e. 1043 for Mac OS X 10.4.3, and 40102 for iPhoneOS 4.1.2. Note that this is not a constant that can be used in Pascal expressions, it's only for use by preprocessor statements.
Ich würde also mal tippen auf:

Code: Alles auswählen

   {$IF MAC_OS_X_VERSION_MIN_REQUIRED >= 1100}
   FMacToolbar.initWithIdentifier(NSSTR(FToolbarIdentifier));
   {$ELSE}
   FMacToolbar.init;
   {$ENDIF}

CCRDudeLaz
Beiträge: 28
Registriert: Do 25. Jan 2024, 08:33
OS, Lazarus, FPC: Win/macOS/Linux (L trunk FPC trunk)
CPU-Target: 32+64

Re: Toolbar in einer Anwendung

Beitrag von CCRDudeLaz »

In Sachen ItemGroup geht es auch weiter - mit einem NSSegmentedControl sind die Buttons innerhalb der Group jetzt anklickbar und lösen verknüpfte Actions aus.

Rhyt
Beiträge: 70
Registriert: Mo 28. Nov 2022, 20:22

Re: Toolbar in einer Anwendung

Beitrag von Rhyt »

ich bin immer noch begeistert von dem ganzen :)
wird immer besser!
hab leider nur gerade sehr wenig zeit um das ausführlich zu testen. Wird nächste Woche wieder besser!

CCRDudeLaz
Beiträge: 28
Registriert: Do 25. Jan 2024, 08:33
OS, Lazarus, FPC: Win/macOS/Linux (L trunk FPC trunk)
CPU-Target: 32+64

Re: Toolbar in einer Anwendung

Beitrag von CCRDudeLaz »

Danke für das Lob :)

Für mich sind das ganz praktische Übungen gerade, würde gerne mehr mit macOS machen.

Neuigkeiten, die hier noch nicht erwähnt waren:
  • Ein einfacher Importer - eine Komponente, die die erste LCL Toolbar (oder eine wählbare) automatisch in eine macOS-Toolbar umwandelt.
    Ein Suchfeld in der Toolbar, braucht am besten noch einen Delegate und Zugriff auf den Suchbegriff... eine kleine Herausforderung, weil Lazarus NSSearchToolbarItem noch nicht mitbringt.
Was ich gerne noch schaffen würde (neben dem Fertigstellen von angefangenen Dingen wie der Komponente):
  • Dropdown-Menü (NSMenuToolbarItem)
    Share-Menü (NSSharingServicePickerToolbarItem)
    centeredItems
    NSTitlebarAccessoryViewController

Rhyt
Beiträge: 70
Registriert: Mo 28. Nov 2022, 20:22

Re: Toolbar in einer Anwendung

Beitrag von Rhyt »

hört sich gut an!

beschäftige mich grad mit dem EKEVentkit, hab da leider komische Schwierigkeiten, das bestimmte Filterungen nur mit aktiviertem Debugger terminal Fenster funktionieren *grübel*

CCRDudeLaz
Beiträge: 28
Registriert: Do 25. Jan 2024, 08:33
OS, Lazarus, FPC: Win/macOS/Linux (L trunk FPC trunk)
CPU-Target: 32+64

Re: Toolbar in einer Anwendung

Beitrag von CCRDudeLaz »

Dropdown und Share gehen jetzt, centeredItems klappt nicht, weil ich die LCL nicht mit -WM13.0 kompiliert bekomme, und der accessory view wird besser eine eigene Komponente. Insofern nähert sich die Arbeit an der Toolbar dem Ende, lediglich die Funktion als reguläre TComponent steht noch auf dem Plan, allerdings sind die nicht so mein Ding.

Nebenbei habe ich die Tipps aus dem Wiki zum Menü am Dock-Icon noch in eigener Unit umgesetzt.

Rhyt
Beiträge: 70
Registriert: Mo 28. Nov 2022, 20:22

Re: Toolbar in einer Anwendung

Beitrag von Rhyt »

morgen gleich mal anschauen :)

Antworten