فهرست منبع

Demo - 对照结果排序优化

zhudongyong 2 سال پیش
والد
کامیت
d2081f4abd

BIN
KdanAutoTest/KdanAuto.xcodeproj/project.xcworkspace/xcuserdata/zhudongyong.xcuserdatad/UserInterfaceState.xcuserstate


+ 2 - 2
KdanAutoTest/KdanAuto.xcodeproj/xcuserdata/zhudongyong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -14,8 +14,8 @@
             filePath = "KdanAuto/Class/AutoTestCase/AutoTest.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "640"
-            endingLineNumber = "640"
+            startingLineNumber = "648"
+            endingLineNumber = "648"
             landmarkName = "stringToImage(_:)"
             landmarkType = "7">
          </BreakpointContent>

+ 10 - 2
KdanAutoTest/KdanAuto/Class/AutoTestCase/AutoTest.swift

@@ -545,8 +545,16 @@ class AutoTest : NSObject, AutoTestProtocal {
             }
             
             let nitems = items.sortedArray { str1, str2 in
-                let s1 = str1 as! String
-                let s2 = str2 as! String
+                let s1 = NSString(string: str1 as! String).deletingPathExtension
+                let s2 = NSString(string: str2 as! String).deletingPathExtension
+                
+                if (NSString(string: s1).length != NSString(string: s2).length) {
+                    if (NSString(string: s1).length > NSString(string: s2).length) {
+                        return .orderedDescending
+                    }else {
+                        return .orderedAscending
+                    }
+                }
                 
                 return NSString(string: s1).compare(s2)
             }

+ 10 - 2
KdanAutoTest/KdanAuto/Class/AutoTestCase/PDFCompareTest.swift

@@ -55,8 +55,16 @@ class PDFCompareTest : AutoTest {
             }
             
             let nitems = items.sortedArray { str1, str2 in
-                let s1 = str1 as! String
-                let s2 = str2 as! String
+                let s1 = NSString(string: str1 as! String).deletingPathExtension
+                let s2 = NSString(string: str2 as! String).deletingPathExtension
+                
+                if (NSString(string: s1).length != NSString(string: s2).length) {
+                    if (NSString(string: s1).length > NSString(string: s2).length) {
+                        return .orderedDescending
+                    }else {
+                        return .orderedAscending
+                    }
+                }
                 
                 return NSString(string: s1).compare(s2)
             }

+ 37 - 0
KdanAutoTest/KdanAuto/Class/CompareViewController/CompareViewController.swift

@@ -7,6 +7,7 @@
 
 import Foundation
 import AppKit
+import PDFKit
 
 class CompareViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate, NSPopoverDelegate {
     
@@ -32,6 +33,39 @@ class CompareViewController: NSViewController, NSTableViewDataSource, NSTableVie
         return sharedCViewController!
     }
     
+    // IBAction
+    @IBAction func exportAction(_ sender:NSButton) {
+        let savePanel = NSSavePanel.init();
+        let checkBox = NSButton(checkboxWithTitle: "过滤无差异项", target: self, action: nil);
+        
+        savePanel.allowedContentTypes = [.pdf]
+        savePanel.accessoryView = checkBox
+        
+        if (savePanel.runModal() == .OK) {
+            let url = NSURL.init(fileURLWithPath: "");
+            let pdf = PDFDocument.init(url: url as URL);
+            
+            //            for ( pageCount = 0; pageCount < _photoArray.count; pageCount++) {
+            //                BOOL isDir;
+            //                NSString *filePath = _photoArray[pageCount];
+            //                if ( [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:&isDir] && !isDir) {
+            //                    @autoreleasepool {
+            //                        NSImage *image = [[NSImage alloc] initWithContentsOfFile:filePath];
+            //                        PDFPage *page = [[PDFPage alloc] initWithImage:image];
+            //                        PDFPage *copyPage = [page copy];
+            //                        [pdf insertPage:copyPage atIndex: [pdf pageCount]];
+            //
+            //                        [copyPage release];
+            //                        [page release];
+            //                        [image release];
+            //                    }
+            //                }
+            //            }
+        }
+    }
+    
+    
+    // Show
     func showIn(_ view:NSView?, rect:NSRect) {
         if _popover == nil {
             _popover = NSPopover.init()
@@ -43,6 +77,7 @@ class CompareViewController: NSViewController, NSTableViewDataSource, NSTableVie
         _popover.show(relativeTo: rect, of: view!, preferredEdge: NSRectEdge.minX)
     }
     
+    
     // Getter & Setter
     func setFiles(_ files:NSArray) {
         _files = files
@@ -130,4 +165,6 @@ class CompareViewController: NSViewController, NSTableViewDataSource, NSTableVie
     func popoverShouldClose(_ popover: NSPopover) -> Bool {
         return true
     }
+    
+    
 }

+ 12 - 1
KdanAutoTest/KdanAuto/Class/CompareViewController/CompareViewController.xib

@@ -85,7 +85,7 @@
                         </subviews>
                     </clipView>
                     <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="tEb-3h-nsO">
-                        <rect key="frame" x="1" y="899" width="988" height="15"/>
+                        <rect key="frame" x="1" y="898" width="988" height="16"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </scroller>
                     <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="Cgv-FT-VuQ">
@@ -93,6 +93,17 @@
                         <autoresizingMask key="autoresizingMask"/>
                     </scroller>
                 </scrollView>
+                <button verticalHuggingPriority="750" fixedFrame="YES" id="dci-WZ-4sM">
+                    <rect key="frame" x="926" y="918" width="74" height="32"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
+                    <buttonCell key="cell" type="push" title="Export" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="xfM-sn-1wh">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <connections>
+                        <action selector="exportAction:" target="YBj-nQ-WgX" id="wx5-cS-nds"/>
+                    </connections>
+                </button>
             </subviews>
             <point key="canvasLocation" x="-213" y="678"/>
         </customView>