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];
}
}