private void TxtContent_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e) { if (LockTabCreation) { return; } var tab = tabControl1.SelectedValue as MyTab; if (tab == null) { if (TabManager.Tabs.Count == 0) { TabManager.AddNewTab(); tab = TabManager.Tabs.Last(); tab.Content = txtContent.Text; JumpToLastTab(); } else { tab = TabManager.Tabs.First(); tab.Content = txtContent.Text; tabControl1.SelectedIndex = 0; } } tab.Content = txtContent.Text; }
public MainWindow() { TabManager = new TabManager(); TabManager.RecentFiles.CollectionChanged += RecentFiles_CollectionChanged; FillRecentFilesMenu(); InitializeComponent(); }
private async Task ReOpenFileAsync(string path) { if (path != null && File.Exists(path)) { await TabManager.OpenFileAsync(path); } JumpToLastTab(); }
private async Task OpenFileAsync() { var dialog = new OpenFileDialog(); dialog.Filter = "(*.txt)|*.txt|All Files (*.*)|*.*"; var result = dialog.ShowDialog(); if (result == true) { await TabManager.OpenFileAsync(dialog.FileName); } JumpToLastTab(); }
private void CloseTab(MyTab tab) { if (tab == null) { return; } LockTabCreation = true; if (tab.Modified) { var result = MessageBox.Show("New file has been modified, save changes?", "Save Changes?", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { if (tab.Path == null) { SaveAsFile(tab); } else { SaveFile(tab, tab.Path); } } else if (result == MessageBoxResult.Cancel) { return; } } TabManager.CloseTab(tab); JumpToLastTab(); LockTabCreation = false; }
public OpenRecentFileCommand(Func <string, Task> reOpenFileAsync, TabManager tabManager) { this.reOpenFileAsync = reOpenFileAsync; this.tabManager = tabManager; }
private void AddNewTab() { TabManager.AddNewTab(); JumpToLastTab(); }