public TOCBreadcrumbs(ObjHolder <Publication> publication, TOCNode rootTocNode)
 {
     this.publication = publication;
     this.rootTocNode = rootTocNode;
     firstPage        = rootTocNode.GetFirstPage();
     lastPage         = rootTocNode.GetLastPage();
     CurrentTOCNode   = null;
 }
Beispiel #2
0
        public async Task GetPublicationTocFromDB()
        {
            TOCNode rootNode = await PublicationContentUtil.Instance.GetTOCByBookId(BookID);

            if (rootNode == null)
            {
                return;
            }

            List <TOCNode> nodelist = rootNode.ChildNodes;

            if (nodelist == null)
            {
                return;
            }

            if (TOCNodeList.Count > 0)
            {
                TOCNodeList.Clear();
            }
            TOCNodeList.AddRange(nodelist);

            if (RootNodeList.Count > 0)
            {
                RootNodeList.Clear();
            }
            RootNodeList.AddRange(nodelist);

            if (TOCNodeList.Any())
            {
                CurrentLevel = TOCNodeList [0].NodeLevel;
            }

            if (CurrentTocID < 0)
            {
                UpdateTOCNodeList();
                PanelController.RefreshTOCViewData();
                CurrentLeafNode = rootNode.GetFirstPage();
                StartTocID      = CurrentLeafNode.ID;
                EndTocID        = CurrentLeafNode.ID;
            }
            else
            {
                TOCNode rootTocNode    = RootNodeList[0].ParentNode;
                TOCNode currentTocNode = PublicationContentUtil.Instance.GetTOCByTOCId(CurrentTocID, rootTocNode);
                GetTOCNodeListByCurrentLeafNode(currentTocNode);
                CurrentLeafNode = currentTocNode;
                StartTocID      = CurrentTocID;
                EndTocID        = CurrentTocID;
                PanelController.RefreshTOCViewData();
                PanelController.SelectTOCRectByTocID(currentTocNode.ID);
            }
        }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="currentTOCNode">full tree node</param>
 /// <returns>null:have come to the first page</returns>
 public TOCNode GetPreviousPageByTreeNode(TOCNode currentTOCNode)
 {
     if (currentTOCNode != null)
     {
         currentTOCNode = currentTOCNode.GetFirstPage();
         if (currentTOCNode != null)
         {
             var rootNode = currentTOCNode.GetRootTOCNode();
             if (rootNode != null)
             {
                 return(publicationContentService.GetNextTOCNode(currentTOCNode.ID, currentTOCNode.ID, rootNode, false));
             }
         }
     }
     return(null);
 }
Beispiel #4
0
        public async void GetPublicationTocFromDB()
        {
            TOCNode rootNodeList = await PublicationContentUtil.Instance.GetTOCByBookId(BookID);

            CurrentLeafNode = rootNodeList.GetFirstPage();

            TOCNodeList = rootNodeList.ChildNodes;
            if (TOCNodeList != null)
            {
                RootNodeList.AddRange(TOCNodeList);
            }

            if (TOCNodeList.Any())
            {
                CurrentLevel = TOCNodeList [0].NodeLevel;
            }

            UpdateTOCNodeListAndRefreshTableView();
            PanelController.TOCController.OpenPublicationContentAtTOCNode(CurrentLeafNode);
        }