|
@@ -1,4 +1,5 @@
|
|
using ComPDFKit.PDFDocument;
|
|
using ComPDFKit.PDFDocument;
|
|
|
|
+using ComPDFKit.PDFDocument.Action;
|
|
using compdfkit_tools.PDFControlUI;
|
|
using compdfkit_tools.PDFControlUI;
|
|
using compdfkit_tools.PDFView.PDFOutline.PDFOutlineData;
|
|
using compdfkit_tools.PDFView.PDFOutline.PDFOutlineData;
|
|
using ComPDFKitViewer.PdfViewer;
|
|
using ComPDFKitViewer.PdfViewer;
|
|
@@ -26,7 +27,6 @@ namespace compdfkit_tools.PDFControl
|
|
public partial class CPDFOutlineControl : UserControl
|
|
public partial class CPDFOutlineControl : UserControl
|
|
{
|
|
{
|
|
CPDFViewer pdfViewer;
|
|
CPDFViewer pdfViewer;
|
|
- private CPDFOutline CurrentCPDFOutline { set; get; }
|
|
|
|
public ObservableCollection<CPDFOutlineNode> OutlineList
|
|
public ObservableCollection<CPDFOutlineNode> OutlineList
|
|
{
|
|
{
|
|
set; get;
|
|
set; get;
|
|
@@ -34,6 +34,40 @@ namespace compdfkit_tools.PDFControl
|
|
public CPDFOutlineControl()
|
|
public CPDFOutlineControl()
|
|
{
|
|
{
|
|
InitializeComponent();
|
|
InitializeComponent();
|
|
|
|
+ Loaded += CPDFOutlineControl_Loaded;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void CPDFOutlineControl_Loaded(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ CPDFOutlineUI.OutlineSelectionChanged -= CPDFOutlineUI_OutlineSelectionChanged;
|
|
|
|
+ CPDFOutlineUI.OutlineSelectionChanged += CPDFOutlineUI_OutlineSelectionChanged;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void CPDFOutlineUI_OutlineSelectionChanged(object sender, object e)
|
|
|
|
+ {
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ TreeViewItem new_item = (TreeViewItem)e;
|
|
|
|
+ CPDFOutline outline = (CPDFOutline)new_item.Tag;
|
|
|
|
+
|
|
|
|
+ CPDFAction action = outline.GetAction();
|
|
|
|
+ if (action != null && action.ActionType != C_ACTION_TYPE.ACTION_TYPE_UNKNOWN)
|
|
|
|
+ {
|
|
|
|
+ pdfViewer.ProcessAction(action);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ CPDFDestination dest = outline.GetDestination(pdfViewer.Document);
|
|
|
|
+ if (dest != null)
|
|
|
|
+ {
|
|
|
|
+ pdfViewer.GoToPage(dest.PageIndex);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ catch(Exception ex)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private int GetIndexFromParent(List<CPDFOutline> parentlist, CPDFOutline outline)
|
|
private int GetIndexFromParent(List<CPDFOutline> parentlist, CPDFOutline outline)
|