private void GotoBookmark(TreeNode node) { if (node != null && node.Tag != null) { PDFBookmark bookmark = (PDFBookmark)node.Tag; DoAction("GotoBookmark", bookmark); } }
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 }
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); } }
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; } }
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; }