1. Wie ist es möglich in ein ExplorerTreeGadget alle Verzeichnisse/Dateien auch versteckte einlesen/anzeigen
2. Kann man die Sortierreihenfolge beeinflussen z.B. unabhängig von Groß- bzw Kleinschreibung
ExplorerTreeGadget Verzeichnisauswahl und sortiern
Hallo,
also ich habe mir das mal kurz angesehen.
Also auf die Schnelle konnte ich nichts entdecken, was sich da mit PB-eigenen Mitteln (z.B. Flags) machen lassen würde.
Informier dich mal über API Möglichkeiten. Oder du bastelst selbst was.
Stichwort: ExamineDirectory
Tja, soweit erst mal
Torsten
also ich habe mir das mal kurz angesehen.
Also auf die Schnelle konnte ich nichts entdecken, was sich da mit PB-eigenen Mitteln (z.B. Flags) machen lassen würde.
Informier dich mal über API Möglichkeiten. Oder du bastelst selbst was.
Stichwort: ExamineDirectory
Tja, soweit erst mal
Torsten
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10
Mit den API Möglichkeiten fehlt mir als Linux Umsteiger nach der Durchblick.
Stichwort : ExamineDirectory
1. Variante
Habe die Verzeichnisstruktur über eine Linkedlist ausgelesen sortiert.
und in ein Treegadget eingeschrieben (noch ohne Image)
Funktioniert alles entsprechend nur dauert ca. 2-6 sek Verzeichnislesen und sortieren aber bis zu 120 sek die komplette Verzeichnisstruktur ins Treegadget zu schieben. Beim Fensterschließen bzw Treegadget Löschen ca. 10-15 sek.
Es sind ca. 50 000 Verzeichnisse ! --> so nicht machbar.
2. Variante
Nur den Grundpfad und die geöffneten Knoten gelesen und sortiert ins Treegadget eingelesen.
Zeit und damit verbundene Prozeduren sind soweit machbar und ok.
Ein Problem besteht jedoch beim neu einlesen ins Treegadget wie kann ich die
Position in der Anzeige wiederherstellen, so das sich der bearbeitete Path auch wieder unter der Maus befindet ?
Noch eine Frage zu Linux Maus event's Wie kann man den Tastaturstatus dabei abfragen?
hauptsächlich Shift ,STrG Alt
Gruß cbora
Stichwort : ExamineDirectory
1. Variante
Habe die Verzeichnisstruktur über eine Linkedlist ausgelesen sortiert.
und in ein Treegadget eingeschrieben (noch ohne Image)
Funktioniert alles entsprechend nur dauert ca. 2-6 sek Verzeichnislesen und sortieren aber bis zu 120 sek die komplette Verzeichnisstruktur ins Treegadget zu schieben. Beim Fensterschließen bzw Treegadget Löschen ca. 10-15 sek.
Es sind ca. 50 000 Verzeichnisse ! --> so nicht machbar.
2. Variante
Nur den Grundpfad und die geöffneten Knoten gelesen und sortiert ins Treegadget eingelesen.
Zeit und damit verbundene Prozeduren sind soweit machbar und ok.
Ein Problem besteht jedoch beim neu einlesen ins Treegadget wie kann ich die
Position in der Anzeige wiederherstellen, so das sich der bearbeitete Path auch wieder unter der Maus befindet ?
Noch eine Frage zu Linux Maus event's Wie kann man den Tastaturstatus dabei abfragen?
hauptsächlich Shift ,STrG Alt
Gruß cbora
Hej,
zum "Merken": Kannst du den zuletzt angewandten Pfad nicht irgendwo speichern, also in einer Variable oder in einer Preferencedatei o.ä.? Und dann wieder dorthinspringen...
Aus Neugier, wozu die Tasten? Mehrfachselektion?
Dann würde ich einfach die Karos vor den Einträgen einschalten mit
#PB_Tree_CheckBoxes
Torsten
zum "Merken": Kannst du den zuletzt angewandten Pfad nicht irgendwo speichern, also in einer Variable oder in einer Preferencedatei o.ä.? Und dann wieder dorthinspringen...
Aus Neugier, wozu die Tasten? Mehrfachselektion?
Dann würde ich einfach die Karos vor den Einträgen einschalten mit
#PB_Tree_CheckBoxes
Torsten
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10
Hallo
Das mit dem Merken ist kein Problem
Wenn ich aber das Treegadget bearbeite ändert sich die Position des
Eintrags je nach Füllstand.
z.B. der 3 sichtbare Eintrag mit "Meinem Path" dessen Knoten ich geschlossen/geöffnet habe, ist danach an einer anderen Position.
-> ist nicht schön immer zu suchen
Das mit den Tasten bezieht sich auf Mehrfachselektion/Auswahl...
Ich habe Versucht alles in einem Imagegadget zu machen.
Grundfunktion ist unter Linux und Window
ab PBV4.40 wegen DrawAlphaImage() gegeben.
Gruß cbora
Das mit dem Merken ist kein Problem
Wenn ich aber das Treegadget bearbeite ändert sich die Position des
Eintrags je nach Füllstand.
z.B. der 3 sichtbare Eintrag mit "Meinem Path" dessen Knoten ich geschlossen/geöffnet habe, ist danach an einer anderen Position.
-> ist nicht schön immer zu suchen
Das mit den Tasten bezieht sich auf Mehrfachselektion/Auswahl...
Ich habe Versucht alles in einem Imagegadget zu machen.
Grundfunktion ist unter Linux und Window
ab PBV4.40 wegen DrawAlphaImage() gegeben.
Gruß cbora
Ich meinte nicht die Position, sondern den Inhalt merken. Und dadurch dann auf die passende Position springen.
Oder anders: Schau mal in der Hilfe nach SetGadgetItemData.
Da ist ein Beispiel, von dem ich glaube, das es genau dazu passt.
Probier es mal aus.
Und für die Mehrfachselektion würde ich wie schon erwähnt die Checkboxen im Treegadget aktivieren.
Das, was man wählen will, bekommt dann eben einen Haken verpasst.
Edit: Jetzt erst gelesen und begriffen. Du machst was? In einem Imagegadget? Wie, was, warum jetzt Image?
Achso, falls der Code nicht in der Linuxhilfe mit drinsteht hier noch mal das Bespiel zu SetGadgetItemData:
Edit2: Habe statt des ListViewGadget ein TreeGadget genommen
Denke mal, es wird helfen
Torsten
Oder anders: Schau mal in der Hilfe nach SetGadgetItemData.
Da ist ein Beispiel, von dem ich glaube, das es genau dazu passt.
Probier es mal aus.
Und für die Mehrfachselektion würde ich wie schon erwähnt die Checkboxen im Treegadget aktivieren.
Das, was man wählen will, bekommt dann eben einen Haken verpasst.
Edit: Jetzt erst gelesen und begriffen. Du machst was? In einem Imagegadget? Wie, was, warum jetzt Image?
Achso, falls der Code nicht in der Linuxhilfe mit drinsteht hier noch mal das Bespiel zu SetGadgetItemData:
Edit2: Habe statt des ListViewGadget ein TreeGadget genommen
Code: Alles auswählen
If OpenWindow(0, 0, 0, 280, 250, "SetGadgetItemData", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0, 10, 10, 80, 20, "Add")
ButtonGadget(1, 100, 10, 80, 20, "Remove")
ButtonGadget(2, 190, 10, 80, 20, "Test")
;ListViewGadget(3, 10, 40, 260, 200)
TreeGadget(3, 10, 40, 260, 200, #PB_Tree_NoLines | #PB_Tree_CheckBoxes)
For i = 0 To 10
AddGadgetItem(3, i, "Old Item "+Str(i))
SetGadgetItemData(3, i, i)
Next i
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
item = GetGadgetState(3)
Select EventGadget()
Case 0 ; Add
AddGadgetItem(3, item, "New Item")
If item <> -1
SetGadgetItemData(3, item, -1)
Else
SetGadgetItemData(3, CountGadgetItems(3)-1, -1)
EndIf
Case 1 ; Remove
If item <> -1
RemoveGadgetItem(3, item)
EndIf
Case 2 ; Test
If item <> -1
value = GetGadgetItemData(3, item)
If value = -1
MessageRequester("", "Its a new item.")
Else
MessageRequester("", "It was item number "+Str(value))
EndIf
EndIf
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Torsten
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10