private static void SelectNextTreeNode(DocumentHierarchyTreeView view) { if (!view.HasSelection()) { view.SelectFirstMatch(); return; } view.SelectNextTreeNode(); }
public HierarchyPanel(Widget rootWidget) { DocumentHierarchyTreeView view; EditBox searchStringEditor; panelWidget = rootWidget; this.rootWidget = new Frame { Id = "SearchPanel", Padding = new Thickness(5), Layout = new VBoxLayout { Spacing = 5 }, Nodes = { (searchStringEditor = new ThemedEditBox()) } }; rootWidget.TabTravesable = new TabTraversable(); var treeView = new DocumentHierarchyTreeView(this.rootWidget, Document.Current.RootNode); var searchTreeView = new DocumentHierarchyTreeView(this.rootWidget, Document.Current.RootNode); searchStringEditor.AddChangeWatcher(() => searchStringEditor.Text, t => { if (!string.IsNullOrEmpty(t)) { if (treeView.IsAttached()) { treeView.Detach(); searchTreeView.Attach(); view = searchTreeView; } searchTreeView.Filter(t.ToLower()); } else { if (!searchTreeView.IsAttached()) { return; } searchTreeView.Detach(); treeView.Attach(); view = treeView; } }); treeView.Attach(); view = treeView; this.rootWidget.LateTasks.Add(new KeyRepeatHandler((input, key) => { if (!keyActionMap.ContainsKey(key)) { return; } input.ConsumeKey(key); keyActionMap[key](view); view.EnsureSelectionVisible(); Window.Current.Invalidate(); })); }
private static void ClearSelection(DocumentHierarchyTreeView view) => view.ClearSelection();
private static void ToggleSelectedTreeNode(DocumentHierarchyTreeView view) => view.ToggleSelectedTreeNode();
private static void LeaveSelectedTreeNode(DocumentHierarchyTreeView view) => view.LeaveSelectedTreeNode();
private static void EnterSelectedTreeNode(DocumentHierarchyTreeView view) => view.EnterSelectedTreeNode();
private static void SelectPreviousTreeNode(DocumentHierarchyTreeView view) => view.SelectPreviousTreeNode();
private static void NavigateToSelectedNode(DocumentHierarchyTreeView view) => view.NavigateToSelectedNode();