Exemplo n.º 1
0
        protected override void OpenSlavePage(IPage masterPage, IPage page)
        {
            if (page.ViewModel is IWindowDialogSettings)
            {
                pages.Add(page);
                OpenWindowPage(page);
                return;
            }

            var masterTab = (masterPage as ITdiPage)?.TdiTab;

            if (masterTab?.TabParent is TdiSliderTab && (page.ViewModel as ISlideableViewModel)?.AlwaysNewPage != true)
            {
                var slider = masterTab.TabParent as TdiSliderTab;
                slider.AddSlaveTab(masterTab, (page as ITdiPage).TdiTab);
                (masterPage as IPageInternal).AddChildPage(page);
            }
            else
            {
                pages.Add(page);
                if (masterTab == null)
                {
                    tdiNotebook.AddTab((page as ITdiPage).TdiTab);
                }
                else
                {
                    tdiNotebook.AddSlaveTab((masterPage as ITdiPage).TdiTab, (page as ITdiPage).TdiTab);
                }
            }
        }
        protected override void OpenSlavePage(IPage masterPage, IPage page)
        {
            if (page.ViewModel is IWindowDialogSettings)
            {
                pages.Add(page);
                OpenWindowPage(page);
                return;
            }

            pages.Add(page);

            var masterTab = (masterPage as ITdiPage)?.TdiTab;

            if (masterTab == null)
            {
                tdiNotebook.AddTab((page as ITdiPage).TdiTab);
            }
            else if (masterTab?.TabParent is TdiSliderTab slider)
            {
                slider.AddSlaveTab(masterTab, (page as ITdiPage).TdiTab);
            }
            else
            {
                tdiNotebook.AddSlaveTab(masterTab, (page as ITdiPage).TdiTab);
            }
        }
Exemplo n.º 3
0
        public void TdiTabClosedEventForDialogInSliderTest()
        {
            GtkInit.AtOnceInitGtk();
            bool notebookEventRised = false, tabEventRised = false;

            var tabJournal = new EmptyJournalTab();

            tabJournal.UseSlider = true;

            var tab = new EmptyDlg();

            tab.TabClosed += (sender, e) => tabEventRised = true;

            var notebook = new TdiNotebook();

            notebook.TabClosed += (sender, e) => notebookEventRised = (e.Tab == tab);

            notebook.AddTab(tabJournal);
            tabJournal.TabParent.AddTab(tab, tabJournal);

            var slider = tabJournal.TabParent as TdiSliderTab;

            Assert.That(slider.ActiveDialog, Is.EqualTo(tab));
            notebook.ForceCloseTab(tab, CloseSource.External);

            Assert.That(slider.ActiveDialog, Is.Null);
            Assert.That(tabEventRised, Is.True);
            Assert.That(notebookEventRised, Is.True);
        }
Exemplo n.º 4
0
        public void TdiTabClosedEventTest()
        {
            var tab = Substitute.For <ITdiTab, Gtk.Widget>();

            var notebook = new TdiNotebook();

            notebook.AddTab(tab);

            Assert.That(notebook.Tabs.First().TdiTab, Is.EqualTo(tab));

            notebook.ForceCloseTab(tab, CloseSource.External);
            tab.Received().OnTabClosed();
            Assert.That(notebook.Tabs.Count, Is.EqualTo(0));
        }
Exemplo n.º 5
0
        public void TdiTabClosedEventWithSliderTest()
        {
            var tab = Substitute.For <ITdiJournal, Gtk.Widget>();

            tab.UseSlider.Returns(true);

            var notebook = new TdiNotebook();

            notebook.AddTab(tab);

            Assert.That(notebook.Tabs.First().TdiTab, Is.InstanceOf <TdiSliderTab>());

            notebook.ForceCloseTab(tab, CloseSource.External);
            tab.Received().OnTabClosed();
            Assert.That(notebook.Tabs.Count, Is.EqualTo(0));
        }