Exemple #1
0
 private void OnKeyboardInputChanged(object o, KeyboardInputArgs e)
 {
     KeyboardInputChanged?.Invoke(o, e);
 }
        private void InitializeTreeViewCallbacks()
        {
            treeView.SearchChangedCallback += (newSearch) =>
            {
                SearchChanged?.Invoke(newSearch);
                OnSearchChanged(newSearch);
            };

            treeView.DoesElementMatchSearchCallback += DoesElementMatchSearch;

            treeView.KeyboardInputChangedCallback += () =>
            {
                KeyboardInputChanged?.Invoke();
                OnKeyboardInputChanged();
            };

            treeView.SingleClickedElementCallback += id =>
            {
                SingleClickedElement?.Invoke(id);
                OnSingleClickedElement(id);
            };

            treeView.DoubleClickedElementCallback += id =>
            {
                DoubleClickedElement?.Invoke(id);
                OnDoubleClickedElement(id);
            };

            treeView.CanMultiSelectCallback += CanMultiSelect;

            treeView.SelectionChangedCallback += selection =>
            {
                SelectionChanged?.Invoke(selection);
                OnSelectionChanged(selection);
            };

            treeView.ContextClickedElementCallback += id =>
            {
                showContextMenuInNextDraw = true;
                RepaintTree();

                ContextClickedElement?.Invoke(id);
                OnContextClickedElement(id);
            };

            treeView.ContextClickedOutsideElementsCallback += () =>
            {
                ContextClickedOutsideElements?.Invoke();
                OnContextClickedOutsideElements();
            };

            treeView.ElementDrawedCallback += (id, rect) =>
            {
                DrawElementBase(rect, id);
            };

            treeView.ElementsDraggingCallback += (insertIndex, draggedIDs) =>
            {
                ElementsDragging?.Invoke(insertIndex, draggedIDs);
                OnElementsDragging(insertIndex, draggedIDs);

                MoveElementSelection(insertIndex, draggedIDs);

                ElementsDragged?.Invoke(insertIndex, draggedIDs);
                OnElementsDragged(insertIndex, draggedIDs);
            };

            treeView.CanRenameElementCallback     += CanRenameElement;
            treeView.GetElementRenameRectCallback += GetElementRenameRect;
            treeView.ElementRenamedCallback       += RenameElement;
        }