コード例 #1
0
        void DataGrid_SelectionChanged(Object sender, SelectionChangedEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            if (0 < e.AddedItems.Count)
            {
                var item = e.AddedItems[0];

                ViewModel.Segment segment = null;

                if (item is ViewModel.LineFragment fragment)
                {
                    segment = fragment.Segment;
                }

                if (item is ViewModel.LineReplacement replacement)
                {
                    segment = replacement.Segment;
                }

                HighlightInputSegment(segment);
            }

            e.Handled = true;
        }
コード例 #2
0
        void TreeView_SelectedItemChanged(Object sender, RoutedPropertyChangedEventArgs <Object> e)
        {
            if (e == null)
            {
                return;
            }

            ViewModel.Segment segment = null;
            if (e.NewValue is ViewModel.Node node && node.Success)
            {
                segment = node.Segment;
            }

            HighlightInputSegment(segment);

            e.Handled = true;
        }
コード例 #3
0
        void HighlightInputSegment(ViewModel.Segment segment)
        {
            if (segment == null)
            {
                if (Colorer.Input.HighlightTaggerProvider.TryGetTaggerForView(m_editorInput.WpfTextViewHost.TextView, out var tagger))
                {
                    tagger.Unhighlight();
                }
            }
            else
            {
                m_editorInput.Scroll(segment.Start);

                if (Colorer.Input.HighlightTaggerProvider.TryGetTaggerForView(m_editorInput.WpfTextViewHost.TextView, out var tagger))
                {
                    tagger.Hightlight(segment.Start, segment.Length);
                }
            }
        }