コード例 #1
0
        Notebook CreateNewWindow(Notebook source, Widget page, int x, int y)
        {
            Helpers.ExternalWindow window;
            EventBox box;
            Notebook notebook;

            window = new Helpers.ExternalWindow();
            if (page == timeline)
            {
                window.Title = Catalog.GetString("Timeline");
            }
            else if (page == dashboardhpaned)
            {
                window.Title = Catalog.GetString("Analysis dashboard");
            }
            else if (page == playspositionviewer1)
            {
                window.Title = Catalog.GetString("Zonal tags viewer");
            }

            notebook          = new Notebook();
            notebook.ShowTabs = false;
            notebook.CanFocus = false;
            //notebook.Group = source.Group;

            window.Add(notebook);
            window.SetDefaultSize(page.Allocation.Width, page.Allocation.Height);
            window.Move(x, y);
            window.ShowAll();
            activeWindows.Add(window);
            window.DeleteEvent += (o, args) => {
                Widget pa = notebook.CurrentPageWidget;
                activeWindows.Remove(window);
                notebook.Remove(pa);
                Visible = true;
                source.AppendPage(pa, null);
                notebookHelper.UpdateTabs();
                notebook.Destroy();
            };

            /* If we are remove the last visible page, hide the widget to
             * free the empty space for the rest of widgets */
            int visiblePages = 0;

            for (int i = 0; i < source.NPages; i++)
            {
                if (source.GetNthPage(i).Visible)
                {
                    visiblePages++;
                }
            }
            if (visiblePages == 1)
            {
                Visible = false;
            }
            return(notebook);
        }
コード例 #2
0
ファイル: CodingWidget.cs プロジェクト: LongoMatch/longomatch
        Notebook CreateNewWindow(Notebook source, Widget page, int x, int y)
        {
            Helpers.ExternalWindow window;
            EventBox box;
            Notebook notebook;

            window = new Helpers.ExternalWindow ();
            if (page == timeline) {
                window.Title = Catalog.GetString ("Timeline");
            } else if (page == dashboardhpaned) {
                window.Title = Catalog.GetString ("Analysis dashboard");
            } else if (page == playspositionviewer1) {
                window.Title = Catalog.GetString ("Zonal tags viewer");
            }

            notebook = new Notebook ();
            notebook.ShowTabs = false;
            notebook.CanFocus = false;
            //notebook.Group = source.Group;

            window.Add (notebook);
            window.SetDefaultSize (page.Allocation.Width, page.Allocation.Height);
            window.Move (x, y);
            window.ShowAll ();
            activeWindows.Add (window);
            window.DeleteEvent += (o, args) => {
                Widget pa = notebook.CurrentPageWidget;
                activeWindows.Remove (window);
                notebook.Remove (pa);
                Visible = true;
                source.AppendPage (pa, null);
                notebookHelper.UpdateTabs ();
                notebook.Destroy ();
            };

            /* If we are remove the last visible page, hide the widget to
             * free the empty space for the rest of widgets */
            int visiblePages = 0;
            for (int i = 0; i < source.NPages; i++) {
                if (source.GetNthPage (i).Visible) {
                    visiblePages++;
                }
            }
            if (visiblePages == 1) {
                Visible = false;
            }
            return notebook;
        }