aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Console/ConsoleControl.xaml.cs
blob: 83ba09bd72ffc13c3a0af14bff4101efa93680d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Spec
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Tango.Console
{
    /// <summary>
    /// Interaction logic for ConsoleControl.xaml
    /// </summary>
    public partial class ConsoleControl : UserControl
    {
        public ConsoleControl()
        {
            InitializeComponent();
            MouseDown += ConsoleControl_MouseDown;
        }

        public Brush SelectionBrush
        {
            get { return (Brush)GetValue(SelectionBrushProperty); }
            set { SetValue(SelectionBrushProperty, value); }
        }
        public static readonly DependencyProperty SelectionBrushProperty =
            DependencyProperty.Register("SelectionBrush", typeof(Brush), typeof(ConsoleControl), new PropertyMetadata(Brushes.DimGray));

        public Brush CaretBrush
        {
            get { return (Brush)GetValue(CaretBrushProperty); }
            set { SetValue(CaretBrushProperty, value); }
        }
        public static readonly DependencyProperty CaretBrushProperty =
            DependencyProperty.Register("CaretBrush", typeof(Brush), typeof(ConsoleControl), new PropertyMetadata(Brushes.White));

        public DataTemplate BusyTemplate
        {
            get { return (DataTemplate)GetValue(BusyTemplateProperty); }
            set { SetValue(BusyTemplateProperty, value); }
        }
        public static readonly DependencyProperty BusyTemplateProperty =
            DependencyProperty.Register("BusyTemplate", typeof(DataTemplate), typeof(ConsoleControl), new PropertyMetadata(null));

        public Brush SuggestionsBorderBrush
        {
            get { return (Brush)GetValue(SuggestionsBorderBrushProperty); }
            set { SetValue(SuggestionsBorderBrushProperty, value); }
        }
        public static readonly DependencyProperty SuggestionsBorderBrushProperty =
            DependencyProperty.Register("SuggestionsBorderBrush", typeof(Brush), typeof(ConsoleControl), new PropertyMetadata(null));

        public Brush SuggestionsBackground
        {
            get { return (Brush)GetValue(SuggestionsBackgroundProperty); }
            set { SetValue(SuggestionsBackgroundProperty, value); }
        }
        public static readonly DependencyProperty SuggestionsBackgroundProperty =
            DependencyProperty.Register("SuggestionsBackground", typeof(Brush), typeof(ConsoleControl), new PropertyMetadata(null));

        public Brush SuggestionsForeground
        {
            get { return (Brush)GetValue(SuggestionsForegroundProperty); }
            set { SetValue(SuggestionsForegroundProperty, value); }
        }
        public static readonly DependencyProperty SuggestionsForegroundProperty =
            DependencyProperty.Register("SuggestionsForeground", typeof(Brush), typeof(ConsoleControl), new PropertyMetadata(null));


        private void ConsoleControl_MouseDown(object sender, MouseButtonEventArgs e)
        {
            Keyboard.Focus(txtCurrentCommand);
        }

        private void ScrollViewer_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            Keyboard.Focus(txtCurrentCommand);
        }
    }
}