diff --git a/OSBindings/Mac/Clock Signal/Document Controller/DocumentController.swift b/OSBindings/Mac/Clock Signal/Document Controller/DocumentController.swift index b2c7d2e18..7171ce0d1 100644 --- a/OSBindings/Mac/Clock Signal/Document Controller/DocumentController.swift +++ b/OSBindings/Mac/Clock Signal/Document Controller/DocumentController.swift @@ -9,7 +9,7 @@ import Cocoa class DocumentController: NSDocumentController { - override func makeDocument(withContentsOf url: URL, ofType typeName: String) throws -> NSDocument { +/* override func makeDocument(withContentsOf url: URL, ofType typeName: String) throws -> NSDocument { if let analyser = CSStaticAnalyser(fileAt: url) { if let documentClass = analyser.documentClass as? NSDocument.Type { let document = documentClass.init() @@ -22,5 +22,5 @@ class DocumentController: NSDocumentController { } return try super.makeDocument(withContentsOf: url, ofType: typeName) - } + }*/ } diff --git a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift index 46d877946..8fbb49de6 100644 --- a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift +++ b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift @@ -116,6 +116,13 @@ class MachineDocument: } } + override func read(from url: URL, ofType typeName: String) throws { + if let analyser = CSStaticAnalyser(fileAt: url) { + self.displayName = analyser.displayName + self.configureAs(analyser) + } + } + // MARK: the pasteboard func paste(_ sender: AnyObject!) { let pasteboard = NSPasteboard.general() diff --git a/OSBindings/Mac/Clock Signal/Info.plist b/OSBindings/Mac/Clock Signal/Info.plist index 5db4e8201..81a0c5b10 100644 --- a/OSBindings/Mac/Clock Signal/Info.plist +++ b/OSBindings/Mac/Clock Signal/Info.plist @@ -25,7 +25,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).Atari2600Document + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -41,7 +41,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).ElectronDocument + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -57,7 +57,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).ElectronDocument + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -72,7 +72,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).ElectronDocument + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -86,7 +86,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).Vic20Document + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -100,7 +100,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).Vic20Document + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -114,7 +114,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).Vic20Document + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -128,7 +128,7 @@ LSTypeIsPackage 0 NSDocumentClass - $(PRODUCT_MODULE_NAME).Vic20Document + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleTypeExtensions @@ -144,7 +144,7 @@ CFBundleTypeRole Viewer NSDocumentClass - $(PRODUCT_MODULE_NAME).ElectronDocument + $(PRODUCT_MODULE_NAME).MachineDocument CFBundleExecutable diff --git a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.h b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.h index 7873ef7d0..7469da920 100644 --- a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.h +++ b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.h @@ -14,8 +14,6 @@ - (instancetype)initWithFileAtURL:(NSURL *)url; -@property(nonatomic, readonly) Class documentClass; - @property(nonatomic, readonly) NSString *optionsPanelNibName; @property(nonatomic, readonly) NSString *userDefaultsPrefix; - (CSMachine *)newMachine; diff --git a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm index b457d8e51..db5607320 100644 --- a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm +++ b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser.mm @@ -34,18 +34,6 @@ return self; } -- (Class)documentClass -{ - switch(_target.machine) - { - case StaticAnalyser::Target::Electron: return [ElectronDocument class]; - case StaticAnalyser::Target::Vic20: return [Vic20Document class]; - case StaticAnalyser::Target::Atari2600: return [MachineDocument class]; - } - - return nil; -} - - (NSString *)optionsPanelNibName { switch(_target.machine) @@ -62,8 +50,8 @@ { switch(_target.machine) { - case StaticAnalyser::Target::Electron: return nil; - case StaticAnalyser::Target::Vic20: return nil; + case StaticAnalyser::Target::Electron: return [[CSElectron alloc] init]; + case StaticAnalyser::Target::Vic20: return [[CSVic20 alloc] init]; case StaticAnalyser::Target::Atari2600: return [[CSAtari2600 alloc] init]; } }