|
@@ -28,6 +28,7 @@ using KeyEventHandler = System.Windows.Input.KeyEventHandler;
|
|
|
using MenuItem = System.Windows.Controls.MenuItem;
|
|
|
using OpenFileDialog = Microsoft.Win32.OpenFileDialog;
|
|
|
using UserControl = System.Windows.Controls.UserControl;
|
|
|
+using System.Linq;
|
|
|
|
|
|
namespace ComPDFKit.Controls.PDFControl
|
|
|
{
|
|
@@ -54,7 +55,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
private bool textAreaCreating = false;
|
|
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
-
|
|
|
+
|
|
|
public bool CanUndo
|
|
|
{
|
|
|
get
|
|
@@ -71,7 +72,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -156,7 +157,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
PdfViewControl.PDFViewTool.GetCPDFViewer().SetIsShowStampMouse(false);
|
|
|
PdfViewControl.PDFViewTool.SelectedEditAreaForIndex(-1, -1);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public void SetViewSettings(Visibility visibility, CPDFDisplaySettingsControl displaySettingsControl = null)
|
|
|
{
|
|
|
this.PropertyContainer.Child = displaySettingsControl;
|
|
@@ -173,7 +174,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
{
|
|
|
this.displaySettingsControl = displaySettingsControl;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public void InitWithPDFViewer(PDFViewControl view)
|
|
|
{
|
|
|
PdfViewControl.PDFViewTool.GetCPDFViewer().UndoManager.PropertyChanged -= UndoManager_PropertyChanged;
|
|
@@ -204,7 +205,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
|
|
|
private void PdfViewControl_DrawChanged(object sender, EventArgs e)
|
|
|
{
|
|
|
- if(textAreaCreating && PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
|
|
|
+ if (textAreaCreating && PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
|
|
|
{
|
|
|
textAreaCreating = false;
|
|
|
int pageIndex = -1;
|
|
@@ -434,7 +435,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
PropertyContainer.Child = propertytPanel;
|
|
|
PropertyContainer.Visibility = visible;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private void PanelState_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
|
|
{
|
|
|
if (e.PropertyName == nameof(PanelState.IsLeftPanelExpand))
|
|
@@ -616,6 +617,9 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
case MouseHitTestType.ImageEdit:
|
|
|
CreateImageEditMenu(sender, ref ContextMenu);
|
|
|
break;
|
|
|
+ case MouseHitTestType.MultiTextEdit:
|
|
|
+ CreateMultiTextEditMenu(sender, ref ContextMenu);
|
|
|
+ break;
|
|
|
default:
|
|
|
ContextMenu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Paste"), Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
|
|
|
ContextMenu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_MatchPaste"), Command = CustomCommands.PasteWithoutStyle, CommandTarget = (UIElement)sender });
|
|
@@ -624,7 +628,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
PdfViewControl.SetRightMenu(ContextMenu);
|
|
|
}
|
|
|
#endregion
|
|
|
-
|
|
|
+
|
|
|
#region Property changed
|
|
|
protected void OnPropertyChanged([CallerMemberName] string name = null)
|
|
|
{
|
|
@@ -686,27 +690,36 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
PdfViewControl.PDFToolManager.SetCreateContentEditType(CPDFEditType.None);
|
|
|
}
|
|
|
|
|
|
- if(PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
|
|
|
+ if (PdfViewControl.PDFToolManager.GetCreateContentEditType() == CPDFEditType.EditText)
|
|
|
{
|
|
|
textAreaCreating = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
int pageIndex = -1;
|
|
|
- CPDFEditArea editAreaArea = PdfViewControl.PDFToolManager.GetSelectedEditAreaObject(ref pageIndex);
|
|
|
- if (editAreaArea == null)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
- else
|
|
|
+ CPDFEditArea editArea = PdfViewControl.PDFToolManager.GetSelectedEditAreaObject(ref pageIndex);
|
|
|
+ List<int> pageInts = new List<int>();
|
|
|
+ List<CPDFEditArea> editAreas = PdfViewControl.PDFToolManager.GetSelectedEditAreaListObject(ref pageInts);
|
|
|
+
|
|
|
+ if (editArea != null)
|
|
|
{
|
|
|
- if (editAreaArea.Type == CPDFEditType.EditText)
|
|
|
+ if (editArea.Type == CPDFEditType.EditText)
|
|
|
{
|
|
|
- PDFEditParam pDFEditParam = ParamConverter.CPDFDataConverterToPDFEitParam(PdfViewControl.PDFToolManager.GetDocument(), editAreaArea, pageIndex);
|
|
|
+ PDFEditParam pDFEditParam = ParamConverter.CPDFDataConverterToPDFEitParam(PdfViewControl.PDFToolManager.GetDocument(), editArea, pageIndex);
|
|
|
pdfContentEditControl.SetPDFTextEditData((TextEditParam)pDFEditParam, true);
|
|
|
PropertyContainer.Child = pdfContentEditControl;
|
|
|
}
|
|
|
- //panelState.RightPanel = PanelState.RightPanelState.PropertyPanel;
|
|
|
+ }
|
|
|
+ else if (editAreas != null && editAreas.Count != 0)
|
|
|
+ {
|
|
|
+ editAreas
|
|
|
+ .OfType<CPDFEditTextArea>()
|
|
|
+ .ToList()
|
|
|
+ .ForEach(textArea => textArea.SelectAllChars());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -725,7 +738,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
{
|
|
|
if (PdfViewControl.PDFToolManager.GetCreateContentEditType() != CPDFEditType.EditText)
|
|
|
{
|
|
|
- pdfContentEditControl.ClearContentControl();
|
|
|
+ pdfContentEditControl.ClearContentControl();
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
@@ -749,7 +762,7 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
PDFEditParam pDFEditParam = ParamConverter.CPDFDataConverterToPDFEitParam(PdfViewControl.PDFToolManager.GetDocument(), editAreaArea, pageIndex);
|
|
|
pdfContentEditControl.SetPDFImageEditData((ImageEditParam)pDFEditParam);
|
|
|
PropertyContainer.Child = pdfContentEditControl;
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -969,6 +982,14 @@ namespace ComPDFKit.Controls.PDFControl
|
|
|
menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Delete"), Command = ApplicationCommands.Delete, CommandTarget = (UIElement)sender });
|
|
|
menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Paste"), Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
|
|
|
}
|
|
|
+
|
|
|
+ private void CreateMultiTextEditMenu(object sender, ref ContextMenu menu)
|
|
|
+ {
|
|
|
+ menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Copy"), Command = ApplicationCommands.Copy, CommandTarget = (UIElement)sender });
|
|
|
+ menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Cut"), Command = ApplicationCommands.Cut, CommandTarget = (UIElement)sender });
|
|
|
+ menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Delete"), Command = ApplicationCommands.Delete, CommandTarget = (UIElement)sender });
|
|
|
+ menu.Items.Add(new MenuItem() { Header = LanguageHelper.CommonManager.GetString("Menu_Paste"), Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
#endregion
|