Seite 1 von 1

TreeGadget: Weitere Items zu einem Knoten hinzufügen

Verfasst: 23.10.2009 22:23
von PurePi
Tach zusammen,

wie kann ich weitere Items zu einem Konten in einem TreeGadget hinzufügen ?
In der u.a. For Schleife (s. BeispielCode) ist das ja kein Problem.
Wie kann kann ich später (nach der For Schleife) einen Knoten identifizieren und diesem weitere Items hinzufügen ?
Wahrscheinlich ist das ganz simple (wenn man weiß wie) :(
Thanks for help

Code: Alles auswählen

If OpenWindow(0, 0, 0, 355, 180, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    TreeGadget(1, 180, 10, 160, 160, #PB_Tree_CheckBoxes|#PB_Tree_NoLines)  ; TreeGadget mit Checkboxen + ohne Linien
    id=1
     For a = 0 To 10
        AddGadgetItem (ID, -1, "Normal Item "+Str(a), 0, 0) 
        AddGadgetItem (ID, -1, "Node "+Str(a), 0, 0)        
        AddGadgetItem(ID, -1, "Sub-Item 1", 0, 1)     
        AddGadgetItem(ID, -1, "Sub-Item 2", 0, 1)
        AddGadgetItem(ID, -1, "Sub-Item 3", 0, 1)
        AddGadgetItem(ID, -1, "Sub-Item 4", 0, 1)
        AddGadgetItem (ID, -1, "File "+Str(a), 0, 0)  
      Next
    ; hier möchte ich weitere SubItems zu z.B. Node 1 und Node 7 hinzufügen
    ; HowTo ??
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf

Re: TreeGadget: Weitere Items zu einem Knoten hinzufügen

Verfasst: 23.10.2009 22:34
von STARGÅTE
Alle Items (egal welche Tiefe) habe eine Nummer, der erste 0 der zweite 1 usw.
um also etwas irgendwo einzufügen, musst du die Nummer direkt angeben wo es sein soll, statt -1

beispiel1:
Unter Note 1 neue einfügen:

Code: Alles auswählen

      For a = 0 To 5
        AddGadgetItem (ID, 13+a, "New Sub-Item "+Str(a), 0, 1) 
      Next
Dieses 13+a berut darauf das der eintrag nach dem letzten SubItem von Note 1 (File 1) die nummer 13 hat, und ich diesen nun nahc hinten schiebe.

Du kannst auch n Suche einbauen:

Code: Alles auswählen

      Items = CountGadgetItems(ID)-1
      For n = 0 To Items
       If GetGadgetItemText(ID, n) = "Node 7"
        Repeat
         n+1
        Until GetGadgetItemAttribute(ID, n, #PB_Tree_SubLevel) <> 1
        Position = n 
        break
       EndIf
      Next
      For a = 0 To 5
        AddGadgetItem (ID, Position+a, "New Sub-Item "+Str(a), 0, 1) 
      Next
jetzt sucht er nach Note 7, und geht dann alle SubItems durch (mit level 1) bis es keins mehr gibt und dann fügt er da die neuen ein.

Re: TreeGadget: Weitere Items zu einem Knoten hinzufügen

Verfasst: 23.10.2009 22:53
von PurePi
Besten Dank .
Die Lösung war wirklich sehr einfach, hab den Wald vor lauter Bäumen nicht gesehen :oops:
Wünsche ein schönes WE :D