|
@@ -1,6 +1,7 @@
|
|
|
using ComPDFKit.Measure;
|
|
|
using Compdfkit_Tools.Helper;
|
|
|
using Compdfkit_Tools.PDFControl;
|
|
|
+using ComPDFKitViewer;
|
|
|
using ComPDFKitViewer.AnnotEvent;
|
|
|
using ComPDFKitViewer.PdfViewer;
|
|
|
using System;
|
|
@@ -35,6 +36,8 @@ namespace Compdfkit_Tools.Measure
|
|
|
|
|
|
private PanelState panelState = PanelState.GetInstance();
|
|
|
|
|
|
+ public event EventHandler ExpandEvent;
|
|
|
+
|
|
|
public MeasureControl()
|
|
|
{
|
|
|
InitializeComponent();
|
|
@@ -59,8 +62,53 @@ namespace Compdfkit_Tools.Measure
|
|
|
panelState.PropertyChanged += PanelState_PropertyChanged;
|
|
|
pdfViewControl.PDFView.AnnotActiveHandler -= PDFView_AnnotActiveHandler;
|
|
|
pdfViewControl.PDFView.AnnotActiveHandler += PDFView_AnnotActiveHandler;
|
|
|
+ pdfViewControl.PDFView.AnnotCommandHandler -= PDFView_AnnotCommandHandler;
|
|
|
+ pdfViewControl.PDFView.AnnotCommandHandler += PDFView_AnnotCommandHandler;
|
|
|
}
|
|
|
|
|
|
+ private void PDFView_AnnotCommandHandler(object sender, AnnotCommandArgs e)
|
|
|
+ {
|
|
|
+ switch (e.CommandType)
|
|
|
+ {
|
|
|
+ case CommandType.Context:
|
|
|
+ e.Handle = true;
|
|
|
+ if (e.CommandTarget == TargetType.Annot)
|
|
|
+ {
|
|
|
+ e.Handle = true;
|
|
|
+ e.PopupMenu = new ContextMenu();
|
|
|
+ if (e.PressOnAnnot)
|
|
|
+ {
|
|
|
+ e.PopupMenu.Items.Add(new MenuItem() { Header = "Delete", Command = ApplicationCommands.Delete, CommandTarget = (UIElement)sender });
|
|
|
+ MenuItem menuItem = new MenuItem();
|
|
|
+ menuItem.Header = "Measure Setting";
|
|
|
+ menuItem.Click += (item, param) =>
|
|
|
+ {
|
|
|
+ SettingPanel.BindMeasureSetting();
|
|
|
+ SetInfoPanelVisble(false, true);
|
|
|
+ };
|
|
|
+
|
|
|
+ MenuItem propertyItem = new MenuItem();
|
|
|
+ propertyItem.Header = "Property Setting";
|
|
|
+ propertyItem.Click += (item, param) =>
|
|
|
+ {
|
|
|
+ ExpandEvent?.Invoke(this, new EventArgs());
|
|
|
+ };
|
|
|
+ e.PopupMenu.Items.Add(menuItem);
|
|
|
+ e.PopupMenu.Items.Add(propertyItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ case CommandType.Delete:
|
|
|
+ e.DoCommand();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private void PDFView_AnnotActiveHandler(object sender, AnnotAttribEvent e)
|
|
|
{
|
|
|
if (e == null || e.IsAnnotCreateReset)
|
|
@@ -188,18 +236,19 @@ namespace Compdfkit_Tools.Measure
|
|
|
|
|
|
private void MeasureInfoPanel_SettingClick(object sender, EventArgs e)
|
|
|
{
|
|
|
+ SettingPanel.ReturnToInfoPanel = true;
|
|
|
SetInfoPanelVisble(false, true);
|
|
|
SettingPanel.BindMeasureSetting();
|
|
|
}
|
|
|
|
|
|
private void SettingPanel_CancelEvent(object sender, EventArgs e)
|
|
|
{
|
|
|
- SetInfoPanelVisble(true, false);
|
|
|
+ SetInfoPanelVisble(SettingPanel.ReturnToInfoPanel, false);
|
|
|
}
|
|
|
|
|
|
private void SettingPanel_DoneEvent(object sender, EventArgs e)
|
|
|
{
|
|
|
- SetInfoPanelVisble(true, false);
|
|
|
+ SetInfoPanelVisble(SettingPanel.ReturnToInfoPanel, false);
|
|
|
}
|
|
|
|
|
|
public void SetInfoPanelVisble(bool measureInfo, bool measureSetting)
|