Ejemplo n.º 1
0
        private void Execute_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (this.pane == null)
                {
                    this.pane = new OutputPane();
                }

                this.pane.Show();
                this.view.Read(this.pane, this.options, this.options["filenames"].Split(new char[] { '\n' }, System.StringSplitOptions.RemoveEmptyEntries));
                this.view.Write(this.pane, this.options);
            }
            catch (System.Exception excep)
            {
                MessageBox.Show(excep.Message, "DeepEnds", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Initialises a new instance of the <see cref="DeepEndsControl"/> class.
        /// </summary>
        public DeepEndsControl()
        {
            this.InitializeComponent();

            this.pane = null;

            this.view    = new View();
            this.options = Options.Defaults();
            this.types   = Options.Types();
            this.filters = Options.Filters();
            this.values  = new Dictionary <string, TextBox>();

            var help = Options.Help();
            int row  = 0;

            var ordered = Options.Ordered();

            foreach (var key in ordered)
            {
                ++row;

                var split    = new System.IO.StringWriter();
                var splitter = new Splitter(split, 80);
                splitter.WriteLine(string.Empty, help[key]);
                var toolTip = split.ToString();

                var def = new RowDefinition();
                this.grid.RowDefinitions.Add(def);
                if (key == "filenames")
                {
                    def.MinHeight = 20.0;
                }
                else
                {
                    def.Height = new GridLength(10.0, GridUnitType.Auto);
                }

                var label = new TextBlock();
                label.Name                = key;
                label.ToolTip             = toolTip;
                label.Text                = key;
                label.Margin              = new Thickness(10.0);
                label.HorizontalAlignment = HorizontalAlignment.Left;
                Grid.SetColumn(label, 0);
                Grid.SetRow(label, row);
                this.grid.Children.Add(label);

                var value = new TextBox();
                value.Name         = key;
                value.ToolTip      = toolTip;
                value.Text         = this.options[key];
                value.MinWidth     = 120.0;
                value.TextChanged += this.Value_TextChanged;
                Grid.SetColumn(value, 1);
                Grid.SetRow(value, row);
                this.grid.Children.Add(value);
                this.values[key] = value;
                if (key == "filenames")
                {
                    value.AcceptsReturn = true;
                    value.TextWrapping  = TextWrapping.Wrap;
                }

                if (this.types.ContainsKey(key))
                {
                    var browse = new Button();
                    browse.Name    = key;
                    browse.ToolTip = toolTip;
                    browse.Content = "Browse...";
                    browse.Click  += this.Browse_Click;
                    Grid.SetColumn(browse, 2);
                    Grid.SetRow(browse, row);
                    this.grid.Children.Add(browse);
                }
            }
        }
Ejemplo n.º 3
0
        private void Command_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (this.pane == null)
                {
                    this.pane = new OutputPane();
                }

                this.pane.Show();
                var file = this.pane;

                var message = System.Reflection.Assembly.GetAssembly(typeof(View)).Location;
                if (message.Contains(" "))
                {
                    file.Write("\"");
                    file.Write(message);
                    file.Write("\"");
                }
                else
                {
                    file.Write(message);
                }

                var defaults = Options.Defaults();
                var ordered  = Options.Ordered();
                foreach (var key in this.options.Keys)
                {
                    if (!ordered.Contains(key) || key == "filenames")
                    {
                        continue;
                    }

                    var val = this.options[key];
                    if (val == defaults[key])
                    {
                        continue;
                    }

                    file.Write(" ");
                    file.Write(key);
                    file.Write("=");

                    if (val.Contains(" "))
                    {
                        file.Write("\"");
                        file.Write(val);
                        file.Write("\"");
                    }
                    else
                    {
                        file.Write(val);
                    }
                }

                file.Write(" ");
                file.WriteLine(this.options["filenames"].Replace('\n', ' '));
            }
            catch (System.Exception excep)
            {
                MessageBox.Show(excep.Message, "DeepEnds", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }