|
@@ -9,18 +9,11 @@ using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
-using System.Text;
|
|
|
|
-using System.Threading.Tasks;
|
|
|
|
using System.Windows;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Controls.Primitives;
|
|
using System.Windows.Controls.Primitives;
|
|
-using System.Windows.Data;
|
|
|
|
-using System.Windows.Documents;
|
|
|
|
using System.Windows.Input;
|
|
using System.Windows.Input;
|
|
-using System.Windows.Media;
|
|
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Media.Imaging;
|
|
-using System.Windows.Navigation;
|
|
|
|
-using System.Windows.Shapes;
|
|
|
|
using System.Drawing;
|
|
using System.Drawing;
|
|
using ComPDFKit.PDFPage;
|
|
using ComPDFKit.PDFPage;
|
|
using ComPDFKitViewer.PdfViewer;
|
|
using ComPDFKitViewer.PdfViewer;
|
|
@@ -79,12 +72,7 @@ namespace Forms
|
|
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
#endregion
|
|
#endregion
|
|
-
|
|
|
|
- protected void OnPropertyChanged([CallerMemberName] string name = null)
|
|
|
|
- {
|
|
|
|
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+
|
|
public MainWindow()
|
|
public MainWindow()
|
|
{
|
|
{
|
|
InitializeComponent();
|
|
InitializeComponent();
|
|
@@ -99,9 +87,20 @@ namespace Forms
|
|
fromPropertyControl = new FromPropertyControl();
|
|
fromPropertyControl = new FromPropertyControl();
|
|
LoadDefaultDocument();
|
|
LoadDefaultDocument();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private void PDFFormTool_Loaded(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ LoadPDFFormTool = true;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void PDFFormTool_Unloaded(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ LoadPDFFormTool = false;
|
|
|
|
+ }
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
- #region Open and close document
|
|
|
|
|
|
+ #region Open, save and close document
|
|
private void LoadDocument()
|
|
private void LoadDocument()
|
|
{
|
|
{
|
|
pdfViewControl.PDFView?.Load();
|
|
pdfViewControl.PDFView?.Load();
|
|
@@ -141,13 +140,64 @@ namespace Forms
|
|
pdfViewControl.PDFView.InitDocument(defaultFilePath);
|
|
pdfViewControl.PDFView.InitDocument(defaultFilePath);
|
|
LoadDocument();
|
|
LoadDocument();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public void InitialPDFViewControl(PDFViewControl newPDFViewer)
|
|
|
|
+ {
|
|
|
|
+ PDFFormTool.InitWithPDFViewer(newPDFViewer.PDFView, fromPropertyControl);
|
|
|
|
+ fromPropertyControl.SetPDFViewer(newPDFViewer.PDFView);
|
|
|
|
+ PDFFormTool.ClearAllToolState();
|
|
|
|
+ newPDFViewer.PDFView.AnnotEditHandler += PDFView_AnnotEditHandler;
|
|
|
|
+ newPDFViewer.PDFView.AnnotActiveHandler += PDFView_AnnotActiveHandler;
|
|
|
|
+ newPDFViewer.CustomSignHandle = true;
|
|
|
|
+ newPDFViewer.PDFView.WidgetClickHandler += PDFView_WidgetClickHandler;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void SaveFile()
|
|
|
|
+ {
|
|
|
|
+ if (pdfViewControl != null && pdfViewControl.PDFView != null && pdfViewControl.PDFView.Document != null)
|
|
|
|
+ {
|
|
|
|
+ CPDFDocument pdfDoc = pdfViewControl.PDFView.Document;
|
|
|
|
+ if (pdfDoc.WriteToLoadedPath())
|
|
|
|
+ {
|
|
|
|
+ pdfViewControl.PDFView.UndoManager.CanSave = false;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ SaveFileDialog saveDialog = new SaveFileDialog();
|
|
|
|
+ saveDialog.Filter = "(*.pdf)|*.pdf";
|
|
|
|
+ saveDialog.DefaultExt = ".pdf";
|
|
|
|
+ saveDialog.OverwritePrompt = true;
|
|
|
|
+
|
|
|
|
+ if (saveDialog.ShowDialog() == true)
|
|
|
|
+ {
|
|
|
|
+ pdfDoc.WriteToFilePath(saveDialog.FileName);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
+ #region Property changed
|
|
|
|
+
|
|
|
|
+ protected void OnPropertyChanged([CallerMemberName] string name = null)
|
|
|
|
+ {
|
|
|
|
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void PdfViewer_InfoChanged(object sender, KeyValuePair<string, object> e)
|
|
|
|
+ {
|
|
|
|
+ if (e.Key == "Zoom")
|
|
|
|
+ {
|
|
|
|
+ CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)((double)e.Value * 100)));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
private void UndoManager_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
|
private void UndoManager_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
|
{
|
|
{
|
|
OnPropertyChanged(e.PropertyName);
|
|
OnPropertyChanged(e.PropertyName);
|
|
}
|
|
}
|
|
|
|
+ #endregion
|
|
|
|
|
|
#region Context menu
|
|
#region Context menu
|
|
private void PDFView_AnnotCommandHandler(object sender, AnnotCommandArgs e)
|
|
private void PDFView_AnnotCommandHandler(object sender, AnnotCommandArgs e)
|
|
@@ -340,15 +390,48 @@ namespace Forms
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
+ #region Expand and collapse panel
|
|
|
|
|
|
- private void PdfViewer_InfoChanged(object sender, KeyValuePair<string, object> e)
|
|
|
|
|
|
+ private void ExpandLeftPanel(bool isExpand)
|
|
{
|
|
{
|
|
- if (e.Key == "Zoom")
|
|
|
|
|
|
+ BotaSideTool.Visibility = isExpand ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
+ Splitter.Visibility = isExpand ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
+ if (isExpand)
|
|
{
|
|
{
|
|
- CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)((double)e.Value * 100)));
|
|
|
|
|
|
+ BodyGrid.ColumnDefinitions[0].Width = new GridLength(260);
|
|
|
|
+ BodyGrid.ColumnDefinitions[1].Width = new GridLength(15);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ BodyGrid.ColumnDefinitions[0].Width = new GridLength(0);
|
|
|
|
+ BodyGrid.ColumnDefinitions[1].Width = new GridLength(0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void ExpandRightPropertyPanel(UIElement properytPanel, Visibility visible)
|
|
|
|
+ {
|
|
|
|
+ PropertyContainer.Child = properytPanel;
|
|
|
|
+ PropertyContainer.Visibility = visible;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region UI
|
|
|
|
+
|
|
|
|
+ private void UndoButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ if (pdfViewControl != null && pdfViewControl.PDFView != null)
|
|
|
|
+ {
|
|
|
|
+ pdfViewControl.PDFView.UndoManager?.Undo();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void RedoButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ if (pdfViewControl != null && pdfViewControl.PDFView != null)
|
|
|
|
+ {
|
|
|
|
+ pdfViewControl.PDFView.UndoManager?.Redo();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
private double CheckZoomLevel(double zoom, bool IsGrowth)
|
|
private double CheckZoomLevel(double zoom, bool IsGrowth)
|
|
{
|
|
{
|
|
@@ -379,8 +462,6 @@ namespace Forms
|
|
return standardZoom / 100;
|
|
return standardZoom / 100;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
private void ToolExpand_Click(object sender, RoutedEventArgs e)
|
|
private void ToolExpand_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
{
|
|
ToggleButton expandBtn = sender as ToggleButton;
|
|
ToggleButton expandBtn = sender as ToggleButton;
|
|
@@ -398,22 +479,6 @@ namespace Forms
|
|
BotaSideTool.SelectBotaTool(BOTATools.Search);
|
|
BotaSideTool.SelectBotaTool(BOTATools.Search);
|
|
}
|
|
}
|
|
|
|
|
|
- private void ExpandLeftPanel(bool isExpand)
|
|
|
|
- {
|
|
|
|
- BotaSideTool.Visibility = isExpand ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
- Splitter.Visibility = isExpand ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
- if (isExpand)
|
|
|
|
- {
|
|
|
|
- BodyGrid.ColumnDefinitions[0].Width = new GridLength(260);
|
|
|
|
- BodyGrid.ColumnDefinitions[1].Width = new GridLength(15);
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- BodyGrid.ColumnDefinitions[0].Width = new GridLength(0);
|
|
|
|
- BodyGrid.ColumnDefinitions[1].Width = new GridLength(0);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private void ViewSettingBtn_Click(object sender, RoutedEventArgs e)
|
|
private void ViewSettingBtn_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
{
|
|
ToggleButton toggleButton = sender as ToggleButton;
|
|
ToggleButton toggleButton = sender as ToggleButton;
|
|
@@ -445,14 +510,12 @@ namespace Forms
|
|
{
|
|
{
|
|
if (toggleButton.IsChecked == true)
|
|
if (toggleButton.IsChecked == true)
|
|
{
|
|
{
|
|
- //if (pdfAnnotationControl != null)
|
|
|
|
- //{
|
|
|
|
|
|
+
|
|
ExpandRightPropertyPanel(fromPropertyControl, Visibility.Visible);
|
|
ExpandRightPropertyPanel(fromPropertyControl, Visibility.Visible);
|
|
if ((bool)ViewSettingBtn.IsChecked)
|
|
if ((bool)ViewSettingBtn.IsChecked)
|
|
{
|
|
{
|
|
ViewSettingBtn.IsChecked = false;
|
|
ViewSettingBtn.IsChecked = false;
|
|
}
|
|
}
|
|
- //}
|
|
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -479,12 +542,6 @@ namespace Forms
|
|
PopupBorder.Visibility = Visibility.Visible;
|
|
PopupBorder.Visibility = Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
|
|
- public void ExpandRightPropertyPanel(UIElement properytPanel, Visibility visible)
|
|
|
|
- {
|
|
|
|
- PropertyContainer.Child = properytPanel;
|
|
|
|
- PropertyContainer.Visibility = visible;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private void FileInfoCloseBtn_Click(object sender, RoutedEventArgs e)
|
|
private void FileInfoCloseBtn_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
{
|
|
PopupBorder.Visibility = Visibility.Collapsed;
|
|
PopupBorder.Visibility = Visibility.Collapsed;
|
|
@@ -583,8 +640,9 @@ namespace Forms
|
|
Process.Start("explorer", "/select,\"" + openPath + "\"");
|
|
Process.Start("explorer", "/select,\"" + openPath + "\"");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ #endregion
|
|
|
|
|
|
- #region Selection changed]
|
|
|
|
|
|
+ #region Selection changed
|
|
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
{
|
|
SetFromMode();
|
|
SetFromMode();
|
|
@@ -636,17 +694,7 @@ namespace Forms
|
|
|
|
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
- public void InitialPDFViewControl(PDFViewControl newPDFViewer)
|
|
|
|
- {
|
|
|
|
- PDFFormTool.InitWithPDFViewer(newPDFViewer.PDFView, fromPropertyControl);
|
|
|
|
- fromPropertyControl.SetPDFViewer(newPDFViewer.PDFView);
|
|
|
|
- PDFFormTool.ClearAllToolState();
|
|
|
|
- newPDFViewer.PDFView.AnnotEditHandler += PDFView_AnnotEditHandler;
|
|
|
|
- newPDFViewer.PDFView.AnnotActiveHandler += PDFView_AnnotActiveHandler;
|
|
|
|
- newPDFViewer.CustomSignHandle = true;
|
|
|
|
- newPDFViewer.PDFView.WidgetClickHandler += PDFView_WidgetClickHandler;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ #region Event handle
|
|
private void PDFView_WidgetClickHandler(object sender, WidgetArgs e)
|
|
private void PDFView_WidgetClickHandler(object sender, WidgetArgs e)
|
|
{
|
|
{
|
|
if (e is WidgetSignArgs)
|
|
if (e is WidgetSignArgs)
|
|
@@ -750,41 +798,9 @@ namespace Forms
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ #endregion
|
|
|
|
|
|
- private void PDFFormTool_Loaded(object sender, RoutedEventArgs e)
|
|
|
|
- {
|
|
|
|
- LoadPDFFormTool = true;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private void PDFFormTool_Unloaded(object sender, RoutedEventArgs e)
|
|
|
|
- {
|
|
|
|
- LoadPDFFormTool = false;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private void SaveFile()
|
|
|
|
- {
|
|
|
|
- if (pdfViewControl != null && pdfViewControl.PDFView != null && pdfViewControl.PDFView.Document != null)
|
|
|
|
- {
|
|
|
|
- CPDFDocument pdfDoc = pdfViewControl.PDFView.Document;
|
|
|
|
- if (pdfDoc.WriteToLoadedPath())
|
|
|
|
- {
|
|
|
|
- pdfViewControl.PDFView.UndoManager.CanSave = false;
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- SaveFileDialog saveDialog = new SaveFileDialog();
|
|
|
|
- saveDialog.Filter = "(*.pdf)|*.pdf";
|
|
|
|
- saveDialog.DefaultExt = ".pdf";
|
|
|
|
- saveDialog.OverwritePrompt = true;
|
|
|
|
-
|
|
|
|
- if (saveDialog.ShowDialog() == true)
|
|
|
|
- {
|
|
|
|
- pdfDoc.WriteToFilePath(saveDialog.FileName);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ #region Close window
|
|
protected override void OnClosing(CancelEventArgs e)
|
|
protected override void OnClosing(CancelEventArgs e)
|
|
{
|
|
{
|
|
if (pdfViewControl.PDFView.UndoManager.CanSave)
|
|
if (pdfViewControl.PDFView.UndoManager.CanSave)
|
|
@@ -804,21 +820,6 @@ namespace Forms
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- private void UndoButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
- {
|
|
|
|
- if (pdfViewControl != null && pdfViewControl.PDFView != null)
|
|
|
|
- {
|
|
|
|
- pdfViewControl.PDFView.UndoManager?.Undo();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private void RedoButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
- {
|
|
|
|
- if (pdfViewControl != null && pdfViewControl.PDFView != null)
|
|
|
|
- {
|
|
|
|
- pdfViewControl.PDFView.UndoManager?.Redo();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ #endregion
|
|
}
|
|
}
|
|
}
|
|
}
|