コード例 #1
0
        public void AddPage(WorkBookPage page, bool setAsCurrent)
        {
            page.OnPageAdding();

            HBox hbPageTab = new HBox();

            Widget tab = CreatePageTab(page);

            hbPageTab.PackStart(tab);
            tab.Show();

            Label pageNum = new Label();

            pageNum.Text    = page.GetHashCode().ToString();
            pageNum.Visible = false;
            pageNum.Name    = "WorkBookPageId";
            hbPageTab.PackEnd(pageNum);

            hbPageTab.CanFocus = false;
            page.CanFocus      = true;
            book.AppendPage(page, hbPageTab);
            page.Show();

            if (setAsCurrent)
            {
                CurrentPage = page;
            }

            page.OnPageAdded();
        }
コード例 #2
0
        public int GetPageIndexByHash(int hashCode)
        {
            for (int i = 0; i < book.NPages; i++)
            {
                WorkBookPage page = (WorkBookPage)book.GetNthPage(i);
                if (page.GetHashCode() == hashCode)
                {
                    return(i);
                }
            }

            return(-1);
        }
コード例 #3
0
        public WorkBookPage GetPageByHash(int hashCode)
        {
            for (int i = 0; i < book.NPages; i++)
            {
                WorkBookPage page = (WorkBookPage)book.GetNthPage(i);
                if (page.GetHashCode() == hashCode)
                {
                    return(page);
                }
            }

            return(null);
        }
コード例 #4
0
 public void RemovePage(WorkBookPage page)
 {
     RemovePage(GetPageIndexByHash(page.GetHashCode()));
 }