|
@@ -224,12 +224,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// 高亮注释
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetHighLight(TextHighlightAnnotArgs selectedhighlightArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetHighLight(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
TextHighlightAnnotArgs highlightArgs = null;
|
|
|
|
|
|
- if (selectedhighlightArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
highlightArgs = new TextHighlightAnnotArgs();
|
|
|
highlightArgs.Color = Color.FromRgb(0xFF, 0xBB, 0x00);
|
|
@@ -241,21 +241,24 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
highlightArgs.Transparency = annotProperty.Opacity;
|
|
|
highlightArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (highlightArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(highlightArgs);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- highlightArgs = selectedhighlightArgs;
|
|
|
+ highlightArgs = selectedArgs[0] as TextHighlightAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = highlightArgs.Color;
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = highlightArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = highlightArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> highlightArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (highlightArgs != null)
|
|
|
- highlightArgsList.Add(highlightArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("TextAnnotProperty", "HighLight", highlightArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("TextAnnotProperty", "HighLight", selectedArgs, annotAttribsList);
|
|
|
return highlightArgs;
|
|
|
}
|
|
|
|
|
@@ -265,7 +268,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// <param name="selectedLinkAnnotArgs"></param>
|
|
|
/// <param name="annotAttribEvent"></param>
|
|
|
/// <returns></returns>
|
|
|
- public AnnotHandlerEventArgs GetLink(LinkAnnotArgs selectedLinkAnnotArgs = null, AnnotAttribEvent annotAttribEvent = null)
|
|
|
+ public AnnotHandlerEventArgs GetLink(List<AnnotHandlerEventArgs> selectedArgs = null, AnnotAttribEvent annotAttribEvent = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
LinkAnnotArgs linkArgs = new LinkAnnotArgs();
|
|
@@ -274,9 +277,14 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
{
|
|
|
}
|
|
|
|
|
|
- if (selectedLinkAnnotArgs != null)
|
|
|
+
|
|
|
+ if (selectedArgs != null && selectedArgs.Count > 1)
|
|
|
{
|
|
|
- linkArgs = selectedLinkAnnotArgs;
|
|
|
+ if (linkArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(linkArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -289,11 +297,8 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
annotAttribsList[AnnotAttrib.LinkUri] = linkArgs.URI;
|
|
|
annotAttribsList[AnnotAttrib.LinkDestIndx] = linkArgs.DestIndex;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> linkArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (linkArgs != null)
|
|
|
- linkArgsList.Add(linkArgs);
|
|
|
|
|
|
- AddToPropertyPanel("LinkAnnotProperty", "Link", linkArgsList, annotAttribsList, annotAttribEvent);
|
|
|
+ AddToPropertyPanel("LinkAnnotProperty", "Link", selectedArgs, annotAttribsList, annotAttribEvent);
|
|
|
return linkArgs;
|
|
|
}
|
|
|
|
|
@@ -302,12 +307,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedunderlineArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetUnderLine(TextUnderlineAnnotArgs selectedunderlineArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetUnderLine(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
TextUnderlineAnnotArgs underlineArgs = null;
|
|
|
|
|
|
- if (selectedunderlineArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
underlineArgs = new TextUnderlineAnnotArgs();
|
|
|
underlineArgs.Color = Color.FromRgb(0x12, 0xFD, 0xFF);
|
|
@@ -319,21 +324,23 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
underlineArgs.Transparency = annotProperty.Opacity;
|
|
|
underlineArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (underlineArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(underlineArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- underlineArgs = selectedunderlineArgs;
|
|
|
+ underlineArgs = selectedArgs[0] as TextUnderlineAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = underlineArgs.Color;
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = underlineArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = underlineArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> underlineArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (underlineArgs != null)
|
|
|
- underlineArgsList.Add(underlineArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("TextAnnotProperty", "UnderLine", underlineArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("TextAnnotProperty", "UnderLine", selectedArgs, annotAttribsList);
|
|
|
return underlineArgs;
|
|
|
}
|
|
|
|
|
@@ -342,12 +349,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedsquigglyArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetSquiggly(TextSquigglyAnnotArgs selectedsquigglyArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetSquiggly(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
TextSquigglyAnnotArgs squigglyArgs = null;
|
|
|
|
|
|
- if (selectedsquigglyArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
squigglyArgs = new TextSquigglyAnnotArgs();
|
|
|
squigglyArgs.Color = Color.FromRgb(0xFF, 0x87, 0x16);
|
|
@@ -359,21 +366,23 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
squigglyArgs.Transparency = annotProperty.Opacity;
|
|
|
squigglyArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (squigglyArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(squigglyArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- squigglyArgs = selectedsquigglyArgs;
|
|
|
+ squigglyArgs = selectedArgs[0] as TextSquigglyAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = squigglyArgs.Color;
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = squigglyArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = squigglyArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> squigglyArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (squigglyArgs != null)
|
|
|
- squigglyArgsList.Add(squigglyArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("TextAnnotProperty", "Squiggly", squigglyArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("TextAnnotProperty", "Squiggly", selectedArgs, annotAttribsList);
|
|
|
return squigglyArgs;
|
|
|
}
|
|
|
|
|
@@ -382,12 +391,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedstrikeoutArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetStrikeout(TextStrikeoutAnnotArgs selectedstrikeoutArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetStrikeout(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
TextStrikeoutAnnotArgs strikeoutArgs = null;
|
|
|
|
|
|
- if (selectedstrikeoutArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
strikeoutArgs = new TextStrikeoutAnnotArgs();
|
|
|
strikeoutArgs.Color = Color.FromRgb(0xFF, 0x3B, 0x30);
|
|
@@ -399,21 +408,23 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
strikeoutArgs.Transparency = annotProperty.Opacity;
|
|
|
strikeoutArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (strikeoutArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(strikeoutArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- strikeoutArgs = selectedstrikeoutArgs;
|
|
|
+ strikeoutArgs = selectedArgs[0] as TextStrikeoutAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = strikeoutArgs.Color;
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = strikeoutArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = strikeoutArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> strikeoutArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (strikeoutArgs != null)
|
|
|
- strikeoutArgsList.Add(strikeoutArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("TextAnnotProperty", "Strikeout", strikeoutArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("TextAnnotProperty", "Strikeout", selectedArgs, annotAttribsList);
|
|
|
return strikeoutArgs;
|
|
|
}
|
|
|
|
|
@@ -422,12 +433,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedfreehandArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetFreehand(FreehandAnnotArgs selectedfreehandArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetFreehand(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
FreehandAnnotArgs freehandArgs = null;
|
|
|
|
|
|
- if (selectedfreehandArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
freehandArgs = new FreehandAnnotArgs();
|
|
|
freehandArgs.InkColor = Color.FromRgb(0x38, 0xE0, 0x2E);
|
|
@@ -441,10 +452,16 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
freehandArgs.LineWidth = annotProperty.Thickness;
|
|
|
freehandArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (freehandArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(freehandArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- freehandArgs = selectedfreehandArgs;
|
|
|
+ freehandArgs = selectedArgs[0] as FreehandAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = freehandArgs.InkColor;
|
|
@@ -452,11 +469,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
annotAttribsList[AnnotAttrib.Thickness] = freehandArgs.LineWidth;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = freehandArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> freehandArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (freehandArgs != null)
|
|
|
- freehandArgsList.Add(freehandArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("FreehandAnnotProperty", "Freehand", freehandArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("FreehandAnnotProperty", "Freehand", selectedArgs, annotAttribsList);
|
|
|
return freehandArgs;
|
|
|
}
|
|
|
|
|
@@ -465,13 +478,13 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedfreetextArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetFreetext(FreeTextAnnotArgs selectedfreetextArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetFreetext(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
FreeTextAnnotArgs freetextArgs = null;
|
|
|
TextAlignment textAlignment;
|
|
|
|
|
|
- if (selectedfreetextArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
freetextArgs = new FreeTextAnnotArgs();
|
|
|
freetextArgs.Align = TextAlignment.Left;
|
|
@@ -508,10 +521,16 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
textAlignment = TextAlignment.Center;
|
|
|
else
|
|
|
textAlignment = TextAlignment.Right;
|
|
|
+
|
|
|
+ if (freetextArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(freetextArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- freetextArgs = selectedfreetextArgs;
|
|
|
+ freetextArgs = selectedArgs[0] as FreeTextAnnotArgs;
|
|
|
textAlignment = freetextArgs.Align;
|
|
|
}
|
|
|
|
|
@@ -527,11 +546,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
annotAttribsList[AnnotAttrib.TextAlign] = textAlignment;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = freetextArgs.TextContent;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> freetextArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (freetextArgs != null)
|
|
|
- freetextArgsList.Add(freetextArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("FreetextAnnotProperty", "Freetext", freetextArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("FreetextAnnotProperty", "Freetext", selectedArgs, annotAttribsList);
|
|
|
return freetextArgs;
|
|
|
}
|
|
|
|
|
@@ -540,12 +555,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedStickyArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetStickyNote(StickyAnnotArgs selectedStickyArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetStickyNote(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
StickyAnnotArgs stickyAnnotArgs = new StickyAnnotArgs();
|
|
|
|
|
|
- if (selectedStickyArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
stickyAnnotArgs.Color = Color.FromRgb(0xFF, 0x81, 0x33);
|
|
|
stickyAnnotArgs.StickyNote = string.Empty;
|
|
@@ -557,10 +572,16 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
stickyAnnotArgs.StickyNote = annotProperty.NoteText;
|
|
|
stickyAnnotArgs.Transparency = annotProperty.Opacity;
|
|
|
}
|
|
|
+
|
|
|
+ if (stickyAnnotArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(stickyAnnotArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- stickyAnnotArgs = selectedStickyArgs;
|
|
|
+ stickyAnnotArgs = selectedArgs[0] as StickyAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = stickyAnnotArgs.Color;
|
|
@@ -572,7 +593,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
if (stickyAnnotArgs != null)
|
|
|
stickyAnnotArgsList.Add(stickyAnnotArgs);
|
|
|
|
|
|
- AddToPropertyPanel("StickyNoteProperty", "StickyNote", stickyAnnotArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("StickyNoteProperty", "StickyNote", selectedArgs, annotAttribsList);
|
|
|
return stickyAnnotArgs;
|
|
|
}
|
|
|
|
|
@@ -581,12 +602,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedsquareArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetRect(SquareAnnotArgs selectedsquareArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetRect(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
SquareAnnotArgs squareArgs = null;
|
|
|
|
|
|
- if (selectedsquareArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
squareArgs = new SquareAnnotArgs();
|
|
|
|
|
@@ -619,10 +640,16 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
squareArgs.Transparency = annotProperty.Opacity;
|
|
|
squareArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (squareArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(squareArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- squareArgs = selectedsquareArgs;
|
|
|
+ squareArgs = selectedArgs[0] as SquareAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = squareArgs.LineColor;
|
|
@@ -632,11 +659,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = squareArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = squareArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> squareArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (squareArgs != null)
|
|
|
- squareArgsList.Add(squareArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("SharpsAnnotProperty", "Rect", squareArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("SharpsAnnotProperty", "Rect", selectedArgs, annotAttribsList);
|
|
|
return squareArgs;
|
|
|
}
|
|
|
|
|
@@ -645,12 +668,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// </summary>
|
|
|
/// <param name="selectedcircleAnnotArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetCircle(CircleAnnotArgs selectedcircleAnnotArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetCircle(List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
CircleAnnotArgs circleAnnotArgs = null;
|
|
|
|
|
|
- if (selectedcircleAnnotArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
circleAnnotArgs = new CircleAnnotArgs();
|
|
|
circleAnnotArgs.LineColor = Colors.Red;
|
|
@@ -681,10 +704,16 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
circleAnnotArgs.Transparency = annotProperty.Opacity;
|
|
|
circleAnnotArgs.Content = annotProperty.NoteText;
|
|
|
}
|
|
|
+
|
|
|
+ if (circleAnnotArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(circleAnnotArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- circleAnnotArgs = selectedcircleAnnotArgs;
|
|
|
+ circleAnnotArgs = selectedArgs[0] as CircleAnnotArgs;
|
|
|
}
|
|
|
|
|
|
annotAttribsList[AnnotAttrib.Color] = circleAnnotArgs.LineColor;
|
|
@@ -694,11 +723,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = circleAnnotArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = circleAnnotArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> circleAnnotArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (circleAnnotArgs != null)
|
|
|
- circleAnnotArgsList.Add(circleAnnotArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("SharpsAnnotProperty", "Circle", circleAnnotArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("SharpsAnnotProperty", "Circle", selectedArgs, annotAttribsList);
|
|
|
return circleAnnotArgs;
|
|
|
}
|
|
|
|
|
@@ -708,12 +733,12 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
/// <param name="TagStr"></param>
|
|
|
/// <param name="selectedLineAnnotArgs"></param>
|
|
|
/// <returns></returns>
|
|
|
- private AnnotHandlerEventArgs GetArrowLine(string TagStr, LineAnnotArgs selectedLineAnnotArgs = null)
|
|
|
+ private AnnotHandlerEventArgs GetArrowLine(string TagStr, List<AnnotHandlerEventArgs> selectedArgs = null)
|
|
|
{
|
|
|
Dictionary<AnnotAttrib, object> annotAttribsList = new Dictionary<AnnotAttrib, object>();
|
|
|
LineAnnotArgs lineArgs = new LineAnnotArgs();
|
|
|
|
|
|
- if (selectedLineAnnotArgs == null)
|
|
|
+ if (selectedArgs == null || selectedArgs.Count == 0)
|
|
|
{
|
|
|
lineArgs.LineColor = Colors.Red;
|
|
|
lineArgs.HeadLineType = C_LINE_TYPE.LINETYPE_NONE;
|
|
@@ -729,10 +754,16 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
lineArgs.LineWidth = 1;
|
|
|
lineArgs.Transparency = 1;
|
|
|
lineArgs.Content = string.Empty;
|
|
|
+
|
|
|
+ if (lineArgs != null)
|
|
|
+ {
|
|
|
+ selectedArgs = new List<AnnotHandlerEventArgs>();
|
|
|
+ selectedArgs.Add(lineArgs);
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- lineArgs = selectedLineAnnotArgs;
|
|
|
+ lineArgs = selectedArgs[0] as LineAnnotArgs;
|
|
|
}
|
|
|
|
|
|
DefaultAnnotProperty annotProperty = null;
|
|
@@ -774,11 +805,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
annotAttribsList[AnnotAttrib.Transparency] = lineArgs.Transparency;
|
|
|
annotAttribsList[AnnotAttrib.NoteText] = lineArgs.Content;
|
|
|
|
|
|
- List<AnnotHandlerEventArgs> lineArgsList = new List<AnnotHandlerEventArgs>();
|
|
|
- if (lineArgs != null)
|
|
|
- lineArgsList.Add(lineArgs);
|
|
|
-
|
|
|
- AddToPropertyPanel("SharpsAnnotProperty", TagStr, lineArgsList, annotAttribsList);
|
|
|
+ AddToPropertyPanel("SharpsAnnotProperty", TagStr, selectedArgs, annotAttribsList);
|
|
|
return lineArgs;
|
|
|
}
|
|
|
|
|
@@ -849,6 +876,7 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
|
|
|
SnapshotEditMenuViewModel.SnapToolArgs = snapshotArgs;
|
|
|
SnapshotEditMenuViewModel.PDFViewer = PDFViewer;
|
|
|
+ SnapshotEditMenuViewModel.SnapToolEvent -= SnapshotEditMenuViewModel_SnapToolEvent;
|
|
|
SnapshotEditMenuViewModel.SnapToolEvent += SnapshotEditMenuViewModel_SnapToolEvent;
|
|
|
|
|
|
#region to do
|
|
@@ -879,22 +907,33 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
|
|
|
if (annots != null)
|
|
|
{
|
|
|
- if (annots.Count > 1)
|
|
|
- {
|
|
|
- propertyPanel.annotlists = annots;
|
|
|
- propertyPanel.annot = annots[0];
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- propertyPanel.annot = annots[0];
|
|
|
- }
|
|
|
+ propertyPanel.annotlists = annots;
|
|
|
+ propertyPanel.annot = annots[0];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ propertyPanel.annotlists = null;
|
|
|
+ propertyPanel.annot = null;
|
|
|
}
|
|
|
|
|
|
if (annotAttribsList != null)
|
|
|
{
|
|
|
- AnnotHandlerEventArgs annot = annots[0];
|
|
|
- propertyPanel.AnnotEvent = AnnotAttribEvent.GetAnnotAttribEvent(annot, annotAttribsList);
|
|
|
- if (annot is LinkAnnotArgs && annotAttribEvent != null)
|
|
|
+ if(annots.Count > 1)
|
|
|
+ {
|
|
|
+ if (propertyPanel.AnnotEvents == null)
|
|
|
+ propertyPanel.AnnotEvents = new List<AnnotAttribEvent>();
|
|
|
+
|
|
|
+ propertyPanel.AnnotEvents.Clear();
|
|
|
+
|
|
|
+ foreach (var itemAnnot in annots)
|
|
|
+ {
|
|
|
+ var eventitem = AnnotAttribEvent.GetAnnotAttribEvent(itemAnnot, annotAttribsList);
|
|
|
+ propertyPanel.AnnotEvents.Add(eventitem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ propertyPanel.AnnotEvent = AnnotAttribEvent.GetAnnotAttribEvent(annots[0], annotAttribsList);
|
|
|
+ if (annots[0] is LinkAnnotArgs && annotAttribEvent != null)
|
|
|
{
|
|
|
propertyPanel.AnnotEvent = annotAttribEvent;
|
|
|
}
|
|
@@ -1280,7 +1319,9 @@ namespace PDF_Office.ViewModels.Tools
|
|
|
linkArgs.DestIndex = annotCommand.PageIndex;
|
|
|
PDFViewer.CreatePageAnnot(annotCommand.PageIndex, linkArgs);
|
|
|
BtnLinkIsChecked = true;
|
|
|
- AnnotHandlerEventArgs annotArgs = GetLink(linkArgs);
|
|
|
+ List<AnnotHandlerEventArgs> lists = new List<AnnotHandlerEventArgs>();
|
|
|
+ lists.Add(linkArgs);
|
|
|
+ AnnotHandlerEventArgs annotArgs = GetLink(lists);
|
|
|
PDFViewer.SetMouseMode(MouseModes.AnnotCreate);
|
|
|
PDFViewer.SetToolParam(annotArgs);
|
|
|
viewContentViewModel.IsPropertyOpen = true;
|