Скрыть каталоги в wxGenericDirCtrl
Вопрос
Я использую wxGenericDirCtrl, и я хотел бы знать, есть ли способ скрыть каталоги, особенно мне хотелось бы скрыть родственные узлы родительских узлов.
Например, если моя структура каталогов выглядит следующим образом:
+-a
|
+-b
| |
| +-whatever
|
+-c
| |
| +-d
| |
| +-e
| |
| +-f
|
+-g
|
+-whatever
Если мой текущий выбранный каталог - / a / c / d, есть ли какой-нибудь способ скрыть b и g, чтобы дерево выглядело так в моем ctrl:
+-a
|
+-c
|
+-[d]
|
+-e
|
+-f
В настоящее время я работаю со структурой каталогов, в которой много-много каталогов, которые не имеют отношения к большинству пользователей, поэтому было бы неплохо иметь возможность очистить ее.
Редактировать:Если это имеет значение, я использую wxPython, и пока я тестировал свой код только в linux с использованием серверной части GTK, но я планирую сделать его мультиплатформенным и использовать его в Windows и Mac с использованием собственных серверных частей.
Решение
Перечислять / перемещать каталоги в Python очень просто, поэтому я бы рекомендовал попробовать "создать свой собственный", используя один из простых элементов управления деревом (например, TreeCtrl или CustomTreeCtrl).Действительно, должно быть довольно легко вызвать код списка каталогов при расширении некоторого каталога и вернуть результат.
Другие советы
Я не думаю, что это возможно.
Было бы относительно легко добавить эту функциональность к базовому элементу управления wxWidgets на C ++, но поскольку вы используете wxPython, вам также придется перестроить его, что является огромной проблемой.