enhancement
Die aktuelle Baum-Selektionslogik ist nicht optimal, weil sie sich nur auf einzelne Zeilen bezieht. Eine Zeile ist entweder selektiert, oder nicht - es ist nicht erkennbar, ob sich unter einer zugeklappten Zeile noch weitere selektierte Zeilen befinden.
Die Logik soll dahingehend erweitert werden, dass in einer Baumtabelle mit Mehrfachselektion am Selektionsmarker die folgenden Zustände erkennbar sind:
- Weder der Knoten noch irgendeines der Kinder (rekursiv) ist selektiert.
- Nur der Knoten, aber keines der Kinder (rekursiv) ist selektiert.
- Der Knoten ist nicht selektiert, aber einige der Kinder (rekursiv) sind selektiert.
- Der Knoten ist selelktiert und einige aber nicht alle der Kinder (rekursiv) sind selektiert.
- Der komplette Teilbaum ist selektiert (der Knoten und alle seine Kinder (rekursiv).
Ein Klick auf den Selektionsmarker für zu folgenden Statusübergängen:
- Hintergrund repräsentiert die Kinder und Kindeskinder weiß, grau, schwarz - keine, mache, alle
- Pömpel in der Mitte repräsentiert den Knoten selbst - gefüllt, oder leer - selektiert oder nicht selektiert
Überlegung:
- Bei Selektion wird zuerst der Knoten selbst selektiert und dann (bei einem erneuten Klick) der ganze Teilbaum (wenn dieser vorher noch keinen selektierten Knoten enthielt) - vorsichtige Selektion.
- Ein komplett selektierter Teilbaum kann mit komplett mit einem Klick deselektiert werden.
- Wenn in dem Teilbaum schon andere Selektionen existieren, werden diese nicht überschrieben - ein Klick wechselt nur zwischen der Selektion des geklickten Knotens.
- Es könnte die zusätzlichen Kontext-Menü-Kommandos geben
- Alles selektieren (unabhängig von dem Zustand im Unterbaum)
- Alles deselektieren (unabhängig von dem Zustand im Unterbaum)
- 1, 2, 3,... Ebenen selektieren.
Umsetzung
Anzeige mit "Standard-Icons":