Das Package "Multis"

Zur Vorstellung von Komponenten und Units für Lazarus
wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
ich hatte das bei Hover so nicht vorgesehen. Jetzt wo du mich darauf ansprichst muss ich aber sagen das ist intuitiver. Ich habe es jetzt so eingebaut das es auf einen Klick reagiert.

Vielen Dank für deine Rückmeldung!

Viele Grüße
Bernd

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

grade getestet, läuft.
Einen schönen Sonntag noch.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo,
ich habe dem Package eine kleine Hilfe-Datei (englisch und deutsch) im pdf Format beigefügt.
Bei der Installation des Packages kann man nun wählen ob ein neuer Menüeintrag im Hilfe-Menü der Lazarus IDE hinzugefügt wird um damit die Hilfe zu öffnen.
Sollte irgend jemand Probleme bei der Installation feststellen würde ich mich freuen wenn er hier Bescheid gibt.

Viele Grüße
Bernd
helpdatei.png
helpdatei.png (182.63 KiB) 1148 mal betrachtet

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo,
ich habe jetzt noch eine MultiRadioGroup ins Package aufgenommen.
MultiRadioGroup.png
MultiRadioGroup.png (119.13 KiB) 1014 mal betrachtet
Viele Grüße
Bernd

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

Hallo Bernd,
ich habe grade mal dein Testprogramm für die Radiogruppen ausprobiert und da ist mir etwas aufgefallen:

Testprogram: MultiRadioGroup Test1

Wenn ich mit der Maus in ein Gruppenfenster klicke, dann bekommt es den Focus, das sieht man an dem Rahmen,
das Gruppenfenster welches jedoch voher den Focus hatte, behält auch noch den Focus Rahmen.
Das nicht mehr focussierte Fenster verliert erst den optischen Focus, wenn ich mit der Maus drüber fahre.
So kann ich quasi alle Fenster optisch fokussieren.....

Wenn ich mit der Tab Taste die Gruppenfenster wechsle, sieht man das auch nicht,
auch hier bleibt der optische Focus des letzten Fensters erhalten.

Ich hab aber auch immer was zu meckern..... :lol: :wink:

Windows 10
Lazarus v2.20
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
vielen Dank fürs meckern :D

Invalidate und ich werden wohl keine Freunde mehr. Jedenfalls habe ich jetzt im onexit noch eins reingeschrieben und in github hochgeladen. Bei mir hat es jetzt auch unter win10 funktioniert.
Falls dir noch was auffällt würde ich mich freuen wenn du es hier schreibst.

Viele Grüße
Bernd

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

Mit der Maussteuerung geht es jetzt richtig.
TAB Taste auch okay, springt ins nächste Gruppenfenster, aber
mit dem Cursor rechts/links wird das nächste Gruppenfenster aktiv, soweit okay,
aber er verliert den ausgewählten Radiobutton des vorigen Fensters, komplett,
gehe ich mit dem Cursor rechts/links zurück ist immer der erste Radiobutton aktiv.

Zur Bedienung selbst:
üblich ist eigentlich, dass man mit der Space Taste den Radiobutton aktivieren kann,
Die Cursortasten auf und ab sind zwar für die Auswahl, aber der Radiobutton sollte evtl. erst mit Betätigen
der Space Taste erfolgen.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
also ich habe es eben nochmal mit einer TRadioGroup probiert. Wenn ich da mit den Pfeiltasten rauf und runter gehe bzw. auch wenn ich rechts/links drücke wird sowohl das OnSelectionChanged als auch das OnClick ausgelöst. Bei meiner MultiRadioGroup reagieren nur die Pfeil rauf/runter mit dem OnChange. OnClick kommt nur wenn ich reinklicke. Das sollte ich noch so ändern das beim Betätigen der Leertaste das OnClick kommt.

Du meinst mit den rechts/links Tasten wenn zwei RadioGroups verbunden sind? Ja da hast du Recht, aber ich weiß nicht wirklich wie es optimal wäre. Wenn ich von einer Group mit der Pfeiltaste in eine Andere wechsele nimmt er momentan den obersten Radiobutton. Du würdest also wechseln ohne das ein Radiobutton gedrückt wird? Er wäre dann aber optisch selektiert? Man könnte aber auch das Hover anzeigen lassen wenn man mit den Tasten steuert. Ansonsten würde man ja nicht sehen wo man sich gerade befindet. Ich dachte auch darüber nach immer in den RadioButton der gleichen Ebene zu wechseln, aber wohin wechsle ich dann wenn nicht in allen Groups gleichviele Radiobuttons sind? So ganz ist mir ehrlich gesagt noch nicht klar was das Beste wäre. Ich werde auf jeden Fall noch etwas herumprobieren.

Vielen Dank für dein Interesse!
Bernd

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo nochmal,
ich glaube ich weiß jetzt was du meinst. Wenn zwei oder mehr Groups miteinander verbunden sind kann man mit den Pfeiltasten nicht navigieren ohne bei jeder Bewegung ein Ereigiss auszulösen. Ja das ist echt blöd. Da muss ich mal drüber nachdenken :D .

Viele Grüße
Bernd

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

Guten Morgen Bernd,
ich versuche es nochmal zu beschreiben:

ich klicke mit der Maus auf in der Gruppe MultiRadioGroup auf "Radiobutton 3",
ich klicke mit der Maus auf in der Gruppe Colors auf "Green"

Wenn ich jetzt mit der Curor links Taste zurück in das Fenster MultiRadioGroup gehe,
verliert das Colorfenster den Radiobutton optisch, es ist keine Farbe mehr ausgewählt.
zudem wird im Fenster MultiRadioGroup der Radiobutton 1 ausgewählt, obwohl ja vorher Radiobutton 3 aktiv war.

"Lösungsansatz"
Benutze ich die Tastenkombi SHIFT + TAB um eine Gruppenfenster zu wechseln, dann geht es richtig.
Die zuletzt selektierten Buttons bleiben erhalten.

Eigentlich benötigst Du die rechts links Tasten garnicht.

Ich hab das grad mal mit der Original GroupBox und Radiotasten ausprobiert:
Die original GroupBox'es können nur mit der Tab Taste gewechselt werden, sofern TabStop auf TRUE steht.
Hab ich zumindest grad so ermittelt.

Zudem ist die Funktionsweise der Tasten Up und Left sowie
Down und Right identisch.
Wobei hier die Eigenschaft TabOrder entscheidend ist welcher RadioButton als nächstes gewählt wird,
unabhängig davon ober er rechts links oben oder drunter liegt.

Somit brauchts Du eigentlich nur deine Aktivitäten für Up und Left
sowie Down und Right identisch auswerten, dann bist Du schon fertig....


Siro
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Siro,
danke für deine Erklärung (und deine Geduld). Jetzt habe ich es begriffen 🙉️.
Mit rechts/links sollte es eigentlich blos gehen wenn Gruppen verbunden sind. Da habe ich die Abfrage auf GroupIndex <> 0 vergessen und habe es nicht gemerkt.
Ich versuche es nun besser zu machen, du hast mir ja schon eine Richtung gezeigt.

Viele Grüße
Bernd
Zuletzt geändert von wennerer am So 7. Mai 2023, 14:50, insgesamt 1-mal geändert.

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo,
nach 2 Tagen nachdenken bin ich zu dem Schluß gekommen das die Tastaturnavigation in verbundenen MultiRadioGroups nicht gleich wie in einer "normalen MultiRadioGroup" sein kann.
In einer einzelnen MultiRadioGroup sollte die Tastaturnavigation jetzt im Prinzip gleich sein wie in einer TRadioGroup. Ich habe nur weggelassen das die Pfeiltasten Rechts bzw. Links wie Auf und Ab reagieren.
In verbundenen MultiRadioGroups kann man nun (hoffentlich) mit den Pfeiltasten navigieren und mit der Leertaste den gewünschten Radiobutton selektieren. Die aktuelle Version ist in GitHub hochgeladen.
Sollte Jemand noch Fehler finden oder Anregungen haben würde ich mich freuen wenn er hier antwortet.

@Siro: Nochmal herzlichen Dank für deinen Test und deine Tipps!

Test 2:
MultiRadiogroup1.png
MultiRadiogroup1.png (60.49 KiB) 883 mal betrachtet
Viele Grüße
Bernd

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: Das Package "Multis"

Beitrag von Epcop »

Kann man mit deinen Checkboxen, Radiobutton auch mehrzeilig beschriften?

wennerer
Beiträge: 505
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Das Package "Multis"

Beitrag von wennerer »

Hallo Epcop,
die MultiRadioGroup unterstützt einen Zeilenumbruch. Man muss aber die Eigenschaft Rows auf die gewünschte Zeilenanzahl stellen und bei den einzelnen Radiobuttons die Eigenschaft Wordbreak auf true stellen. Funktioniert nur wenn kein Autosize verwendet wird.
Ich hatte es eben noch mal getestet und hatte noch einen kleinen Fehler festgestellt. Falls du es probieren möchtest musst du dir von GitHub die neueste Variante (die ich gerade hochgeladen habe) holen.
Über eine Rückmeldung ob bei dir alles funktioniert würde ich mich sehr freuen.


Hier steht Rows auf 2 und bei RadioButton 0 und 2 ist Wordbreak auf true:
Wordbreak.png
Wordbreak.png (18.6 KiB) 846 mal betrachtet
Viele Grüße
Bernd
Zuletzt geändert von wennerer am So 12. Feb 2023, 21:45, insgesamt 1-mal geändert.

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Das Package "Multis"

Beitrag von siro »

Guten Abend Bernd,

hab vorhin schon probiert
Test2 Software funktioniert so wie ich es erwarten würde. Mit den Cursor Tasten und dem Space zum Selektieren.

Eben hab ich mal die Mehrzeiler probiert.
Würde sagen, ja das geht.
Radio_Test_Siro.jpg
Radio_Test_Siro.jpg (14.25 KiB) 843 mal betrachtet
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Antworten