Ocultar directorios en wxGenericDirCtrl
Pregunta
Estoy usando wxGenericDirCtrl y me gustaría saber si hay una manera de ocultar directorios, especialmente me gustaría ocultar los hermanos de los nodos principales.
Por ejemplo, si mi estructura de directorios se ve así:
+-a
|
+-b
| |
| +-whatever
|
+-c
| |
| +-d
| |
| +-e
| |
| +-f
|
+-g
|
+-whatever
Si mi directorio seleccionado actualmente es /a/c/d, ¿hay alguna forma de ocultar b y g, de modo que el árbol se vea así en mi control?
+-a
|
+-c
|
+-[d]
|
+-e
|
+-f
Actualmente estoy trabajando con una estructura de directorios que tiene muchísimos directorios que son irrelevantes para la mayoría de los usuarios, por lo que sería bueno poder limpiarlos.
Editar:Si hay alguna diferencia, estoy usando wxPython y, hasta ahora, solo he probado mi código en Linux usando el backend GTK, pero planeo hacerlo multiplataforma y usarlo en Windows y Mac usando los backends nativos.
Solución
Listar/recorrer directorios en Python es muy fácil, por lo que recomendaría intentar "hacer el suyo propio" usando uno de los controles de árbol simples (como TreeCtrl o CustomTreeCtrl).Realmente debería ser bastante fácil llamar al código de listado del directorio cuando se expande algún directorio y devolver el resultado.
Otros consejos
No creo que eso sea posible.
Sería relativamente fácil agregar esta funcionalidad al control wxWidgets de C++ subyacente, pero como estás usando wxPython, tendrías que reconstruirlo también, lo cual es un problema tremendo.