A damn fine start

This commit is contained in:
Tony Garnock-Jones 2012-05-01 13:16:53 -04:00
parent 982218c6ba
commit c82aa12c32
6 changed files with 386 additions and 3012 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
.DS_Store
build
*.pbxuser
*.mode1v3

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
256AC3DA0F4B6AC300CF3369 /* gui_ocamlmsgAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* gui_ocamlmsgAppDelegate.m */; };
8AC89E371550397E00BACB4E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AC89E361550397E00BACB4E /* WebKit.framework */; };
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 */; };
@ -25,8 +26,9 @@
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; 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>"; };
8AC89E361550397E00BACB4E /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
8D1107310486CEB800E47090 /* gui_ocamlmsg-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "gui_ocamlmsg-Info.plist"; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* gui-ocamlmsg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "gui-ocamlmsg.app"; sourceTree = BUILT_PRODUCTS_DIR; };
8D1107320486CEB800E47090 /* Ocamlmsg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ocamlmsg.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -35,6 +37,7 @@
buildActionMask = 2147483647;
files = (
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
8AC89E371550397E00BACB4E /* WebKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -54,6 +57,7 @@
isa = PBXGroup;
children = (
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
8AC89E361550397E00BACB4E /* WebKit.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
@ -71,7 +75,7 @@
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* gui-ocamlmsg.app */,
8D1107320486CEB800E47090 /* Ocamlmsg.app */,
);
name = Products;
sourceTree = "<group>";
@ -119,9 +123,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* gui-ocamlmsg */ = {
8D1107260486CEB800E47090 /* Ocamlmsg */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "gui-ocamlmsg" */;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Ocamlmsg" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
@ -131,10 +135,10 @@
);
dependencies = (
);
name = "gui-ocamlmsg";
name = Ocamlmsg;
productInstallPath = "$(HOME)/Applications";
productName = "gui-ocamlmsg";
productReference = 8D1107320486CEB800E47090 /* gui-ocamlmsg.app */;
productName = Ocamlmsg;
productReference = 8D1107320486CEB800E47090 /* Ocamlmsg.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@ -142,6 +146,9 @@
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
ORGANIZATIONNAME = "Tony Garnock-Jones";
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "gui-ocamlmsg" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
@ -156,7 +163,7 @@
projectDirPath = "";
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* gui-ocamlmsg */,
8D1107260486CEB800E47090 /* Ocamlmsg */,
);
};
/* End PBXProject section */
@ -218,7 +225,7 @@
GCC_PREFIX_HEADER = gui_ocamlmsg_Prefix.pch;
INFOPLIST_FILE = "gui_ocamlmsg-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = "gui-ocamlmsg";
PRODUCT_NAME = Ocamlmsg;
};
name = Debug;
};
@ -232,7 +239,7 @@
GCC_PREFIX_HEADER = gui_ocamlmsg_Prefix.pch;
INFOPLIST_FILE = "gui_ocamlmsg-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = "gui-ocamlmsg";
PRODUCT_NAME = Ocamlmsg;
};
name = Release;
};
@ -265,7 +272,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "gui-ocamlmsg" */ = {
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Ocamlmsg" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,

View File

@ -7,9 +7,9 @@
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<string>Ocamlmsg2.icns</string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
<string>org.eighty-twenty.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>0.0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>alpha</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSMainNibFile</key>

View File

@ -7,11 +7,16 @@
//
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface gui_ocamlmsgAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
WebView *webview;
NSTask *task;
}
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet WebView *webview;
@end

View File

@ -11,9 +11,34 @@
@implementation gui_ocamlmsgAppDelegate
@synthesize window;
@synthesize webview;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
task = [NSTask new];
[[NSNotificationCenter defaultCenter]
addObserver: self
selector: @selector(taskStatusChanged:)
name: NSTaskDidTerminateNotification
object: nil];
[task setCurrentDirectoryPath: @"/Users/tonyg/src/ocamlmsg"];
[task setLaunchPath: @"/Users/tonyg/src/ocamlmsg/ocamlmsg.native"];
[task setArguments: [NSArray new]];
[task launch];
sleep(1);
[[webview mainFrame] loadRequest:
[NSURLRequest requestWithURL:
[NSURL URLWithString: @"http://localhost:5678/"]]];
}
- (void) applicationWillTerminate: (NSNotification *) notification {
[task terminate];
}
- (void) taskStatusChanged: (NSNotification *) aNotification {
[NSApp terminate: self];
}
@end