Browse Source

【综合】解决冲突

tangchao 1 year ago
parent
commit
b94d5472f3
23 changed files with 514 additions and 739 deletions
  1. 32 40
      PDF Office/PDF Master.xcodeproj/project.pbxproj
  2. 3 3
      PDF Office/PDF Master/Base.lproj/Main.storyboard
  3. 0 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationLinkViewController.m
  4. 1 4
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m
  5. 1 30
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.m
  6. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.xib
  7. 0 16
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.h
  8. 0 73
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.m
  9. 61 0
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.swift
  10. 0 15
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMGeneralButton.h
  11. 0 28
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMGeneralButton.m
  12. 29 0
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMGeneralButton.swift
  13. 0 24
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotation.h
  14. 0 142
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotation.m
  15. 176 0
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotation.swift
  16. 0 41
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotationFreeText.h
  17. 0 310
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotationFreeText.m
  18. 208 0
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotationFreeText.swift
  19. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/KMFillSignTextPanel.swift
  20. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/StampList/KMAnnotationStampViewController.xib
  21. 0 4
      PDF Office/PDF Master/PDF_Master DMG-Bridging-Header.h
  22. 0 1
      PDF Office/PDF Master/PDF_Master Pro-Bridging-Header.h
  23. 0 4
      PDF Office/PDF Master/PDF_Master-Bridging-Header.h

+ 32 - 40
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -211,15 +211,6 @@
 		89E4E70E2963D62C002DBA6F /* KMAnnotationFontWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E70A2963D62B002DBA6F /* KMAnnotationFontWindowController.m */; };
 		89E4E70F2963D62C002DBA6F /* KMAnnotationFontWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E70A2963D62B002DBA6F /* KMAnnotationFontWindowController.m */; };
 		89E4E7102963D62C002DBA6F /* KMAnnotationFontWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E70A2963D62B002DBA6F /* KMAnnotationFontWindowController.m */; };
-		89E4E7182963F5D4002DBA6F /* KMSelfSignAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7162963F5D3002DBA6F /* KMSelfSignAnnotation.m */; };
-		89E4E7192963F5D4002DBA6F /* KMSelfSignAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7162963F5D3002DBA6F /* KMSelfSignAnnotation.m */; };
-		89E4E71A2963F5D4002DBA6F /* KMSelfSignAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7162963F5D3002DBA6F /* KMSelfSignAnnotation.m */; };
-		89E4E71D2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E71C2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m */; };
-		89E4E71E2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E71C2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m */; };
-		89E4E71F2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E71C2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m */; };
-		89E4E7222963FB23002DBA6F /* KMGeneralButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7212963FB23002DBA6F /* KMGeneralButton.m */; };
-		89E4E7232963FB23002DBA6F /* KMGeneralButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7212963FB23002DBA6F /* KMGeneralButton.m */; };
-		89E4E7242963FB23002DBA6F /* KMGeneralButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7212963FB23002DBA6F /* KMGeneralButton.m */; };
 		89E4E7282963FB74002DBA6F /* KMPropertiesViewPopController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7262963FB74002DBA6F /* KMPropertiesViewPopController.m */; };
 		89E4E7292963FB74002DBA6F /* KMPropertiesViewPopController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7262963FB74002DBA6F /* KMPropertiesViewPopController.m */; };
 		89E4E72A2963FB74002DBA6F /* KMPropertiesViewPopController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E7262963FB74002DBA6F /* KMPropertiesViewPopController.m */; };
@@ -238,9 +229,6 @@
 		89E4E7412964160F002DBA6F /* KMAnnotationLinkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89E4E73C2964160F002DBA6F /* KMAnnotationLinkViewController.xib */; };
 		89E4E7422964160F002DBA6F /* KMAnnotationLinkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89E4E73C2964160F002DBA6F /* KMAnnotationLinkViewController.xib */; };
 		89E4E7432964160F002DBA6F /* KMAnnotationLinkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89E4E73C2964160F002DBA6F /* KMAnnotationLinkViewController.xib */; };
-		89E4E746296418ED002DBA6F /* TextFieldFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E745296418ED002DBA6F /* TextFieldFormatter.m */; };
-		89E4E747296418ED002DBA6F /* TextFieldFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E745296418ED002DBA6F /* TextFieldFormatter.m */; };
-		89E4E748296418ED002DBA6F /* TextFieldFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E745296418ED002DBA6F /* TextFieldFormatter.m */; };
 		89E4E755296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E753296427E5002DBA6F /* NSImage_SKExtensions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
 		89E4E756296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E753296427E5002DBA6F /* NSImage_SKExtensions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
 		89E4E757296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 89E4E753296427E5002DBA6F /* NSImage_SKExtensions.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
@@ -1876,6 +1864,18 @@
 		ADDEEA822AD4DAB200EF675D /* KMSignatureWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA812AD4DAB200EF675D /* KMSignatureWindowController.swift */; };
 		ADDEEA832AD4DAB200EF675D /* KMSignatureWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA812AD4DAB200EF675D /* KMSignatureWindowController.swift */; };
 		ADDEEA842AD4DAB200EF675D /* KMSignatureWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA812AD4DAB200EF675D /* KMSignatureWindowController.swift */; };
+		ADDEEA862AD7805200EF675D /* KMGeneralButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA852AD7805200EF675D /* KMGeneralButton.swift */; };
+		ADDEEA872AD7805200EF675D /* KMGeneralButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA852AD7805200EF675D /* KMGeneralButton.swift */; };
+		ADDEEA882AD7805200EF675D /* KMGeneralButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA852AD7805200EF675D /* KMGeneralButton.swift */; };
+		ADDEEA8E2AD78E4400EF675D /* KMSelfSignAnnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA8D2AD78E4400EF675D /* KMSelfSignAnnotation.swift */; };
+		ADDEEA8F2AD78E4400EF675D /* KMSelfSignAnnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA8D2AD78E4400EF675D /* KMSelfSignAnnotation.swift */; };
+		ADDEEA902AD78E4400EF675D /* KMSelfSignAnnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA8D2AD78E4400EF675D /* KMSelfSignAnnotation.swift */; };
+		ADDEEA922AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */; };
+		ADDEEA932AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */; };
+		ADDEEA942AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */; };
+		ADDEEA962AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */; };
+		ADDEEA972AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */; };
+		ADDEEA982AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */; };
 		ADE3C19F29A3894900793B13 /* KMSearchTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */; };
 		ADE3C1A029A3894900793B13 /* KMSearchTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */; };
 		ADE3C1A129A3894900793B13 /* KMSearchTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */; };
@@ -3564,12 +3564,6 @@
 		89E4E7082963D62B002DBA6F /* KMAnnotationFontWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAnnotationFontWindowController.h; sourceTree = "<group>"; };
 		89E4E7092963D62B002DBA6F /* KMAnnotationFontWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMAnnotationFontWindowController.xib; sourceTree = "<group>"; };
 		89E4E70A2963D62B002DBA6F /* KMAnnotationFontWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAnnotationFontWindowController.m; sourceTree = "<group>"; };
-		89E4E7162963F5D3002DBA6F /* KMSelfSignAnnotation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSelfSignAnnotation.m; sourceTree = "<group>"; };
-		89E4E7172963F5D3002DBA6F /* KMSelfSignAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSelfSignAnnotation.h; sourceTree = "<group>"; };
-		89E4E71B2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSelfSignAnnotationFreeText.h; sourceTree = "<group>"; };
-		89E4E71C2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSelfSignAnnotationFreeText.m; sourceTree = "<group>"; };
-		89E4E7202963FB23002DBA6F /* KMGeneralButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMGeneralButton.h; sourceTree = "<group>"; };
-		89E4E7212963FB23002DBA6F /* KMGeneralButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMGeneralButton.m; sourceTree = "<group>"; };
 		89E4E7252963FB74002DBA6F /* KMPropertiesViewPopController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMPropertiesViewPopController.h; sourceTree = "<group>"; };
 		89E4E7262963FB74002DBA6F /* KMPropertiesViewPopController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMPropertiesViewPopController.m; sourceTree = "<group>"; };
 		89E4E72E2963FBA1002DBA6F /* KMPropertiesViewPopController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPropertiesViewPopController.xib; sourceTree = "<group>"; };
@@ -3579,8 +3573,6 @@
 		89E4E73B2964160F002DBA6F /* KMAnnotationLinkViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAnnotationLinkViewController.m; sourceTree = "<group>"; };
 		89E4E73C2964160F002DBA6F /* KMAnnotationLinkViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMAnnotationLinkViewController.xib; sourceTree = "<group>"; };
 		89E4E73D2964160F002DBA6F /* KMAnnotationLinkViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAnnotationLinkViewController.h; sourceTree = "<group>"; };
-		89E4E744296418ED002DBA6F /* TextFieldFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextFieldFormatter.h; sourceTree = "<group>"; };
-		89E4E745296418ED002DBA6F /* TextFieldFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TextFieldFormatter.m; sourceTree = "<group>"; };
 		89E4E753296427E5002DBA6F /* NSImage_SKExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSImage_SKExtensions.m; sourceTree = "<group>"; };
 		89E4E754296427E5002DBA6F /* NSImage_SKExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSImage_SKExtensions.h; sourceTree = "<group>"; };
 		89E4E75E29656A88002DBA6F /* KMAnnotationStampViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAnnotationStampViewController.m; sourceTree = "<group>"; };
@@ -4190,6 +4182,10 @@
 		ADDEEA792AD3F4C800EF675D /* KMPopUpButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPopUpButton.swift; sourceTree = "<group>"; };
 		ADDEEA7D2AD3FB1D00EF675D /* KMImageAccessoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMImageAccessoryController.swift; sourceTree = "<group>"; };
 		ADDEEA812AD4DAB200EF675D /* KMSignatureWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSignatureWindowController.swift; sourceTree = "<group>"; };
+		ADDEEA852AD7805200EF675D /* KMGeneralButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMGeneralButton.swift; sourceTree = "<group>"; };
+		ADDEEA8D2AD78E4400EF675D /* KMSelfSignAnnotation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSelfSignAnnotation.swift; sourceTree = "<group>"; };
+		ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSelfSignAnnotationFreeText.swift; sourceTree = "<group>"; };
+		ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFormatter.swift; sourceTree = "<group>"; };
 		ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchTableRowView.swift; sourceTree = "<group>"; };
 		ADE3C1A929A4779E00793B13 /* KMPrintAccessoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintAccessoryController.swift; sourceTree = "<group>"; };
 		ADE3C1AA29A4779E00793B13 /* KMPrintAccessoryController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintAccessoryController.xib; sourceTree = "<group>"; };
@@ -5271,8 +5267,7 @@
 		89E4E6F22963D1E9002DBA6F /* NSObject */ = {
 			isa = PBXGroup;
 			children = (
-				89E4E744296418ED002DBA6F /* TextFieldFormatter.h */,
-				89E4E745296418ED002DBA6F /* TextFieldFormatter.m */,
+				ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */,
 				89E4E6F32963D1E9002DBA6F /* KMAnnotationPropertiesColorManager.h */,
 				89E4E6F42963D1E9002DBA6F /* KMAnnotationPropertiesColorManager.m */,
 			);
@@ -5284,12 +5279,9 @@
 			children = (
 				ADDEEA712AD3EFE200EF675D /* KMButton.swift */,
 				ADDEEA792AD3F4C800EF675D /* KMPopUpButton.swift */,
-				89E4E7202963FB23002DBA6F /* KMGeneralButton.h */,
-				89E4E7212963FB23002DBA6F /* KMGeneralButton.m */,
-				89E4E7172963F5D3002DBA6F /* KMSelfSignAnnotation.h */,
-				89E4E7162963F5D3002DBA6F /* KMSelfSignAnnotation.m */,
-				89E4E71B2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.h */,
-				89E4E71C2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m */,
+				ADDEEA852AD7805200EF675D /* KMGeneralButton.swift */,
+				ADDEEA8D2AD78E4400EF675D /* KMSelfSignAnnotation.swift */,
+				ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -10406,6 +10398,7 @@
 				8942F7BB29222C7E00389627 /* KMBookCellView.swift in Sources */,
 				BB8F4547295A9CDC0037EA22 /* KMHeaderFooterListController.swift in Sources */,
 				9F0CB5012986560D00007028 /* KMDesignToken+BorderTop.swift in Sources */,
+				ADDEEA922AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */,
 				89DB5DA9291B8DE70029624F /* KMOutlineEditViewController.swift in Sources */,
 				BB6DD80C29347F77001F0544 /* KMSecureEncryptWindowController.swift in Sources */,
 				BBB14A572978E75D00936EDB /* KMRedactMutilPageFlagWindowController.swift in Sources */,
@@ -10464,7 +10457,6 @@
 				AD02573F2A8601CD00EAD5D5 /* KMAppleLoginManager.swift in Sources */,
 				BB86C1ED28F544F4005AD968 /* CPDFListView+Event.m in Sources */,
 				9F1FE4D229406E4700E952CA /* CTTabView.m in Sources */,
-				89E4E71D2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */,
 				ADBC372929CA950500D93208 /* KMComparativeOutlineView.swift in Sources */,
 				9FDD0F64294AB645000C4DAD /* KMMainViewController.swift in Sources */,
 				89D2D2FB294C806000BFF5FE /* KMPDFThumbnailItem.swift in Sources */,
@@ -10555,6 +10547,7 @@
 				BB3AD6F929935483004FC1AE /* Reachability.m in Sources */,
 				BBEC00BF295C306400A26C98 /* KMBatesPropertyController.swift in Sources */,
 				89E4E6EC2963D1B7002DBA6F /* KMColorPickerViewController.m in Sources */,
+				ADDEEA862AD7805200EF675D /* KMGeneralButton.swift in Sources */,
 				BB49ED19293F4D4E00C82CA2 /* KMConvertCSVSettingView.swift in Sources */,
 				AD9527BA295291F20039D2BC /* KMPrintPage.swift in Sources */,
 				89752E192941FD48003FF08E /* KMSearchCellView.swift in Sources */,
@@ -10618,7 +10611,6 @@
 				BB00301D298CB799002DD1A0 /* KMPreferenceManager.swift in Sources */,
 				89E93EFA299CB4C200F10F66 /* KMOCRBox.m in Sources */,
 				ADBC2D28299DCA76006280C8 /* NSTextField+Layer.swift in Sources */,
-				89E4E7222963FB23002DBA6F /* KMGeneralButton.m in Sources */,
 				ADF6B8762A48155E0090CB78 /* KMComparativeViewCollectionItem.swift in Sources */,
 				BB49ECF1293F40F500C82CA2 /* KMConvertPageRangeSettingItemView.swift in Sources */,
 				BBBF68802A3BF17F0058E14E /* KMFilePromiseProvider.swift in Sources */,
@@ -10714,9 +10706,7 @@
 				9F1FE4AE29406E4700E952CA /* CTPresentationModeController.m in Sources */,
 				BB146FC0299DC0D100784A6A /* GTMSessionFetcherLogging.m in Sources */,
 				AD1CA4212A061D190070541F /* KMAnnotationScreenAuthorViewItem.swift in Sources */,
-				89E4E746296418ED002DBA6F /* TextFieldFormatter.m in Sources */,
 				BB7507E929861C37002DBDB1 /* PasswordWindowController.m in Sources */,
-				89E4E7182963F5D4002DBA6F /* KMSelfSignAnnotation.m in Sources */,
 				BBC3481C295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */,
 				9F5664872988B16F00020985 /* KMTextfieldVC.swift in Sources */,
 				9F1F82DA292F84D60092C4B4 /* KMHomeInsertActionViewController.swift in Sources */,
@@ -10901,11 +10891,13 @@
 				BB147002299DC0D100784A6A /* OIDScopeUtilities.m in Sources */,
 				AD867FA629DFB77500F00440 /* KMAnnotationOutlineView.swift in Sources */,
 				BBB9B32B299A5D6D004F3235 /* GTMOAuth2KeychainCompatibility.m in Sources */,
+				ADDEEA962AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */,
 				9FAAA32A290BD01D0046FFCE /* KMHomeHistoryFileViewController.swift in Sources */,
 				BB146FB7299DC0D100784A6A /* GTLRRuntimeCommon.m in Sources */,
 				BBFE6E6D2930D9C600142C01 /* KMMergeSettingWindowController.swift in Sources */,
 				9F8539CB29430BF300DF644E /* KMBrowserWindowController.swift in Sources */,
 				9F0CB5192986568000007028 /* KMDesignToken+BorderRadiusTopRight.swift in Sources */,
+				ADDEEA8E2AD78E4400EF675D /* KMSelfSignAnnotation.swift in Sources */,
 				BB6719E52AD28527003D44D5 /* CPDFLineAnnotation+PDFListView.swift in Sources */,
 				9FBA0EF528FFC8A0001117AF /* KMCollectionView.swift in Sources */,
 				9F0CB4672967E5CB00007028 /* KMPropertiesPanelSubViewController.swift in Sources */,
@@ -11232,6 +11224,7 @@
 				9F81ADC729B9B12C002251F4 /* NSButton+DesignToken.swift in Sources */,
 				BB671A022AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift in Sources */,
 				BB74DA7C2AC41DE9006EDFE7 /* NSString+KMExtension.swift in Sources */,
+				ADDEEA972AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */,
 				BB3198172AC55E6D00107371 /* CPDFDocument+KMExtension.swift in Sources */,
 				BBEC00C8295C319400A26C98 /* KMBatesManager.swift in Sources */,
 				ADA9102B2A272CE2003352F0 /* KMEditPDFTextManager.swift in Sources */,
@@ -11255,6 +11248,7 @@
 				9FDD0FB329534FEA000C4DAD /* KMGlobal.swift in Sources */,
 				ADF6B87F2A485A8F0090CB78 /* KMComparativeViewCollectionItemItem.swift in Sources */,
 				BBB7B4922A03AD2A00B58A5A /* KMPDFEditToolbar.swift in Sources */,
+				ADDEEA8F2AD78E4400EF675D /* KMSelfSignAnnotation.swift in Sources */,
 				BB8F4587295B19AC0037EA22 /* KMHeaderFooterDateInfoView.swift in Sources */,
 				ADF9ED3029A8507400C4A943 /* KMAccountInfoView.swift in Sources */,
 				BB60138D2AD3A94200A76FB2 /* CPDFSignatureAnnotation+PDFListView.swift in Sources */,
@@ -11267,7 +11261,6 @@
 				BB31981B2AC567B600107371 /* CPDFSelection+PDFListView.swift in Sources */,
 				9FDD0F65294AB645000C4DAD /* KMMainViewController.swift in Sources */,
 				ADCB98DA2924774F00B51A03 /* KMBatchProcessingOrderTableCell.swift in Sources */,
-				89E4E71E2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */,
 				9FCFEC692AC2EAD500EAD2CB /* CPDFListViewColorMenuItemView.swift in Sources */,
 				ADBC372A29CA950500D93208 /* KMComparativeOutlineView.swift in Sources */,
 				9FDD0FA729533494000C4DAD /* KMJSONParser.swift in Sources */,
@@ -11415,7 +11408,6 @@
 				ADA9102F2A272CEA003352F0 /* KMImageOptimization.swift in Sources */,
 				AD9527DC2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,
 				ADBC2D29299DCA76006280C8 /* NSTextField+Layer.swift in Sources */,
-				89E4E7232963FB23002DBA6F /* KMGeneralButton.m in Sources */,
 				9F0CB4702967E63100007028 /* KMPropertiesPanelNameSubVC.swift in Sources */,
 				9FD0FA3229CD947000F2AB0D /* KMOpacityPanel.swift in Sources */,
 				BB89722A294B08720045787C /* KMWatermarkAdjectiveTopBarItemModel.swift in Sources */,
@@ -11478,6 +11470,7 @@
 				BB147036299DC0D200784A6A /* OIDRegistrationResponse.m in Sources */,
 				9FDD0F8D2952FCE0000C4DAD /* KMGlobalParser.swift in Sources */,
 				ADE787AB2AA5A8D3002EC85A /* KMAccountExceptionView.swift in Sources */,
+				ADDEEA932AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */,
 				ADD1B6ED2946C04C00C3FFF7 /* KMPrintChoosePageSizePamphletView.swift in Sources */,
 				BB4EEF3529764166003A3537 /* KMRedactPropertyWindowController.swift in Sources */,
 				ADCB996F292C65EE00B51A03 /* KMOCROperation.m in Sources */,
@@ -11503,9 +11496,7 @@
 				BBCE57192A72723600508EFC /* NSResponder+KMExtension.swift in Sources */,
 				BB146FC1299DC0D100784A6A /* GTMSessionFetcherLogging.m in Sources */,
 				AD1CA4222A061D190070541F /* KMAnnotationScreenAuthorViewItem.swift in Sources */,
-				89E4E747296418ED002DBA6F /* TextFieldFormatter.m in Sources */,
 				BB7507EA29861C37002DBDB1 /* PasswordWindowController.m in Sources */,
-				89E4E7192963F5D4002DBA6F /* KMSelfSignAnnotation.m in Sources */,
 				BB3A81B62AC2C0F4006FC66C /* NSObject+KMExtension.swift in Sources */,
 				BBC3481D295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */,
 				9F5664882988B16F00020985 /* KMTextfieldVC.swift in Sources */,
@@ -11517,6 +11508,7 @@
 				9F0CB4602966C9E200007028 /* KMFormPropertPanelViewController.swift in Sources */,
 				BB6719F62AD2C949003D44D5 /* CPDFRedactAnnotation+PDFListView.swift in Sources */,
 				ADCFFC0329C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
+				ADDEEA872AD7805200EF675D /* KMGeneralButton.swift in Sources */,
 				9F1FE4EE29406E4700E952CA /* ThrobberView.m in Sources */,
 				BB2F18472A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				9FBA0EE228FEC253001117AF /* KMProductPromotionViewController.swift in Sources */,
@@ -12047,7 +12039,6 @@
 				BBA8B7A52935CD740097D183 /* KMRemovePasswordAlertWindowController.swift in Sources */,
 				8997010828F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				9FDD0FA829533494000C4DAD /* KMJSONParser.swift in Sources */,
-				89E4E71A2963F5D4002DBA6F /* KMSelfSignAnnotation.m in Sources */,
 				BBEC00C9295C319400A26C98 /* KMBatesManager.swift in Sources */,
 				AD88108529A719D400178CA1 /* KMRegisterView.swift in Sources */,
 				F36EB6CB2987C9FE004C25FB /* KMDocumentAIViewController.m in Sources */,
@@ -12071,6 +12062,7 @@
 				BB003017298CA446002DD1A0 /* KMPreferenceGeneralController.swift in Sources */,
 				9F8DDF2F2924B855006CDC73 /* KMPDFToolsViewController.swift in Sources */,
 				ADD1B6AD2941E97F00C3FFF7 /* KMPrintWindowController.swift in Sources */,
+				ADDEEA942AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */,
 				9FDD0FB029534FDC000C4DAD /* KMCompLight.swift in Sources */,
 				BBEB93F12AD6C72C00739573 /* KMPDFMergePageRangeTabelViewCell.swift in Sources */,
 				8942F80129260EC700389627 /* KMLeftMethodMode.swift in Sources */,
@@ -12205,6 +12197,7 @@
 				ADEC7A80299397F8009A8256 /* NSFont+SFProText.swift in Sources */,
 				9F72D2052994A3B800DCACF1 /* KMDesignToken+Notification.swift in Sources */,
 				ADC63E392A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */,
+				ADDEEA982AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */,
 				BBC348042955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
 				ADB1FEA82975305500ED072D /* KMBatchRemoveView.swift in Sources */,
 				AD9527DD2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,
@@ -12237,6 +12230,7 @@
 				ADDEEA5C2AD399BB00EF675D /* KMSignature.swift in Sources */,
 				BBBB6CD82AD150D20035AA66 /* CPDFCircleAnnotation+PDFListView.swift in Sources */,
 				BBD7FE092A13241E00F96075 /* KMOutlineEditViewController.swift in Sources */,
+				ADDEEA882AD7805200EF675D /* KMGeneralButton.swift in Sources */,
 				BBD54ED62A1CBD720012A230 /* NSView+KMExtension.swift in Sources */,
 				BBC3485029582920008D2CD1 /* KMBackgroundColorView.swift in Sources */,
 				ADB1FE982975300B00ED072D /* KMBatchHeaderAndFooterView.swift in Sources */,
@@ -12618,7 +12612,6 @@
 				BBEB93ED2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift in Sources */,
 				F3599175292B62F5000D25DE /* CStringConstants.m in Sources */,
 				AD0FA4FB29A8DD6F00EDEB50 /* KMRegisterSuccessView.swift in Sources */,
-				89E4E748296418ED002DBA6F /* TextFieldFormatter.m in Sources */,
 				BBB1A3A829F6B66400E54E47 /* NSPanel+KMExtension.swift in Sources */,
 				AD867FB129DFBB1200F00440 /* KMAnnotationOutlineCellView.swift in Sources */,
 				9F1FE50129406E4700E952CA /* CTTabStripModel.m in Sources */,
@@ -12640,6 +12633,7 @@
 				9F8DDF2829237910006CDC73 /* Array+KMExtensions.swift in Sources */,
 				9F0CB5172986566D00007028 /* KMDesignToken+BorderRadiusTopLeft.swift in Sources */,
 				BBBB6CCC2AD109F30035AA66 /* CPDFAnnotation+PDFListView.swift in Sources */,
+				ADDEEA902AD78E4400EF675D /* KMSelfSignAnnotation.swift in Sources */,
 				BB49ECDF293EED6100C82CA2 /* KMConvertWordWindowController.swift in Sources */,
 				BBE0BDF529A22EF300440583 /* KMMainViewController+MenuAction.swift in Sources */,
 				8942F7EB2925E1C400389627 /* KMLiftSideCellView.swift in Sources */,
@@ -12660,7 +12654,6 @@
 				9F0CB4FF298655F600007028 /* KMDesignToken+BorderColor.swift in Sources */,
 				AD71E7C62990A8A4001C5D3F /* KMBatchRemoveViewModel.swift in Sources */,
 				BBA93D3529BF0ECE0044E0DD /* SKKeychain.m in Sources */,
-				89E4E71F2963F77C002DBA6F /* KMSelfSignAnnotationFreeText.m in Sources */,
 				9F1F82C5292F113A0092C4B4 /* KMHomeDragView.swift in Sources */,
 				BB986AED2AD53AE800ADF172 /* KMInfoWindowController.swift in Sources */,
 				BB0A55122A302DB700B6E84B /* KMTextField.swift in Sources */,
@@ -12698,7 +12691,6 @@
 				9F0201902A1DDAA500C9B673 /* KMAITranslationWindowController.swift in Sources */,
 				ADDEEA802AD3FB1D00EF675D /* KMImageAccessoryController.swift in Sources */,
 				BBEC00C1295C306400A26C98 /* KMBatesPropertyController.swift in Sources */,
-				89E4E7242963FB23002DBA6F /* KMGeneralButton.m in Sources */,
 				BB003023298CEBED002DD1A0 /* KMPreferenceStepper.swift in Sources */,
 				ADC075DB29876612006C752F /* KMBatchConverPDFPPTView.swift in Sources */,
 				BB146FAD299DC0D000784A6A /* GTLRBatchQuery.m in Sources */,

+ 3 - 3
PDF Office/PDF Master/Base.lproj/Main.storyboard

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="22154" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22154"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
@@ -808,7 +808,7 @@ CA
                     </connections>
                 </application>
                 <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="PDF_Master" customModuleProvider="target"/>
-                <customObject id="86N-QX-1VH" userLabel="KMDocumentController" customClass="KMDocumentController"/>
+                <customObject id="86N-QX-1VH" userLabel="KMDocumentController" customClass="KMDocumentController" customModule="PDF_Master" customModuleProvider="target"/>
                 <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
                 <customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
             </objects>

+ 0 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationLinkViewController.m

@@ -6,7 +6,6 @@
 //
 
 #import "KMAnnotationLinkViewController.h"
-#import "TextFieldFormatter.h"
 #import <ComPDFKit/ComPDFKit.h>
 #import <PDF_Master-Swift.h>
 

+ 1 - 4
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m

@@ -8,9 +8,6 @@
 #import "KMAnnotationPropertiesViewController.h"
 #import "KMGeneralAnnotationViewController.h"
 #import "KMAnnotationLinkViewController.h"
-#import "KMSelfSignAnnotation.h"
-#import "KMSelfSignAnnotationFreeText.h"
-//#import "NSString_SKExtensions.h"
 #import "KMAnnotationStampViewController.h"
 #import <PDF_Master-Swift.h>
 #import "KMSignatureAnnotationViewController.h"
@@ -140,7 +137,7 @@
     } else if ([annotation isKindOfClass:[CPDFFreeTextAnnotation class]]) {
         if ([annotation isKindOfClass:[KMSelfSignAnnotationFreeText class]]) {
             KMSelfSignAnnotationFreeText *signFreeText = (KMSelfSignAnnotationFreeText *)annotation;
-            if ([signFreeText subType] == KMSelfSignAnnotationFreeTextSubType_Profile) {
+            if (signFreeText.subType == KMSelfSignAnnotationFreeTextSubTypeProfile) {
                 self.titleLabel.stringValue = NSLocalizedString(@"Text", nil);
             } else {
                 self.titleLabel.stringValue = NSLocalizedString(@"Date", nil);

+ 1 - 30
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.m

@@ -8,11 +8,8 @@
 #import "KMGeneralAnnotationViewController.h"
 #import "KMColorPickerViewController.h"
 #import "KMAnnotationFontWindowController.h"
-#import "KMSelfSignAnnotation.h"
-#import "KMSelfSignAnnotationFreeText.h"
 #import "CPDFMarkupAnnotation+PDFListView.h"
 
-#import "KMGeneralButton.h"
 #import "KMPropertiesViewPopController.h"
 #import <PDF_Master-Swift.h>
 
@@ -962,7 +959,7 @@
 {
     [_datePopupButton removeAllItems];
     BOOL includeTime = self.annotationModel.includeTime;
-    [_datePopupButton addItemsWithTitles:[KMSelfSignAnnotationFreeText fetchAllDateString:includeTime]];
+    [_datePopupButton addItemsWithTitles:[KMSelfSignAnnotationFreeText fetchAllDateStringWithIncludeTime:includeTime]];
     NSInteger dateFormatIndex = self.annotationModel.dateFormatIndex;
     if (dateFormatIndex >= 0 && dateFormatIndex < _datePopupButton.numberOfItems) {
         [_datePopupButton selectItemAtIndex:dateFormatIndex];
@@ -1210,32 +1207,6 @@
     self.centerAlignVC.button.toolTip = NSLocalizedString(@"Center", nil);
     self.rightAlignVC.button.toolTip = NSLocalizedString(@"Right Alignment", nil);
     
-//    NSArray *array = @[blockSelf.leftAlignBox,blockSelf.centerAlignBox,blockSelf.rightAlignBox];
-//    for (KMBox *box in array) {
-//        box.fillColor = [NSColor clearColor];
-//        box.mouseDownCallback = ^(BOOL downEntered, KMBox *mouseBox) {
-//            if (downEntered) {
-//                box.fillColor = [NSColor colorWithRed:206.0/255.0 green:208.0/255.0 blue:212.0/255.0 alpha:0.6];
-//                if (box == blockSelf.leftAlignBox) {
-//                    [blockSelf leftAlignButtonAction:box];
-//                } else if (box == blockSelf.centerAlignBox) {
-//                    [blockSelf centerAlignButtonAction:box];
-//                } else if (box == blockSelf.rightAlignBox) {
-//                    [blockSelf rightAlignButtonAction:box];
-//                }
-//            } else {
-//                box.fillColor = [NSColor clearColor];
-//            }
-//        };
-//        box.mouseMoveCallback = ^(BOOL mouseEntered, KMBox *mouseBox) {
-//            if (mouseEntered) {
-//                box.fillColor = [NSColor colorWithRed:237.0/255.0 green:238.0/255.0 blue:240.0/255.0 alpha:1];
-//            } else {
-//                box.fillColor = [NSColor clearColor];
-//            }
-//        };
-//    }
-    
     self.borderWidthSlider.floatValue = self.annotationModel.lineWidth;
     self.borderWidthVC.stringValue = [NSString stringWithFormat:@"%0.1f pt",self.annotationModel.lineWidth];
     

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.xib

@@ -222,7 +222,7 @@
                                                         <action selector="fontCustomColorButtonAction:" target="-2" id="UGk-7t-CVJ"/>
                                                     </connections>
                                                 </button>
-                                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2I2-fI-EWd" customClass="KMGeneralButton">
+                                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2I2-fI-EWd" customClass="KMGeneralButton" customModule="PDF_Master" customModuleProvider="target">
                                                     <rect key="frame" x="8" y="5" width="20" height="20"/>
                                                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="DLu-8k-sgt">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>

+ 0 - 16
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.h

@@ -1,16 +0,0 @@
-//
-//  TextFieldFormatter.h
-//  PDF Connect Suite
-//
-//  Created by wangshuai on 13-10-9.
-//
-//
-
-#import <Foundation/Foundation.h>
-
-@interface TextFieldFormatter : NSFormatter{
-    int maxLength;
-}
-- (void)setMaximumLength:(int)len;
-- (int)maximumLength;
-@end

+ 0 - 73
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.m

@@ -1,73 +0,0 @@
-//
-//  TextFieldFormatter.m
-//  PDF Connect Suite
-//
-//  Created by wangshuai on 13-10-9.
-//
-//
-
-#import "TextFieldFormatter.h"
-
-@implementation TextFieldFormatter
-
-- (id)init {
-    if(self = [super init]){
-        maxLength=INT_MAX;
-    }
-    return self;
-}
-
-- (void)setMaximumLength:(int)len {
-    maxLength= len;
-}
-
-- (int)maximumLength {
-    return maxLength;
-}
-
-- (NSString*)stringForObjectValue:(id)object
-{
-    return (NSString*)object;
-}
-
-- (BOOL)getObjectValue:(id*)object forString:(NSString*)string errorDescription:(NSString**)error {
-    *object = string;
-    return YES;
-}
-
-//下面的方法是在输入框中输入时自动调用的
-- (BOOL)isPartialStringValid:(NSString**)partialStringPtr
-       proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
-              originalString:(NSString*)origString
-       originalSelectedRange:(NSRange)origSelRange
-            errorDescription:(NSString**)error
-{
-    NSCharacterSet *nonDigits;
-    NSRange newStuff;
-    NSString *newStuffString;
-    
-    nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
-    newStuff =NSMakeRange(origSelRange.location,
-                          proposedSelRangePtr->location
-                          - origSelRange.location);
-    newStuffString = [*partialStringPtr substringWithRange: newStuff];
-    
-    if([newStuffString rangeOfCharacterFromSet: nonDigits
-                                      options:NSLiteralSearch].location!=NSNotFound) {
-        *error =@"不是数字";
-        return NO;
-    }else{
-        NSString *string = *partialStringPtr ;
-        if (string.length > maxLength) {
-            *error =@"超出数字范围";
-            return NO;
-        }
-        *error =nil;
-        return YES;
-    }
-}
-
-- (NSAttributedString*)attributedStringForObjectValue:(id)anObject withDefaultAttributes:(NSDictionary*)attributes {
-    return nil;
-}
-@end

+ 61 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.swift

@@ -0,0 +1,61 @@
+//
+//  TextFieldFormatter.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/12.
+//
+
+import Cocoa
+
+class TextFieldFormatter: Formatter {
+    private var maxLength = Int.max
+
+    override init() {
+        super.init()
+        maxLength = Int.max
+    }
+    
+    required init?(coder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    func setMaximumLength(_ len: Int) {
+        maxLength = len
+    }
+
+    func maximumLength() -> Int {
+        return maxLength
+    }
+
+    override func string(for obj: Any?) -> String? {
+        return obj as? String
+    }
+
+    override func getObjectValue(_ obj: AutoreleasingUnsafeMutablePointer<AnyObject?>?, for string: String, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
+        obj?.pointee = string as NSString
+        return true
+    }
+
+    func isPartialStringValid(_ partialStringPtr: AutoreleasingUnsafeMutablePointer<NSString?>, proposedSelectedRange proposedSelRangePtr: NSRangePointer?, originalString origString: String, originalSelectedRange origSelRange: NSRange, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>) -> Bool {
+        let nonDigits = CharacterSet.decimalDigits.inverted
+        let newStuff = NSRange(location: origSelRange.location, length: proposedSelRangePtr!.pointee.location - origSelRange.location)
+        let newStuffString = (partialStringPtr.pointee as NSString?)?.substring(with: newStuff)
+
+        if newStuffString?.rangeOfCharacter(from: nonDigits) != nil {
+            error.pointee = "不是数字"
+            return false
+        } else {
+            let string = partialStringPtr.pointee ?? ""
+            if string.length > maxLength {
+                error.pointee = "超出数字范围"
+                return false
+            }
+            error.pointee = nil
+            return true
+        }
+    }
+    
+    override func attributedString(for obj: Any, withDefaultAttributes attrs: [NSAttributedString.Key: Any]?) -> NSAttributedString? {
+        return nil
+    }
+}

+ 0 - 15
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMGeneralButton.h

@@ -1,15 +0,0 @@
-//
-//  KMGeneralButton.h
-//  SignFlow
-//
-//  Created by 丁林圭 on 2021/9/1.
-//
-
-#import <Cocoa/Cocoa.h>
-
-@interface KMGeneralButton : NSButton
-
-@property (nonatomic,retain)NSColor *color;
-
-@end
-

+ 0 - 28
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMGeneralButton.m

@@ -1,28 +0,0 @@
-//
-//  KMGeneralButton.m
-//  SignFlow
-//
-//  Created by 丁林圭 on 2021/9/1.
-//
-
-#import "KMGeneralButton.h"
-
-@implementation KMGeneralButton
-
-- (void)drawRect:(NSRect)dirtyRect
-{
-    [super drawRect:dirtyRect];
-    
-    CGRect rect = self.bounds;
-    CGRect coverRect = CGRectMake(dirtyRect.size.width-2.5, 0, 0, dirtyRect.size.height);
-    [_color setFill];
-
-    NSBezierPath *be = [NSBezierPath bezierPathWithRoundedRect:rect xRadius:rect.size.width/2 yRadius:rect.size.height/2];
-    [be fill];
-
-    [_color setFill];
-    NSBezierPath *coverpath = [NSBezierPath bezierPathWithRect:coverRect];
-    [coverpath fill];
-}
-
-@end

+ 29 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMGeneralButton.swift

@@ -0,0 +1,29 @@
+//
+//  KMGeneralButton.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/12.
+//
+
+import Cocoa
+
+@objcMembers class KMGeneralButton: NSButton {
+
+    var color: NSColor = NSColor.red // 请替换为您需要的颜色
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        let rect = self.bounds
+        let coverRect = NSMakeRect(dirtyRect.size.width - 2.5, 0, 0, dirtyRect.size.height)
+
+        color.setFill()
+
+        let be = NSBezierPath(roundedRect: rect, xRadius: rect.size.width / 2, yRadius: rect.size.height / 2)
+        be.fill()
+
+        color.setFill()
+        let coverPath = NSBezierPath(rect: coverRect)
+        coverPath.fill()
+    }
+}

+ 0 - 24
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotation.h

@@ -1,24 +0,0 @@
-//
-//  KMSelfSignAnnotationInk.h
-//  SignFlow
-//
-//  Created by 丁林圭 on 2021/9/9.
-//
-
-#import <ComPDFKit/CPDFStampAnnotation.h>
-#import "CPDFListView.h"
-#import "CPDFAnnotationModel.h"
-
-@interface KMSelfSignAnnotation : CPDFStampAnnotation
-
-@property (nonatomic,assign) CAnnotationType annotationType;
-
-@property (nonatomic,assign) CGFloat lineAnnotationWidth;
-
-@property (nonatomic,assign) CGFloat lineOpacity;
-
-@property (nonatomic,retain) NSColor * lineColor;
-
-- (instancetype)initWithDocument:(CPDFDocument *)document type:(CAnnotationType)aType;
-
-@end

+ 0 - 142
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotation.m

@@ -1,142 +0,0 @@
-//
-//  KMSelfSignAnnotationInk.m
-//  SignFlow
-//
-//  Created by 丁林圭 on 2021/9/9.
-//
-
-#import "KMSelfSignAnnotation.h"
-
-#import <ComPDFKit/CPDFAnnotation+AP.h>
-#import <PDF_Master-Swift.h>
-
-@implementation KMSelfSignAnnotation
-
-- (instancetype)initWithDocument:(CPDFDocument *)document type:(CAnnotationType)aType
-{
-    if (self = [super initWithDocument:document]) {
-        self.annotationType = aType;
-    }
-    return self;
-}
-
--(NSArray *)getBezierPathsArray
-{
-    CGRect bounds = self.bounds;
-    NSMutableArray * lines = [NSMutableArray array];
-    NSBezierPath *bezierPath = nil;
-    if (CAnnotationTypeSignFalse == self.annotationType) {
-        bezierPath = [NSBezierPath bezierPath];
-        [bezierPath moveToPoint:NSMakePoint(CGRectGetMinX(bounds) + self.lineAnnotationWidth, CGRectGetMinY(bounds) + self.lineAnnotationWidth)];
-        [bezierPath lineToPoint:NSMakePoint(CGRectGetMaxX(bounds) - self.lineAnnotationWidth, CGRectGetMaxY(bounds)-self.lineAnnotationWidth)];
-        [bezierPath closePath];
-        [lines addObject:bezierPath];
-        
-        bezierPath = [NSBezierPath bezierPath];
-        [bezierPath moveToPoint:NSMakePoint(CGRectGetMinX(bounds) + self.lineAnnotationWidth, CGRectGetMaxY(bounds) - self.lineAnnotationWidth)];
-        [bezierPath lineToPoint:NSMakePoint(CGRectGetMaxX(bounds) - self.lineAnnotationWidth, CGRectGetMinY(bounds)+self.lineAnnotationWidth)];
-        [bezierPath closePath];
-        [lines addObject:bezierPath];
-    } else if (CAnnotationTypeSignTure == self.annotationType) {
-        bezierPath = [NSBezierPath bezierPath];
-        [bezierPath moveToPoint:NSMakePoint(CGRectGetMinX(self.bounds) + _lineAnnotationWidth/2.0, CGRectGetMidY(self.bounds) + _lineAnnotationWidth/2.0)];
-        [bezierPath lineToPoint:NSMakePoint(CGRectGetMinX(self.bounds) + CGRectGetWidth(self.bounds)/3.0, CGRectGetMinY(self.bounds) + _lineAnnotationWidth/2.0)];
-        [bezierPath lineToPoint:NSMakePoint(CGRectGetMaxX(self.bounds) - _lineAnnotationWidth/2.0, CGRectGetMaxY(self.bounds) - _lineAnnotationWidth/2.0)];
-        [lines addObject:bezierPath];
-        
-    } else if (CAnnotationTypeSignCircle == self.annotationType) {
-        CGFloat r = MIN(CGRectGetWidth(bounds), CGRectGetHeight(bounds))/3.0;
-        bezierPath = [NSBezierPath bezierPathWithRoundedRect:CGRectInset(self.bounds, self.lineAnnotationWidth/2, self.lineAnnotationWidth/2) xRadius:r yRadius:r];
-        [lines addObject:bezierPath];
-        [bezierPath closePath];
-    } else if (CAnnotationTypeSignLine == self.annotationType) {
-        bezierPath = [NSBezierPath bezierPath];
-        [bezierPath moveToPoint:NSMakePoint(CGRectGetMinX(bounds)-1, CGRectGetMidY(bounds))];
-        [bezierPath lineToPoint:NSMakePoint(CGRectGetMaxX(bounds)-2, CGRectGetMidY(bounds))];
-        [bezierPath closePath];
-        [lines addObject:bezierPath];
-    }
-    return lines;
-}
-
--(NSArray *)getBezierLinesArray
-{
-    NSArray * lines = [self getBezierPathsArray];
-    
-    NSMutableArray *bezierPaths = [NSMutableArray array];
-    for (NSBezierPath *bezierPath in lines) {
-        [bezierPaths addObject:[bezierPath getAllSignCirclePoint]];
-    }
-    return bezierPaths;
-}
-
-- (void)updateAppearanceStream
-{
-    NSColor*color = self.lineColor;
-    CGFloat red,green,blue,alpha;
-    [[color colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&red green:&green blue:&blue alpha:&alpha];
-    if (CAnnotationTypeSignDot == self.annotationType) {
-        CGRect orgBounds = self.bounds;
-        CGFloat eProportion  = MIN(orgBounds.size.width, orgBounds.size.height);
-        CGRect rect = CGRectMake(orgBounds.origin.x + (orgBounds.size.width -  eProportion)/2, orgBounds.origin.y + (orgBounds.size.height -  eProportion)/2, eProportion, eProportion);
-        [self updateAppearanceStreamWithArc:rect border:0 color:nil fillColor:[NSColor colorWithRed:red green:green blue:blue alpha:self.lineOpacity]];
-    } else {
-        NSArray * lines = [self getBezierLinesArray];
-        NSMutableArray *paths = [NSMutableArray array];
-        for (NSArray *line in lines) {
-            NSMutableArray *tPoints = [NSMutableArray array];
-            for (int j=0; j<line.count; j++) {
-                NSString *value = line[j];
-                CGPoint point = NSPointFromString(value);
-                [tPoints addObject:[NSValue valueWithPoint:point]];
-            }
-            if ([tPoints count] > 0) {
-                [paths addObject:tPoints];
-            }
-        }
-        if (paths.count > 0) {
-            [self updateAppearanceStreamWithPaths:paths border:_lineAnnotationWidth color:[NSColor colorWithRed:red green:green blue:blue alpha:self.lineOpacity]];
-        }
-    }
-}
-
--(void)setAnnotationType:(CAnnotationType)annotationType
-{
-    _annotationType = annotationType;
-    CPDFAnnotationModel *annotationModel = [[CPDFAnnotationModel alloc] initWithAnnotationType:_annotationType];
-    self.lineAnnotationWidth = annotationModel.lineWidth;
-    self.lineOpacity = annotationModel.opacity;
-    self.lineColor = annotationModel.color;
-    [self updateAppearanceStream];
-}
-
--(void)drawWithBox:(CPDFDisplayBox)box inContext:(CGContextRef)context
-{
-    NSColor*pathColor = self.lineColor;
-    CGFloat red,green,blue,alpha;
-    [[pathColor colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&red green:&green blue:&blue alpha:&alpha];
-    pathColor = [NSColor colorWithRed:red green:green blue:blue alpha:self.lineOpacity];
-    
-    if (CAnnotationTypeSignTure == _annotationType ||
-        CAnnotationTypeSignFalse == _annotationType ||
-        CAnnotationTypeSignLine == _annotationType ||
-        CAnnotationTypeSignCircle == _annotationType) {
-        for (NSBezierPath *  bezierPath in [self getBezierPathsArray]) {
-            CGContextAddPath(context, [bezierPath kmCGPath]);
-
-        }
-        CGContextSetLineWidth(context, _lineAnnotationWidth);
-        CGContextSetStrokeColorWithColor(context, pathColor.CGColor);
-        CGContextSetFillColorWithColor(context, pathColor.CGColor);
-        CGContextStrokePath(context);
-    }  else if (CAnnotationTypeSignDot == _annotationType) {
-        CGContextSetRGBStrokeColor(context, 0, 0, 0, 1.0);
-        CGContextSetLineWidth(context, 1.0);
-        CGContextAddArc(context, CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds), MIN(CGRectGetWidth(self.bounds)/2.0 - 1 , CGRectGetHeight(self.bounds)/2.0 - 1), 0, M_PI * 2, YES);
-        CGContextSetStrokeColorWithColor(context, pathColor.CGColor);
-        CGContextSetFillColorWithColor(context, pathColor.CGColor);
-        CGContextFillPath(context);
-    }
-}
-
-@end

+ 176 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotation.swift

@@ -0,0 +1,176 @@
+//
+//  KMSelfSignAnnotation.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/12.
+//
+
+import Quartz
+
+@objcMembers class KMSelfSignAnnotation: CPDFStampAnnotation {
+
+    var annotationType: CAnnotationType = .unkown {
+        didSet {
+            let annotationModel: CPDFAnnotationModel = CPDFAnnotationModel(annotationType: annotationType)
+            lineAnnotationWidth = annotationModel.lineWidth()
+            lineOpacity = annotationModel.opacity()
+            lineColor = annotationModel.color()
+            updateAppearanceStream()
+        }
+    }
+    var lineAnnotationWidth: CGFloat = 1.0
+    var lineOpacity: CGFloat = 1.0
+    var lineColor: NSColor = NSColor.black
+
+    func getBezierPathsArray() -> [NSBezierPath] {
+        var lines = [NSBezierPath]()
+        let bounds = self.bounds
+
+        var bezierPath: NSBezierPath
+
+        if self.annotationType == .signFalse {
+            bezierPath = NSBezierPath()
+            bezierPath.move(to: NSPoint(x: bounds.minX + self.lineAnnotationWidth, y: bounds.minY + self.lineAnnotationWidth))
+            bezierPath.line(to: NSPoint(x: bounds.maxX - self.lineAnnotationWidth, y: bounds.maxY - self.lineAnnotationWidth))
+            bezierPath.close()
+            lines.append(bezierPath)
+
+            bezierPath = NSBezierPath()
+            bezierPath.move(to: NSPoint(x: bounds.minX + self.lineAnnotationWidth, y: bounds.maxY - self.lineAnnotationWidth))
+            bezierPath.line(to: NSPoint(x: bounds.maxX - self.lineAnnotationWidth, y: bounds.minY + self.lineAnnotationWidth))
+            bezierPath.close()
+            lines.append(bezierPath)
+        } else if self.annotationType == .signTure {
+            bezierPath = NSBezierPath()
+            bezierPath.move(to: NSPoint(x: bounds.minX + self.lineAnnotationWidth / 2.0, y: bounds.midY + self.lineAnnotationWidth / 2.0))
+            bezierPath.line(to: NSPoint(x: bounds.minX + bounds.width / 3.0, y: bounds.minY + self.lineAnnotationWidth / 2.0))
+            bezierPath.line(to: NSPoint(x: bounds.maxX - self.lineAnnotationWidth / 2.0, y: bounds.maxY - self.lineAnnotationWidth / 2.0))
+            lines.append(bezierPath)
+        } else if self.annotationType == .signCircle {
+            let r = min(bounds.width, bounds.height) / 3.0
+            bezierPath = NSBezierPath(roundedRect: bounds.insetBy(dx: self.lineAnnotationWidth / 2, dy: self.lineAnnotationWidth / 2), xRadius: r, yRadius: r)
+            lines.append(bezierPath)
+            bezierPath.close()
+        } else if self.annotationType == .signLine {
+            bezierPath = NSBezierPath()
+            bezierPath.move(to: NSPoint(x: bounds.minX - 1, y: bounds.midY))
+            bezierPath.line(to: NSPoint(x: bounds.maxX - 2, y: bounds.midY))
+            bezierPath.close()
+            lines.append(bezierPath)
+        }
+
+        return lines
+    }
+
+
+    func getBezierLinesArray() -> [[String]] {
+        let lines = getBezierPathsArray()
+        var bezierPaths = [[String]]()
+
+        for bezierPath in lines {
+            bezierPaths.append(bezierPath.getAllSignCirclePoint())
+        }
+
+        return bezierPaths
+    }
+
+    override func updateAppearanceStream() {
+        let color = self.lineColor
+        var red: CGFloat = 0.0
+        var green: CGFloat = 0.0
+        var blue: CGFloat = 0.0
+        var alpha: CGFloat = 0.0
+
+        color.usingColorSpaceName(NSColorSpaceName.calibratedRGB)?.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
+
+        if self.annotationType == .signDot {
+            let orgBounds = self.bounds
+            let eProportion = min(orgBounds.size.width, orgBounds.size.height)
+            let rect = NSRect(x: orgBounds.origin.x + (orgBounds.size.width - eProportion) / 2, y: orgBounds.origin.y + (orgBounds.size.height - eProportion) / 2, width: eProportion, height: eProportion)
+            updateAppearanceStream(withArc: rect, border: 0, color: nil, fill: NSColor(red: red, green: green, blue: blue, alpha: self.lineOpacity))
+        } else {
+            let lines = getBezierLinesArray()
+            var paths = [[NSValue]]()
+
+            for line in lines {
+                var tPoints = [NSValue]()
+
+                for value in line {
+                    let pointComponents = value.components(separatedBy: ",")
+                    if pointComponents.count == 2, let x = Double(pointComponents[0]), let y = Double(pointComponents[1]) {
+                        let point = NSPoint(x: x, y: y)
+                        tPoints.append(NSValue(point: point))
+                    }
+                }
+
+                if tPoints.count > 0 {
+                    paths.append(tPoints)
+                }
+            }
+
+            if paths.count > 0 {
+                updateAppearanceStream(withPaths: paths, border: lineAnnotationWidth, color: NSColor(red: red, green: green, blue: blue, alpha: self.lineOpacity))
+            }
+        }
+    }
+    
+    func draw(with box: CPDFDisplayBox, inContext context: CGContext) {
+        var pathColor = self.lineColor
+        var red: CGFloat = 0.0
+        var green: CGFloat = 0.0
+        var blue: CGFloat = 0.0
+        var alpha: CGFloat = 0.0
+
+        pathColor.usingColorSpaceName(NSColorSpaceName.calibratedRGB)?.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
+        pathColor = NSColor(red: red, green: green, blue: blue, alpha: self.lineOpacity)
+
+        if self.annotationType == .signTure ||
+            self.annotationType == .signFalse || 
+            self.annotationType == .signLine || 
+            self.annotationType == .signCircle {
+            for bezierPath in getBezierPathsArray() {
+                context.addPath(createCGPath(from: bezierPath))
+            }
+
+            context.setLineWidth(lineAnnotationWidth)
+            context.setStrokeColor(pathColor.cgColor)
+            context.setFillColor(pathColor.cgColor)
+            context.strokePath()
+        }  else if self.annotationType == .signDot {
+            context.setStrokeColor(red: 0, green: 0, blue: 0, alpha: 1.0)
+            context.setLineWidth(1.0)
+            context.addArc(center: CGPointMake(self.bounds.midX, self.bounds.midY), radius: min(self.bounds.width / 2.0 - 1, self.bounds.height / 2.0 - 1), startAngle: 0, endAngle: .pi * 2, clockwise: true)
+            context.setStrokeColor(pathColor.cgColor)
+            context.setFillColor(pathColor.cgColor)
+            context.fillPath()
+        }
+    }
+    
+    func createCGPath(from bezierPath: NSBezierPath) -> CGPath {
+        let path = CGMutablePath()
+        let elementCount = bezierPath.elementCount
+        var points = [NSPoint](repeating: .zero, count: 3)
+        
+        for i in 0..<elementCount {
+            let elementType = bezierPath.element(at: i, associatedPoints: &points)
+            
+            switch elementType {
+            case .moveTo:
+                path.move(to: CGPoint(x: points[0].x, y: points[0].y))
+            case .lineTo:
+                path.addLine(to: CGPoint(x: points[0].x, y: points[0].y))
+            case .curveTo:
+                path.addCurve(to: CGPoint(x: points[2].x, y: points[2].y),
+                              control1: CGPoint(x: points[0].x, y: points[0].y),
+                              control2: CGPoint(x: points[1].x, y: points[1].y))
+            case .closePath:
+                path.closeSubpath()
+            @unknown default:
+                break
+            }
+        }
+        
+        return path
+    }
+
+}

+ 0 - 41
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotationFreeText.h

@@ -1,41 +0,0 @@
-//
-//  KMSelfSignAnnotationFreeText.h
-//  SignFlow
-//
-//  Created by wanjun on 2021/6/24.
-//
-
-#import <ComPDFKit/ComPDFKit.h>
-#import "CPDFListView.h"
-#import "CPDFAnnotationModel.h"
-
-typedef NS_ENUM(NSUInteger, KMSelfSignAnnotationFreeTextSubType) {
-    KMSelfSignAnnotationFreeTextSubType_None,
-    KMSelfSignAnnotationFreeTextSubType_FreeText,
-    KMSelfSignAnnotationFreeTextSubType_Profile,
-    KMSelfSignAnnotationFreeTextSubType_Date
-};
-
-@interface KMSelfSignAnnotationFreeText : CPDFFreeTextAnnotation
-
-+ (NSArray *_Nullable)dateFormatterArray;
-
-+ (NSString *_Nullable)fetchDateStringWithIndex:(NSInteger)index includeTime:(BOOL)includeTime;
-
-- (id _Nullable )initWithDocument:(CPDFDocument *_Nullable)document
-               subType:(KMSelfSignAnnotationFreeTextSubType)subType
-                string:(nonnull NSString *)string
-                bounds:(NSRect)bounds;
-
-+ (NSArray *_Nullable)fetchAllDateString:(BOOL)includeTime;
-
-- (void)updateBounds;
-
-@property (nonatomic, assign, readonly) KMSelfSignAnnotationFreeTextSubType subType;
-
-/*仅仅当类型为时间时才用*/
-@property (nonatomic, assign) NSInteger dateFormatIndex;
-@property (nonatomic, assign) BOOL includeTime;
-/*仅仅当类型为时间时才用*/
-
-@end

+ 0 - 310
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotationFreeText.m

@@ -1,310 +0,0 @@
-//
-//  KMSelfSignAnnotationFreeText.m
-//  SignFlow
-//
-//  Created by wanjun on 2021/6/24.
-//
-
-#import "KMSelfSignAnnotationFreeText.h"
-
-@interface KMSelfSignAnnotationFreeText ()
-
-@property (nonatomic, assign, readwrite) KMSelfSignAnnotationFreeTextSubType subType;
-@property (nonatomic, retain) NSDate *date;
-@property (nonatomic, retain) NSArray *includeTimeDateArray;
-@property (nonatomic, retain) NSArray *excludeTimeDateArray;
-
-@end
-
-@implementation KMSelfSignAnnotationFreeText
-
-
-+ (NSArray *)dateFormatterArray
-{
-    return @[@"Default",
-             @"m/d",
-             @"m/d/yy",
-             @"m/d/yyyy",
-             @"mm/dd/yy",
-             @"mm/dd/yyyy",
-             @"d/m/yy",
-             @"d/m/yyyy",
-             @"dd/mm/yy",
-             @"dd/mm/yyyy",
-             @"mm/yy",
-             @"mm/yyyy",
-             @"m.d.yy",
-             @"m.d.yyyy",
-             @"mm.dd.yy",
-             @"mm.dd.yyyy",
-             @"mm.yy",
-             @"mm.yyyy",
-             @"d.m.yy",
-             @"d.m.yyyy",
-             @"dd.mm.yy",
-             @"dd.mm.yyyy",
-             @"yy-mm-dd",
-             @"yyyy-mm-dd",
-    ];
-}
-
-+ (NSString *)fetchDateStringWithIndex:(NSInteger)index includeTime:(BOOL)includeTime
-{
-    NSArray *dateFormatterArray = [KMSelfSignAnnotationFreeText dateFormatterArray];
-    
-    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
-    if (index < 0 || index > dateFormatterArray.count - 1) {
-        index = 0;
-    }
-    
-    NSString *dateStyleString = [dateFormatterArray objectAtIndex:index];
-    if ([dateStyleString isEqualToString:@"m/d"]) {
-        if (includeTime) {
-            formatter.dateFormat = @"M/dd HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"M/dd";
-        }
-    }else if ([dateStyleString isEqualToString:@"m/d/yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"M/d/yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"M/d/yy";
-        }
-    }else if ([dateStyleString isEqualToString:@"m/d/yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"M/d/yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"M/d/yyyy";
-        }
-    }else if ([dateStyleString isEqualToString:@"mm/dd/yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM/dd/yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM/dd/yy";
-        }
-    }else if ([dateStyleString isEqualToString:@"mm/dd/yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM/dd/yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM/dd/yyyy";
-        }
-    }else if ([dateStyleString isEqualToString:@"d/m/yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"d/M/yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"d/M/yy";
-        }
-    }else if ([dateStyleString isEqualToString:@"d/m/yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"d/M/yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"d/M/yyyy";
-        }
-    }else if ([dateStyleString isEqualToString:@"dd/mm/yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"dd/MM/yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"dd/MM/yy";
-        }
-        
-    }else if ([dateStyleString isEqualToString:@"dd/mm/yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"dd/MM/yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"dd/MM/yyyy";
-        }
-    }else if ([dateStyleString isEqualToString:@"mm/yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM/yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM/yy";
-        }
-    }else if ([dateStyleString isEqualToString:@"mm/yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM/yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM/yyyy";
-        }
-    }else if ([dateStyleString isEqualToString:@"m.d.yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"M.d.yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"M.d.yy";
-        }
-    }else if ([dateStyleString isEqualToString:@"m.d.yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"M.d.yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"M.d.yyyy";
-        }
-        
-    }else if ([dateStyleString isEqualToString:@"mm.dd.yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM.dd.yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM.dd.yy";
-        }
-    } else if ([dateStyleString isEqualToString:@"mm.dd.yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM.dd.yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM.dd.yyyy";
-        }
-    } else if ([dateStyleString isEqualToString:@"mm.yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM.yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM.yy";
-        }
-    } else if ([dateStyleString isEqualToString:@"mm.yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"MM.yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"MM.yyyy";
-        }
-    } else if ([dateStyleString isEqualToString:@"d.m.yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"d.M.yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"d.M.yy";
-        }
-    } else if ([dateStyleString isEqualToString:@"d.m.yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"d.M.yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"d.M.yyyy";
-        }
-    } else if ([dateStyleString isEqualToString:@"dd.mm.yy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"dd.MM.yy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"dd.MM.yy";
-        }
-        
-    }
-    else if ([dateStyleString isEqualToString:@"dd.mm.yyyy"]){
-        if (includeTime) {
-            formatter.dateFormat = @"dd.MM.yyyy HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"dd.MM.yyyy";
-        }
-        
-    }else if ([dateStyleString isEqualToString:@"yy-mm-dd"]){
-        if (includeTime) {
-            formatter.dateFormat = @"yy-MM-dd HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"yy-MM-dd";
-        }
-        
-    } else if ([dateStyleString isEqualToString:@"yyyy-mm-dd"]){
-        if (includeTime) {
-            formatter.dateFormat = @"yyy-MM-dd HH:mm:ss";
-        } else {
-            formatter.dateFormat = @"yyy-MM-dd";
-        }
-    } else {
-        formatter.dateStyle =  kCFDateFormatterMediumStyle;
-        if (includeTime) {
-            formatter.timeStyle = kCFDateFormatterShortStyle;
-        } else {
-            formatter.timeStyle = kCFDateFormatterNoStyle;
-        }
-    }
-    NSString *str = [formatter stringFromDate:[NSDate date]];
-    return str;
-}
-
-#pragma mark - Getter & Setter
-
-- (void)setIncludeTime:(BOOL)includeTime {
-    if (_includeTime != includeTime) {
-        _includeTime = includeTime;
-        self.contents = [KMSelfSignAnnotationFreeText fetchDateStringWithIndex:_dateFormatIndex includeTime:includeTime];
-        [self updateBounds];
-    }
-}
-
-- (void)setDateFormatIndex:(NSInteger)dateForamtIndex {
-    if (_dateFormatIndex != dateForamtIndex) {
-        _dateFormatIndex = dateForamtIndex;
-        self.contents = [KMSelfSignAnnotationFreeText fetchDateStringWithIndex:_dateFormatIndex includeTime:_includeTime];
-        [self updateBounds];
-    }
-}
-
-#pragma mark - Init Methods
-
-- (id)initWithDocument:(CPDFDocument *)document subType:(KMSelfSignAnnotationFreeTextSubType)subType string:(nonnull NSString *)string bounds:(NSRect)bounds {
-    self = [super initWithDocument:document];
-    if (self) {
-        CPDFAnnotationModel *annotationModel = nil;
-        if(KMSelfSignAnnotationFreeTextSubType_Date == subType){
-            annotationModel = [[CPDFAnnotationModel alloc] initWithAnnotationType:CAnnotationTypeSignDate];
-        } else if (KMSelfSignAnnotationFreeTextSubType_Profile == subType) {
-            annotationModel = [[CPDFAnnotationModel alloc] initWithAnnotationType:CAnnotationTypeSignText];
-        } else {
-            annotationModel = [[CPDFAnnotationModel alloc] initWithAnnotationType:CAnnotationTypeFreeText];
-        }
-        NSFont *font = [NSFont fontWithName:annotationModel.fontName size:annotationModel.fontSize] ? : [NSFont systemFontOfSize:13.0];
-        if (font)
-            [self setFont:font];
-        
-        [self setColor:annotationModel.color];
-        [self setAlignment:annotationModel.alignment];
-        CPDFBorder *border = [[CPDFBorder alloc] initWithStyle:annotationModel.style lineWidth:annotationModel.lineWidth dashPattern:annotationModel.dashPattern];
-        if (!annotationModel.fontColor) {
-            //设置字体颜色为透明度必须设一个颜色值,然后将透明度改为0
-            [self setFontColor:[NSColor blackColor]];
-            [self setOpacity:0];
-        } else {
-            [self setFontColor:annotationModel.fontColor];
-            [self setOpacity:annotationModel.opacity];
-        }
-        
-        if (subType == KMSelfSignAnnotationFreeTextSubType_FreeText) {
-        } else if (subType == KMSelfSignAnnotationFreeTextSubType_Date) {
-            NSInteger index = annotationModel.dateFormatIndex;
-            BOOL includeTime = annotationModel.includeTime;
-            _dateFormatIndex = index;
-            _includeTime = includeTime;
-            self.contents = [KMSelfSignAnnotationFreeText fetchDateStringWithIndex:index includeTime:includeTime];
-        } else {
-            self.contents = string?:@"";
-        }
-        [self setBounds:bounds];
-        [self updateBounds];
-        self.subType = subType;
-    }
-    return self;
-}
-
-#pragma mark - Public Methods
-
-+ (NSArray *_Nullable)fetchAllDateString:(BOOL)includeTime
-{
-    NSMutableArray *rtnArray = [NSMutableArray array];
-    for (NSInteger i = 0; i < [KMSelfSignAnnotationFreeText dateFormatterArray].count; i++) {
-        [rtnArray addObject:[KMSelfSignAnnotationFreeText fetchDateStringWithIndex:i includeTime:includeTime]];
-    }
-    return [NSArray arrayWithArray:rtnArray];
-}
-
-- (void)updateBounds {
-    
-    CGRect tempBounds = self.bounds;
-    NSDictionary *userAttributes = @{NSFontAttributeName: self.font};
-    CGSize size = [self.contents sizeWithAttributes:userAttributes];
-    CGFloat originalHeight = tempBounds.size.height;
-    if (size.width < 10) {
-        tempBounds.size.width = 130;
-        tempBounds.size.height = size.height + 5;
-    } else {
-        tempBounds.size.width = size.width + 5;
-        tempBounds.size.height = size.height + 5;
-    }
-    CGFloat gap = originalHeight - tempBounds.size.height;
-    tempBounds.origin.y = tempBounds.origin.y + gap;
-    self.bounds = tempBounds;
-}
-
-@end

+ 208 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/View/KMSelfSignAnnotationFreeText.swift

@@ -0,0 +1,208 @@
+//
+//  KMSelfSignAnnotationFreeText.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/12.
+//
+
+import Quartz
+
+@objc enum KMSelfSignAnnotationFreeTextSubType: Int {
+    case freeText = 0
+    case date
+    case profile
+}
+
+@objcMembers class KMSelfSignAnnotationFreeText: CPDFFreeTextAnnotation {
+    var subType: KMSelfSignAnnotationFreeTextSubType = .freeText
+    var date: Date?
+    var includeTimeDateArray: [Any]?
+    var excludeTimeDateArray: [Any]?
+    
+    static func dateFormatterArray() -> [String] {
+        return ["Default",
+                "m/d",
+                "m/d/yy",
+                "m/d/yyyy",
+                "mm/dd/yy",
+                "mm/dd/yyyy",
+                "d/m/yy",
+                "d/m/yyyy",
+                "dd/mm/yy",
+                "dd/mm/yyyy",
+                "mm/yy",
+                "mm/yyyy",
+                "m.d.yy",
+                "m.d.yyyy",
+                "mm.dd.yy",
+                "mm.dd.yyyy",
+                "mm.yy",
+                "mm.yyyy",
+                "d.m.yy",
+                "d.m.yyyy",
+                "dd.mm.yy",
+                "dd.mm.yyyy",
+                "yy-mm-dd",
+                "yyyy-mm-dd"]
+    }
+    
+    static func fetchDateString(with index: Int, includeTime: Bool) -> String {
+        let dateFormatterArray = dateFormatterArray()
+        let formatter = DateFormatter()
+        
+        if index < 0 || index >= dateFormatterArray.count {
+            return ""
+        }
+        
+        let dateStyleString = dateFormatterArray[index]
+        if dateStyleString == "m/d" {
+            formatter.dateFormat = includeTime ? "M/dd HH:mm:ss" : "M/dd"
+        } else if dateStyleString == "m/d/yy" {
+            formatter.dateFormat = includeTime ? "M/d/yy HH:mm:ss" : "M/d/yy"
+        } else if dateStyleString == "m/d/yyyy" {
+            formatter.dateFormat = includeTime ? "M/d/yyyy HH:mm:ss" : "M/d/yyyy"
+        } else if dateStyleString == "mm/dd/yy" {
+            formatter.dateFormat = includeTime ? "MM/dd/yy HH:mm:ss" : "MM/dd/yy"
+        } else if dateStyleString == "mm/dd/yyyy" {
+            formatter.dateFormat = includeTime ? "MM/dd/yyyy HH:mm:ss" : "MM/dd/yyyy"
+        } else if dateStyleString == "d/m/yy" {
+            formatter.dateFormat = includeTime ? "d/M/yy HH:mm:ss" : "d/M/yy"
+        } else if dateStyleString == "d/m/yyyy" {
+            formatter.dateFormat = includeTime ? "d/M/yyyy HH:mm:ss" : "d/M/yyyy"
+        } else if dateStyleString == "dd/mm/yy" {
+            formatter.dateFormat = includeTime ? "dd/MM/yy HH:mm:ss" : "dd/MM/yy"
+        } else if dateStyleString == "dd/mm/yyyy" {
+            formatter.dateFormat = includeTime ? "dd/MM/yyyy HH:mm:ss" : "dd/MM/yyyy"
+        } else if dateStyleString == "mm/yy" {
+            formatter.dateFormat = includeTime ? "MM/yy HH:mm:ss" : "MM/yy"
+        } else if dateStyleString == "mm/yyyy" {
+            formatter.dateFormat = includeTime ? "MM/yyyy HH:mm:ss" : "MM/yyyy"
+        } else if dateStyleString == "m.d.yy" {
+            formatter.dateFormat = includeTime ? "M.d.yy HH:mm:ss" : "M.d.yy"
+        } else if dateStyleString == "m.d.yyyy" {
+            formatter.dateFormat = includeTime ? "M.d.yyyy HH:mm:ss" : "M.d.yyyy"
+        } else if dateStyleString == "mm.dd.yy" {
+            formatter.dateFormat = includeTime ? "MM.dd.yy HH:mm:ss" : "MM.dd.yy"
+        } else if dateStyleString == "mm.dd.yyyy" {
+            formatter.dateFormat = includeTime ? "MM.dd.yyyy HH:mm:ss" : "MM.dd.yyyy"
+        } else if dateStyleString == "mm.yy" {
+            formatter.dateFormat = includeTime ? "MM.yy HH:mm:ss" : "MM.yy"
+        } else if dateStyleString == "mm.yyyy" {
+            formatter.dateFormat = includeTime ? "MM.yyyy HH:mm:ss" : "MM.yyyy"
+        } else if dateStyleString == "d.m.yy" {
+            formatter.dateFormat = includeTime ? "d.M.yy HH:mm:ss" : "d.M.yy"
+        } else if dateStyleString == "d.m.yyyy" {
+            formatter.dateFormat = includeTime ? "d.M.yyyy HH:mm:ss" : "d.M.yyyy"
+        } else if dateStyleString == "dd.mm.yy" {
+            formatter.dateFormat = includeTime ? "dd.MM.yy HH:mm:ss" : "dd.MM.yy"
+        } else if dateStyleString == "dd.mm.yyyy" {
+            formatter.dateFormat = includeTime ? "dd.MM.yyyy HH:mm:ss" : "dd.MM.yyyy"
+        } else if dateStyleString == "yy-mm-dd" {
+            formatter.dateFormat = includeTime ? "yy-MM-dd HH:mm:ss" : "yy-MM-dd"
+        } else if dateStyleString == "yyyy-mm-dd" {
+            formatter.dateFormat = includeTime ? "yyy-MM-dd HH:mm:ss" : "yyy-MM-dd"
+        } else {
+            formatter.dateStyle = .medium
+            formatter.timeStyle = includeTime ? .short : .none
+        }
+        
+        return formatter.string(from: Date())
+    }
+    
+    var includeTime: Bool = false {
+           didSet {
+               if includeTime != oldValue {
+                   contents = KMSelfSignAnnotationFreeText.fetchDateString(with: dateFormatIndex, includeTime: includeTime)
+                   updateBounds()
+               }
+           }
+       }
+
+       var dateFormatIndex: Int = 0 {
+           didSet {
+               if dateFormatIndex != oldValue {
+                   contents = KMSelfSignAnnotationFreeText.fetchDateString(with: dateFormatIndex, includeTime: includeTime)
+                   updateBounds()
+               }
+           }
+       }
+
+        init(document: CPDFDocument, subType: KMSelfSignAnnotationFreeTextSubType, string: String, bounds: NSRect) {
+            super.init(document: document)
+            
+            var annotationModel: CPDFAnnotationModel = CPDFAnnotationModel()
+            
+            if subType == .date {
+                annotationModel = CPDFAnnotationModel(annotationType: .signDate)
+            } else if subType == .profile {
+                annotationModel = CPDFAnnotationModel(annotationType: .signText)
+            } else {
+                annotationModel = CPDFAnnotationModel(annotationType: .freeText)
+            }
+            
+            let font = NSFont(name: annotationModel.fontName(), size: annotationModel.fontSize())
+            self.font = font
+            
+            
+            self.color = annotationModel.color()
+            self.alignment = annotationModel.alignment()
+            
+            let border = CPDFBorder(style: annotationModel.style(), lineWidth: annotationModel.lineWidth(), dashPattern: annotationModel.dashPattern())
+            
+            if annotationModel.fontColor == nil {
+                // 将字体颜色设置为透明度必须设一个颜色值,然后将透明度改为0
+                self.fontColor = NSColor.black
+                self.opacity = 0
+            } else {
+                self.fontColor = annotationModel.fontColor()
+                self.opacity = annotationModel.opacity()
+            }
+            
+            if subType == .freeText {
+                // 根据需要处理 FreeText 特定的初始化逻辑
+            } else if subType == .date {
+                let index = annotationModel.dateFormatIndex
+                let includeTime = annotationModel.includeTime
+                
+                dateFormatIndex = index()
+                self.includeTime = includeTime()
+                contents = KMSelfSignAnnotationFreeText.fetchDateString(with: index(), includeTime: includeTime())
+            } else {
+                contents = string.isEmpty ? "" : string
+            }
+            
+            self.bounds = bounds
+            updateBounds()
+            self.subType = subType
+        }
+
+
+       public static func fetchAllDateString(includeTime: Bool) -> [String] {
+           var rtnArray: [String] = []
+           for i in 0..<KMSelfSignAnnotationFreeText.dateFormatterArray().count {
+               rtnArray.append(KMSelfSignAnnotationFreeText.fetchDateString(with: i, includeTime: includeTime))
+           }
+           return rtnArray
+       }
+
+       func updateBounds() {
+           var tempBounds = bounds
+           let userAttributes = [NSAttributedString.Key.font: font]
+           if let string = contents as? NSString {
+               let size = string.size(withAttributes: userAttributes)
+               let originalHeight = tempBounds.size.height
+               if size.width < 10 {
+                   tempBounds.size.width = 130
+                   tempBounds.size.height = size.height + 5
+               } else {
+                   tempBounds.size.width = size.width + 5
+                   tempBounds.size.height = size.height + 5
+               }
+               let gap = originalHeight - tempBounds.size.height
+               tempBounds.origin.y += gap
+               bounds = tempBounds
+           }
+       }
+}
+    
+   

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/KMFillSignTextPanel.swift

@@ -90,7 +90,7 @@ class KMFillSignTextPanel: KMPropertiesPanelSubViewController {
         self.colors = KMAnnotationPropertiesColorManager.default().freeFillTextColors
 //        self.dateTypes = ["yyyy MM d", "MM/d", "MM/d/yyyy", "MM/dd/yy", "MM/dd/yyyy"]
         let includeTime = self.annotationModel.includeTime()
-        self.dateTypes = KMSelfSignAnnotationFreeText.fetchAllDateString(includeTime) as! [String]
+        self.dateTypes = KMSelfSignAnnotationFreeText.fetchAllDateString(includeTime: includeTime) 
         
         fontNameVC = KMDesignSelect.init(withType: .PopButton)
         fontWeightVC = KMDesignSelect.init(withType: .PopButton)

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/StampList/KMAnnotationStampViewController.xib

@@ -63,7 +63,7 @@
                                                         <rect key="frame" x="42" y="2" width="124" height="59"/>
                                                         <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" id="GTC-oP-pzy"/>
                                                     </imageView>
-                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kDA-VR-S07" customClass="KMButton">
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kDA-VR-S07" customClass="KMButton" customModule="PDF_Master" customModuleProvider="target">
                                                         <rect key="frame" x="166" y="33" width="30" height="30"/>
                                                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePropertybarDeleteStamp" imagePosition="only" alignment="center" state="on" imageScaling="proportionallyDown" inset="2" id="kIq-i6-QOl">
                                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>

+ 0 - 4
PDF Office/PDF Master/PDF_Master DMG-Bridging-Header.h

@@ -28,7 +28,6 @@
 #import "CPDFListView+Tool.h"
 #import "NSBitmapImageRep_SKExtensions.h"
 #import <Masonry/Masonry.h>
-#import "TextFieldFormatter.h"
 #import "KMPDFEditAppendWindow.h"
 
 #import "KMWatermarkPDFView_OC.h"
@@ -42,14 +41,11 @@
 #import "KMSecondaryViewController.h"
 //
 #import "KMPrintAccessoryController_OC.h"
-//
-#import "KMSelfSignAnnotationFreeText.h"
 
 #import "CStringConstants.h"
 #import "NSUserDefaults+PDFListView.h"
 
 #import "KMCellEmptyView.h"
-#import "KMSelfSignAnnotation.h"
 #import "GBDeviceInfo.h"
 #import "KMEmailSubWindowController.h"
 #import "SKInfoWindowController.h"

+ 0 - 1
PDF Office/PDF Master/PDF_Master Pro-Bridging-Header.h

@@ -18,7 +18,6 @@
 #import "CPDFListView+Public.h"
 #import "KMGeneralAnnotationViewController.h"
 #import "KMAnnotationPropertiesViewController.h"
-#import "TextFieldFormatter.h"
 #import "KMPDFEditAppendWindow.h"
 #import "KMWatermarkPDFView_OC.h"
 #import "KMDocumentAIViewController.h"

+ 0 - 4
PDF Office/PDF Master/PDF_Master-Bridging-Header.h

@@ -29,7 +29,6 @@
 #import "CPDFListView+Tool.h"
 #import "NSBitmapImageRep_SKExtensions.h"
 #import <Masonry/Masonry.h>
-#import "TextFieldFormatter.h"
 #import "KMPDFEditAppendWindow.h"
 
 #import "KMWatermarkPDFView_OC.h"
@@ -41,13 +40,10 @@
 #import "KMSecondaryViewController.h"
 //
 #import "KMPrintAccessoryController_OC.h"
-//
-#import "KMSelfSignAnnotationFreeText.h"
 
 #import "CStringConstants.h"
 
 #import "KMCellEmptyView.h"
-#import "KMSelfSignAnnotation.h"
 #import "GBDeviceInfo.h"
 #import "KMEmailSubWindowController.h"
 #import "SKKeychain.h"