tui_treelistview/
action.rs

1/// Действия, которые может инициировать пользователь/приложение над деревом.
2#[derive(Clone, Copy, Debug, PartialEq, Eq)]
3pub enum TreeAction<Custom = ()> {
4    ReorderUp,
5    ReorderDown,
6    SelectPrev,
7    SelectNext,
8    SelectParent,
9    SelectChild,
10    ToggleRecursive,
11    ToggleNode,
12    AddChild,
13    EditNode,
14    /// Удалить связь с родителем (узел может остаться в дереве, если он разделяемый).
15    DetachNode,
16    /// Полное удаление узла из дерева.
17    DeleteNode,
18    YankNode,
19    PasteNode,
20    ToggleGuides,
21    ToggleMark,
22    SelectFirst,
23    SelectLast,
24    /// Пользовательское действие (пробрасывается наружу без обработки внутри виджета).
25    Custom(Custom),
26}
27
28/// Результат обработки действия/клавиши.
29#[derive(Clone, Copy, PartialEq, Eq)]
30pub enum TreeEvent<Custom = ()> {
31    Handled,
32    Unhandled,
33    Action(TreeAction<Custom>),
34}