Problem mit Tree Gadget
-
- Beiträge: 13
- Registriert: 11.03.2009 12:04
- Computerausstattung: Ubuntu Studio 12.04 x64, i386, Win7 Pro 64-Bit
- Kontaktdaten:
Problem mit Tree Gadget
Hallo!
Bastel gerade ein wenig mit PB 4.2 unter Linux.
Ich habe folgendes Problem:
Ich habe ein TreeGadget erstellt und will dieses mit Einträgen füllen, was auf dem 1. Blick auch funzt.
Wenn ich immer schön der Reihe nach Item für Item hinzufüge, klappt alles wunderbar. Wenn ich jedoch nach einem Item mit dem Sublevel > 0 ein weiteres auf gleichem Sublevel hinzufügen will, wird erscheint dieses am ende aller Einträge, dieses SubLevels.
Wenn ich später mittels ID den Text ändere, ändert sich aber der Text des Items an der Stelle, wo ich das Neue eigentlich platziert hatte. Und nicht der Text des neu hinzugekommenen.
(Klingt vermutlich verwirrend, aber ich weiß nicht recht wie ich das sinnvoll beschreiben soll)
Jedenfalls der Clou ist: Unter Windows funzt der selbe Code ohne irgendwelche Probleme zu machen!
Ich hoffe hier weiß jemand Rat - Ich bin am verzweifeln!
Bastel gerade ein wenig mit PB 4.2 unter Linux.
Ich habe folgendes Problem:
Ich habe ein TreeGadget erstellt und will dieses mit Einträgen füllen, was auf dem 1. Blick auch funzt.
Wenn ich immer schön der Reihe nach Item für Item hinzufüge, klappt alles wunderbar. Wenn ich jedoch nach einem Item mit dem Sublevel > 0 ein weiteres auf gleichem Sublevel hinzufügen will, wird erscheint dieses am ende aller Einträge, dieses SubLevels.
Wenn ich später mittels ID den Text ändere, ändert sich aber der Text des Items an der Stelle, wo ich das Neue eigentlich platziert hatte. Und nicht der Text des neu hinzugekommenen.
(Klingt vermutlich verwirrend, aber ich weiß nicht recht wie ich das sinnvoll beschreiben soll)
Jedenfalls der Clou ist: Unter Windows funzt der selbe Code ohne irgendwelche Probleme zu machen!
Ich hoffe hier weiß jemand Rat - Ich bin am verzweifeln!
-
- Beiträge: 55
- Registriert: 26.10.2004 19:42
-
- Beiträge: 13
- Registriert: 11.03.2009 12:04
- Computerausstattung: Ubuntu Studio 12.04 x64, i386, Win7 Pro 64-Bit
- Kontaktdaten:
Oh! Sorry, hatte ich ganz vergessen zu erwähnen! Ich nutze Ubuntu 8.04
Glaub fast auch nicht, dass es an Linux liegt, aber vielleicht hat ja jemand ne Idee!
Der eigentliche Code wäre zu umfangreich - hab das mal vereinfacht...
Also:
Also:
Man sieht die Debug - Ausgabe und das Fenster stimmen nicht wirklich überein... und die Items sind nicht wirklich da, wo ich dächte, dass sie stehen müssten.
Code-Tags gesetzt - Kaeru fecit
In Zukunft bitte selbst drauf achten!
Glaub fast auch nicht, dass es an Linux liegt, aber vielleicht hat ja jemand ne Idee!
Der eigentliche Code wäre zu umfangreich - hab das mal vereinfacht...

Also:
Code: Alles auswählen
OpenWindow(0, 0, 0, 200, 200, "Test Tree Gadget")
CreateGadgetList(WindowID(0))
TreeGadget(0, 0, 0, 200, 200)
AddGadgetItem(0, 0, "Item 1", 0, 0)
AddGadgetItem(0, 1, "Item 2", 0, 0)
AddGadgetItem(0, 2, "Item 5", 0, 0)
AddGadgetItem(0, 3, "Item 6", 0, 0)
AddGadgetItem(0, 2, "Sub1", 0, 1)
AddGadgetItem(0, 3, "Sub2", 0, 1)
AddGadgetItem(0, 2, "Sub3", 0, 1)
For item = 0 To CountGadgetItems(0) - 1
Debug GetGadgetItemText(0, item)
Next item
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Also:
Man sieht die Debug - Ausgabe und das Fenster stimmen nicht wirklich überein... und die Items sind nicht wirklich da, wo ich dächte, dass sie stehen müssten.

Code-Tags gesetzt - Kaeru fecit
In Zukunft bitte selbst drauf achten!
Hallo chrissi87
Ich habe es auch mit der Version PB 4.3 getestet und auch hier tritt das gleiche Problem auf
Meiner Meinung handelt es sich hier um einen Bug von PB.
Wenn dein Tree nicht zu groß ist kannst Du sie ja neu aufbauen
Hat bei mir geklappt
Ich habe es auch mit der Version PB 4.3 getestet und auch hier tritt das gleiche Problem auf
Meiner Meinung handelt es sich hier um einen Bug von PB.
Wenn dein Tree nicht zu groß ist kannst Du sie ja neu aufbauen
Code: Alles auswählen
Procedure RefreshTreeGadget(TreeGatget)
Protected Anzahl=CountGadgetItems(TreeGatget) - 1
Dim Text$(Anzahl)
Dim Level(Anzahl)
For item = 0 To Anzahl
Text$(item)= GetGadgetItemText(TreeGatget, item)
Level(item)=GetGadgetItemAttribute(TreeGatget, item,#PB_Tree_SubLevel)
Next
ClearGadgetItems(TreeGatget) ;ClearGadgetItemList(TreeGatget) für PB 4.2
For item = 0 To Anzahl
AddGadgetItem(0, item,Text$(item), 0, Level(item))
Next
EndProcedure
Lesen bei schlechten Lichtverhältnissen ist nicht schlecht für die Augen, sondern trainiert sie sogar.
Linux Ubuntu Mate 18.04
PB 5.71
Intel i5
Linux Ubuntu Mate 18.04
PB 5.71
Intel i5
Hallo,
ja, deine Beobachtung stimmt.
Wird unter Linux falsch angezeigt. Habe mit 4.30 unter Suse getestet.
Um die Idee von Waldixxl aufzugreifen:
Man könnte die einzelnen Elemente ja auch in einer strukturierten Liste aufbewahren.
In der Liste werden dann die Manipulationen durchgefuehrt und dann der Tree aus der Liste neu geschrieben. Sollte eigentlich relativ fix gehen.
(Natuerlich nur als vorläufige Abhilfe).
z.B. als Struktur
Torsten
ja, deine Beobachtung stimmt.
Wird unter Linux falsch angezeigt. Habe mit 4.30 unter Suse getestet.
Um die Idee von Waldixxl aufzugreifen:
Man könnte die einzelnen Elemente ja auch in einer strukturierten Liste aufbewahren.
In der Liste werden dann die Manipulationen durchgefuehrt und dann der Tree aus der Liste neu geschrieben. Sollte eigentlich relativ fix gehen.
(Natuerlich nur als vorläufige Abhilfe).
z.B. als Struktur
Code: Alles auswählen
Structure data_list
id.l ; Ident des Eintrages
platz.l ; Platz im Tree
parent_id.l ; Id des uebergeordneten Eintrages
text.s ; Text des Eintrages
image_id.l ; Id des zugehörigen Image
eingeklappt.l ; Eintrag expandiert, 1 = ja
EndStructure
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10
Ja, vielleicht ...chrissi87 hat geschrieben:Vielleicht klappts ja mit der 4.40 von Hause aus!
Die Chance dafür kannst Du erhöhen, indem Du das Problem im englischen Bug-Forum meldest.
Gruß, Little John