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); } }
/// <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); } } }
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); } }