Exemple #1
0
        public OLECMDF QueryCommandStatus(VSConstants.VSStd97CmdID commandId)
        {
            if (commandId != VSConstants.VSStd97CmdID.NextLocation &&
                commandId != VSConstants.VSStd97CmdID.PreviousLocation)
            {
                return(OLECMDF.OLECMDF_INVISIBLE | OLECMDF.OLECMDF_DEFHIDEONCTXTMENU);
            }

            var treeView = FindName("Results") as TreeView;

            if (treeView == null)
            {
                return(OLECMDF.OLECMDF_INVISIBLE | OLECMDF.OLECMDF_DEFHIDEONCTXTMENU);
            }

            var selectedValue = treeView.IsVisible ? treeView.SelectedValue as ResultModelBase : null;

            if (selectedValue == null)
            {
                selectedValue = DataContext as ResultModelBase;
            }

            var nextValue = commandId == VSConstants.VSStd97CmdID.NextLocation
                ? ResultModelHelper.Next(selectedValue) : ResultModelHelper.Previous(selectedValue);

            return(nextValue == null ? OLECMDF.OLECMDF_SUPPORTED : OLECMDF.OLECMDF_SUPPORTED | OLECMDF.OLECMDF_ENABLED);
        }
Exemple #2
0
        private void Results_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            var treeView          = e.Source as TreeView;
            var selectedUiElement = treeView?.InputHitTest(e.GetPosition(treeView)) as FrameworkContentElement;

            if (ResultModelHelper.Edit(selectedUiElement?.DataContext as ResultModelBase))
            {
                e.Handled = true;
            }
        }
Exemple #3
0
        private void Results_PreviewKeyUp(object sender, System.Windows.Input.KeyEventArgs e)
        {
            if (e.Key != System.Windows.Input.Key.Enter)
            {
                return;
            }

            var treeView      = e.Source as TreeView;
            var selectedModel = treeView.SelectedItem as ResultModelBase;

            if (ResultModelHelper.Edit(selectedModel))
            {
                e.Handled = true;
            }
        }
Exemple #4
0
        public void ExecuteCommand(VSConstants.VSStd97CmdID commandId)
        {
            if (commandId != VSConstants.VSStd97CmdID.NextLocation &&
                commandId != VSConstants.VSStd97CmdID.PreviousLocation)
            {
                return;
            }

            var treeView = FindName("Results") as TreeView;

            if (treeView == null)
            {
                return;
            }

            var selectedItem = treeView.SelectedItem as ResultModelBase;

            if (selectedItem == null)
            {
                selectedItem = DataContext as ResultModelBase;
            }

            var nextItem = commandId == VSConstants.VSStd97CmdID.NextLocation
                ? ResultModelHelper.Next(selectedItem) : ResultModelHelper.Previous(selectedItem);

            TreeViewHelper.ExpandTreeViewItemModel(treeView, nextItem);

            var treeViewItem = TreeViewHelper.TreeViewItemFromModel(treeView, nextItem);

            if (treeViewItem != null)
            {
                treeViewItem.IsSelected = true;

                treeViewItem.BringIntoView();
                var scrollViewer = treeView.Template.FindName("_tv_scrollviewer_", treeView) as ScrollViewer;
                if (scrollViewer != null)
                {
                    scrollViewer.ScrollToLeftEnd();
                }

                ResultModelHelper.Edit(nextItem);
            }
        }