diff options
Diffstat (limited to 'Map/Data')
| -rw-r--r-- | Map/Data/MapDocument.swift | 4 | ||||
| -rw-r--r-- | Map/Data/UserPreferences.swift | 14 |
2 files changed, 15 insertions, 3 deletions
diff --git a/Map/Data/MapDocument.swift b/Map/Data/MapDocument.swift index 6cc84d7..b9ed33f 100644 --- a/Map/Data/MapDocument.swift +++ b/Map/Data/MapDocument.swift @@ -46,7 +46,7 @@ struct MapDocument: FileDocument { static var readableContentTypes: [UTType] { [.wmap] } - var parsed: [Wmap.Entity] { + var parsed: Wmap.ParsedMap { let lexer = Wmap.Lexer(self.text) let parser = Wmap.Parser(lexer: lexer) return parser.parse() @@ -69,7 +69,7 @@ struct MapDocument: FileDocument { @MainActor func exportAsImage(withEvolution selectedEvolution: StageType) -> NSImage? { let renderView = MapRenderView( - entities: self.parsed, + entities: self.parsed.entities, evolution: .constant(selectedEvolution)) let renderer = ImageRenderer(content: renderView) diff --git a/Map/Data/UserPreferences.swift b/Map/Data/UserPreferences.swift index 12f83c5..56582e3 100644 --- a/Map/Data/UserPreferences.swift +++ b/Map/Data/UserPreferences.swift @@ -30,6 +30,7 @@ struct UserPreferencesJSON: Codable { var customEditorFontName: String? var editorFontSize: Double? var softWrapLines: Bool? + var highlightMissingComponents: Bool? // MARK: - Templates (as actual objects) var mapTemplates: [Template]? @@ -57,6 +58,7 @@ struct UserPreferences: Codable { var customEditorFontName: String var editorFontSize: Double var softWrapLines: Bool + var highlightMissingComponents: Bool // MARK: - Templates var mapTemplates: Data @@ -76,11 +78,12 @@ struct UserPreferences: Codable { static let defaultExportFormat = "png" static let useSmartLabelPositioning = true - static let useSmartEditor = false + static let useSmartEditor = true static let useCustomEditorFont = false static let customEditorFontName = "Menlo" static let editorFontSize = 14.0 static let softWrapLines = false + static let highlightMissingComponents = true static let viewStyle = "horizontal" static let zoom = 1.0 @@ -123,6 +126,7 @@ struct UserPreferences: Codable { self.customEditorFontName = Defaults.customEditorFontName self.editorFontSize = Defaults.editorFontSize self.softWrapLines = Defaults.softWrapLines + self.highlightMissingComponents = Defaults.highlightMissingComponents self.mapTemplates = Defaults.mapTemplates self.customStages = Defaults.customStages @@ -149,6 +153,7 @@ struct UserPreferences: Codable { customEditorFontName: customEditorFontName, editorFontSize: editorFontSize, softWrapLines: softWrapLines, + highlightMissingComponents: highlightMissingComponents, mapTemplates: templatesFromData(mapTemplates), customStages: stagesFromData(customStages), viewStyle: viewStyle, @@ -200,6 +205,9 @@ struct UserPreferences: Codable { if let value = jsonPrefs.softWrapLines { self.softWrapLines = value } + if let value = jsonPrefs.highlightMissingComponents { + self.highlightMissingComponents = value + } if let value = jsonPrefs.mapTemplates { self.mapTemplates = dataFromTemplates(value) } @@ -273,6 +281,7 @@ struct UserPreferences: Codable { defaults.set(customEditorFontName, forKey: "customEditorFontName") defaults.set(editorFontSize, forKey: "editorFontSize") defaults.set(softWrapLines, forKey: "softWrapLines") + defaults.set(highlightMissingComponents, forKey: "highlightMissingComponents") // Templates defaults.set(mapTemplates, forKey: "mapTemplates") @@ -315,6 +324,9 @@ struct UserPreferences: Codable { defaults.object(forKey: "editorFontSize") as? Double ?? Defaults.editorFontSize preferences.softWrapLines = defaults.object(forKey: "softWrapLines") as? Bool ?? Defaults.softWrapLines + preferences.highlightMissingComponents = + defaults.object(forKey: "highlightMissingComponents") as? Bool + ?? Defaults.highlightMissingComponents // Templates preferences.mapTemplates = |