mirror of
https://github.com/kanjitalk755/macemu.git
synced 2025-01-05 14:32:15 +00:00
initial import of SheepShaver Launcher project for Mac OS X (WIP)
This commit is contained in:
parent
80a7589e29
commit
e8e5440b31
30
SheepShaver/src/MacOSX/Launcher/AppController.h
Normal file
30
SheepShaver/src/MacOSX/Launcher/AppController.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* AppController.h - Cocoa SheepShaver launcher for Mac OS X
|
||||
*
|
||||
* Copyright (C) 2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface AppController : NSObject {
|
||||
}
|
||||
|
||||
- (void) awakeFromNib;
|
||||
|
||||
- (IBAction) openVirtualMachinesList: (id) sender;
|
||||
|
||||
@end
|
36
SheepShaver/src/MacOSX/Launcher/AppController.mm
Normal file
36
SheepShaver/src/MacOSX/Launcher/AppController.mm
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* AppController.mm - Cocoa SheepShaver launcher for Mac OS X
|
||||
*
|
||||
* Copyright (C) 2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import "AppController.h"
|
||||
#import "VMListController.h"
|
||||
|
||||
@implementation AppController
|
||||
|
||||
- (void) awakeFromNib
|
||||
{
|
||||
[self openVirtualMachinesList:self];
|
||||
}
|
||||
|
||||
- (IBAction) openVirtualMachinesList: (id) sender
|
||||
{
|
||||
[[VMListController sharedInstance] showWindow:sender];
|
||||
}
|
||||
|
||||
@end
|
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/InfoPlist.strings
Normal file
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/InfoPlist.strings
Normal file
Binary file not shown.
32
SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/classes.nib
generated
Normal file
32
SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/classes.nib
generated
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBClasses</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CLASS</key>
|
||||
<string>FirstResponder</string>
|
||||
<key>LANGUAGE</key>
|
||||
<string>ObjC</string>
|
||||
<key>SUPERCLASS</key>
|
||||
<string>NSObject</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ACTIONS</key>
|
||||
<dict>
|
||||
<key>openVirtualMachinesList</key>
|
||||
<string>id</string>
|
||||
</dict>
|
||||
<key>CLASS</key>
|
||||
<string>AppController</string>
|
||||
<key>LANGUAGE</key>
|
||||
<string>ObjC</string>
|
||||
<key>SUPERCLASS</key>
|
||||
<string>NSObject</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>IBVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
20
SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/info.nib
generated
Normal file
20
SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/info.nib
generated
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>677</string>
|
||||
<key>IBLastKnownRelativeProjectPath</key>
|
||||
<string>../SheepShaverPrefs.xcodeproj</string>
|
||||
<key>IBOldestOS</key>
|
||||
<integer>4</integer>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>24</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>9J61</string>
|
||||
<key>targetFramework</key>
|
||||
<string>IBCocoaFramework</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/keyedobjects.nib
generated
Normal file
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/MainMenu.nib/keyedobjects.nib
generated
Normal file
Binary file not shown.
661
SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/designable.nib
generated
Normal file
661
SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/designable.nib
generated
Normal file
@ -0,0 +1,661 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1050</int>
|
||||
<string key="IBDocument.SystemVersion">9J61</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">677</string>
|
||||
<string key="IBDocument.AppKitVersion">949.46</string>
|
||||
<string key="IBDocument.HIToolboxVersion">353.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">VMListController</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="1005">
|
||||
<int key="NSWindowStyleMask">15</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{196, 309}, {412, 201}}</string>
|
||||
<int key="NSWTFlags">536870912</int>
|
||||
<string key="NSWindowTitle">SheepShaver Virtual Machines</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
||||
<string key="NSWindowContentMinSize">{412, 201}</string>
|
||||
<object class="NSView" key="NSWindowView" id="1006">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSScrollView" id="459107301">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSClipView" id="665987475">
|
||||
<reference key="NSNextResponder" ref="459107301"/>
|
||||
<int key="NSvFlags">2304</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSTableView" id="1061134531">
|
||||
<reference key="NSNextResponder" ref="665987475"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{374, 94}</string>
|
||||
<reference key="NSSuperview" ref="665987475"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="_NSCornerView" key="NSCornerView">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{375, 0}, {16, 17}}</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="NSTableColumns">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSTableColumn" id="289063287">
|
||||
<double key="NSWidth">3.710000e+02</double>
|
||||
<double key="NSMinWidth">4.000000e+01</double>
|
||||
<double key="NSMaxWidth">1.000000e+03</double>
|
||||
<object class="NSTableHeaderCell" key="NSHeaderCell">
|
||||
<int key="NSCellFlags">75628032</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents"/>
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">1.100000e+01</double>
|
||||
<int key="NSfFlags">3100</int>
|
||||
</object>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">headerTextColor</string>
|
||||
<object class="NSColor" key="NSColor" id="212734233">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextFieldCell" key="NSDataCell" id="795064133">
|
||||
<int key="NSCellFlags">337772096</int>
|
||||
<int key="NSCellFlags2">2048</int>
|
||||
<object class="NSFont" key="NSSupport" id="30348852">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">1.300000e+01</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="1061134531"/>
|
||||
<object class="NSColor" key="NSBackgroundColor" id="241468539">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlBackgroundColor</string>
|
||||
<object class="NSColor" key="NSColor" id="251310741">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor" id="781088430">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<reference key="NSColor" ref="212734233"/>
|
||||
</object>
|
||||
</object>
|
||||
<reference key="NSTableView" ref="1061134531"/>
|
||||
</object>
|
||||
</object>
|
||||
<double key="NSIntercellSpacingWidth">3.000000e+00</double>
|
||||
<double key="NSIntercellSpacingHeight">2.000000e+00</double>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="NSGridColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">gridColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<double key="NSRowHeight">1.700000e+01</double>
|
||||
<int key="NSTvFlags">316669952</int>
|
||||
<int key="NSGridStyleMask">2</int>
|
||||
<int key="NSColumnAutoresizingStyle">4</int>
|
||||
<int key="NSDraggingSourceMaskForLocal">15</int>
|
||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||
<bool key="NSAllowsTypeSelect">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{1, 1}, {355, 94}}</string>
|
||||
<string key="NSBounds">{{19, 0}, {355, 94}}</string>
|
||||
<reference key="NSSuperview" ref="459107301"/>
|
||||
<reference key="NSDocView" ref="1061134531"/>
|
||||
<reference key="NSBGColor" ref="241468539"/>
|
||||
<int key="NScvFlags">4</int>
|
||||
</object>
|
||||
<object class="NSScroller" id="1054079060">
|
||||
<reference key="NSNextResponder" ref="459107301"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{356, 1}, {15, 94}}</string>
|
||||
<reference key="NSSuperview" ref="459107301"/>
|
||||
<reference key="NSTarget" ref="459107301"/>
|
||||
<string key="NSAction">_doScroller:</string>
|
||||
<double key="NSPercent">3.947369e-01</double>
|
||||
</object>
|
||||
<object class="NSScroller" id="61958229">
|
||||
<reference key="NSNextResponder" ref="459107301"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{-100, -100}, {374, 15}}</string>
|
||||
<reference key="NSSuperview" ref="459107301"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<int key="NSsFlags">1</int>
|
||||
<reference key="NSTarget" ref="459107301"/>
|
||||
<string key="NSAction">_doScroller:</string>
|
||||
<double key="NSPercent">9.904762e-01</double>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrame">{{20, 60}, {372, 96}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<int key="NSsFlags">146</int>
|
||||
<reference key="NSVScroller" ref="1054079060"/>
|
||||
<reference key="NSHScroller" ref="61958229"/>
|
||||
<reference key="NSContentView" ref="665987475"/>
|
||||
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
|
||||
</object>
|
||||
<object class="NSButton" id="389169892">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">293</int>
|
||||
<string key="NSFrame">{{302, 12}, {96, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="918506050">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Run</string>
|
||||
<reference key="NSSupport" ref="30348852"/>
|
||||
<reference key="NSControlView" ref="389169892"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="1038941780">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">293</int>
|
||||
<string key="NSFrame">{{206, 12}, {96, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="816832141">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Settings...</string>
|
||||
<reference key="NSSupport" ref="30348852"/>
|
||||
<reference key="NSControlView" ref="1038941780"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="995142338">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">293</int>
|
||||
<string key="NSFrame">{{14, 12}, {96, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="752809530">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">New...</string>
|
||||
<reference key="NSSupport" ref="30348852"/>
|
||||
<reference key="NSControlView" ref="995142338"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="560343337">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 164}, {147, 17}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="397198339">
|
||||
<int key="NSCellFlags">68288064</int>
|
||||
<int key="NSCellFlags2">272630784</int>
|
||||
<string key="NSContents">Virtual Machine List:</string>
|
||||
<reference key="NSSupport" ref="30348852"/>
|
||||
<reference key="NSControlView" ref="560343337"/>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlColor</string>
|
||||
<reference key="NSColor" ref="251310741"/>
|
||||
</object>
|
||||
<reference key="NSTextColor" ref="781088430"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="999915076">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">293</int>
|
||||
<string key="NSFrame">{{110, 11}, {96, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="45041965">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Import...</string>
|
||||
<reference key="NSSupport" ref="30348852"/>
|
||||
<reference key="NSControlView" ref="999915076"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{412, 201}</string>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
|
||||
<string key="NSMinSize">{412, 223}</string>
|
||||
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="1005"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
</object>
|
||||
<int key="connectionID">46</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">runVirtualMachine:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="389169892"/>
|
||||
</object>
|
||||
<int key="connectionID">47</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">newVirtualMachine:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="995142338"/>
|
||||
</object>
|
||||
<int key="connectionID">48</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">importVirtualMachine:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="999915076"/>
|
||||
</object>
|
||||
<int key="connectionID">49</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">editVirtualMachineSettings:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1038941780"/>
|
||||
</object>
|
||||
<int key="connectionID">50</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">vmList</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1061134531"/>
|
||||
</object>
|
||||
<int key="connectionID">51</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1005"/>
|
||||
</object>
|
||||
<int key="connectionID">52</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="1002">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="1005"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1006"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1002"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="1006"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="459107301"/>
|
||||
<reference ref="389169892"/>
|
||||
<reference ref="1038941780"/>
|
||||
<reference ref="995142338"/>
|
||||
<reference ref="999915076"/>
|
||||
<reference ref="560343337"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">13</int>
|
||||
<reference key="object" ref="459107301"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1061134531"/>
|
||||
<reference ref="1054079060"/>
|
||||
<reference ref="61958229"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">14</int>
|
||||
<reference key="object" ref="1061134531"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="289063287"/>
|
||||
</object>
|
||||
<reference key="parent" ref="459107301"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
<reference key="object" ref="1054079060"/>
|
||||
<reference key="parent" ref="459107301"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="61958229"/>
|
||||
<reference key="parent" ref="459107301"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">17</int>
|
||||
<reference key="object" ref="289063287"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="795064133"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1061134531"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">21</int>
|
||||
<reference key="object" ref="389169892"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="918506050"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">22</int>
|
||||
<reference key="object" ref="918506050"/>
|
||||
<reference key="parent" ref="389169892"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="1038941780"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="816832141"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">24</int>
|
||||
<reference key="object" ref="816832141"/>
|
||||
<reference key="parent" ref="1038941780"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">25</int>
|
||||
<reference key="object" ref="995142338"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="752809530"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">26</int>
|
||||
<reference key="object" ref="752809530"/>
|
||||
<reference key="parent" ref="995142338"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">18</int>
|
||||
<reference key="object" ref="795064133"/>
|
||||
<reference key="parent" ref="289063287"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">31</int>
|
||||
<reference key="object" ref="560343337"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="397198339"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="397198339"/>
|
||||
<reference key="parent" ref="560343337"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">43</int>
|
||||
<reference key="object" ref="999915076"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="45041965"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">44</int>
|
||||
<reference key="object" ref="45041965"/>
|
||||
<reference key="parent" ref="999915076"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.IBPluginDependency</string>
|
||||
<string>-2.IBPluginDependency</string>
|
||||
<string>-3.IBPluginDependency</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBWindowTemplateEditedContentRect</string>
|
||||
<string>1.NSWindowTemplate.visibleAtLaunch</string>
|
||||
<string>1.WindowOrigin</string>
|
||||
<string>1.editorWindowContentRectSynchronizationRect</string>
|
||||
<string>1.windowTemplate.hasMinSize</string>
|
||||
<string>1.windowTemplate.minSize</string>
|
||||
<string>13.IBPluginDependency</string>
|
||||
<string>13.ImportedFromIB2</string>
|
||||
<string>14.IBPluginDependency</string>
|
||||
<string>14.ImportedFromIB2</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>15.IBShouldRemoveOnLegacySave</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>16.IBShouldRemoveOnLegacySave</string>
|
||||
<string>17.IBPluginDependency</string>
|
||||
<string>17.ImportedFromIB2</string>
|
||||
<string>18.IBPluginDependency</string>
|
||||
<string>18.IBShouldRemoveOnLegacySave</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>21.IBPluginDependency</string>
|
||||
<string>22.IBPluginDependency</string>
|
||||
<string>23.IBPluginDependency</string>
|
||||
<string>24.IBPluginDependency</string>
|
||||
<string>25.IBPluginDependency</string>
|
||||
<string>26.IBPluginDependency</string>
|
||||
<string>31.IBPluginDependency</string>
|
||||
<string>32.IBPluginDependency</string>
|
||||
<string>43.IBPluginDependency</string>
|
||||
<string>44.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{151, 461}, {412, 201}}</string>
|
||||
<string>{{151, 461}, {412, 201}}</string>
|
||||
<integer value="1"/>
|
||||
<string>{196, 240}</string>
|
||||
<string>{{357, 418}, {480, 270}}</string>
|
||||
<boolean value="YES" id="5"/>
|
||||
<string>{412, 201}</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="5"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="5"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="5"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="5"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="5"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<reference ref="5"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">52</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">VMListController</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>editVirtualMachineSettings:</string>
|
||||
<string>importVirtualMachine:</string>
|
||||
<string>newVirtualMachine:</string>
|
||||
<string>runVirtualMachine:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">vmList</string>
|
||||
<string key="NS.object.0">NSTableView</string>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">VMListController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../SheepShaverLauncher.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
</archive>
|
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/keyedobjects.nib
generated
Normal file
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/VMListWindow.nib/keyedobjects.nib
generated
Normal file
Binary file not shown.
3920
SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/designable.nib
generated
Normal file
3920
SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/designable.nib
generated
Normal file
File diff suppressed because it is too large
Load Diff
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/keyedobjects.nib
generated
Normal file
BIN
SheepShaver/src/MacOSX/Launcher/English.lproj/VMSettingsWindow.nib/keyedobjects.nib
generated
Normal file
Binary file not shown.
28
SheepShaver/src/MacOSX/Launcher/Info.plist
Normal file
28
SheepShaver/src/MacOSX/Launcher/Info.plist
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>net.sourceforge.SheepShaverLauncher</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2.3</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,345 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
084186B10B3A0515004B1F63 /* VMSettingsController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 084186B00B3A0515004B1F63 /* VMSettingsController.mm */; };
|
||||
08B5FAFD102497FA0047FD1B /* VMSettingsWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 08B5FAFB102497FA0047FD1B /* VMSettingsWindow.nib */; };
|
||||
08B5FB01102498B00047FD1B /* VMListWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 08B5FAFF102498B00047FD1B /* VMListWindow.nib */; };
|
||||
08B5FB221024FE320047FD1B /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 08B5FB211024FE320047FD1B /* AppController.mm */; };
|
||||
08DC90BD0B67074C00799A45 /* prefs_items.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08DC90BC0B67074C00799A45 /* prefs_items.cpp */; };
|
||||
08DC90BF0B67075D00799A45 /* prefs_unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08DC90BE0B67075D00799A45 /* prefs_unix.cpp */; };
|
||||
08DC90C10B67077300799A45 /* prefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08DC90C00B67077300799A45 /* prefs.cpp */; };
|
||||
08F4D174102601C500C6436D /* VMListController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 08F4D173102601C500C6436D /* VMListController.mm */; };
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
084186AF0B3A0515004B1F63 /* VMSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = VMSettingsController.h; sourceTree = "<group>"; };
|
||||
084186B00B3A0515004B1F63 /* VMSettingsController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = VMSettingsController.mm; sourceTree = "<group>"; };
|
||||
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
08B5FAFC102497FA0047FD1B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/VMSettingsWindow.nib; sourceTree = "<group>"; };
|
||||
08B5FB00102498B00047FD1B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/VMListWindow.nib; sourceTree = "<group>"; };
|
||||
08B5FB201024FE320047FD1B /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
|
||||
08B5FB211024FE320047FD1B /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = "<group>"; };
|
||||
08DC90BC0B67074C00799A45 /* prefs_items.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = prefs_items.cpp; path = ../../prefs_items.cpp; sourceTree = SOURCE_ROOT; };
|
||||
08DC90BE0B67075D00799A45 /* prefs_unix.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = prefs_unix.cpp; path = ../../Unix/prefs_unix.cpp; sourceTree = SOURCE_ROOT; };
|
||||
08DC90C00B67077300799A45 /* prefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = prefs.cpp; path = ../../prefs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
08DC90C20B67078300799A45 /* prefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = prefs.h; path = ../../include/prefs.h; sourceTree = SOURCE_ROOT; };
|
||||
08DC90C40B67079800799A45 /* sys.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sys.h; path = ../../include/sys.h; sourceTree = SOURCE_ROOT; };
|
||||
08DC90C50B6707AC00799A45 /* user_strings_unix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = user_strings_unix.h; path = ../../Unix/user_strings_unix.h; sourceTree = SOURCE_ROOT; };
|
||||
08DC90C60B6707B400799A45 /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../../Unix/config.h; sourceTree = SOURCE_ROOT; };
|
||||
08DC90C70B6707BE00799A45 /* sysdeps.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sysdeps.h; path = ../../Unix/sysdeps.h; sourceTree = SOURCE_ROOT; };
|
||||
08F4D172102601C500C6436D /* VMListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMListController.h; sourceTree = "<group>"; };
|
||||
08F4D173102601C500C6436D /* VMListController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VMListController.mm; sourceTree = "<group>"; };
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D1107320486CEB800E47090 /* SheepShaverLauncher.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SheepShaverLauncher.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107320486CEB800E47090 /* SheepShaverLauncher.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* SheepShaverLauncher */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08DC90C20B67078300799A45 /* prefs.h */,
|
||||
08DC90C40B67079800799A45 /* sys.h */,
|
||||
08DC90C50B6707AC00799A45 /* user_strings_unix.h */,
|
||||
08DC90C60B6707B400799A45 /* config.h */,
|
||||
08DC90C70B6707BE00799A45 /* sysdeps.h */,
|
||||
08DC90BC0B67074C00799A45 /* prefs_items.cpp */,
|
||||
08DC90BE0B67075D00799A45 /* prefs_unix.cpp */,
|
||||
08DC90C00B67077300799A45 /* prefs.cpp */,
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
08B5FB201024FE320047FD1B /* AppController.h */,
|
||||
08B5FB211024FE320047FD1B /* AppController.mm */,
|
||||
084186AF0B3A0515004B1F63 /* VMSettingsController.h */,
|
||||
084186B00B3A0515004B1F63 /* VMSettingsController.mm */,
|
||||
08F4D172102601C500C6436D /* VMListController.h */,
|
||||
08F4D173102601C500C6436D /* VMListController.mm */,
|
||||
);
|
||||
name = SheepShaverLauncher;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
|
||||
08B5FAFB102497FA0047FD1B /* VMSettingsWindow.nib */,
|
||||
08B5FAFF102498B00047FD1B /* VMListWindow.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D1107260486CEB800E47090 /* SheepShaver Launcher */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "SheepShaver Launcher" */;
|
||||
buildPhases = (
|
||||
8D1107290486CEB800E47090 /* Resources */,
|
||||
8D11072C0486CEB800E47090 /* Sources */,
|
||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "SheepShaver Launcher";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = SheepShaverLauncher;
|
||||
productReference = 8D1107320486CEB800E47090 /* SheepShaverLauncher.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SheepShaverLauncher" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
hasScannedForEncodings = 1;
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* SheepShaverLauncher */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D1107260486CEB800E47090 /* SheepShaver Launcher */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D1107290486CEB800E47090 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
||||
08B5FAFD102497FA0047FD1B /* VMSettingsWindow.nib in Resources */,
|
||||
08B5FB01102498B00047FD1B /* VMListWindow.nib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
||||
084186B10B3A0515004B1F63 /* VMSettingsController.mm in Sources */,
|
||||
08DC90BD0B67074C00799A45 /* prefs_items.cpp in Sources */,
|
||||
08DC90BF0B67075D00799A45 /* prefs_unix.cpp in Sources */,
|
||||
08DC90C10B67077300799A45 /* prefs.cpp in Sources */,
|
||||
08B5FB221024FE320047FD1B /* AppController.mm in Sources */,
|
||||
08F4D174102601C500C6436D /* VMListController.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C165DFE840E0CC02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08B5FAFB102497FA0047FD1B /* VMSettingsWindow.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
08B5FAFC102497FA0047FD1B /* English */,
|
||||
);
|
||||
name = VMSettingsWindow.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08B5FAFF102498B00047FD1B /* VMListWindow.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
08B5FB00102498B00047FD1B /* English */,
|
||||
);
|
||||
name = VMListWindow.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
29B97319FDCFA39411CA2CEA /* English */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4B08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
PREFS_EDITOR,
|
||||
STANDALONE_PREFS,
|
||||
);
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
PRODUCT_NAME = SheepShaverLauncher;
|
||||
WRAPPER_EXTENSION = app;
|
||||
ZERO_LINK = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
);
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
PREFS_EDITOR,
|
||||
STANDALONE_PREFS,
|
||||
);
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
OTHER_CFLAGS = "$(inherited)";
|
||||
PRODUCT_NAME = SheepShaverLauncher;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "SheepShaver Launcher" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4B08A954540054247B /* Debug */,
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SheepShaverLauncher" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4F08A954540054247B /* Debug */,
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
38
SheepShaver/src/MacOSX/Launcher/VMListController.h
Normal file
38
SheepShaver/src/MacOSX/Launcher/VMListController.h
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* VMListController.h - SheepShaver VM manager in Cocoa on Mac OS X
|
||||
*
|
||||
* Copyright (C) 2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface VMListController : NSWindowController {
|
||||
IBOutlet NSTableView *vmList;
|
||||
NSMutableArray *vmArray;
|
||||
}
|
||||
|
||||
+ (id) sharedInstance;
|
||||
|
||||
- (id) init;
|
||||
- (void) awakeFromNib;
|
||||
|
||||
- (IBAction) newVirtualMachine: (id) sender;
|
||||
- (IBAction) importVirtualMachine: (id) sender;
|
||||
- (IBAction) editVirtualMachineSettings: (id) sender;
|
||||
- (IBAction) runVirtualMachine: (id) sender;
|
||||
|
||||
@end
|
133
SheepShaver/src/MacOSX/Launcher/VMListController.mm
Normal file
133
SheepShaver/src/MacOSX/Launcher/VMListController.mm
Normal file
@ -0,0 +1,133 @@
|
||||
/*
|
||||
* VMListController.mm - SheepShaver VM manager in Cocoa on Mac OS X
|
||||
*
|
||||
* Copyright (C) 2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import "VMListController.h"
|
||||
#import "VMSettingsController.h"
|
||||
|
||||
@implementation VMListController
|
||||
|
||||
+ (id) sharedInstance
|
||||
{
|
||||
static VMListController *_sharedInstance = nil;
|
||||
if (!_sharedInstance) {
|
||||
_sharedInstance = [[VMListController allocWithZone:[self zone]] init];
|
||||
}
|
||||
return _sharedInstance;
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
self = [super initWithWindowNibName:@"VMListWindow"];
|
||||
|
||||
NSArray *vms = [[NSUserDefaults standardUserDefaults] stringArrayForKey:@"vm_list"];
|
||||
vmArray = [[NSMutableArray alloc] initWithCapacity:[vms count]];
|
||||
[vmArray addObjectsFromArray:vms];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) awakeFromNib
|
||||
{
|
||||
[vmList setDataSource: self];
|
||||
//[vmList setDelegate: self];
|
||||
[vmList reloadData];
|
||||
}
|
||||
|
||||
- (int) numberOfRowsInTableView: (NSTableView *) table
|
||||
{
|
||||
return [vmArray count];
|
||||
}
|
||||
|
||||
- (id) tableView: (NSTableView *) table objectValueForTableColumn: (NSTableColumn *) c row: (int) r
|
||||
{
|
||||
return [vmArray objectAtIndex: r]; // [[vmArray objectAtIndex: r] lastPathComponent];
|
||||
}
|
||||
|
||||
//- (NSString *) tableView: (NSTableView *) table toolTipForCell: (NSCell *) cell rect: (NSRectPointer) rect
|
||||
// tableColumn: (NSTableColumn *) c row: (int) r mouseLocation: (NSPoint) loc
|
||||
//{
|
||||
// return [vmArray objectAtIndex: r];
|
||||
//}
|
||||
|
||||
- (IBAction) newVirtualMachine: (id) sender
|
||||
{
|
||||
NSSavePanel *save = [NSSavePanel savePanel];
|
||||
[save setMessage: @"New SheepShaver Virtual Machine:"];
|
||||
[save setRequiredFileType: @"sheepvm"];
|
||||
[save setCanSelectHiddenExtension: YES];
|
||||
[save setExtensionHidden: NO];
|
||||
[save beginSheetForDirectory: nil
|
||||
file: @"New.sheepvm"
|
||||
modalForWindow: [self window]
|
||||
modalDelegate: self
|
||||
didEndSelector: @selector(_newVirtualMachineDone: returnCode: contextInfo:)
|
||||
contextInfo: nil];
|
||||
}
|
||||
|
||||
- (IBAction) _newVirtualMachineDone: (NSSavePanel *) save returnCode: (int) returnCode contextInfo: (void *) contextInfo
|
||||
{
|
||||
if (returnCode == NSOKButton) {
|
||||
// make dir.
|
||||
// create prefs file in there
|
||||
// edit said prefs file
|
||||
// advanced: show sub-panel in save dialog that says "Create Disk:"
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) importVirtualMachine: (id) sender
|
||||
{
|
||||
NSOpenPanel *open = [NSOpenPanel openPanel];
|
||||
[open setMessage:@"Import SheepShaver Virtual Machine:"];
|
||||
[open setResolvesAliases:YES];
|
||||
// Curiously, bundles are treated as "files" not "directories" by NSOpenPanel.
|
||||
[open setCanChooseDirectories:NO];
|
||||
[open setCanChooseFiles:YES];
|
||||
[open setAllowsMultipleSelection:NO];
|
||||
[open beginSheetForDirectory: nil
|
||||
file: nil
|
||||
types: [NSArray arrayWithObject:@"sheepvm"]
|
||||
modalForWindow: [self window]
|
||||
modalDelegate: self
|
||||
didEndSelector: @selector(_importVirtualMachineDone: returnCode: contextInfo:)
|
||||
contextInfo: nil];
|
||||
}
|
||||
|
||||
- (void) _importVirtualMachineDone: (NSOpenPanel *) open returnCode: (int) returnCode contextInfo: (void *) contextInfo
|
||||
{
|
||||
if (returnCode == NSOKButton) {
|
||||
[vmArray addObject:[open filename]];
|
||||
[vmList reloadData];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:vmArray forKey:@"vm_list"];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) editVirtualMachineSettings:(id)sender
|
||||
{
|
||||
int selectedRow = [vmList selectedRow];
|
||||
if (selectedRow >= 0) {
|
||||
[[VMSettingsController sharedInstance] editSettingsFor:[vmArray objectAtIndex:selectedRow] sender:sender];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) runVirtualMachine:(id)sender
|
||||
{
|
||||
}
|
||||
|
||||
@end
|
76
SheepShaver/src/MacOSX/Launcher/VMSettingsController.h
Normal file
76
SheepShaver/src/MacOSX/Launcher/VMSettingsController.h
Normal file
@ -0,0 +1,76 @@
|
||||
/*
|
||||
* VMSettingsController.h - Preferences editing in Cocoa on Mac OS X
|
||||
*
|
||||
* Copyright (C) 2006-2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface VMSettingsController : NSWindowController
|
||||
{
|
||||
IBOutlet NSView *diskSaveSize;
|
||||
IBOutlet NSTextField *diskSaveSizeField;
|
||||
NSMutableArray *diskArray;
|
||||
|
||||
// Setup
|
||||
IBOutlet NSTableView *disks;
|
||||
IBOutlet NSComboBox *bootFrom;
|
||||
IBOutlet NSButton *disableCdrom;
|
||||
IBOutlet NSTextField *ramSize;
|
||||
IBOutlet NSStepper *ramSizeStepper;
|
||||
IBOutlet NSTextField *romFile;
|
||||
IBOutlet NSTextField *unixRoot;
|
||||
// Audio/Video
|
||||
IBOutlet NSPopUpButton *videoType;
|
||||
IBOutlet NSPopUpButton *refreshRate;
|
||||
IBOutlet NSComboBox *width;
|
||||
IBOutlet NSComboBox *height;
|
||||
IBOutlet NSButton *qdAccel;
|
||||
IBOutlet NSButton *disableSound;
|
||||
IBOutlet NSTextField *outDevice;
|
||||
IBOutlet NSTextField *mixDevice;
|
||||
// Keyboard/Mouse
|
||||
IBOutlet NSButton *useRawKeyCodes;
|
||||
IBOutlet NSTextField *rawKeyCodes;
|
||||
IBOutlet NSPopUpButton *mouseWheel;
|
||||
IBOutlet NSTextField *scrollLines;
|
||||
IBOutlet NSStepper *scrollLinesStepper;
|
||||
// CPU/Misc
|
||||
IBOutlet NSButton *ignoreIllegalMemoryAccesses;
|
||||
IBOutlet NSButton *ignoreIllegalInstructions;
|
||||
IBOutlet NSButton *dontUseCPUWhenIdle;
|
||||
IBOutlet NSButton *enableJIT;
|
||||
IBOutlet NSButton *enable68kDREmulator;
|
||||
IBOutlet NSTextField *modemPort;
|
||||
IBOutlet NSTextField *printerPort;
|
||||
IBOutlet NSTextField *ethernetInterface;
|
||||
}
|
||||
|
||||
+ (id) sharedInstance;
|
||||
- (id) init;
|
||||
- (void) editSettingsFor: (NSString *) vmdir sender: (id) sender;
|
||||
- (IBAction) addDisk: (id) sender;
|
||||
- (IBAction) removeDisk: (id) sender;
|
||||
- (IBAction) createDisk: (id) sender;
|
||||
- (IBAction) useRawKeyCodesClicked: (id) sender;
|
||||
- (IBAction) browseForROMFileClicked: (id) sender;
|
||||
- (IBAction) browseForUnixRootClicked: (id) sender;
|
||||
- (void) cancelEdit: (id) sender;
|
||||
- (void) saveChanges: (id) sender;
|
||||
- (void) dealloc;
|
||||
|
||||
@end
|
357
SheepShaver/src/MacOSX/Launcher/VMSettingsController.mm
Normal file
357
SheepShaver/src/MacOSX/Launcher/VMSettingsController.mm
Normal file
@ -0,0 +1,357 @@
|
||||
/*
|
||||
* VMSettingsController.mm - Preferences editing in Cocoa on Mac OS X
|
||||
*
|
||||
* Copyright (C) 2006-2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import "VMSettingsController.h"
|
||||
|
||||
#import "sysdeps.h"
|
||||
#import "prefs.h"
|
||||
|
||||
const int CDROMRefNum = -62; // RefNum of driver
|
||||
|
||||
void prefs_init()
|
||||
{
|
||||
}
|
||||
|
||||
void prefs_exit()
|
||||
{
|
||||
}
|
||||
|
||||
@implementation VMSettingsController
|
||||
|
||||
+ (id) sharedInstance
|
||||
{
|
||||
static VMSettingsController *_sharedInstance = nil;
|
||||
if (!_sharedInstance) {
|
||||
_sharedInstance = [[VMSettingsController allocWithZone:[self zone]] init];
|
||||
}
|
||||
return _sharedInstance;
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
return [super initWithWindowNibName:@"VMSettingsWindow"];
|
||||
}
|
||||
|
||||
- (int) numberOfRowsInTableView: (NSTableView *) table
|
||||
{
|
||||
return [diskArray count];
|
||||
}
|
||||
|
||||
- (id) tableView: (NSTableView *) table objectValueForTableColumn: (NSTableColumn *) col row: (int) row
|
||||
{
|
||||
return [diskArray objectAtIndex: row];
|
||||
}
|
||||
|
||||
static NSString *getStringFromPrefs(const char *key)
|
||||
{
|
||||
const char *value = PrefsFindString(key);
|
||||
if (value == NULL)
|
||||
return @"";
|
||||
return [NSString stringWithCString: value];
|
||||
}
|
||||
|
||||
- (void) setupGUI
|
||||
{
|
||||
diskArray = [[NSMutableArray alloc] init];
|
||||
|
||||
const char *dsk;
|
||||
int index = 0;
|
||||
while ((dsk = PrefsFindString("disk", index++)) != NULL)
|
||||
[diskArray addObject: [NSString stringWithCString: dsk ]];
|
||||
|
||||
[disks setDataSource: self];
|
||||
[disks reloadData];
|
||||
|
||||
int bootdriver = PrefsFindInt32("bootdriver"), active = 0;
|
||||
switch (bootdriver) {
|
||||
case 0: active = 0; break;
|
||||
case CDROMRefNum: active = 1; break;
|
||||
}
|
||||
[bootFrom selectItemAtIndex: active ];
|
||||
|
||||
[romFile setStringValue: getStringFromPrefs("rom") ];
|
||||
[unixRoot setStringValue: getStringFromPrefs("extfs") ];
|
||||
[disableCdrom setIntValue: PrefsFindBool("nocdrom") ];
|
||||
[ramSize setIntValue: PrefsFindInt32("ramsize") / (1024*1024) ];
|
||||
[ramSizeStepper setIntValue: PrefsFindInt32("ramsize") / (1024*1024) ];
|
||||
|
||||
int display_type = 0;
|
||||
int dis_width = 640;
|
||||
int dis_height = 480;
|
||||
|
||||
const char *str = PrefsFindString("screen");
|
||||
if (str != NULL) {
|
||||
if (sscanf(str, "win/%d/%d", &dis_width, &dis_height) == 2)
|
||||
display_type = 0;
|
||||
else if (sscanf(str, "dga/%d/%d", &dis_width, &dis_height) == 2)
|
||||
display_type = 1;
|
||||
}
|
||||
|
||||
[videoType selectItemAtIndex: display_type ];
|
||||
[width setIntValue: dis_width ];
|
||||
[height setIntValue: dis_height ];
|
||||
|
||||
int frameskip = PrefsFindInt32("frameskip");
|
||||
int item = -1;
|
||||
switch (frameskip) {
|
||||
case 12: item = 0; break;
|
||||
case 8: item = 1; break;
|
||||
case 6: item = 2; break;
|
||||
case 4: item = 3; break;
|
||||
case 2: item = 4; break;
|
||||
case 1: item = 5; break;
|
||||
case 0: item = 6; break;
|
||||
}
|
||||
if (item >= 0)
|
||||
[refreshRate selectItemAtIndex: item ];
|
||||
|
||||
[qdAccel setIntValue: PrefsFindBool("gfxaccel") ];
|
||||
|
||||
[disableSound setIntValue: PrefsFindBool("nosound") ];
|
||||
[outDevice setStringValue: getStringFromPrefs("dsp") ];
|
||||
[mixDevice setStringValue: getStringFromPrefs("mixer") ];
|
||||
|
||||
[useRawKeyCodes setIntValue: PrefsFindBool("keycodes") ];
|
||||
[rawKeyCodes setStringValue: getStringFromPrefs("keycodefile") ];
|
||||
[rawKeyCodes setEnabled:[useRawKeyCodes intValue]];
|
||||
|
||||
int wheelmode = PrefsFindInt32("mousewheelmode"), wheel = 0;
|
||||
switch (wheelmode) {
|
||||
case 0: wheel = 0; break;
|
||||
case 1: wheel = 1; break;
|
||||
}
|
||||
[mouseWheel selectItemAtIndex: wheel ];
|
||||
|
||||
[scrollLines setIntValue: PrefsFindInt32("mousewheellines") ];
|
||||
[scrollLinesStepper setIntValue: PrefsFindInt32("mousewheellines") ];
|
||||
|
||||
[ignoreIllegalMemoryAccesses setIntValue: PrefsFindBool("ignoresegv") ];
|
||||
[ignoreIllegalInstructions setIntValue: PrefsFindBool("ignoreillegal") ];
|
||||
[dontUseCPUWhenIdle setIntValue: PrefsFindBool("idlewait") ];
|
||||
[enableJIT setIntValue: PrefsFindBool("jit") ];
|
||||
[enable68kDREmulator setIntValue: PrefsFindBool("jit68k") ];
|
||||
|
||||
[modemPort setStringValue: getStringFromPrefs("seriala") ];
|
||||
[printerPort setStringValue: getStringFromPrefs("serialb") ];
|
||||
[ethernetInterface setStringValue: getStringFromPrefs("ether") ];
|
||||
}
|
||||
|
||||
- (void) editSettingsFor: (NSString *) vmdir sender: (id) sender
|
||||
{
|
||||
chdir([vmdir fileSystemRepresentation]);
|
||||
AddPrefsDefaults();
|
||||
AddPlatformPrefsDefaults();
|
||||
LoadPrefs([vmdir fileSystemRepresentation]);
|
||||
NSWindow *window = [self window];
|
||||
[self setupGUI];
|
||||
[NSApp runModalForWindow:window];
|
||||
}
|
||||
|
||||
static NSString *makeRelativeIfNecessary(NSString *path)
|
||||
{
|
||||
char cwd[1024], filename[1024];
|
||||
int cwdlen;
|
||||
strlcpy(filename, [path fileSystemRepresentation], sizeof(filename));
|
||||
getcwd(cwd, sizeof(cwd));
|
||||
cwdlen = strlen(cwd);
|
||||
if (!strncmp(cwd, filename, cwdlen)) {
|
||||
if (cwdlen >= 0 && cwd[cwdlen-1] != '/')
|
||||
cwdlen++;
|
||||
return [NSString stringWithCString: filename + cwdlen];
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
- (IBAction) addDisk: (id) sender
|
||||
{
|
||||
NSOpenPanel *open = [NSOpenPanel openPanel];
|
||||
[open setCanChooseDirectories:NO];
|
||||
[open setAllowsMultipleSelection:NO];
|
||||
[open beginSheetForDirectory: @""
|
||||
file: @"Unknown"
|
||||
modalForWindow: [self window]
|
||||
modalDelegate: self
|
||||
didEndSelector: @selector(_addDiskEnd: returnCode: contextInfo:)
|
||||
contextInfo: nil];
|
||||
}
|
||||
|
||||
- (void) _addDiskEnd: (NSOpenPanel *) open returnCode: (int) theReturnCode contextInfo: (void *) theContextInfo
|
||||
{
|
||||
if (theReturnCode == NSOKButton) {
|
||||
[diskArray addObject: makeRelativeIfNecessary([open filename])];
|
||||
[disks reloadData];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) removeDisk: (id) sender
|
||||
{
|
||||
int selectedRow = [disks selectedRow];
|
||||
if (selectedRow >= 0) {
|
||||
[diskArray removeObjectAtIndex: selectedRow];
|
||||
[disks reloadData];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) createDisk: (id) sender
|
||||
{
|
||||
NSSavePanel *save = [NSSavePanel savePanel];
|
||||
[save setAccessoryView: diskSaveSize];
|
||||
[save beginSheetForDirectory: @""
|
||||
file: @"New.dsk"
|
||||
modalForWindow: [self window]
|
||||
modalDelegate: self
|
||||
didEndSelector: @selector(_createDiskEnd: returnCode: contextInfo:)
|
||||
contextInfo: nil];
|
||||
}
|
||||
|
||||
- (void) _createDiskEnd: (NSSavePanel *) save returnCode: (int) theReturnCode contextInfo: (void *) theContextInfo
|
||||
{
|
||||
if (theReturnCode == NSOKButton) {
|
||||
int size = [diskSaveSizeField intValue];
|
||||
if (size >= 0 && size <= 10000) {
|
||||
char cmd[1024];
|
||||
snprintf(cmd, sizeof(cmd), "dd if=/dev/zero \"of=%s\" bs=1024k count=%d", [[save filename] UTF8String], [diskSaveSizeField intValue]);
|
||||
int ret = system(cmd);
|
||||
if (ret == 0) {
|
||||
[diskArray addObject: makeRelativeIfNecessary([save filename])];
|
||||
[disks reloadData];
|
||||
}
|
||||
}
|
||||
}
|
||||
[(NSData *)theContextInfo release];
|
||||
}
|
||||
|
||||
- (IBAction) useRawKeyCodesClicked: (id) sender
|
||||
{
|
||||
[rawKeyCodes setEnabled:[useRawKeyCodes intValue]];
|
||||
}
|
||||
|
||||
- (IBAction) browseForROMFileClicked: (id) sender
|
||||
{
|
||||
NSOpenPanel *open = [NSOpenPanel openPanel];
|
||||
[open setCanChooseDirectories:NO];
|
||||
[open setAllowsMultipleSelection:NO];
|
||||
[open beginSheetForDirectory: @""
|
||||
file: [romFile stringValue]
|
||||
modalForWindow: [self window]
|
||||
modalDelegate: self
|
||||
didEndSelector: @selector(_browseForROMFileEnd: returnCode: contextInfo:)
|
||||
contextInfo: nil];
|
||||
}
|
||||
|
||||
- (void) _browseForROMFileEnd: (NSOpenPanel *) open returnCode: (int) theReturnCode contextInfo: (void *) theContextInfo
|
||||
{
|
||||
if (theReturnCode == NSOKButton) {
|
||||
[romFile setStringValue: makeRelativeIfNecessary([open filename])];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) browseForUnixRootClicked: (id) sender
|
||||
{
|
||||
NSOpenPanel *open = [NSOpenPanel openPanel];
|
||||
[open setCanChooseDirectories:YES];
|
||||
[open setCanChooseFiles:NO];
|
||||
[open setAllowsMultipleSelection:NO];
|
||||
[open beginSheetForDirectory: @""
|
||||
file: [unixRoot stringValue]
|
||||
modalForWindow: [self window]
|
||||
modalDelegate: self
|
||||
didEndSelector: @selector(_browseForUnixRootEnd: returnCode: contextInfo:)
|
||||
contextInfo: nil];
|
||||
}
|
||||
|
||||
- (void) _browseForUnixRootEnd: (NSOpenPanel *) open returnCode: (int) theReturnCode contextInfo: (void *) theContextInfo
|
||||
{
|
||||
if (theReturnCode == NSOKButton) {
|
||||
[unixRoot setStringValue: makeRelativeIfNecessary([open filename])];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) cancelEdit: (id) sender
|
||||
{
|
||||
PrefsExit();
|
||||
[[self window] close];
|
||||
[NSApp stopModal];
|
||||
}
|
||||
|
||||
- (void) saveChanges: (id) sender
|
||||
{
|
||||
while (PrefsFindString("disk"))
|
||||
PrefsRemoveItem("disk");
|
||||
|
||||
for (int i = 0; i < [diskArray count]; i++) {
|
||||
PrefsAddString("disk", [[diskArray objectAtIndex:i] UTF8String]);
|
||||
}
|
||||
PrefsReplaceInt32("bootdriver", ([bootFrom indexOfSelectedItem] == 1 ? CDROMRefNum : 0));
|
||||
PrefsReplaceString("rom", [[romFile stringValue] UTF8String]);
|
||||
PrefsReplaceString("extfs", [[unixRoot stringValue] UTF8String]);
|
||||
PrefsReplaceBool("nocdrom", [disableCdrom intValue]);
|
||||
PrefsReplaceInt32("ramsize", [ramSize intValue] << 20);
|
||||
|
||||
char pref[256];
|
||||
snprintf(pref, sizeof(pref), "%s/%d/%d", [videoType indexOfSelectedItem] == 0 ? "win" : "dga", [width intValue], [height intValue]);
|
||||
PrefsReplaceString("screen", pref);
|
||||
|
||||
int rate = 8;
|
||||
switch ([refreshRate indexOfSelectedItem]) {
|
||||
case 0: rate = 12; break;
|
||||
case 1: rate = 8; break;
|
||||
case 2: rate = 6; break;
|
||||
case 3: rate = 4; break;
|
||||
case 4: rate = 2; break;
|
||||
case 5: rate = 1; break;
|
||||
case 6: rate = 0; break;
|
||||
}
|
||||
PrefsReplaceInt32("frameskip", rate);
|
||||
PrefsReplaceBool("gfxaccel", [qdAccel intValue]);
|
||||
|
||||
PrefsReplaceBool("nosound", [disableSound intValue]);
|
||||
PrefsReplaceString("dsp", [[outDevice stringValue] UTF8String]);
|
||||
PrefsReplaceString("mixer", [[mixDevice stringValue] UTF8String]);
|
||||
|
||||
PrefsReplaceBool("keycodes", [useRawKeyCodes intValue]);
|
||||
PrefsReplaceString("keycodefile", [[rawKeyCodes stringValue] UTF8String]);
|
||||
|
||||
PrefsReplaceInt32("mousewheelmode", [mouseWheel indexOfSelectedItem]);
|
||||
PrefsReplaceInt32("mousewheellines", [scrollLines intValue]);
|
||||
|
||||
PrefsReplaceBool("ignoresegv", [ignoreIllegalMemoryAccesses intValue]);
|
||||
PrefsReplaceBool("ignoreillegal", [ignoreIllegalInstructions intValue]);
|
||||
PrefsReplaceBool("idlewait", [dontUseCPUWhenIdle intValue]);
|
||||
PrefsReplaceBool("jit", [enableJIT intValue]);
|
||||
PrefsReplaceBool("jit68k", [enable68kDREmulator intValue]);
|
||||
|
||||
PrefsReplaceString("seriala", [[modemPort stringValue] UTF8String]);
|
||||
PrefsReplaceString("serialb", [[printerPort stringValue] UTF8String]);
|
||||
PrefsReplaceString("ether", [[ethernetInterface stringValue] UTF8String]);
|
||||
SavePrefs();
|
||||
PrefsExit();
|
||||
|
||||
[[self window] close];
|
||||
[NSApp stopModal];
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
||||
|
26
SheepShaver/src/MacOSX/Launcher/main.m
Normal file
26
SheepShaver/src/MacOSX/Launcher/main.m
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* main.m - Cocoa SheepShaver launcher for Mac OS X
|
||||
*
|
||||
* Copyright (C) 2006-2009 Alexei Svitkine
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
return NSApplicationMain(argc, (const char **) argv);
|
||||
}
|
Loading…
Reference in New Issue
Block a user