/* ----------------------------------------------------------------- */ /// /// Invoke /// /// <summary> /// 処理を実行します。 /// </summary> /// /* ----------------------------------------------------------------- */ protected override void Invoke(OpenDirectoryMessage e) { base.Invoke(e); if (!e.Cancel && AssociatedObject is TextBox tb) { tb.Text = e.Value; } }
/* ----------------------------------------------------------------- */ /// /// Invoke /// /// <summary> /// 処理を実行します。 /// </summary> /// /* ----------------------------------------------------------------- */ protected override void Invoke(OpenDirectoryMessage e) { base.Invoke(e); if (e.Result && AssociatedObject is TextBox tb) { tb.Text = e.FileName; } }
public void Create_OpenDirectoryMessage() { var src = new OpenDirectoryMessage(); Assert.That(src.Text, Is.Empty); Assert.That(src.Value, Is.Empty); Assert.That(src.NewButton, Is.True); Assert.That(src.Cancel, Is.False); }
/* ----------------------------------------------------------------- */ /// /// Send /// /// <summary> /// Sends the specified message, and invokes the specified action /// when not canceled by the user. /// </summary> /// /// <param name="message">Message to send.</param> /// <param name="next"> /// Action to be invoked when not canceled by the user. /// </param> /// /* ----------------------------------------------------------------- */ protected async Task Send(OpenDirectoryMessage message, Action <string> next) { Send(message); if (message.Cancel) { return; } await Track(() => next(message.Value)); }
private void OnOpenDirectoryMessage(OpenDirectoryMessage openDirectoryMessage) { var folderDlg = new FolderBrowserDialog { ShowNewFolderButton = true }; openDirectoryMessage.Execute(folderDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK ? new OpenDirectoryResult(folderDlg.SelectedPath) : OpenDirectoryResult.DoNothing); }
/* ----------------------------------------------------------------- */ /// /// ForSaveDirectory /// /// <summary> /// Creates a new instance of the OpenDirectoryMessage class with /// the specified source. /// </summary> /// /// <param name="src">Query source object.</param> /// /// <returns>OpenDirectoryMessage object.</returns> /// /* ----------------------------------------------------------------- */ public static OpenDirectoryMessage ForSaveDirectory(string src) { var dest = new OpenDirectoryMessage { Text = Properties.Resources.MessageSave, NewButton = true, }; if (src.HasValue()) { dest.Value = src; } return(dest); }
private static IMessage GetMessage(RepositoryFilterOptions options) { // default should be listing all repositories IMessage message = new ListRepositoriesMessage(); ApplyMessageFilters(options); if (options is ListOptions) { if (options.HasFileFilter) { message = new ListRepositoryFilesMessage(options); } else { message = new ListRepositoriesMessage(options); } } if (options is ChangeDirectoryOptions) { message = new ChangeToDirectoryMessage(options); } if (options is GetDirectoryOptions) { message = new GetDirectoryMessage(options); } if (options is OpenDirectoryOptions) { if (options.HasFileFilter) { message = new OpenFileMessage(options); } else { message = new OpenDirectoryMessage(options); } } return(message); }
private static void ParseCommandLineOptions(string verb, object options, out IMessage message) { // default should be listing all repositories message = new ListRepositoriesMessage(); var filter = options as RepositoryFilterOptions; if (filter != null) { ApplyMessageFilters(filter); if (verb == CommandLineOptions.ListCommand) { if (filter.HasFileFilter) { message = new ListRepositoryFilesMessage(filter); } else { message = new ListRepositoriesMessage(filter); } } if (verb == CommandLineOptions.ChangeDirectoryCommand) { message = new ChangeToDirectoryMessage(filter); } if (verb == CommandLineOptions.OpenDirectoryCommand) { if (filter.HasFileFilter) { message = new OpenFileMessage(filter); } else { message = new OpenDirectoryMessage(filter); } } } }