Exemple #1
0
 private void GotoBookmark(TreeNode node)
 {
     if (node != null && node.Tag != null)
     {
         PDFBookmark bookmark = (PDFBookmark)node.Tag;
         DoAction("GotoBookmark", bookmark);
     }
 }
Exemple #2
0
    void BookmarkAPI(PDFDocument document)
    {
        Debug.Log("BOOKMARK API-------------------------");

        PDFBookmark rootBookmark = document.GetRootBookmark();

        OutputBookmarks(rootBookmark, 0);
    }
        public void OnDocumentLoaded(PDFDocument document)
        {
#if !UNITY_WEBGL
            if (!m_Loaded && gameObject.activeInHierarchy)
            {
                m_Loaded   = true;
                m_Document = document;

                m_TopLevelItems = new List <RectTransform>();

                m_RectTransform = transform as RectTransform;
                m_LeftPanel     = transform.parent as RectTransform;

                PDFViewer   viewer       = GetComponentInParent <PDFViewer>();
                PDFBookmark rootBookmark = m_Document.GetRootBookmark(viewer);

                if (rootBookmark != null)
                {
                    m_ItemPrefab.gameObject.SetActive(true);

                    foreach (PDFBookmark child in rootBookmark.EnumerateChildrenBookmarks())
                    {
                        PDFBookmarkListItem item = null;

                        item = Instantiate(m_ItemPrefab.gameObject).GetComponent <PDFBookmarkListItem>();
                        RectTransform itemTransform = item.transform as RectTransform;
                        itemTransform.SetParent(m_BooksmarksContainer, false);
                        itemTransform.localScale = Vector3.one;
                        itemTransform.anchorMin  = new Vector2(0.0f, 1.0f);
                        itemTransform.anchorMax  = new Vector2(0.0f, 1.0f);
                        itemTransform.offsetMin  = Vector2.zero;
                        itemTransform.offsetMax  = Vector2.zero;

                        m_TopLevelItems.Add(item.transform as RectTransform);

                        item.Initilize(child, 0, false);
                    }

                    m_ItemPrefab.gameObject.SetActive(false);

                    m_Initialized = true;

                    if (GetComponentInParent <PDFViewerLeftPanel>().m_Thumbnails.gameObject.GetComponent <CanvasGroup>().alpha == 0.0f)
                    {
                        StartCoroutine(DelayedShow());
                    }
                }
            }
#endif
        }
Exemple #4
0
    void OutputBookmarks(PDFBookmark bookmark, int indent)
    {
        string line = "";

        for (int i = 0; i < indent; ++i)
        {
            line += "    ";
        }
        line += bookmark.GetTitle();
        Debug.Log(line);

        foreach (PDFBookmark child in bookmark.EnumerateChildrenBookmarks())
        {
            OutputBookmarks(child, indent + 1);
        }
    }
Exemple #5
0
        private void _pagesControl_Action(object sender, ActionEventArgs e)
        {
            switch (e.Action)
            {
            case "PageNumberChanged":
                GotoPage((int)e.Data, true);
                break;

            case "GotoBookmark":
                PDFBookmark bookmark = (PDFBookmark)e.Data;
                GotoLink(bookmark.TargetPageNumber, bookmark.TargetPageFitType, bookmark.TargetZoomPercent);
                break;

            default:
                break;
            }
        }
Exemple #6
0
        public void Initilize(PDFBookmark bookmark, int indent, bool lastSibling)
        {
            m_ChildrenItems = new List <PDFBookmarkListItem>();

            m_IsLastSibling = lastSibling;
            m_PDFBookmark   = bookmark;
            m_HorizontalLine.gameObject.SetActive(true);
            m_VerticalLine.gameObject.SetActive(false);
            m_VerticalLine2.gameObject.SetActive(true);
            m_ExpandImage.gameObject.SetActive(true);

            if (m_PDFBookmark.IsTopLevelBookmark && m_PDFBookmark.ChildCount == 0)
            {
                m_HorizontalLine.gameObject.SetActive(false);
                m_ExpandImage.gameObject.SetActive(false);
            }
            else if (m_PDFBookmark.ChildCount > 0)
            {
                m_HorizontalLine.gameObject.SetActive(true);
                m_ExpandImage.gameObject.SetActive(true);
            }
            else if (!m_PDFBookmark.IsTopLevelBookmark)
            {
                m_HorizontalLine.gameObject.SetActive(true);
                m_HorizontalLine.offsetMin = new Vector2(m_HorizontalLine.offsetMin.x + 6, m_HorizontalLine.offsetMin.y);
                if (!m_IsLastSibling)
                {
                    m_VerticalLine2.gameObject.SetActive(true);
                }
                m_ExpandImage.gameObject.SetActive(false);
            }

            m_Title.text = m_PDFBookmark.GetTitle();

            name = m_Title.text.Substring(0, Mathf.Min(24, m_Title.text.Length));

            for (int i = 0; i < m_PDFBookmark.ChildCount; ++i)
            {
                PDFBookmark child = m_PDFBookmark.GetChild(i);

                PDFBookmarkListItem item = Instantiate(gameObject).GetComponent <PDFBookmarkListItem>();
                m_ChildrenItems.Add(item);

                RectTransform itemTransform = item.transform as RectTransform;
                itemTransform.SetParent(transform.parent, false);
                itemTransform.localScale = Vector3.one;
                itemTransform.anchorMin  = new Vector2(0.0f, 1.0f);
                itemTransform.anchorMax  = new Vector2(0.0f, 1.0f);
                itemTransform.offsetMin  = Vector2.zero;
                itemTransform.offsetMax  = Vector2.zero;

                item.Initilize(child, indent + 1, i == m_PDFBookmark.ChildCount - 1);

                if (indent == 0)
                {
                    StartCoroutine(SetVisible());
                    item.m_CanvasGroup.alpha = 0.0f;
                }
            }

            for (int i = 0; i < m_ChildrenItems.Count - 1; ++i)
            {
                m_ChildrenItems[i].m_NextSibling = m_ChildrenItems[i + 1].gameObject.transform as RectTransform;
            }

            m_Internal.offsetMin = new Vector2(20.0f * indent, m_Internal.offsetMin.y);
            m_Initialized        = true;
            m_SizeAdjusted       = 1;
        }