Nascondi le directory in wxGenericDirCtrl
Domanda
Sto usando wxGenericDirCtrl e vorrei sapere se esiste un modo per nascondere le directory, in particolare vorrei nascondere i fratelli dei nodi principali.
Ad esempio, se la struttura della mia directory è simile a questa:
+-a
|
+-b
| |
| +-whatever
|
+-c
| |
| +-d
| |
| +-e
| |
| +-f
|
+-g
|
+-whatever
Se la mia directory attualmente selezionata è /a/c/d c'è un modo per nascondere b e g, in modo che l'albero assomigli a questo nel mio ctrl:
+-a
|
+-c
|
+-[d]
|
+-e
|
+-f
Attualmente sto lavorando con una struttura di directory che ha tantissime directory irrilevanti per la maggior parte degli utenti, quindi sarebbe bello poterla ripulire.
Modificare:Se fa la differenza, sto usando wxPython e finora ho testato il mio codice solo su Linux utilizzando il backend GTK, ma ho intenzione di renderlo multipiattaforma e di utilizzarlo su Windows e Mac utilizzando i backend nativi.
Soluzione
Elencare/percorrere le directory in Python è molto semplice, quindi consiglierei di provare a "crearne una propria" utilizzando uno dei semplici controlli ad albero (come TreeCtrl o CustomTreeCtrl).Dovrebbe essere davvero abbastanza semplice chiamare il codice dell'elenco delle directory quando una directory viene espansa e restituire il risultato.
Altri suggerimenti
Non penso che sia possibile.
Sarebbe relativamente semplice aggiungere questa funzionalità al controllo wxWidgets C++ sottostante, ma poiché stai utilizzando wxPython, dovresti ricostruire anche quello, il che è un problema enorme.