Browse Source

【2025】【Edit】右侧框架搭建

niehaoyu 4 months ago
parent
commit
9ee03282eb

+ 2 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/KMPDFViewManager.swift

@@ -20,6 +20,8 @@ class KMPDFViewManager: NSObject {
     
     var showDisplayView: Bool = false //显示左侧View界面
     
+    var showRightSide: Bool = false //显示右侧界面
+    
     var isPageEditMode: Bool = false  //页面编辑模式
     
     var isPDFReadMode: Bool = false //阅读模式

+ 55 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/KMRightSideController.swift

@@ -0,0 +1,55 @@
+//
+//  KMRightSideController.swift
+//  PDF Reader Pro
+//
+//  Created by Niehaoyu on 2024/11/12.
+//
+
+import Cocoa
+import KMComponentLibrary
+
+class KMRightSideController: NSViewController {
+
+    @IBOutlet var contendView: NSView!
+    @IBOutlet var titleLabel: NSTextField!
+    
+    @IBOutlet var infoContendView: NSView!
+    
+    var pdfView: CPDFListView?
+    var subToolMode: KMPDFSubToolMode = .None //二级工具栏
+
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do view setup here.
+        
+        setupUI()
+        
+        reloadData()
+    }
+    
+    func setupUI() {
+        titleLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
+        titleLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-m-bold")
+        
+    }
+    
+    func updateTitleLabel() {
+        if subToolMode == .Edit_text {
+            titleLabel.stringValue = KMLocalizedString("Text")
+        } else if subToolMode == .Edit_Image {
+            titleLabel.stringValue = KMLocalizedString("Image")
+        } else if subToolMode == .Edit_Link {
+            titleLabel.stringValue = KMLocalizedString("Link")
+        } else if subToolMode == .Edit_Crop {
+            titleLabel.stringValue = KMLocalizedString("Crop")
+        }
+    }
+    
+    func reloadData() {
+        
+        updateTitleLabel()
+        
+        
+    }
+    
+}

+ 77 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/KMRightSideController.xib

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMRightSideController" customModule="PDF_Reader_Pro" customModuleProvider="target">
+            <connections>
+                <outlet property="contendView" destination="Sx1-Eg-QqT" id="6gg-wx-Pn7"/>
+                <outlet property="infoContendView" destination="5et-6F-yVg" id="ibb-Ic-3DS"/>
+                <outlet property="titleLabel" destination="Rtf-SN-4Bo" id="ddV-ja-Zc8"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="264" height="600"/>
+            <autoresizingMask key="autoresizingMask" flexibleMinX="YES" heightSizable="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Sx1-Eg-QqT">
+                    <rect key="frame" x="0.0" y="0.0" width="264" height="600"/>
+                    <subviews>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="TcN-JR-Ldb">
+                            <rect key="frame" x="0.0" y="560" width="264" height="40"/>
+                            <subviews>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rtf-SN-4Bo">
+                                    <rect key="frame" x="114" y="12" width="37" height="16"/>
+                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="SOk-r3-7QR">
+                                        <font key="font" usesAppearanceFont="YES"/>
+                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="S7y-0d-xw5" customClass="ComponentDivider" customModule="KMComponentLibrary">
+                                    <rect key="frame" x="0.0" y="0.0" width="264" height="1"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="1" id="Wcr-yw-mvt"/>
+                                    </constraints>
+                                </customView>
+                            </subviews>
+                            <constraints>
+                                <constraint firstItem="Rtf-SN-4Bo" firstAttribute="centerX" secondItem="TcN-JR-Ldb" secondAttribute="centerX" id="GZV-pG-XPa"/>
+                                <constraint firstItem="S7y-0d-xw5" firstAttribute="leading" secondItem="TcN-JR-Ldb" secondAttribute="leading" id="Kzb-5g-wtX"/>
+                                <constraint firstAttribute="height" constant="40" id="NoW-2A-4bC"/>
+                                <constraint firstAttribute="trailing" secondItem="S7y-0d-xw5" secondAttribute="trailing" id="bOI-W8-3Am"/>
+                                <constraint firstItem="Rtf-SN-4Bo" firstAttribute="centerY" secondItem="TcN-JR-Ldb" secondAttribute="centerY" id="nRW-oz-YOE"/>
+                                <constraint firstAttribute="bottom" secondItem="S7y-0d-xw5" secondAttribute="bottom" id="xKr-rQ-GAj"/>
+                            </constraints>
+                        </customView>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="5et-6F-yVg">
+                            <rect key="frame" x="0.0" y="0.0" width="264" height="560"/>
+                        </customView>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="TcN-JR-Ldb" firstAttribute="top" secondItem="Sx1-Eg-QqT" secondAttribute="top" id="132-Pn-4jc"/>
+                        <constraint firstAttribute="trailing" secondItem="TcN-JR-Ldb" secondAttribute="trailing" id="G1x-eP-gh9"/>
+                        <constraint firstItem="5et-6F-yVg" firstAttribute="top" secondItem="TcN-JR-Ldb" secondAttribute="bottom" id="IVU-aY-91O"/>
+                        <constraint firstAttribute="bottom" secondItem="5et-6F-yVg" secondAttribute="bottom" id="Ymu-ti-PuI"/>
+                        <constraint firstItem="5et-6F-yVg" firstAttribute="leading" secondItem="Sx1-Eg-QqT" secondAttribute="leading" id="aSN-4h-8FS"/>
+                        <constraint firstAttribute="trailing" secondItem="5et-6F-yVg" secondAttribute="trailing" id="aeX-g5-tMt"/>
+                        <constraint firstItem="TcN-JR-Ldb" firstAttribute="leading" secondItem="Sx1-Eg-QqT" secondAttribute="leading" id="lWM-Lx-e5G"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstAttribute="bottom" secondItem="Sx1-Eg-QqT" secondAttribute="bottom" id="7wh-R5-uLn"/>
+                <constraint firstAttribute="trailing" secondItem="Sx1-Eg-QqT" secondAttribute="trailing" id="LeU-2Q-gHb"/>
+                <constraint firstItem="Sx1-Eg-QqT" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="TXp-1v-OJX"/>
+                <constraint firstItem="Sx1-Eg-QqT" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="cbB-Zv-RfN"/>
+            </constraints>
+            <point key="canvasLocation" x="-27" y="181"/>
+        </customView>
+    </objects>
+</document>

+ 2 - 2
PDF Office/PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFSecToolbarController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>

+ 27 - 3
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -5372,6 +5372,12 @@
 		BBE9D09F2AF0D10F002E83CE /* KMSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBE9D09E2AF0D10F002E83CE /* KMSlider.swift */; };
 		BBE9D0A02AF0D10F002E83CE /* KMSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBE9D09E2AF0D10F002E83CE /* KMSlider.swift */; };
 		BBE9D0A12AF0D10F002E83CE /* KMSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBE9D09E2AF0D10F002E83CE /* KMSlider.swift */; };
+		BBEB0DE02CE36B47004C67BF /* KMRightSideController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB0DDE2CE36B47004C67BF /* KMRightSideController.swift */; };
+		BBEB0DE12CE36B47004C67BF /* KMRightSideController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB0DDE2CE36B47004C67BF /* KMRightSideController.swift */; };
+		BBEB0DE22CE36B47004C67BF /* KMRightSideController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB0DDE2CE36B47004C67BF /* KMRightSideController.swift */; };
+		BBEB0DE32CE36B47004C67BF /* KMRightSideController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBEB0DDF2CE36B47004C67BF /* KMRightSideController.xib */; };
+		BBEB0DE42CE36B47004C67BF /* KMRightSideController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBEB0DDF2CE36B47004C67BF /* KMRightSideController.xib */; };
+		BBEB0DE52CE36B47004C67BF /* KMRightSideController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBEB0DDF2CE36B47004C67BF /* KMRightSideController.xib */; };
 		BBEB93EB2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB93EA2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift */; };
 		BBEB93EC2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB93EA2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift */; };
 		BBEB93ED2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB93EA2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift */; };
@@ -8101,6 +8107,8 @@
 		BBE9D0962AF0CECB002E83CE /* KMBatchOperateCompressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchOperateCompressViewController.swift; sourceTree = "<group>"; };
 		BBE9D09A2AF0CEEA002E83CE /* KMBatchOperateCompressViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMBatchOperateCompressViewController.xib; sourceTree = "<group>"; };
 		BBE9D09E2AF0D10F002E83CE /* KMSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSlider.swift; sourceTree = "<group>"; };
+		BBEB0DDE2CE36B47004C67BF /* KMRightSideController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRightSideController.swift; sourceTree = "<group>"; };
+		BBEB0DDF2CE36B47004C67BF /* KMRightSideController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMRightSideController.xib; sourceTree = "<group>"; };
 		BBEB93EA2AD6C2AE00739573 /* KMPDFMergeFileNameTabelViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFMergeFileNameTabelViewCell.swift; sourceTree = "<group>"; };
 		BBEB93EE2AD6C72C00739573 /* KMPDFMergePageRangeTabelViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFMergePageRangeTabelViewCell.swift; sourceTree = "<group>"; };
 		BBEC00A3295BD42D00A26C98 /* KMHeaderFooterPageInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHeaderFooterPageInfoView.swift; sourceTree = "<group>"; };
@@ -13207,7 +13215,7 @@
 				BB0308592CC7A3F100F4AAC7 /* SideBar */,
 				BB5A9D472CB6521400F64C1F /* Toolbar */,
 				BBCB9EA22CCDF61000563AC8 /* KMNDisplayViewController */,
-				BBDF17E82CD4756300ACDB15 /* RightSideViews */,
+				BBDF17E82CD4756300ACDB15 /* RightSideController */,
 			);
 			path = KMPDFViewController;
 			sourceTree = "<group>";
@@ -14735,11 +14743,14 @@
 			path = resource;
 			sourceTree = "<group>";
 		};
-		BBDF17E82CD4756300ACDB15 /* RightSideViews */ = {
+		BBDF17E82CD4756300ACDB15 /* RightSideController */ = {
 			isa = PBXGroup;
 			children = (
+				BBEB0DDE2CE36B47004C67BF /* KMRightSideController.swift */,
+				BBEB0DDF2CE36B47004C67BF /* KMRightSideController.xib */,
+				BBEB0DE62CE36B54004C67BF /* Views */,
 			);
-			path = RightSideViews;
+			path = RightSideController;
 			sourceTree = "<group>";
 		};
 		BBDF180A2CD482D900ACDB15 /* Views */ = {
@@ -14870,6 +14881,13 @@
 			path = VC;
 			sourceTree = "<group>";
 		};
+		BBEB0DE62CE36B54004C67BF /* Views */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Views;
+			sourceTree = "<group>";
+		};
 		BBEC00AB295C2AB500A26C98 /* Bates */ = {
 			isa = PBXGroup;
 			children = (
@@ -15855,6 +15873,7 @@
 				AD3AAD5F2B0DA3D400DE5FE7 /* KMCompareTextViewItem.xib in Resources */,
 				AD85D1BD2AF0D2DD000F4D28 /* KMHomeQuickToolsCollectionView.xib in Resources */,
 				BB031B8A2C47BB090099F7AD /* KMUserFbDespItemView.xib in Resources */,
+				BBEB0DE32CE36B47004C67BF /* KMRightSideController.xib in Resources */,
 				89E4E77C2967B370002DBA6F /* KMDynamicStampViewController.xib in Resources */,
 				BBE788C62CBD2463008086E2 /* SelectVC.xib in Resources */,
 				9FDCD8192B6CC88000E22166 /* KMFormActionButtonPopWindowController.xib in Resources */,
@@ -16443,6 +16462,7 @@
 				9FB220DB2B0F4ED400A5B208 /* KMAnnotationSelectLinkViewController.xib in Resources */,
 				ADDF83902B391A5D00A81A4E /* DSignDetailTypeACellView.xib in Resources */,
 				9FF94F1529A7476000B1EF69 /* KMDesignPropertySelector.xib in Resources */,
+				BBEB0DE42CE36B47004C67BF /* KMRightSideController.xib in Resources */,
 				AD8810AD29A8463600178CA1 /* KMAccountInfoWindowController.xib in Resources */,
 				BBB29BCF2AEA190E005F1B6B /* KMToolbarCustomViewController.xib in Resources */,
 				BBAFDA7E2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */,
@@ -17160,6 +17180,7 @@
 				BB19A7382CB79D77008204DC /* KMHomeRecommondView.xib in Resources */,
 				89E4E7312963FBA2002DBA6F /* KMPropertiesViewPopController.xib in Resources */,
 				BB3AAB9529878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.xib in Resources */,
+				BBEB0DE52CE36B47004C67BF /* KMRightSideController.xib in Resources */,
 				ADDF839A2B391A5D00A81A4E /* PDFCertExportAccessoryView.xib in Resources */,
 				BB072D5B2C057BD600779B45 /* KMToolbarConfigWindowController.xib in Resources */,
 				ADD1B6B02941E97F00C3FFF7 /* KMPrintWindowController.xib in Resources */,
@@ -18811,6 +18832,7 @@
 				BB403BAA2B15CA6E00B3106D /* KMBatchConvertOperation.swift in Sources */,
 				9FB220EC2B185B3100A5B208 /* KMButtomCell.swift in Sources */,
 				BBFA1CCD2B609E890053AD4A /* KMScreenShotMaskWindowController.swift in Sources */,
+				BBEB0DE02CE36B47004C67BF /* KMRightSideController.swift in Sources */,
 				9F1FE4C929406E4700E952CA /* CTTabContents.m in Sources */,
 				9FCFEC882AD0EF9900EAD2CB /* KMPopMenuButton.swift in Sources */,
 				9F39B9442A661ED500930ACA /* KMHomeScrollView.swift in Sources */,
@@ -19910,6 +19932,7 @@
 				9FB220F82B186C9800A5B208 /* KMAnnotationGeneralViewController.swift in Sources */,
 				BBDE52BC2BF3676C000545B2 /* KMPresentTableViewCell.swift in Sources */,
 				BB88107D2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */,
+				BBEB0DE12CE36B47004C67BF /* KMRightSideController.swift in Sources */,
 				BB6B436C2A04935000E02B54 /* KMPDFThumbViewBaseController.swift in Sources */,
 				ADE3C1FA29A5C42300793B13 /* KMLightMemberUserInfo.swift in Sources */,
 				ADAC0DE62AC2B04900FD4F52 /* KMNoteTypeImageView.swift in Sources */,
@@ -20936,6 +20959,7 @@
 				BB0A823429C00400002C5C1B /* KMCommonEnum.swift in Sources */,
 				BB6013922AD3AFF000A76FB2 /* NSPopover+KMExtension.swift in Sources */,
 				BB2CC5642AF1239900D7A796 /* KMBatchBaseParameter.swift in Sources */,
+				BBEB0DE22CE36B47004C67BF /* KMRightSideController.swift in Sources */,
 				BB183DE52B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */,
 				BB7256BF2CDC5B5300B6CE64 /* KMBackgroundController.swift in Sources */,
 				655445102C88483C00BD9010 /* KMDiscountToSaveWindowController.m in Sources */,