Exemple #1
0
        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;
        }
Exemple #2
0
        public MainWindow()
        {
            TabManager = new TabManager();
            TabManager.RecentFiles.CollectionChanged += RecentFiles_CollectionChanged;
            FillRecentFilesMenu();

            InitializeComponent();
        }
Exemple #3
0
        private async Task ReOpenFileAsync(string path)
        {
            if (path != null && File.Exists(path))
            {
                await TabManager.OpenFileAsync(path);
            }

            JumpToLastTab();
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        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;
 }
Exemple #7
0
 private void AddNewTab()
 {
     TabManager.AddNewTab();
     JumpToLastTab();
 }