Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [VST] Äste verstecken / anzeigen? (https://www.delphipraxis.net/107053-%5Bvst%5D-aeste-verstecken-anzeigen.html)

Nuclear-Ping 21. Jan 2008 14:38


[VST] Äste verstecken / anzeigen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ahoi,

fällt jmd. vlt ne elegante Möglichkeit ein, aus einer Baumstruktur eines VirtualStringTrees zur Laufzeit gewisse Äste auszublenden, aber OHNE deren Zweige? Klingt vlt. komisch, ist aber so gemeint. :mrgreen:

Also quasi:
Code:
Vorher
======

- !Eintrag 1
     Eintrag 1.1
   - Eintrag 1.2
        Eintrag 1.2.1
        Eintrag 1.2.2
     Eintrag 1.3
   - !Eintrag 1.4
      - Eintrag 1.4.1
           Eintrag 1.4.1.1
           Eintrag 1.4.1.2
  !Eintrag 2
- !Eintrag 3
   - Eintrag 3.1
        Eintrag 3.1.1
        Eintrag 3.1.2
   - !Eintrag 3.2
        Eintrag 3.2.1
     Eintrag 3.3

Nachher
=======

  Eintrag 1.1
- Eintrag 1.2
     Eintrag 1.2.1
     Eintrag 1.2.2
  Eintrag 1.3
- Eintrag 1.4.1
     Eintrag 1.4.1.1
     Eintrag 1.4.1.2
- Eintrag 3.1
     Eintrag 3.1.1
     Eintrag 3.1.2
     Eintrag 3.2.1
     Eintrag 3.3
Alle Knoten mit einem ! wurden im "Nachher" ausgeblendet und deren Kinder um eine Ebene nach oben gesetzt.

Das Ganze ist für eine Übersicht über eine Datenbank. Knoten mit ! stellen Ordner dar, die wiederum Unterordner oder Datenbanken enthalten können. Im Vorher können auf der ersten Ebene nur Ordner (keine Datenbanken) existieren (siehe Anhang). Die Knoten haben in ihrer Datenstruktur ein Flag, was sie entsprechend kennzeichnet.

Ziel davon ist es, nur Datenbanken (+ deren Unterdatenbanken) in dem Baum anzuzeigen, keine Ordner.

Folgende Idee hatte ich:
Einen zweiten Baum dynamisch erstellen, alten Inhalt rüberschieben, original leeren und wieder anhand der Flags rüberkopieren / aufbauen.

Das Problem:
Das Ganze muss auf Knopfdruck wieder umzuschalten sein. Der Baum wird per SaveToFile / LoadFromFile gespeichert / geladen. In der neuen Anzeigen dürfen somit keine Informationen verloren gehen.

Würdet ihr das auch so machen? Oder fällt euch dazu was besseres ein? Das riecht mir irgendwie schon so danach, als dass ich künftig zwei Bäume mitschleppen und verwalten darf ... :wall:

Danke für alle Tipps im Vorraus schonmal!

[edit]
Anhang vergessen.
[/edit]

arbu man 21. Jan 2008 15:17

Re: [VST] Äste verstecken / anzeigen?
 
Das gabs beim letzen Stammtisch:

Delphi-Quellcode:
VST.IsVisible[Node] := false;
Der Code dürfte selbst erklärend sein, mfg, Björn

API 21. Jan 2008 15:23

Re: [VST] Äste verstecken / anzeigen?
 
Zitat:

Zitat von arbu man
Das gabs beim letzen Stammtisch:

Delphi-Quellcode:
VST.IsVisible[Node] := false;
Der Code dürfte selbst erklärend sein, mfg, Björn

Hallo arbu man, hast du gelesen, was Nuclear-Ping genau möchte?

DeddyH 21. Jan 2008 15:34

Re: [VST] Äste verstecken / anzeigen?
 
Zitat:

Zitat von arbu man
Das gabs beim letzen Stammtisch:

Delphi-Quellcode:
VST.IsVisible[Node] := false;
Der Code dürfte selbst erklärend sein, mfg, Björn

So wird aber AFAIR der gesamte Zweig ausgeblendet, nicht nur der gewünschte Knoten, oder? :gruebel:

chaosben 21. Jan 2008 15:44

Re: [VST] Äste verstecken / anzeigen?
 
Das geht nicht einfach per Option. Dazu muss man die Ordner verstecken und den Kinder neue sichtbare! Eltern geben.

Alles andere widerspricht ja jeder Baum-Theorie (Kinder ohne Eltern ... wo gibts das denn) :)

arbu man 21. Jan 2008 16:06

Re: [VST] Äste verstecken / anzeigen?
 
Zitat:

Zitat von API
Zitat:

Zitat von arbu man
Das gabs beim letzen Stammtisch:

Delphi-Quellcode:
VST.IsVisible[Node] := false;
Der Code dürfte selbst erklärend sein, mfg, Björn

Hallo arbu man, hast du gelesen, was Nuclear-Ping genau möchte?

Ich dachte die Eigenschft hätte das Verhalten...

himitsu 21. Jan 2008 16:11

Re: [VST] Äste verstecken / anzeigen?
 
nee, die Blendet den Knoten aus ... samt dem was unter ihm ist ... wo sollten denn sonst die Kinder hin, wenn nicht unter ihre Mami.

Zitat:

Alle Knoten mit einem ! wurden im "Nachher" ausgeblendet und deren Kinder um eine Ebene nach oben gesetzt.
also den Kindern als Parent die Mami des auszublendenten Elements verpassen und dieses dann entfernen

und das geht halt ohne Änderung der Baumstruktur nicht ... einfach nur Ausblenden ist somit unmöglich

Nuclear-Ping 21. Jan 2008 16:26

Re: [VST] Äste verstecken / anzeigen?
 
Hm ... Hm ... :gruebel: ... :wall: ... Hm ... :mrgreen:

Ich will halt vermeiden, zwei Bäume mit mir rumzuschleppen. Da muß ich wieder am ganzen Konzept rumbohren ...

[edit]
Vorallem soll der ganze Spaß noch zu bearbeiten sein. Zur Laufzeit kann man da Datenbanken per Drag & Drop in andere Ordner schieben, umbenennen, Eigenschaften ändern, ... Das muß der "originale" Baum ja auch dann drinhaben. Boahr ... :wall: ... Ich glaub ich rede morgen nochmal mit dem der die Idee hatte. ^^
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz