|
@@ -18,6 +18,8 @@ using System.Windows.Controls;
|
|
|
using System.Windows.Controls.Primitives;
|
|
|
using System.Windows.Input;
|
|
|
using System.Windows.Media.Imaging;
|
|
|
+using Compdfkit_Tools.PDFView;
|
|
|
+
|
|
|
namespace FormViewControl
|
|
|
{
|
|
|
/// <summary>
|
|
@@ -28,9 +30,12 @@ namespace FormViewControl
|
|
|
private PDFViewControl pdfViewer;
|
|
|
private PDFViewControl passwordViewer;
|
|
|
private FormControl formControl = new FormControl();
|
|
|
+ private RegularViewerControl regularViewerControl = new RegularViewerControl();
|
|
|
+ private CPDFDisplaySettingsControl displaySettingsControl = new CPDFDisplaySettingsControl();
|
|
|
private CPDFBOTABarControl botaBarControl = new CPDFBOTABarControl(BOTATools.Thumbnail | BOTATools.Outline | BOTATools.Bookmark | BOTATools.Search | BOTATools.Annotation);
|
|
|
-
|
|
|
+ private PanelState panelState = PanelState.GetInstance();
|
|
|
private bool _canSave = false;
|
|
|
+ private string currentMode = "Viewer";
|
|
|
public bool CanSave
|
|
|
{
|
|
|
|
|
@@ -42,6 +47,29 @@ namespace FormViewControl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public bool LeftToolPanelButtonIsChecked
|
|
|
+ {
|
|
|
+ get => panelState.IsLeftPanelExpand;
|
|
|
+ set
|
|
|
+ {
|
|
|
+ panelState.IsLeftPanelExpand = value;
|
|
|
+ OnPropertyChanged();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public bool ViewSettingBtnIsChecked
|
|
|
+ {
|
|
|
+ get
|
|
|
+ {
|
|
|
+ return (panelState.RightPanel == PanelState.RightPanelState.ViewSettings);
|
|
|
+ }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ panelState.RightPanel = (value) ? PanelState.RightPanelState.ViewSettings : PanelState.RightPanelState.None;
|
|
|
+ OnPropertyChanged();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public MainWindow()
|
|
|
{
|
|
|
InitializeComponent();
|
|
@@ -64,11 +92,10 @@ namespace FormViewControl
|
|
|
|
|
|
pdfViewer.PDFView.InfoChanged -= PdfViewer_InfoChanged;
|
|
|
pdfViewer.PDFView.InfoChanged += PdfViewer_InfoChanged;
|
|
|
- PDFGrid.Child = formControl;
|
|
|
|
|
|
formControl.PdfViewControl = pdfViewer;
|
|
|
formControl.InitWithPDFViewer(pdfViewer.PDFView);
|
|
|
- InitialPDFViewControl(formControl.PdfViewControl);
|
|
|
+ InitialPDFViewControl();
|
|
|
|
|
|
formControl.OnCanSaveChanged -= FormControlOnCanSaveChanged;
|
|
|
formControl.OnCanSaveChanged += FormControlOnCanSaveChanged;
|
|
@@ -82,11 +109,13 @@ namespace FormViewControl
|
|
|
PasswordUI.Closed += PasswordUI_Closed;
|
|
|
PasswordUI.Canceled += PasswordUI_Canceled;
|
|
|
PasswordUI.Confirmed += PasswordUI_Confirmed;
|
|
|
-
|
|
|
+
|
|
|
+ ModeComboBox.SelectedIndex = 1;
|
|
|
+ formControl.SetToolBarContainerVisibility(Visibility.Visible);
|
|
|
formControl.PdfViewControl.PDFView.ChangeFitMode(FitMode.FitWidth);
|
|
|
CPDFSaclingControl.InitWithPDFViewer(formControl.PdfViewControl.PDFView);
|
|
|
CPDFSaclingControl.SetZoomTextBoxText(string.Format("{0}", (int)(formControl.PdfViewControl.PDFView.ZoomFactor * 100)));
|
|
|
-
|
|
|
+
|
|
|
ViewSettingBtn.IsChecked = false;
|
|
|
botaBarControl.InitWithPDFViewer(formControl.PdfViewControl.PDFView);
|
|
|
botaBarControl.SelectBotaTool(BOTATools.Thumbnail);
|
|
@@ -154,7 +183,7 @@ namespace FormViewControl
|
|
|
|
|
|
#region Annotation
|
|
|
|
|
|
- public void InitialPDFViewControl(PDFViewControl newPDFViewer)
|
|
|
+ public void InitialPDFViewControl()
|
|
|
{
|
|
|
formControl.ClearAllToolState();
|
|
|
formControl.ExpandRightPropertyPanel(null, Visibility.Collapsed);
|
|
@@ -226,37 +255,59 @@ namespace FormViewControl
|
|
|
|
|
|
private void LeftToolPanelButton_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- ToggleButton expandBtn = sender as ToggleButton;
|
|
|
- if (expandBtn != null)
|
|
|
- {
|
|
|
- bool isExpand = expandBtn.IsChecked == true;
|
|
|
- formControl.ExpandLeftPanel(isExpand);
|
|
|
- }
|
|
|
+ panelState.IsLeftPanelExpand = (sender as ToggleButton).IsChecked == true;
|
|
|
}
|
|
|
|
|
|
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
|
{
|
|
|
var item = (sender as ComboBox).SelectedItem as ComboBoxItem;
|
|
|
- if ((string)item.Content == "Viewer")
|
|
|
+ if (item.Content as string == currentMode)
|
|
|
{
|
|
|
- formControl.ClearAllToolState();
|
|
|
- formControl.SetToolBarContainerVisibility(Visibility.Collapsed);
|
|
|
- formControl.ExpandRightPropertyPanel(null, Visibility.Collapsed);
|
|
|
- //formControl.FromPropertyControl.AnnotationCancel();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ LeftToolPanelButtonIsChecked = false;
|
|
|
+ LeftToolPanelButton.IsChecked = false;
|
|
|
+ ViewSettingBtnIsChecked = false;
|
|
|
+ if(ViewSettingBtn != null)
|
|
|
+ ViewSettingBtn.IsChecked = false;
|
|
|
+ if(RightPanelButton != null)
|
|
|
RightPanelButton.IsChecked = false;
|
|
|
- if (formControl.PdfViewControl != null && formControl.PdfViewControl.PDFView != null)
|
|
|
+
|
|
|
+ panelState.IsLeftPanelExpand = false;
|
|
|
+ if (currentMode == "Viewer")
|
|
|
+ {
|
|
|
+ regularViewerControl.ClearViewerControl();
|
|
|
+ }
|
|
|
+ else if (currentMode == "Form")
|
|
|
+ {
|
|
|
+ formControl.ClearViewerControl();
|
|
|
+ }
|
|
|
+
|
|
|
+ if ((string)item.Content == "Viewer")
|
|
|
+ {
|
|
|
+ if (regularViewerControl.PdfViewControl != null && regularViewerControl.PdfViewControl.PDFView != null)
|
|
|
{
|
|
|
- formControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.Viewer);
|
|
|
+ PDFGrid.Child = regularViewerControl;
|
|
|
+ regularViewerControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.Viewer);
|
|
|
+ regularViewerControl.PdfViewControl = pdfViewer;
|
|
|
+ regularViewerControl.InitWithPDFViewer(pdfViewer.PDFView);
|
|
|
+ regularViewerControl.SetBOTAContainer(botaBarControl);
|
|
|
+ regularViewerControl.SetDisplaySettingsControl(displaySettingsControl);
|
|
|
}
|
|
|
}
|
|
|
else if ((string)item.Content == "Form")
|
|
|
{
|
|
|
- formControl.SetToolBarContainerVisibility(Visibility.Visible);
|
|
|
if (formControl.PdfViewControl != null && formControl.PdfViewControl.PDFView != null)
|
|
|
{
|
|
|
+ PDFGrid.Child = formControl;
|
|
|
formControl.PdfViewControl.PDFView.SetMouseMode(MouseModes.FormEditTool);
|
|
|
+ formControl.PdfViewControl = pdfViewer;
|
|
|
+ formControl.InitWithPDFViewer(pdfViewer.PDFView);
|
|
|
+ formControl.SetBOTAContainer(botaBarControl);
|
|
|
+ formControl.SetDisplaySettingsControl(displaySettingsControl);
|
|
|
}
|
|
|
}
|
|
|
+ currentMode = item.Content as string;
|
|
|
}
|
|
|
|
|
|
private void PageInfoBtn_Click(object sender, RoutedEventArgs e)
|
|
@@ -269,61 +320,23 @@ namespace FormViewControl
|
|
|
|
|
|
private void ViewSettingBtn_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- ShowViewSettings();
|
|
|
- }
|
|
|
-
|
|
|
- private void ShowViewSettings()
|
|
|
- {
|
|
|
- if (ViewSettingBtn != null)
|
|
|
- {
|
|
|
- if (ViewSettingBtn.IsChecked == true)
|
|
|
- {
|
|
|
- CPDFDisplaySettingsControl displayPanel = new CPDFDisplaySettingsControl();
|
|
|
- displayPanel.InitWithPDFViewer(formControl.PdfViewControl.PDFView);
|
|
|
- formControl.SetViewSettings(Visibility.Visible, displayPanel);
|
|
|
- if ((bool)RightPanelButton.IsChecked)
|
|
|
- {
|
|
|
- RightPanelButton.IsChecked = false;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- formControl.SetViewSettings(Visibility.Collapsed);
|
|
|
- }
|
|
|
- }
|
|
|
+ panelState.RightPanel =
|
|
|
+ ((sender as ToggleButton).IsChecked == true) ?
|
|
|
+ PanelState.RightPanelState.ViewSettings : PanelState.RightPanelState.None;
|
|
|
}
|
|
|
private void RightPanelButton_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- ControlRightPanel();
|
|
|
+ panelState.RightPanel =
|
|
|
+ ((sender as ToggleButton).IsChecked == true) ?
|
|
|
+ PanelState.RightPanelState.PropertyPanel : PanelState.RightPanelState.None;
|
|
|
}
|
|
|
|
|
|
private void ExpandSearchBtn_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- formControl.ExpandLeftPanel(true);
|
|
|
+ LeftToolPanelButton.IsChecked = true;
|
|
|
+ panelState.IsLeftPanelExpand = true;
|
|
|
botaBarControl.SelectBotaTool(BOTATools.Search);
|
|
|
}
|
|
|
-
|
|
|
- private void ControlRightPanel()
|
|
|
- {
|
|
|
- if (RightPanelButton != null)
|
|
|
- {
|
|
|
- if (RightPanelButton.IsChecked == true)
|
|
|
- {
|
|
|
- if (formControl.FromPropertyControl != null)
|
|
|
- {
|
|
|
- formControl.ExpandRightPropertyPanel(formControl.FromPropertyControl, Visibility.Visible);
|
|
|
- if ((bool)ViewSettingBtn.IsChecked)
|
|
|
- {
|
|
|
- ViewSettingBtn.IsChecked = false;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- formControl.ExpandRightPropertyPanel(null, Visibility.Collapsed);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
#region Save file
|
|
|
/// <summary>
|