|
@@ -11,6 +11,10 @@ import AppKit
|
|
|
class TestCaseCellView : NSTableCellView {
|
|
|
@IBOutlet var _titleLbl : NSTextField!
|
|
|
@IBOutlet var _keyScrollView : NSScrollView!
|
|
|
+ @IBOutlet var _keyContentView : NSView!
|
|
|
+ @IBOutlet var _sepLine : NSView!
|
|
|
+
|
|
|
+ var _keyViews : NSMutableArray!
|
|
|
|
|
|
var _title : String!
|
|
|
var _checkKeys : NSArray!
|
|
@@ -29,6 +33,11 @@ class TestCaseCellView : NSTableCellView {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+ override func awakeFromNib() {
|
|
|
+ _sepLine.wantsLayer = true;
|
|
|
+ _sepLine.layer?.backgroundColor = NSColor.lightGray.cgColor
|
|
|
+ }
|
|
|
+
|
|
|
// Setter & Getter
|
|
|
public func setTitle(_ title:String) {
|
|
|
_title = title;
|
|
@@ -40,10 +49,51 @@ class TestCaseCellView : NSTableCellView {
|
|
|
return _title
|
|
|
}
|
|
|
|
|
|
+ let kTFDefaultHeight = 22.0
|
|
|
public func setCheckKeys(_ keys:NSArray) {
|
|
|
+
|
|
|
_checkKeys = keys;
|
|
|
|
|
|
+ if _keyViews == nil {
|
|
|
+ _keyViews = NSMutableArray()
|
|
|
+ }
|
|
|
+ while (_keyViews.count != _checkKeys.count) {
|
|
|
+ if (_keyViews.count > _checkKeys.count) {
|
|
|
+ (_keyViews.lastObject as! NSTextField).removeFromSuperview()
|
|
|
+ _keyViews.removeLastObject()
|
|
|
+ }else {
|
|
|
+ let tf = NSTextField.init(frame: CGRectMake(0, 4, 30, kTFDefaultHeight));
|
|
|
+ _keyContentView.addSubview(tf);
|
|
|
+ tf.backgroundColor = .clear
|
|
|
+ _keyViews.add(tf)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var width = 0.0;
|
|
|
+
|
|
|
+ for tf in _keyViews {
|
|
|
+ let i = _keyViews.index(of: tf)
|
|
|
+ let tfView = tf as! NSTextField
|
|
|
+
|
|
|
+ tfView.stringValue = _checkKeys[i] as! String;
|
|
|
+
|
|
|
+ tfView.sizeToFit()
|
|
|
+
|
|
|
+ tfView.setFrameOrigin(NSPoint.init(x: width, y: 0))
|
|
|
+ tfView.setFrameSize(NSSize.init(width: (tfView.frame.size.width.advanced(by: 2.0)), height: kTFDefaultHeight));
|
|
|
+ tfView.autoresizingMask = .maxXMargin.union(.maxYMargin)
|
|
|
+ tfView.wantsLayer = true
|
|
|
+ tfView.layer?.cornerRadius = 8
|
|
|
+ tfView.layer?.backgroundColor = NSColor.clear.cgColor
|
|
|
+ tfView.layer?.borderColor = NSColor.lightGray.withAlphaComponent(0.6).cgColor
|
|
|
+ tfView.layer?.borderWidth = 1
|
|
|
+
|
|
|
+ width = width + tfView.frame.size.width + 3
|
|
|
+ }
|
|
|
+// _keyContentView.frame = NSRect(x: 0, y: 0, width: width, height: kTFDefaultHeight)
|
|
|
+ _keyContentView.setFrameSize(NSSize.init(width: width, height: kTFDefaultHeight))
|
|
|
|
|
|
+ _keyScrollView.documentView = _keyContentView;
|
|
|
}
|
|
|
|
|
|
public func checkKeys() -> NSArray? {
|