|
@@ -23,6 +23,7 @@ using PDF_Master.Model.AnnotPanel;
|
|
|
using PDFSettings;
|
|
|
using PDF_Master.ViewModels.Tools.AnnotManager;
|
|
|
using Prism.Common;
|
|
|
+using ComPDFKitViewer.PdfViewer;
|
|
|
|
|
|
namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
{
|
|
@@ -35,7 +36,26 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
public List<List<Point>> updatapath = new List<List<Point>>();
|
|
|
private Geometry dataPath = null;
|
|
|
private bool IsFillAndSign = false;
|
|
|
- public string Shape = "";
|
|
|
+ public string shape = "";
|
|
|
+ public string Shape
|
|
|
+ {
|
|
|
+ get { return shape; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref shape, value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public string shapeType = "";
|
|
|
+ public string ShapeType
|
|
|
+ {
|
|
|
+ get { return shapeType; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref shapeType, value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public Geometry DataPath
|
|
|
{
|
|
|
get { return dataPath; }
|
|
@@ -61,13 +81,13 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
fillAndSignContentViewModel.SelectColor = value;
|
|
|
//if (FillAndSignContentViewModel.IsEdit)
|
|
|
{
|
|
|
- PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
|
|
|
+ // PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
|
|
|
PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Color, (selectColor as SolidColorBrush).Color);
|
|
|
}
|
|
|
//else
|
|
|
{
|
|
|
- if(IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
|
|
|
-
|
|
|
+ if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -94,7 +114,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
//else
|
|
|
{
|
|
|
if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -106,7 +126,9 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
public bool IsMultiSelected
|
|
|
{
|
|
|
get { return _isMultiSelected; }
|
|
|
- set => SetProperty(ref _isMultiSelected, value);
|
|
|
+ set { SetProperty(ref _isMultiSelected, value);
|
|
|
+ if(value) { ShapeType= "General Properties"; }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private bool _isSelected = false;
|
|
@@ -115,7 +137,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
get { return _isSelected; }
|
|
|
set => SetProperty(ref _isSelected, value);
|
|
|
}
|
|
|
- private double lineWidthMultiple=1;
|
|
|
+ private double lineWidthMultiple = 1;
|
|
|
private double lineWidth = 1;
|
|
|
public double LineWidth
|
|
|
{
|
|
@@ -136,13 +158,13 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
|
|
|
PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Thickness, LineWidth * lineWidthMultiple);
|
|
|
//fillAndSignContentViewModel.LineWidthMultiple = lineWidthMultiple;
|
|
|
- //PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Path, updatapath);
|
|
|
+ //PropertyPanel.UpdateAnnotAAttrib(AnnotAttrib.Path, updatapath);
|
|
|
|
|
|
}
|
|
|
// else
|
|
|
{
|
|
|
if (IsFillAndSign) { fillAndSignContentViewModel.SetStamp(); }
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -336,7 +358,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
|
|
|
case "DotShape":
|
|
|
{
|
|
|
- fillAndSignContentViewModel.LineWidthMultiple = 5;
|
|
|
+ //fillAndSignContentViewModel.LineWidthMultiple = 5;
|
|
|
EllipseGeometry circlePath = new EllipseGeometry();
|
|
|
circlePath.RadiusX = 2.4;
|
|
|
circlePath.RadiusY = 2.4;
|
|
@@ -374,10 +396,37 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
//if (isFromToolsBtn == false)
|
|
|
// PropertyPanel.AnnotTypeChangedInvoke(this, changeData);
|
|
|
|
|
|
+ }
|
|
|
+ private string UPDateShapeType(string tag)
|
|
|
+ {
|
|
|
+ switch (tag)
|
|
|
+ {
|
|
|
+ case "DotShape":
|
|
|
+ return "Dot";
|
|
|
+ break;
|
|
|
+ case "LineShape":
|
|
|
+ return "Line";
|
|
|
+ break;
|
|
|
+ case "RectShape":
|
|
|
+ return "Rectangle";
|
|
|
+ break;
|
|
|
+ case "ForkShape":
|
|
|
+ return "Fork";
|
|
|
+ break;
|
|
|
+ case "HookShape":
|
|
|
+ return "Hook";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return "General Properties";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- private void InitSharpsType(string tag)
|
|
|
+ private void InitShapesType(string tag)
|
|
|
{
|
|
|
+ ShapeType = UPDateShapeType(tag);
|
|
|
fillAndSignContentViewModel.LineWidthMultiple = 1;
|
|
|
switch (tag)
|
|
|
{
|
|
@@ -412,7 +461,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
|
|
|
case "DotShape":
|
|
|
{
|
|
|
- fillAndSignContentViewModel.LineWidthMultiple = 5;
|
|
|
+ //fillAndSignContentViewModel.LineWidthMultiple = 5;
|
|
|
EllipseGeometry circlePath = new EllipseGeometry();
|
|
|
circlePath.RadiusX = 2.4;
|
|
|
circlePath.RadiusY = 2.4;
|
|
@@ -488,7 +537,34 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ private void BindingPDFViewerHandler()
|
|
|
+ {
|
|
|
+ //来自PDFViewer的响应事件
|
|
|
+ if (fillAndSignContentViewModel.PDFViewer != null)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ fillAndSignContentViewModel.PDFViewer.AnnotActiveHandler -= PDFViewer_AnnotActiveHandler;
|
|
|
+ fillAndSignContentViewModel.PDFViewer.AnnotActiveHandler += PDFViewer_AnnotActiveHandler;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private void UnBindingPDFViewerHandler()
|
|
|
+ {
|
|
|
+ if (fillAndSignContentViewModel.PDFViewer != null)
|
|
|
+ {
|
|
|
+ fillAndSignContentViewModel.PDFViewer.AnnotActiveHandler -= PDFViewer_AnnotActiveHandler;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private void PDFViewer_AnnotActiveHandler(object sender, AnnotAttribEvent e)
|
|
|
+ {
|
|
|
+ if (e != null) { }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (fillAndSignContentViewModel.PDFViewer.MouseMode == MouseModes.AnnotCreate) { IsSelected = true; }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
|
{
|
|
|
return true;
|
|
@@ -496,7 +572,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
|
|
|
public void OnNavigatedFrom(NavigationContext navigationContext)
|
|
|
{
|
|
|
-
|
|
|
+ UnBindingPDFViewerHandler();
|
|
|
}
|
|
|
|
|
|
public void OnNavigatedTo(NavigationContext navigationContext)
|
|
@@ -508,7 +584,8 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
bool isFillAndSign = false;
|
|
|
navigationContext.Parameters.TryGetValue<bool>("IsFillAndSign", out isFillAndSign);
|
|
|
IsFillAndSign = isFillAndSign;
|
|
|
- InitSharpsType(shape);
|
|
|
+ InitShapesType(shape);
|
|
|
+
|
|
|
//FillAndSignContentViewModel.IsEdit = false;
|
|
|
if (PropertyPanel != null)
|
|
|
{
|
|
@@ -537,7 +614,7 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
{
|
|
|
GetAnnotProperty(shape);
|
|
|
}
|
|
|
-
|
|
|
+ BindingPDFViewerHandler();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -555,11 +632,12 @@ namespace PDF_Master.ViewModels.FillAndSign.PropertyPanel
|
|
|
if (annot.PageIndex == point.PageIndex && annot.AnnotIndex == point.AnnotIndex)
|
|
|
{
|
|
|
lineWidthMultiple = 1;
|
|
|
- if (point.Shape == "DotShape") {
|
|
|
+ if (point.Shape == "DotShape")
|
|
|
+ {
|
|
|
lineWidthMultiple = 5;
|
|
|
}
|
|
|
- InitSharpsType(point.Shape);
|
|
|
- Shape=point.Shape;
|
|
|
+ InitShapesType(point.Shape);
|
|
|
+ Shape = point.Shape;
|
|
|
}
|
|
|
}
|
|
|
}
|