27
27
#import <Cocoa/Cocoa.h>
28
28
#import "drivesettingswindowcontroller.h"
29
#import "iecdrivesettingswindowcontroller.h"
30
#import "printersettingswindowcontroller.h"
31
#import "keyboardsettingswindowcontroller.h"
29
32
#import "joysticksettingswindowcontroller.h"
33
#import "soundsettingswindowcontroller.h"
34
#import "videosettingswindowcontroller.h"
30
36
#import "viceinformationwindowcontroller.h"
37
#import "resourceeditorcontroller.h"
38
#import "recordhistorywindowcontroller.h"
39
#import "recordmediawindowcontroller.h"
40
#import "netplaycontrolwindowcontroller.h"
32
42
@interface VICEAppController : NSObject
34
44
// Dialog Controllers
35
45
DriveSettingsWindowController *driveSettingsController;
46
IECDriveSettingsWindowController *iecDriveSettingsController;
47
PrinterSettingsWindowController *printerSettingsController;
48
KeyboardSettingsWindowController *keyboardSettingsController;
36
49
JoystickSettingsWindowController *joystickSettingsController;
50
SoundSettingsWindowController *soundSettingsController;
51
VideoSettingsWindowController *videoSettingsController;
37
53
VICEInformationWindowController *infoController;
54
ResourceEditorController *resourceEditorController;
55
RecordHistoryWindowController *recordHistoryController;
56
RecordMediaWindowController *recordMediaController;
57
NetplayControlWindowController *netplayController;
40
60
IBOutlet NSMenu *refreshRateMenu;
41
61
IBOutlet NSMenu *maximumSpeedMenu;
42
62
IBOutlet NSMenuItem *warpModeMenuItem;
64
IBOutlet NSMenu *machineVideoStandardMenu;
44
66
IBOutlet NSMenuItem *soundPlaybackMenuItem;
45
67
IBOutlet NSMenuItem *trueDriveEmulationMenuItem;
46
68
IBOutlet NSMenuItem *virtualDevicesMenuItem;
47
69
IBOutlet NSMenuItem *emuIDMenuItem;
70
IBOutlet NSMenuItem *keySetEnableMenuItem;
49
72
// Settings Outlets
50
73
IBOutlet NSMenuItem *saveResourcesOnExitMenuItem;
74
97
- (IBAction)attachTapeImage:(id)sender;
75
98
- (IBAction)detachTapeImage:(id)sender;
101
- (IBAction)loadSnapshot:(id)sender;
102
- (IBAction)saveSnapshot:(id)sender;
103
- (IBAction)loadQuickSnapshot:(id)sender;
104
- (IBAction)saveQuickSnapshot:(id)sender;
106
- (IBAction)showRecordHistory:(id)sender;
107
- (IBAction)showRecordMedia:(id)sender;
109
- (IBAction)showNetplay:(id)sender;
78
112
- (IBAction)pickRefreshRate:(id)sender;
79
113
- (IBAction)pickMaximumSpeed:(id)sender;
80
114
- (IBAction)pickCustomMaximumSpeed:(id)sender;
81
115
- (IBAction)toggleWarpMode:(id)sender;
117
- (IBAction)toggleMachineVideoStandard:(id)sender;
83
119
- (IBAction)toggleSoundPlayback:(id)sender;
84
120
- (IBAction)toggleTrueDriveEmulation:(id)sender;
85
121
- (IBAction)toggleVirtualDevices:(id)sender;
87
123
- (IBAction)swapJoysticks:(id)sender;
124
- (IBAction)toggleKeySetEnable:(id)sender;
88
125
- (IBAction)toggleEmuID:(id)sender;
91
128
- (IBAction)showDriveSettings:(id)sender;
129
- (IBAction)showIECDriveSettings:(id)sender;
130
- (IBAction)showPrinterSettings:(id)sender;
131
- (IBAction)showKeyboardSettings:(id)sender;
92
132
- (IBAction)showJoystickSettings:(id)sender;
133
- (IBAction)showSoundSettings:(id)sender;
134
- (IBAction)showVideoSettings:(id)sender;
137
- (IBAction)showResourceEditor:(id)sender;
95
138
- (IBAction)saveResources:(id)sender;
96
139
- (IBAction)loadResources:(id)sender;
97
140
- (IBAction)resetResources:(id)sender;
105
148
- (NSString *)pickOpenFileWithTitle:(NSString *)title types:(NSArray *)types;
149
- (NSString *)pickSaveFileWithTitle:(NSString *)title types:(NSArray *)types;
150
- (NSString *)pickDirectoryWithTitle:(NSString *)title;
152
- (void)attachDiskImageForUnit:(int)unit;
107
154
- (void)updateResources:(id)sender;
108
155
- (void)updateSettingsResources;
109
156
- (void)updateOptionsResources;
110
157
- (void)updateMachineResources;
159
- (BOOL)updateSubMenuCheckState:(NSMenu *)menu withTag:(int)tagValue;
112
161
- (BOOL)setIntResource:(NSString *)name toValue:(int)value;
113
162
- (int)getIntResource:(NSString *)name;