Add type column to query results outline view
This commit is contained in:
parent
8104853f13
commit
954b0bc8a6
|
@ -143,4 +143,68 @@ extension Node {
|
||||||
return "(max key)"
|
return "(max key)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var typeString: String {
|
||||||
|
switch value {
|
||||||
|
case .double(_):
|
||||||
|
return "Double"
|
||||||
|
case .string(_):
|
||||||
|
return "String"
|
||||||
|
case .document(_):
|
||||||
|
return "Document"
|
||||||
|
case .array(_):
|
||||||
|
return "Array"
|
||||||
|
case let .binary(value):
|
||||||
|
switch Binary.Subtype(rawValue: value.subtype) {
|
||||||
|
case nil:
|
||||||
|
return "Unknown binary data"
|
||||||
|
case .generic:
|
||||||
|
return "Generic binary data"
|
||||||
|
case .function:
|
||||||
|
return "Function binary data"
|
||||||
|
case .binaryDeprecated:
|
||||||
|
return "Binary data"
|
||||||
|
case .uuidDeprecated:
|
||||||
|
fallthrough
|
||||||
|
case .uuid:
|
||||||
|
return "UUID"
|
||||||
|
case .md5:
|
||||||
|
return "MD5 hash"
|
||||||
|
case .userDefined:
|
||||||
|
return "User defined binary data"
|
||||||
|
}
|
||||||
|
case .undefined:
|
||||||
|
return "Undefined"
|
||||||
|
case .objectId(_):
|
||||||
|
return "ObjectId"
|
||||||
|
case .bool(_):
|
||||||
|
return "Bool"
|
||||||
|
case .datetime(_):
|
||||||
|
return "DateTime"
|
||||||
|
case .null:
|
||||||
|
return "Null"
|
||||||
|
case .regex(_):
|
||||||
|
return "RegEx"
|
||||||
|
case .dbPointer(_):
|
||||||
|
return "DBRef"
|
||||||
|
case .symbol(_):
|
||||||
|
return "Symbol"
|
||||||
|
case .code(_):
|
||||||
|
return "Code"
|
||||||
|
case .codeWithScope(_):
|
||||||
|
return "Code with scope"
|
||||||
|
case .int32(_):
|
||||||
|
return "Int32"
|
||||||
|
case .timestamp(_):
|
||||||
|
return "Timestamp"
|
||||||
|
case .int64(_):
|
||||||
|
return "Int64"
|
||||||
|
case .decimal128(_):
|
||||||
|
return "Decimal128"
|
||||||
|
case .minKey:
|
||||||
|
return "MinKey"
|
||||||
|
case .maxKey:
|
||||||
|
return "MaxKey"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -154,6 +154,11 @@ extension QueryViewController: NSOutlineViewDelegate {
|
||||||
cell.textField!.stringValue = node.valueString
|
cell.textField!.stringValue = node.valueString
|
||||||
cell.textField!.isEditable = false
|
cell.textField!.isEditable = false
|
||||||
return cell
|
return cell
|
||||||
|
} else if tableColumn.identifier == .valueTypeColumn {
|
||||||
|
let cell = outlineView.makeView(withIdentifier: .valueTypeCell, owner: nil) as! NSTableCellView
|
||||||
|
cell.textField!.stringValue = node.typeString
|
||||||
|
cell.textField!.isEditable = false
|
||||||
|
return cell
|
||||||
} else {
|
} else {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -166,4 +171,6 @@ extension NSUserInterfaceItemIdentifier {
|
||||||
static let fieldValueColumn = NSUserInterfaceItemIdentifier(rawValue: "FieldValueCol")
|
static let fieldValueColumn = NSUserInterfaceItemIdentifier(rawValue: "FieldValueCol")
|
||||||
static let fieldNameCell = NSUserInterfaceItemIdentifier(rawValue: "FieldNameCell")
|
static let fieldNameCell = NSUserInterfaceItemIdentifier(rawValue: "FieldNameCell")
|
||||||
static let fieldValueCell = NSUserInterfaceItemIdentifier(rawValue: "FieldValueCell")
|
static let fieldValueCell = NSUserInterfaceItemIdentifier(rawValue: "FieldValueCell")
|
||||||
|
static let valueTypeColumn = NSUserInterfaceItemIdentifier(rawValue: "ValueTypeCol")
|
||||||
|
static let valueTypeCell = NSUserInterfaceItemIdentifier(rawValue: "ValueTypeCell")
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<size key="minSize" width="726" height="86"/>
|
<size key="minSize" width="726" height="86"/>
|
||||||
<size key="maxSize" width="726" height="10000000"/>
|
<size key="maxSize" width="741" height="10000000"/>
|
||||||
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<allowedInputSourceLocales>
|
<allowedInputSourceLocales>
|
||||||
<string>eu</string>
|
<string>eu</string>
|
||||||
|
@ -1004,7 +1004,7 @@
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn identifier="FieldNameCol" width="362" minWidth="40" maxWidth="1000" id="emg-oX-7XY">
|
<tableColumn identifier="FieldNameCol" width="339" minWidth="40" maxWidth="1000" id="emg-oX-7XY">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Field Name">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Field Name">
|
||||||
<font key="font" metaFont="controlContent" size="11"/>
|
<font key="font" metaFont="controlContent" size="11"/>
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
@ -1018,11 +1018,11 @@
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="FieldNameCell" id="8dc-a6-0k5">
|
<tableCellView identifier="FieldNameCell" id="8dc-a6-0k5">
|
||||||
<rect key="frame" x="1" y="1" width="362" height="17"/>
|
<rect key="frame" x="1" y="1" width="339" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qEd-h6-M2A">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qEd-h6-M2A">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="362" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="339" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="8JQ-A4-jXh">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="8JQ-A4-jXh">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
@ -1037,7 +1037,7 @@
|
||||||
</tableCellView>
|
</tableCellView>
|
||||||
</prototypeCellViews>
|
</prototypeCellViews>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn identifier="FieldValueCol" width="371" minWidth="40" maxWidth="1000" id="ggz-sp-EaO">
|
<tableColumn identifier="FieldValueCol" width="297" minWidth="40" maxWidth="1000" id="ggz-sp-EaO">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Field Value">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Field Value">
|
||||||
<font key="font" metaFont="controlContent" size="11"/>
|
<font key="font" metaFont="controlContent" size="11"/>
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
@ -1051,11 +1051,11 @@
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="FieldValueCell" id="E6Z-9f-0gg">
|
<tableCellView identifier="FieldValueCell" id="E6Z-9f-0gg">
|
||||||
<rect key="frame" x="366" y="1" width="371" height="17"/>
|
<rect key="frame" x="343" y="1" width="297" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Px2-mb-c5m">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Px2-mb-c5m">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="371" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="297" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="rED-77-VFk">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="rED-77-VFk">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
@ -1070,6 +1070,39 @@
|
||||||
</tableCellView>
|
</tableCellView>
|
||||||
</prototypeCellViews>
|
</prototypeCellViews>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
|
<tableColumn identifier="ValueTypeCol" width="94" minWidth="10" maxWidth="3.4028234663852886e+38" id="Tow-Y6-pc7">
|
||||||
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Value Type">
|
||||||
|
<font key="font" metaFont="controlContent" size="11"/>
|
||||||
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</tableHeaderCell>
|
||||||
|
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="rKq-mL-SIz">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
|
<prototypeCellViews>
|
||||||
|
<tableCellView identifier="ValueTypeCell" id="tUj-Jd-Rj1">
|
||||||
|
<rect key="frame" x="643" y="1" width="94" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mBU-Qs-G4S">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="94" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="tmE-QF-vUZ">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</subviews>
|
||||||
|
<connections>
|
||||||
|
<outlet property="textField" destination="mBU-Qs-G4S" id="XuA-aG-cGx"/>
|
||||||
|
</connections>
|
||||||
|
</tableCellView>
|
||||||
|
</prototypeCellViews>
|
||||||
|
</tableColumn>
|
||||||
</tableColumns>
|
</tableColumns>
|
||||||
</outlineView>
|
</outlineView>
|
||||||
</subviews>
|
</subviews>
|
||||||
|
|
Loading…
Reference in New Issue