Browse Source

Merge branch 'master' of github.com:optixx/quickdev16

optixx 14 years ago
parent
commit
9be841521f

+ 3 - 12
tools/Quickdev16/AppController.h

@@ -2,18 +2,9 @@
 
 @interface AppController : NSObject  {
     IBOutlet NSTextField *textField;
-	IBOutlet NSColorWell *colorWell;
-	IBOutlet NSButton *stopButton;
-	IBOutlet NSTableView *tableView;
-	NSSpeechSynthesizer *speechSynth;
 }
-- (IBAction)sayIt:(id)sender;
-- (IBAction)stopIt:(id)sender;
-- (IBAction)changeTextColor:(id)sender;
-- (void)speechSynthesizer:(NSSpeechSynthesizer *)send
-		didFinishSpeaking:(BOOL)finishedSpeaking;
-- (int)numberOfRowsInTableView:(NSTableView *) aTableView;
--(id)tableView:(NSTableView*) aTableView
-objectValueForTableColumn:(NSTableColumn *) aTableColumn row:(int)row;
+- (IBAction)romInfo:(id)sender;
+- (IBAction)romUpload:(id)sender;
+
 
 @end

+ 17 - 64
tools/Quickdev16/AppController.m

@@ -1,89 +1,43 @@
 #import "AppController.h"
+#import "CommandWrapper.h"
 
 @implementation AppController
 - (id) init {
 	[super init];
 	NSLog(@"init");
-	speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil];
-	[speechSynth setDelegate:self]; 
 	return self;
 }
 
 - (void)awakeFromNib{
-	NSColor *initialColor = [ textField textColor];
-	NSLog(@"setting init color %@",initialColor);
-	[colorWell setColor:initialColor];
-	NSString *defaultVoice = [NSSpeechSynthesizer defaultVoice];
-	NSArray *voices = [NSSpeechSynthesizer availableVoices];
-	int defaultRow = [voices indexOfObject:defaultVoice];
-	[tableView selectRow:defaultRow byExtendingSelection:NO];
-	[tableView scrollRowToVisible:defaultRow];
-	 
+	NSLog(@"awakeFromNib");
 }
-- (IBAction)sayIt:(id)sender {
+
+- (IBAction)romInfo:(id)sender {
 	NSString *string = [textField stringValue];
 	if ( [string length] == 0) {
 		NSLog(@"No message");
 		return;
 	}
-	[speechSynth startSpeakingString:string];
 	NSLog(@"Have started speaking: %@", string);
-    [stopButton setEnabled:YES];
+    //[stopButton setEnabled:YES];
 }
 
-- (IBAction)stopIt:(id)sender {
-	NSLog(@"stopping");
-	[speechSynth stopSpeaking];
+- (IBAction)romUpload:(id)sender {
+	NSLog(@"romUpload");
     
-}
-
-- (void)speechSynthesizer:(NSSpeechSynthesizer *)send
-		didFinishSpeaking:(BOOL)finishedSpeaking
-{
-	NSLog(@"didFinished=%d",finishedSpeaking);
-    [stopButton setEnabled:NO];
-
-}
-
-
-- (IBAction)changeTextColor:(id)sender{
-	NSColor *newColor = [sender color];
-	NSLog(@"Change Color %@",newColor);
-	[textField setTextColor:newColor];
+	CommandWrapper *cw=[[CommandWrapper alloc] init];
+    [cw doPipedCommand];
 	
-}
-
-- (int)numberOfRowsInTableView:(NSTableView *) aTableView{
-	NSLog(@"numberOfRowsInTableView %d", [[NSSpeechSynthesizer availableVoices] count]);
-
-	return [[NSSpeechSynthesizer availableVoices] count];
-}
--(id)tableView:(NSTableView*) aTableView
-			objectValueForTableColumn:(NSTableColumn *) aTableColumn row:(int)row{
-	NSString *voice = [[NSSpeechSynthesizer availableVoices] objectAtIndex:row ];
-	return [[NSSpeechSynthesizer attributesForVoice:voice] valueForKey:NSVoiceName];
-}
-
-- (void)tableViewSelectionDidChange:(NSNotification *)nofication{
-	NSArray *availableVoices = [NSSpeechSynthesizer availableVoices];
-	int row = [tableView selectedRow];
-	if ( row == -1) {
+	
+	NSString* myString = [[NSString alloc] init];
+	myString = @"test"; 
+    [textField setStringValue:myString];
+	if ( [myString length] != 0) {
+		NSLog(@"message: %@", myString);
 		return;
 	}
 	
-	NSString *selectedVoice = [availableVoices objectAtIndex:row];
-	[speechSynth setVoice:selectedVoice];
-	NSLog(@"new voice=%@",selectedVoice);
-}
-
--(BOOL)selectionShouldChangeInTableView:(NSTableView *) aTableView
-{
-	if ([speechSynth isSpeaking]){
-		NSBeep();
-		return NO;
-	} else {
-		return YES;
-	}
+	
 }
 
 -(NSSize)windowWillResize:(NSWindow *)send toSize:(NSSize) framesize;
@@ -98,8 +52,7 @@
 }
 
 - (void) dealloc {
-	NSLog(@"dealloc");
-	[speechSynth release];
+	NSLog(@"dealloc");	
 	[super dealloc];
 	
 }

+ 20 - 0
tools/Quickdev16/CommandWrapper.h

@@ -0,0 +1,20 @@
+//
+//  CommandWrapper.h
+//  Quickdev16
+//
+//  Created by David Voswinkel on 09-09-01.
+//  Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface CommandWrapper : NSObject {
+
+    
+    IBOutlet NSTextField *textField;
+}
+- (void)doCommand;
+- (void)doPipedCommand;
+
+@end

+ 57 - 0
tools/Quickdev16/CommandWrapper.m

@@ -0,0 +1,57 @@
+//
+//  CommandWrapper.m
+//  Quickdev16
+//
+//  Created by David Voswinkel on 09-09-01.
+//  Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "CommandWrapper.h"
+
+
+@implementation CommandWrapper
+
+- (void)doCommand {
+    
+	NSTask *command=[[NSTask alloc] init];
+    
+    [command setLaunchPath:@"/bin/ls"];
+    [command setArguments:[NSArray arrayWithObjects:@"-l",@"/System",nil]];
+    [command launch];
+    
+    [command release];
+}
+
+
+
+- (void)doPipedCommand {
+    NSTask *ls=[[NSTask alloc] init];
+    NSPipe *pipe=[[NSPipe alloc] init];
+    NSFileHandle *handle;
+    NSString *string;
+    
+    [ls setLaunchPath:@"/bin/ls"];
+    [ls setArguments:[NSArray arrayWithObjects:@"-l",@"/System",nil]];
+    [ls setStandardOutput:pipe];
+    handle=[pipe fileHandleForReading];
+    
+    [ls launch];
+    
+    string=[[NSString alloc] initWithData:[handle readDataToEndOfFile]
+								 encoding:NSASCIIStringEncoding]; // convert NSData -> NSString
+   
+	
+ 	NSLog(@"doPipedCommand: %@", string);
+    [textField setStringValue:string];
+    
+    [string release];
+    [pipe release];
+    [ls release];
+}
+
+@end
+
+
+
+
+

+ 60 - 45
tools/Quickdev16/English.lproj/MainMenu.xib

@@ -1317,7 +1317,7 @@
 			<object class="NSWindowTemplate" id="59616572">
 				<int key="NSWindowStyleMask">263</int>
 				<int key="NSWindowBacking">2</int>
-				<string key="NSWindowRect">{{157, -335}, {504, 796}}</string>
+				<string key="NSWindowRect">{{157, 186}, {480, 275}}</string>
 				<int key="NSWTFlags">611844096</int>
 				<string key="NSWindowTitle">Quickdev16</string>
 				<string key="NSWindowClass">NSWindow</string>
@@ -1331,14 +1331,14 @@
 						<object class="NSTabView" id="77078538">
 							<reference key="NSNextResponder" ref="986949344"/>
 							<int key="NSvFlags">12</int>
-							<string key="NSFrame">{{13, 531}, {454, 213}}</string>
+							<string key="NSFrame">{{13, 10}, {454, 213}}</string>
 							<reference key="NSSuperview" ref="986949344"/>
 							<object class="NSMutableArray" key="NSTabViewItems">
 								<bool key="EncodedWithXMLCoder">YES</bool>
 								<object class="NSTabViewItem" id="1019619514">
 									<string key="NSIdentifier">1</string>
 									<object class="NSView" key="NSView" id="832954608">
-										<nil key="NSNextResponder"/>
+										<reference key="NSNextResponder" ref="77078538"/>
 										<int key="NSvFlags">256</int>
 										<object class="NSMutableArray" key="NSSubviews">
 											<bool key="EncodedWithXMLCoder">YES</bool>
@@ -1349,7 +1349,7 @@
 												<reference key="NSSuperview" ref="832954608"/>
 												<bool key="NSEnabled">YES</bool>
 												<object class="NSTextFieldCell" key="NSCell" id="151982012">
-													<int key="NSCellFlags">-1805517311</int>
+													<int key="NSCellFlags">-2073952767</int>
 													<int key="NSCellFlags2">272629760</int>
 													<string key="NSContents">Log Field</string>
 													<object class="NSFont" key="NSSupport" id="358509667">
@@ -1381,6 +1381,7 @@
 											</object>
 										</object>
 										<string key="NSFrame">{{10, 33}, {434, 167}}</string>
+										<reference key="NSSuperview" ref="77078538"/>
 									</object>
 									<string key="NSLabel">Log</string>
 									<object class="NSColor" key="NSColor" id="907466307">
@@ -1397,7 +1398,7 @@
 								<object class="NSTabViewItem" id="202585700">
 									<string key="NSIdentifier">2</string>
 									<object class="NSView" key="NSView" id="628086759">
-										<reference key="NSNextResponder" ref="77078538"/>
+										<nil key="NSNextResponder"/>
 										<int key="NSvFlags">256</int>
 										<object class="NSMutableArray" key="NSSubviews">
 											<bool key="EncodedWithXMLCoder">YES</bool>
@@ -1420,27 +1421,26 @@
 											</object>
 										</object>
 										<string key="NSFrame">{{10, 33}, {434, 167}}</string>
-										<reference key="NSSuperview" ref="77078538"/>
 									</object>
 									<string key="NSLabel">Info</string>
 									<reference key="NSColor" ref="907466307"/>
 									<reference key="NSTabView" ref="77078538"/>
 								</object>
 							</object>
-							<reference key="NSSelectedTabViewItem" ref="202585700"/>
+							<reference key="NSSelectedTabViewItem" ref="1019619514"/>
 							<reference key="NSFont" ref="358509667"/>
 							<int key="NSTvFlags">0</int>
 							<bool key="NSAllowTruncatedLabels">YES</bool>
 							<bool key="NSDrawsBackground">YES</bool>
 							<object class="NSMutableArray" key="NSSubviews">
 								<bool key="EncodedWithXMLCoder">YES</bool>
-								<reference ref="628086759"/>
+								<reference ref="832954608"/>
 							</object>
 						</object>
 						<object class="NSButton" id="595445563">
 							<reference key="NSNextResponder" ref="986949344"/>
 							<int key="NSvFlags">268</int>
-							<string key="NSFrame">{{20, 774}, {106, 23}}</string>
+							<string key="NSFrame">{{20, 253}, {106, 23}}</string>
 							<reference key="NSSuperview" ref="986949344"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="773521235">
@@ -1460,7 +1460,7 @@
 						<object class="NSButton" id="744367094">
 							<reference key="NSNextResponder" ref="986949344"/>
 							<int key="NSvFlags">268</int>
-							<string key="NSFrame">{{20, 745}, {106, 23}}</string>
+							<string key="NSFrame">{{20, 224}, {106, 23}}</string>
 							<reference key="NSSuperview" ref="986949344"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="1047137768">
@@ -1480,7 +1480,7 @@
 						<object class="NSButton" id="784593682">
 							<reference key="NSNextResponder" ref="986949344"/>
 							<int key="NSvFlags">268</int>
-							<string key="NSFrame">{{354, 774}, {106, 23}}</string>
+							<string key="NSFrame">{{354, 253}, {106, 23}}</string>
 							<reference key="NSSuperview" ref="986949344"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSButtonCell" key="NSCell" id="71987855">
@@ -1498,7 +1498,7 @@
 							</object>
 						</object>
 					</object>
-					<string key="NSFrameSize">{504, 796}</string>
+					<string key="NSFrameSize">{480, 275}</string>
 				</object>
 				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
 				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
@@ -1512,6 +1512,9 @@
 			<object class="NSCustomObject" id="885823689">
 				<string key="NSClassName">AppController</string>
 			</object>
+			<object class="NSCustomObject" id="180404883">
+				<string key="NSClassName">CommandWrapper</string>
+			</object>
 		</object>
 		<object class="IBObjectContainer" key="IBDocument.Objects">
 			<object class="NSMutableArray" key="connectionRecords">
@@ -2190,11 +2193,27 @@
 				</object>
 				<object class="IBConnectionRecord">
 					<object class="IBActionConnection" key="connection">
-						<string key="label">sayIt:</string>
+						<string key="label">romUpload:</string>
+						<reference key="source" ref="885823689"/>
+						<reference key="destination" ref="1047137768"/>
+					</object>
+					<int key="connectionID">593</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">romUpload:</string>
 						<reference key="source" ref="885823689"/>
-						<reference key="destination" ref="71987855"/>
+						<reference key="destination" ref="595445563"/>
+					</object>
+					<int key="connectionID">597</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">textField</string>
+						<reference key="source" ref="180404883"/>
+						<reference key="destination" ref="596474216"/>
 					</object>
-					<int key="connectionID">592</int>
+					<int key="connectionID">598</int>
 				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
@@ -3365,6 +3384,11 @@
 						<reference key="object" ref="885823689"/>
 						<reference key="parent" ref="0"/>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">595</int>
+						<reference key="object" ref="180404883"/>
+						<reference key="parent" ref="0"/>
+					</object>
 				</object>
 			</object>
 			<object class="NSMutableDictionary" key="flattenedProperties">
@@ -3608,6 +3632,7 @@
 					<string>588.IBPluginDependency</string>
 					<string>589.IBPluginDependency</string>
 					<string>590.IBPluginDependency</string>
+					<string>595.IBPluginDependency</string>
 					<string>72.IBPluginDependency</string>
 					<string>72.ImportedFromIB2</string>
 					<string>73.IBPluginDependency</string>
@@ -3846,9 +3871,9 @@
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{936, 60}, {504, 796}}</string>
+					<string>{{346, 412}, {480, 275}}</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-					<string>{{936, 60}, {504, 796}}</string>
+					<string>{{346, 412}, {480, 275}}</string>
 					<boolean value="YES"/>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3875,6 +3900,7 @@
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
 					<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
 					<integer value="1"/>
@@ -3918,7 +3944,7 @@
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">592</int>
+			<int key="maxID">598</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -3930,39 +3956,36 @@
 						<bool key="EncodedWithXMLCoder">YES</bool>
 						<object class="NSArray" key="dict.sortedKeys">
 							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>changeTextColor:</string>
-							<string>sayIt:</string>
-							<string>stopIt:</string>
+							<string>romInfo:</string>
+							<string>romUpload:</string>
 						</object>
 						<object class="NSMutableArray" key="dict.values">
 							<bool key="EncodedWithXMLCoder">YES</bool>
 							<string>id</string>
 							<string>id</string>
-							<string>id</string>
 						</object>
 					</object>
 					<object class="NSMutableDictionary" key="outlets">
-						<bool key="EncodedWithXMLCoder">YES</bool>
-						<object class="NSArray" key="dict.sortedKeys">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>colorWell</string>
-							<string>stopButton</string>
-							<string>tableView</string>
-							<string>textField</string>
-						</object>
-						<object class="NSMutableArray" key="dict.values">
-							<bool key="EncodedWithXMLCoder">YES</bool>
-							<string>NSColorWell</string>
-							<string>NSButton</string>
-							<string>NSTableView</string>
-							<string>NSTextField</string>
-						</object>
+						<string key="NS.key.0">textField</string>
+						<string key="NS.object.0">NSTextField</string>
 					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBProjectSource</string>
 						<string key="minorKey">AppController.h</string>
 					</object>
 				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">CommandWrapper</string>
+					<string key="superclassName">NSObject</string>
+					<object class="NSMutableDictionary" key="outlets">
+						<string key="NS.key.0">textField</string>
+						<string key="NS.object.0">NSTextField</string>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">CommandWrapper.h</string>
+					</object>
+				</object>
 				<object class="IBPartialClassDescription">
 					<string key="className">Quickdev16AppDelegate</string>
 					<string key="superclassName">NSObject</string>
@@ -4061,14 +4084,6 @@
 						<string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
 					</object>
 				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSColorWell</string>
-					<string key="superclassName">NSControl</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">AppKit.framework/Headers/NSColorWell.h</string>
-					</object>
-				</object>
 				<object class="IBPartialClassDescription">
 					<string key="className">NSControl</string>
 					<string key="superclassName">NSView</string>

+ 54 - 31
tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3

@@ -264,6 +264,8 @@
 							<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
 							<array>
 								<string>29B97314FDCFA39411CA2CEA</string>
+								<string>080E96DDFE201D6D7F000001</string>
+								<string>29B97317FDCFA39411CA2CEA</string>
 								<string>29B97323FDCFA39411CA2CEA</string>
 								<string>19C28FACFE9D520D11CA2CBB</string>
 								<string>1C37FABC05509CD000000102</string>
@@ -271,7 +273,6 @@
 							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
 							<array>
 								<array>
-									<integer>3</integer>
 									<integer>0</integer>
 								</array>
 							</array>
@@ -306,12 +307,14 @@
 					<key>Dock</key>
 					<array>
 						<dict>
+							<key>BecomeActive</key>
+							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXProjectModuleGUID</key>
 								<string>1CE0B20306471E060097A5F4</string>
 								<key>PBXProjectModuleLabel</key>
-								<string></string>
+								<string>AppController.m</string>
 								<key>PBXSplitModuleInNavigatorKey</key>
 								<dict>
 									<key>Split0</key>
@@ -319,7 +322,20 @@
 										<key>PBXProjectModuleGUID</key>
 										<string>1CE0B20406471E060097A5F4</string>
 										<key>PBXProjectModuleLabel</key>
-										<string></string>
+										<string>AppController.m</string>
+										<key>_historyCapacity</key>
+										<integer>0</integer>
+										<key>bookmark</key>
+										<string>630AE65F104D76D60091039C</string>
+										<key>history</key>
+										<array>
+											<string>630AE608104D6C580091039C</string>
+											<string>630AE63B104D74E40091039C</string>
+											<string>630AE648104D753E0091039C</string>
+											<string>630AE649104D753E0091039C</string>
+											<string>630AE64A104D753E0091039C</string>
+											<string>630AE64B104D753E0091039C</string>
+										</array>
 									</dict>
 									<key>SplitCount</key>
 									<string>1</string>
@@ -330,18 +346,16 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 0}, {654, 0}}</string>
+								<string>{{0, 0}, {654, 717}}</string>
 								<key>RubberWindowFrame</key>
 								<string>0 115 936 763 0 0 1440 878 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXNavigatorGroup</string>
 							<key>Proportion</key>
-							<string>0pt</string>
+							<string>717pt</string>
 						</dict>
 						<dict>
-							<key>BecomeActive</key>
-							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXProjectModuleGUID</key>
@@ -352,14 +366,14 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 5}, {654, 717}}</string>
+								<string>{{0, 722}, {654, 0}}</string>
 								<key>RubberWindowFrame</key>
 								<string>0 115 936 763 0 0 1440 878 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
 							<key>Proportion</key>
-							<string>717pt</string>
+							<string>0pt</string>
 						</dict>
 					</array>
 					<key>Proportion</key>
@@ -378,9 +392,9 @@
 			</array>
 			<key>TableOfContents</key>
 			<array>
-				<string>631A5172104CF32500E73564</string>
+				<string>630AE573104D18A40091039C</string>
 				<string>1CE0B1FE06471DED0097A5F4</string>
-				<string>631A5173104CF32500E73564</string>
+				<string>630AE574104D18A40091039C</string>
 				<string>1CE0B20306471E060097A5F4</string>
 				<string>1CE0B20506471E060097A5F4</string>
 			</array>
@@ -518,7 +532,12 @@
 	<integer>5</integer>
 	<key>WindowOrderList</key>
 	<array>
+		<string>630AE660104D76D60091039C</string>
+		<string>630AE57D104D18A40091039C</string>
+		<string>630AE57E104D18A40091039C</string>
+		<string>1CD10A99069EF8BA00B06720</string>
 		<string>631E1885104C5D80001A8B18</string>
+		<string>1C78EAAD065D492600B07095</string>
 		<string>/Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/Quickdev16.xcodeproj</string>
 	</array>
 	<key>WindowString</key>
@@ -543,7 +562,7 @@
 								<key>PBXProjectModuleGUID</key>
 								<string>1CD0528F0623707200166675</string>
 								<key>PBXProjectModuleLabel</key>
-								<string></string>
+								<string>CommandWrapper.m</string>
 								<key>StatusBarVisibility</key>
 								<true/>
 							</dict>
@@ -560,6 +579,8 @@
 							<string>218pt</string>
 						</dict>
 						<dict>
+							<key>BecomeActive</key>
+							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXProjectModuleGUID</key>
@@ -599,7 +620,7 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>631E1885104C5D80001A8B18</string>
-				<string>631A5174104CF32500E73564</string>
+				<string>630AE575104D18A40091039C</string>
 				<string>1CD0528F0623707200166675</string>
 				<string>XCMainBuildResultsModuleGUID</string>
 			</array>
@@ -643,8 +664,8 @@
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {316, 185}}</string>
-											<string>{{316, 0}, {378, 185}}</string>
+											<string>{{0, 0}, {316, 198}}</string>
+											<string>{{316, 0}, {378, 198}}</string>
 										</array>
 									</dict>
 									<key>VerticalSplitView</key>
@@ -659,8 +680,8 @@
 										<string>yes</string>
 										<key>sizes</key>
 										<array>
-											<string>{{0, 0}, {694, 185}}</string>
-											<string>{{0, 185}, {694, 196}}</string>
+											<string>{{0, 0}, {694, 198}}</string>
+											<string>{{0, 198}, {694, 183}}</string>
 										</array>
 									</dict>
 								</dict>
@@ -693,7 +714,7 @@
 										<real>148</real>
 									</array>
 									<key>Frame</key>
-									<string>{{316, 0}, {378, 185}}</string>
+									<string>{{316, 0}, {378, 198}}</string>
 									<key>RubberWindowFrame</key>
 									<string>21 433 694 422 0 0 1440 878 </string>
 								</dict>
@@ -721,13 +742,13 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>1CD10A99069EF8BA00B06720</string>
-				<string>631E189F104CF2FD001A8B18</string>
+				<string>630AE576104D18A40091039C</string>
 				<string>1C162984064C10D400B95A72</string>
-				<string>631E18A0104CF2FD001A8B18</string>
-				<string>631E18A1104CF2FD001A8B18</string>
-				<string>631E18A2104CF2FD001A8B18</string>
-				<string>631E18A3104CF2FD001A8B18</string>
-				<string>631E18A4104CF2FD001A8B18</string>
+				<string>630AE577104D18A40091039C</string>
+				<string>630AE578104D18A40091039C</string>
+				<string>630AE579104D18A40091039C</string>
+				<string>630AE57A104D18A40091039C</string>
+				<string>630AE57B104D18A40091039C</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.debugV3</string>
@@ -854,6 +875,8 @@
 					<key>Dock</key>
 					<array>
 						<dict>
+							<key>BecomeActive</key>
+							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXProjectModuleGUID</key>
@@ -864,18 +887,18 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 0}, {650, 209}}</string>
+								<string>{{0, 0}, {504, 721}}</string>
 								<key>RubberWindowFrame</key>
-								<string>21 605 650 250 0 0 1440 878 </string>
+								<string>936 116 504 762 0 0 1440 878 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXDebugCLIModule</string>
 							<key>Proportion</key>
-							<string>209pt</string>
+							<string>721pt</string>
 						</dict>
 					</array>
 					<key>Proportion</key>
-					<string>209pt</string>
+					<string>721pt</string>
 				</dict>
 			</array>
 			<key>Name</key>
@@ -889,17 +912,17 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>1C78EAAD065D492600B07095</string>
-				<string>631E18A5104CF2FD001A8B18</string>
+				<string>630AE57C104D18A40091039C</string>
 				<string>1C78EAAC065D492600B07095</string>
 			</array>
 			<key>ToolbarConfiguration</key>
 			<string>xcode.toolbar.config.consoleV3</string>
 			<key>WindowString</key>
-			<string>21 605 650 250 0 0 1440 878 </string>
+			<string>936 116 504 762 0 0 1440 878 </string>
 			<key>WindowToolGUID</key>
 			<string>1C78EAAD065D492600B07095</string>
 			<key>WindowToolIsVisible</key>
-			<false/>
+			<true/>
 		</dict>
 		<dict>
 			<key>Identifier</key>

+ 779 - 11
tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser

@@ -2,7 +2,7 @@
 {
 	256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {593, 472}}";
+			sepNavIntBoundsRect = "{{0, 0}, {593, 685}}";
 			sepNavSelRange = "{353, 0}";
 			sepNavVisRange = "{0, 353}";
 			sepNavWindowFrame = "{{15, 60}, {992, 818}}";
@@ -10,8 +10,8 @@
 	};
 	256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {593, 472}}";
-			sepNavSelRange = "{0, 0}";
+			sepNavIntBoundsRect = "{{0, 0}, {593, 662}}";
+			sepNavSelRange = "{377, 0}";
 			sepNavVisRange = "{0, 384}";
 		};
 	};
@@ -23,8 +23,10 @@
 		};
 	};
 	29B97313FDCFA39411CA2CEA /* Project object */ = {
+		activeArchitecturePreference = i386;
 		activeBuildConfigurationName = Debug;
 		activeExecutable = 631E1874104C5D72001A8B18 /* Quickdev16 */;
+		activeSDKPreference = macosx10.6;
 		activeTarget = 8D1107260486CEB800E47090 /* Quickdev16 */;
 		addToTargets = (
 			8D1107260486CEB800E47090 /* Quickdev16 */,
@@ -56,25 +58,771 @@
 					PBXFileDataSource_Target_ColumnID,
 				);
 			};
-			PBXPerProjectTemplateStateSaveDate = 273478436;
-			PBXWorkspaceStateSaveDate = 273478436;
+			PBXPerProjectTemplateStateSaveDate = 273487179;
+			PBXWorkspaceStateSaveDate = 273487179;
+		};
+		perUserProjectItems = {
+			630AE571104D18A40091039C /* PBXTextBookmark */ = 630AE571104D18A40091039C /* PBXTextBookmark */;
+			630AE572104D18A40091039C /* PBXTextBookmark */ = 630AE572104D18A40091039C /* PBXTextBookmark */;
+			630AE5B5104D19900091039C /* PBXTextBookmark */ = 630AE5B5104D19900091039C /* PBXTextBookmark */;
+			630AE5CE104D63B00091039C /* PBXTextBookmark */ = 630AE5CE104D63B00091039C /* PBXTextBookmark */;
+			630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */ = 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */;
+			630AE5D0104D63B00091039C /* PBXTextBookmark */ = 630AE5D0104D63B00091039C /* PBXTextBookmark */;
+			630AE5E2104D65F90091039C /* PBXTextBookmark */ = 630AE5E2104D65F90091039C /* PBXTextBookmark */;
+			630AE5E3104D65F90091039C /* PBXTextBookmark */ = 630AE5E3104D65F90091039C /* PBXTextBookmark */;
+			630AE5E4104D65F90091039C /* PBXTextBookmark */ = 630AE5E4104D65F90091039C /* PBXTextBookmark */;
+			630AE5E5104D65F90091039C /* PBXTextBookmark */ = 630AE5E5104D65F90091039C /* PBXTextBookmark */;
+			630AE5E6104D65F90091039C /* PBXTextBookmark */ = 630AE5E6104D65F90091039C /* PBXTextBookmark */;
+			630AE5E7104D65F90091039C /* PBXTextBookmark */ = 630AE5E7104D65F90091039C /* PBXTextBookmark */;
+			630AE5E8104D65F90091039C /* PBXTextBookmark */ = 630AE5E8104D65F90091039C /* PBXTextBookmark */;
+			630AE5EF104D66E30091039C /* PBXTextBookmark */ = 630AE5EF104D66E30091039C /* PBXTextBookmark */;
+			630AE5F0104D66E30091039C /* PBXTextBookmark */ = 630AE5F0104D66E30091039C /* PBXTextBookmark */;
+			630AE5F1104D66E30091039C /* PBXTextBookmark */ = 630AE5F1104D66E30091039C /* PBXTextBookmark */;
+			630AE5F2104D66E30091039C /* PBXTextBookmark */ = 630AE5F2104D66E30091039C /* PBXTextBookmark */;
+			630AE5F6104D686E0091039C /* PBXTextBookmark */ = 630AE5F6104D686E0091039C /* PBXTextBookmark */;
+			630AE5F8104D6B040091039C /* PBXTextBookmark */ = 630AE5F8104D6B040091039C /* PBXTextBookmark */;
+			630AE5F9104D6B040091039C /* PBXTextBookmark */ = 630AE5F9104D6B040091039C /* PBXTextBookmark */;
+			630AE5FA104D6B680091039C /* PBXTextBookmark */ = 630AE5FA104D6B680091039C /* PBXTextBookmark */;
+			630AE5FB104D6B680091039C /* PBXTextBookmark */ = 630AE5FB104D6B680091039C /* PBXTextBookmark */;
+			630AE5FC104D6B680091039C /* PBXTextBookmark */ = 630AE5FC104D6B680091039C /* PBXTextBookmark */;
+			630AE5FD104D6B680091039C /* PBXTextBookmark */ = 630AE5FD104D6B680091039C /* PBXTextBookmark */;
+			630AE5FE104D6B680091039C /* PBXTextBookmark */ = 630AE5FE104D6B680091039C /* PBXTextBookmark */;
+			630AE5FF104D6B680091039C /* PBXTextBookmark */ = 630AE5FF104D6B680091039C /* PBXTextBookmark */;
+			630AE600104D6B680091039C /* PBXTextBookmark */ = 630AE600104D6B680091039C /* PBXTextBookmark */;
+			630AE606104D6C580091039C /* PBXTextBookmark */ = 630AE606104D6C580091039C /* PBXTextBookmark */;
+			630AE607104D6C580091039C /* PBXTextBookmark */ = 630AE607104D6C580091039C /* PBXTextBookmark */;
+			630AE608104D6C580091039C /* PBXTextBookmark */ = 630AE608104D6C580091039C /* PBXTextBookmark */;
+			630AE609104D6C580091039C /* PBXTextBookmark */ = 630AE609104D6C580091039C /* PBXTextBookmark */;
+			630AE60A104D6C580091039C /* PBXTextBookmark */ = 630AE60A104D6C580091039C /* PBXTextBookmark */;
+			630AE611104D6CAA0091039C /* PBXTextBookmark */ = 630AE611104D6CAA0091039C /* PBXTextBookmark */;
+			630AE612104D6CAA0091039C /* PBXTextBookmark */ = 630AE612104D6CAA0091039C /* PBXTextBookmark */;
+			630AE613104D6CAA0091039C /* PBXTextBookmark */ = 630AE613104D6CAA0091039C /* PBXTextBookmark */;
+			630AE614104D6CAA0091039C /* PBXTextBookmark */ = 630AE614104D6CAA0091039C /* PBXTextBookmark */;
+			630AE615104D6CAA0091039C /* PBXTextBookmark */ = 630AE615104D6CAA0091039C /* PBXTextBookmark */;
+			630AE617104D6D240091039C /* PBXTextBookmark */ = 630AE617104D6D240091039C /* PBXTextBookmark */;
+			630AE618104D6D240091039C /* PBXTextBookmark */ = 630AE618104D6D240091039C /* PBXTextBookmark */;
+			630AE619104D6D240091039C /* PBXTextBookmark */ = 630AE619104D6D240091039C /* PBXTextBookmark */;
+			630AE61A104D6D240091039C /* PBXTextBookmark */ = 630AE61A104D6D240091039C /* PBXTextBookmark */;
+			630AE61B104D6D240091039C /* PBXTextBookmark */ = 630AE61B104D6D240091039C /* PBXTextBookmark */;
+			630AE61E104D6DFB0091039C /* PBXTextBookmark */ = 630AE61E104D6DFB0091039C /* PBXTextBookmark */;
+			630AE61F104D6DFB0091039C /* PBXTextBookmark */ = 630AE61F104D6DFB0091039C /* PBXTextBookmark */;
+			630AE620104D6DFB0091039C /* PBXTextBookmark */ = 630AE620104D6DFB0091039C /* PBXTextBookmark */;
+			630AE624104D6E950091039C /* PBXBookmark */ = 630AE624104D6E950091039C /* PBXBookmark */;
+			630AE627104D6EC40091039C /* PBXTextBookmark */ = 630AE627104D6EC40091039C /* PBXTextBookmark */;
+			630AE628104D6EC40091039C /* PBXTextBookmark */ = 630AE628104D6EC40091039C /* PBXTextBookmark */;
+			630AE629104D6EC40091039C /* PBXTextBookmark */ = 630AE629104D6EC40091039C /* PBXTextBookmark */;
+			630AE62C104D6EC40091039C /* PBXTextBookmark */ = 630AE62C104D6EC40091039C /* PBXTextBookmark */;
+			630AE638104D74C20091039C /* PBXBookmark */ = 630AE638104D74C20091039C /* PBXBookmark */;
+			630AE63B104D74E40091039C /* PBXTextBookmark */ = 630AE63B104D74E40091039C /* PBXTextBookmark */;
+			630AE63C104D74E40091039C /* PBXTextBookmark */ = 630AE63C104D74E40091039C /* PBXTextBookmark */;
+			630AE63D104D74E40091039C /* PBXTextBookmark */ = 630AE63D104D74E40091039C /* PBXTextBookmark */;
+			630AE63E104D74E40091039C /* PBXTextBookmark */ = 630AE63E104D74E40091039C /* PBXTextBookmark */;
+			630AE63F104D74E40091039C /* PBXTextBookmark */ = 630AE63F104D74E40091039C /* PBXTextBookmark */;
+			630AE642104D74E40091039C /* PBXTextBookmark */ = 630AE642104D74E40091039C /* PBXTextBookmark */;
+			630AE648104D753E0091039C /* PBXTextBookmark */ = 630AE648104D753E0091039C /* PBXTextBookmark */;
+			630AE649104D753E0091039C /* PBXTextBookmark */ = 630AE649104D753E0091039C /* PBXTextBookmark */;
+			630AE64A104D753E0091039C /* PBXTextBookmark */ = 630AE64A104D753E0091039C /* PBXTextBookmark */;
+			630AE64B104D753E0091039C /* PBXTextBookmark */ = 630AE64B104D753E0091039C /* PBXTextBookmark */;
+			630AE64C104D753E0091039C /* PBXTextBookmark */ = 630AE64C104D753E0091039C /* PBXTextBookmark */;
+			630AE653104D763D0091039C /* PBXTextBookmark */ = 630AE653104D763D0091039C /* PBXTextBookmark */;
+			630AE657104D76700091039C /* PBXTextBookmark */ = 630AE657104D76700091039C /* PBXTextBookmark */;
+			630AE65B104D76A10091039C /* PBXTextBookmark */ = 630AE65B104D76A10091039C /* PBXTextBookmark */;
+			630AE65F104D76D60091039C /* PBXTextBookmark */ = 630AE65F104D76D60091039C /* PBXTextBookmark */;
+			637BA3E1104D153700331E35 = 637BA3E1104D153700331E35 /* PBXTextBookmark */;
+			637BA3E2104D153700331E35 = 637BA3E2104D153700331E35 /* PBXTextBookmark */;
 		};
 		sourceControlManager = 631E1887104C5D80001A8B18 /* Source Control */;
 		userBuildSettings = {
 		};
 	};
+	630AE571104D18A40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 26";
+		rLen = 0;
+		rLoc = 326;
+		rType = 0;
+		vrLen = 946;
+		vrLoc = 547;
+	};
+	630AE572104D18A40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 26";
+		rLen = 0;
+		rLoc = 326;
+		rType = 0;
+		vrLen = 1013;
+		vrLoc = 0;
+	};
+	630AE5B5104D19900091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 26";
+		rLen = 0;
+		rLoc = 326;
+		rType = 0;
+		vrLen = 1010;
+		vrLoc = 0;
+	};
+	630AE5C4104D62B20091039C /* untitled.m */ = {
+		isa = PBXFileReference;
+		fileEncoding = 4;
+		lastKnownFileType = sourcecode.c.objc;
+		name = untitled.m;
+		path = /Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/untitled.m;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {593, 685}}";
+			sepNavSelRange = "{143, 0}";
+			sepNavVisRange = "{0, 197}";
+		};
+	};
+	630AE5C8104D62CE0091039C /* CommandWrapper.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {593, 685}}";
+			sepNavSelRange = "{246, 9}";
+			sepNavVisRange = "{0, 308}";
+		};
+	};
+	630AE5C9104D62CE0091039C /* CommandWrapper.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {677, 754}}";
+			sepNavSelRange = "{580, 26}";
+			sepNavVisRange = "{3, 1112}";
+			sepNavWindowFrame = "{{15, 60}, {992, 818}}";
+		};
+	};
+	630AE5CE104D63B00091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C4104D62B20091039C /* untitled.m */;
+		name = "untitled.m: 9";
+		rLen = 0;
+		rLoc = 143;
+		rType = 0;
+		vrLen = 197;
+		vrLoc = 0;
+	};
+	630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */ = {
+		isa = PBXTextBookmark;
+		comments = "'commandlaunch' undeclared (first use in this function)";
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		fallbackIsa = XCBuildMessageTextBookmark;
+		rLen = 1;
+		rLoc = 19;
+		rType = 1;
+	};
+	630AE5D0104D63B00091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 19";
+		rLen = 0;
+		rLoc = 396;
+		rType = 0;
+		vrLen = 296;
+		vrLoc = 209;
+	};
+	630AE5E2104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */;
+		name = "Quickdev16AppDelegate.h: 20";
+		rLen = 0;
+		rLoc = 353;
+		rType = 0;
+		vrLen = 353;
+		vrLoc = 0;
+	};
+	630AE5E3104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 16";
+		rLen = 0;
+		rLoc = 253;
+		rType = 0;
+		vrLen = 458;
+		vrLoc = 0;
+	};
+	630AE5E4104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 17";
+		rLen = 0;
+		rLoc = 276;
+		rType = 0;
+		vrLen = 270;
+		vrLoc = 0;
+	};
+	630AE5E5104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 11";
+		rLen = 0;
+		rLoc = 176;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE5E6104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */;
+		name = "Quickdev16AppDelegate.m: 17";
+		rLen = 0;
+		rLoc = 377;
+		rType = 0;
+		vrLen = 384;
+		vrLoc = 0;
+	};
+	630AE5E7104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 41";
+		rLen = 0;
+		rLoc = 1031;
+		rType = 0;
+		vrLen = 778;
+		vrLoc = 0;
+	};
+	630AE5E8104D65F90091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 21";
+		rLen = 0;
+		rLoc = 394;
+		rType = 0;
+		vrLen = 780;
+		vrLoc = 0;
+	};
+	630AE5EF104D66E30091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 12";
+		rLen = 14;
+		rLoc = 186;
+		rType = 0;
+		vrLen = 270;
+		vrLoc = 0;
+	};
+	630AE5F0104D66E30091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 16";
+		rLen = 85;
+		rLoc = 235;
+		rType = 0;
+		vrLen = 458;
+		vrLoc = 0;
+	};
+	630AE5F1104D66E30091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 26";
+		rLen = 0;
+		rLoc = 506;
+		rType = 0;
+		vrLen = 788;
+		vrLoc = 0;
+	};
+	630AE5F2104D66E30091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 45";
+		rLen = 0;
+		rLoc = 1032;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE5F6104D686E0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 45";
+		rLen = 0;
+		rLoc = 1032;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE5F8104D6B040091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 23";
+		rLen = 0;
+		rLoc = 424;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE5F9104D6B040091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE5FA104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */;
+		name = "Quickdev16AppDelegate.h: 20";
+		rLen = 0;
+		rLoc = 353;
+		rType = 0;
+		vrLen = 353;
+		vrLoc = 0;
+	};
+	630AE5FB104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */;
+		name = "Quickdev16AppDelegate.m: 17";
+		rLen = 0;
+		rLoc = 377;
+		rType = 0;
+		vrLen = 384;
+		vrLoc = 0;
+	};
+	630AE5FC104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 23";
+		rLen = 0;
+		rLoc = 424;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE5FD104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE5FE104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 11";
+		rLen = 0;
+		rLoc = 176;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE5FF104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 41";
+		rLen = 0;
+		rLoc = 890;
+		rType = 0;
+		vrLen = 1034;
+		vrLoc = 42;
+	};
+	630AE600104D6B680091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 41";
+		rLen = 0;
+		rLoc = 890;
+		rType = 0;
+		vrLen = 1037;
+		vrLoc = 39;
+	};
+	630AE606104D6C580091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 41";
+		rLen = 0;
+		rLoc = 890;
+		rType = 0;
+		vrLen = 1038;
+		vrLoc = 39;
+	};
+	630AE607104D6C580091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE608104D6C580091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */;
+		name = "Quickdev16AppDelegate.h: 20";
+		rLen = 0;
+		rLoc = 353;
+		rType = 0;
+		vrLen = 353;
+		vrLoc = 0;
+	};
+	630AE609104D6C580091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 11";
+		rLen = 0;
+		rLoc = 176;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE60A104D6C580091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 28";
+		rLen = 0;
+		rLoc = 554;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE611104D6CAA0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 11";
+		rLen = 0;
+		rLoc = 176;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE612104D6CAA0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 21";
+		rLen = 46;
+		rLoc = 342;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE613104D6CAA0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE614104D6CAA0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 22";
+		rLen = 0;
+		rLoc = 445;
+		rType = 0;
+		vrLen = 1036;
+		vrLoc = 39;
+	};
+	630AE615104D6CAA0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 43";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 1089;
+		vrLoc = 24;
+	};
+	630AE617104D6D240091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE618104D6D240091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 21";
+		rLen = 46;
+		rLoc = 342;
+		rType = 0;
+		vrLen = 859;
+		vrLoc = 0;
+	};
+	630AE619104D6D240091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 11";
+		rLen = 0;
+		rLoc = 176;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE61A104D6D240091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 43";
+		rLen = 0;
+		rLoc = 986;
+		rType = 0;
+		vrLen = 1089;
+		vrLoc = 24;
+	};
+	630AE61B104D6D240091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 54";
+		rLen = 0;
+		rLoc = 1116;
+		rType = 0;
+		vrLen = 966;
+		vrLoc = 145;
+	};
+	630AE61E104D6DFB0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE61F104D6DFB0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 44";
+		rLen = 0;
+		rLoc = 962;
+		rType = 0;
+		vrLen = 980;
+		vrLoc = 145;
+	};
+	630AE620104D6DFB0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 44";
+		rLen = 0;
+		rLoc = 963;
+		rType = 0;
+		vrLen = 1068;
+		vrLoc = 86;
+	};
+	630AE624104D6E950091039C /* PBXBookmark */ = {
+		isa = PBXBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+	};
+	630AE627104D6EC40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 44";
+		rLen = 0;
+		rLoc = 963;
+		rType = 0;
+		vrLen = 1147;
+		vrLoc = 3;
+	};
+	630AE628104D6EC40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 18";
+		rLen = 0;
+		rLoc = 293;
+		rType = 0;
+		vrLen = 294;
+		vrLoc = 0;
+	};
+	630AE629104D6EC40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 15";
+		rLen = 9;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 308;
+		vrLoc = 0;
+	};
+	630AE62C104D6EC40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 44";
+		rLen = 0;
+		rLoc = 963;
+		rType = 0;
+		vrLen = 1151;
+		vrLoc = 3;
+	};
+	630AE638104D74C20091039C /* PBXBookmark */ = {
+		isa = PBXBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+	};
+	630AE63B104D74E40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */;
+		name = "CommandWrapper.h: 15";
+		rLen = 9;
+		rLoc = 246;
+		rType = 0;
+		vrLen = 308;
+		vrLoc = 0;
+	};
+	630AE63C104D74E40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 4";
+		rLen = 9;
+		rLoc = 90;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE63D104D74E40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 30";
+		rLen = 0;
+		rLoc = 637;
+		rType = 0;
+		vrLen = 919;
+		vrLoc = 0;
+	};
+	630AE63E104D74E40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 40";
+		rLen = 113;
+		rLoc = 817;
+		rType = 0;
+		vrLen = 1130;
+		vrLoc = 24;
+	};
+	630AE63F104D74E40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 40";
+		rLen = 113;
+		rLoc = 817;
+		rType = 0;
+		vrLen = 1133;
+		vrLoc = 24;
+	};
+	630AE642104D74E40091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 46";
+		rLen = 0;
+		rLoc = 1040;
+		rType = 0;
+		vrLen = 1134;
+		vrLoc = 24;
+	};
+	630AE648104D753E0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A6104CF59900E73564 /* AppController.h */;
+		name = "AppController.h: 4";
+		rLen = 9;
+		rLoc = 90;
+		rType = 0;
+		vrLen = 176;
+		vrLoc = 0;
+	};
+	630AE649104D753E0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */;
+		name = "Quickdev16AppDelegate.m: 17";
+		rLen = 0;
+		rLoc = 377;
+		rType = 0;
+		vrLen = 384;
+		vrLoc = 0;
+	};
+	630AE64A104D753E0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */;
+		name = "CommandWrapper.m: 31";
+		rLen = 26;
+		rLoc = 580;
+		rType = 0;
+		vrLen = 1112;
+		vrLoc = 3;
+	};
+	630AE64B104D753E0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 30";
+		rLen = 0;
+		rLoc = 637;
+		rType = 0;
+		vrLen = 951;
+		vrLoc = 0;
+	};
+	630AE64C104D753E0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 32";
+		rLen = 0;
+		rLoc = 637;
+		rType = 0;
+		vrLen = 972;
+		vrLoc = 0;
+	};
+	630AE653104D763D0091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 34";
+		rLen = 0;
+		rLoc = 675;
+		rType = 0;
+		vrLen = 970;
+		vrLoc = 0;
+	};
+	630AE657104D76700091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 33";
+		rLen = 0;
+		rLoc = 635;
+		rType = 0;
+		vrLen = 958;
+		vrLoc = 0;
+	};
+	630AE65B104D76A10091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 33";
+		rLen = 0;
+		rLoc = 633;
+		rType = 0;
+		vrLen = 979;
+		vrLoc = 0;
+	};
+	630AE65F104D76D60091039C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 36";
+		rLen = 0;
+		rLoc = 742;
+		rType = 0;
+		vrLen = 990;
+		vrLoc = 0;
+	};
 	631A51A6104CF59900E73564 /* AppController.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {593, 449}}";
-			sepNavSelRange = "{0, 0}";
-			sepNavVisRange = "{0, 614}";
+			sepNavIntBoundsRect = "{{0, 0}, {593, 662}}";
+			sepNavSelRange = "{90, 9}";
+			sepNavVisRange = "{0, 176}";
+			sepNavWindowFrame = "{{15, 60}, {992, 818}}";
 		};
 	};
 	631A51A9104CF5B700E73564 /* AppController.m */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {933, 1261}}";
-			sepNavSelRange = "{782, 0}";
-			sepNavVisRange = "{597, 1402}";
+			sepNavIntBoundsRect = "{{0, 0}, {593, 754}}";
+			sepNavSelRange = "{742, 0}";
+			sepNavVisRange = "{0, 990}";
 			sepNavWindowFrame = "{{15, 60}, {992, 818}}";
 		};
 	};
@@ -122,6 +870,26 @@
 		isa = PBXCodeSenseManager;
 		indexTemplatePath = "";
 	};
+	637BA3E1104D153700331E35 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 26";
+		rLen = 0;
+		rLoc = 326;
+		rType = 0;
+		vrLen = 376;
+		vrLoc = 547;
+	};
+	637BA3E2104D153700331E35 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 631A51A9104CF5B700E73564 /* AppController.m */;
+		name = "AppController.m: 26";
+		rLen = 0;
+		rLoc = 326;
+		rType = 0;
+		vrLen = 946;
+		vrLoc = 547;
+	};
 	8D1107260486CEB800E47090 /* Quickdev16 */ = {
 		activeExec = 0;
 		executables = (

+ 6 - 4
tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj

@@ -9,8 +9,8 @@
 /* Begin PBXBuildFile section */
 		1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
 		256AC3DA0F4B6AC300CF3369 /* Quickdev16AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; };
+		630AE5CA104D62CE0091039C /* CommandWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; };
 		631A51AA104CF5B700E73564 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 631A51A9104CF5B700E73564 /* AppController.m */; };
-		631A5252104CF9FB00E73564 /* BGHUDAppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 631A5251104CF9FB00E73564 /* BGHUDAppKit.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 */; };
@@ -27,9 +27,10 @@
 		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>"; };
+		630AE5C8104D62CE0091039C /* CommandWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandWrapper.h; sourceTree = "<group>"; };
+		630AE5C9104D62CE0091039C /* CommandWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommandWrapper.m; sourceTree = "<group>"; };
 		631A51A6104CF59900E73564 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
 		631A51A9104CF5B700E73564 /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
-		631A5251104CF9FB00E73564 /* BGHUDAppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BGHUDAppKit.framework; path = /Users/david/Devel/arch/osx/code/BGHUDAppKit/build/Release/BGHUDAppKit.framework; sourceTree = "<absolute>"; };
 		8D1107310486CEB800E47090 /* Quickdev16-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Quickdev16-Info.plist"; sourceTree = "<group>"; };
 		8D1107320486CEB800E47090 /* Quickdev16.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Quickdev16.app; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
@@ -40,7 +41,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
-				631A5252104CF9FB00E73564 /* BGHUDAppKit.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -54,6 +54,8 @@
 				631A51A6104CF59900E73564 /* AppController.h */,
 				256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */,
 				256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */,
+				630AE5C8104D62CE0091039C /* CommandWrapper.h */,
+				630AE5C9104D62CE0091039C /* CommandWrapper.m */,
 			);
 			name = Classes;
 			sourceTree = "<group>";
@@ -120,7 +122,6 @@
 			children = (
 				1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
 				1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
-				631A5251104CF9FB00E73564 /* BGHUDAppKit.framework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -183,6 +184,7 @@
 				8D11072D0486CEB800E47090 /* main.m in Sources */,
 				256AC3DA0F4B6AC300CF3369 /* Quickdev16AppDelegate.m in Sources */,
 				631A51AA104CF5B700E73564 /* AppController.m in Sources */,
+				630AE5CA104D62CE0091039C /* CommandWrapper.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/decls.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/files.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/imports.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/pbxindex.header


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/protocols.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/refs.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/strings


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/subclasses.pbxbtree


BIN
tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/symbols0.pbxsymbols