diff --git a/DKSDController.h b/DKSDController.h new file mode 100644 index 0000000..0c1a97f --- /dev/null +++ b/DKSDController.h @@ -0,0 +1,71 @@ +// +// DKSDController.h +// GCDrawKit +// +// Created by graham on 19/06/2008. +// Copyright 2008 Apptree.net. All rights reserved. +// + +#import + +@class DKStyle; + +// the controller class - this is the only custom class used in this demo application + +@interface DKSDController : NSWindowController +{ +// TOOLS + IBOutlet id mToolMatrix; // matrix of buttons for selecting the drawing tool + IBOutlet id mToolStickyCheckbox; // checkbox for setting "sticky" state of tools + +// STYLE + IBOutlet id mStyleFillCheckbox; // checkbox for enabling the "fill" property + IBOutlet id mStyleFillColourWell; // colour well for the fill's colour + IBOutlet id mStyleStrokeCheckbox; // checkbox for enabling the "stroke" property + IBOutlet id mStyleStrokeColourWell; // colour well for the stroke's colour + IBOutlet id mStyleStrokeWidthTextField; // text field for the stroke's width + IBOutlet id mStyleStrokeWidthStepper; // stepper buttons for the stroke's width + +// GRID + IBOutlet id mGridMatrix; // matrix of buttons for selecting the grid to use + IBOutlet id mGridSnapCheckbox; // checkbox to enable "snap to grid" + +// LAYERS + IBOutlet id mLayerTable; // table view for listing the drawing's layers + IBOutlet id mLayerAddButton; // button for adding a new layer + IBOutlet id mLayerRemoveButton; // button for removing the active (selected) layer + +// MAIN VIEW + IBOutlet id mDrawingView; // outlet to the main DKDrawingView that displays the content (and owns the drawing) +} + +// TOOLS +- (IBAction) toolMatrixAction:(id) sender; +- (IBAction) toolStickyAction:(id) sender; + +// STYLES +- (IBAction) styleFillColourAction:(id) sender; +- (IBAction) styleStrokeColourAction:(id) sender; +- (IBAction) styleStrokeWidthAction:(id) sender; +- (IBAction) styleFillCheckboxAction:(id) sender; +- (IBAction) styleStrokeCheckboxAction:(id) sender; + +// GRID +- (IBAction) gridMatrixAction:(id) sender; +- (IBAction) snapToGridAction:(id) sender; + +// LAYERS +- (IBAction) layerAddButtonAction:(id) sender; +- (IBAction) layerRemoveButtonAction:(id) sender; + +// Notifications +- (void) drawingSelectionDidChange:(NSNotification*) note; +- (void) activeLayerDidChange:(NSNotification*) note; +- (void) numberOfLayersChanged:(NSNotification*) note; +- (void) selectedToolDidChange:(NSNotification*) note; + +// Supporting methods +- (void) updateControlsForSelection:(NSArray*) selection; +- (DKStyle*) styleOfSelectedObject; + +@end diff --git a/DKSDController.m b/DKSDController.m new file mode 100644 index 0000000..1080b5c --- /dev/null +++ b/DKSDController.m @@ -0,0 +1,513 @@ +// +// DKSDController.m +// GCDrawKit +// +// Created by graham on 19/06/2008. +// Copyright 2008 Apptree.net. All rights reserved. +// + +#import "DKSDController.h" +#import + +@implementation DKSDController + + +- (IBAction) toolMatrixAction:(id) sender +{ + // the drawing view can handle this for us, provided we pass it an object that responds to -title and returns + // the valid name of a registered tool. The selected button cell is just such an object. + + NSButtonCell* cell = [sender selectedCell]; + [mDrawingView selectDrawingToolByName:cell]; +} + + +- (IBAction) toolStickyAction:(id) sender +{ + // sets the tool controller's flag to the inverted state of the checkbox + + [(DKToolController*)[mDrawingView controller] setAutomaticallyRevertsToSelectionTool:![sender intValue]]; +} + + +#pragma mark - + +- (IBAction) styleFillColourAction:(id) sender +{ + // get the style of the selected object + + DKStyle* style = [self styleOfSelectedObject]; + [style setFillColour:[sender color]]; + [[mDrawingView undoManager] setActionName:@"Change Fill Colour"]; +} + + + + +- (IBAction) styleStrokeColourAction:(id) sender +{ + // get the style of the selected object + + DKStyle* style = [self styleOfSelectedObject]; + [style setStrokeColour:[sender color]]; + [[mDrawingView undoManager] setActionName:@"Change Stroke Colour"]; +} + + + + +- (IBAction) styleStrokeWidthAction:(id) sender +{ + // get the style of the selected object + + DKStyle* style = [self styleOfSelectedObject]; + [style setStrokeWidth:[sender floatValue]]; + + // synchronise the text field and the stepper so they both have the same value + + if( sender == mStyleStrokeWidthStepper ) + [mStyleStrokeWidthTextField setFloatValue:[sender floatValue]]; + else + [mStyleStrokeWidthStepper setFloatValue:[sender floatValue]]; + + [[mDrawingView undoManager] setActionName:@"Change Stroke Width"]; +} + + +- (IBAction) styleFillCheckboxAction:(id) sender +{ + // get the style of the selected object + + DKStyle* style = [self styleOfSelectedObject]; + + BOOL removing = ([sender intValue] == 0); + + if ( removing ) + { + [style setFillColour:nil]; + [[mDrawingView undoManager] setActionName:@"Delete Fill"]; + } + else + { + [style setFillColour:[mStyleFillColourWell color]]; + [[mDrawingView undoManager] setActionName:@"Add Fill"]; + } +} + + +- (IBAction) styleStrokeCheckboxAction:(id) sender +{ + // get the style of the selected object + + DKStyle* style = [self styleOfSelectedObject]; + + BOOL removing = ([sender intValue] == 0); + + if ( removing ) + { + [style setStrokeColour:nil]; + [[mDrawingView undoManager] setActionName:@"Delete Stroke"]; + } + else + { + [style setStrokeColour:[mStyleStrokeColourWell color]]; + [[mDrawingView undoManager] setActionName:@"Add Stroke"]; + } +} + + +#pragma mark - + +- (IBAction) gridMatrixAction:(id) sender +{ + // the drawing's grid layer already knows how to do this - just pass it the selected cell from where it + // can extract the tag which it interprets as one of the standard grids. + + [[[mDrawingView drawing] gridLayer] setMeasurementSystemAction:[sender selectedCell]]; +} + + +- (IBAction) snapToGridAction:(id) sender +{ + // set the drawing's snapToGrid flag to match the sender's state + + [[mDrawingView drawing] setSnapsToGrid:[sender intValue]]; +} + + +#pragma mark - + +- (IBAction) layerAddButtonAction:(id) sender +{ + // adding a new layer - first create it + + DKObjectDrawingLayer* newLayer = [[DKObjectDrawingLayer alloc] init]; + + // add it to the drawing and make it active - this triggers notifications which update the UI + + [[mDrawingView drawing] addLayer:newLayer andActivateIt:YES]; + + // drawing now owns the layer so we can release it + + [newLayer release]; + + // inform the Undo Manager what we just did: + + [[mDrawingView undoManager] setActionName:@"New Drawing Layer"]; +} + + + + +- (IBAction) layerRemoveButtonAction:(id) sender +{ + // removing the active (selected) layer - first find that layer + + DKLayer* activeLayer = [[mDrawingView drawing] activeLayer]; + + // remove it and activate another (passing nil tells the drawing to use its nous to activate something sensible) + + [[mDrawingView drawing] removeLayer:activeLayer andActivateLayer:nil]; + + // inform the Undo Manager what we just did: + + [[mDrawingView undoManager] setActionName:@"Delete Drawing Layer"]; +} + + +#pragma mark - + + + +- (void) drawingSelectionDidChange:(NSNotification*) note +{ + // the selection changed within the drawing - update the UI to match the state of whatever was selected. We pass nil + // because in fact we just grab the current selection directly. + + [self updateControlsForSelection:nil]; +} + + +- (void) activeLayerDidChange:(NSNotification*) note +{ + // change the selection in the layer table to match the actual layer that has been activated + + DKDrawing* dwg = [mDrawingView drawing]; + + if( dwg != nil ) + { + // now find the active layer's index and set the selection to the same value + + unsigned index = [dwg indexOfLayer:[dwg activeLayer]]; + + if( index != NSNotFound ) + [mLayerTable selectRowIndexes:[NSIndexSet indexSetWithIndex:index] byExtendingSelection:NO]; + } +} + + +- (void) numberOfLayersChanged:(NSNotification*) note +{ + // update the table to match the number of layers in the drawing + + [mLayerTable reloadData]; + + // re-establish the correct selection - requires a small delay so that the table is fully reloaded before the + // selection is changed to avoid a potential out of range exception. + + [self performSelector:@selector(activeLayerDidChange:) withObject:nil afterDelay:0.0]; +} + + +- (void) selectedToolDidChange:(NSNotification*) note +{ + // the selected tool changed - find out which button cell matches and select it so that + // the tool UI and the actual selected tool agree. This is necessary because when a tool is automatically + // "sprung back" the UI needs to keep up with that automatic change. + + // which tool was selected? + + DKDrawingTool* tool = [[note object] drawingTool]; + NSString* toolName = [tool registeredName]; + + // keep the "sticky" checkbox synchronised with the tool controller's actual state + + BOOL sticky = ![(DKToolController*)[mDrawingView controller] automaticallyRevertsToSelectionTool]; + [mToolStickyCheckbox setIntValue:sticky]; + + // search through the matrix to find the cell whose title matches the tool's name, + // and select it. + + int row, col, rr, cc; + NSCell* cell; + + [mToolMatrix getNumberOfRows:&row columns:&col]; + + for( rr = 0; rr < row; ++rr ) + { + for( cc = 0; cc < col; ++cc ) + { + cell = [mToolMatrix cellAtRow:rr column:cc]; + + if([[cell title] isEqualToString:toolName]) + { + [mToolMatrix selectCellAtRow:rr column:cc]; + return; + } + } + } + + [mToolMatrix selectCellAtRow:0 column:0]; +} + + +#pragma mark - + +- (void) updateControlsForSelection:(NSArray*) selection +{ + // update all necessary UI controls to match the state of the selected object. Note that this ignores the selection passed to it + // and just gets the info directly. It also doesn't bother to worry about more than one selected object - it just uses the info from + // the topmost object - for this simple demo that's sufficient. + + // get the selected object's style + + DKStyle* style = [self styleOfSelectedObject]; + DKRasterizer* rast; + NSColor* temp; + float sw; + + // set up the fill controls if the style has a fill property, or disable them + // altogether if it does not. + + if([style hasFill]) + { + rast = [[style renderersOfClass:[DKFill class]] lastObject]; + temp = [(DKFill*)rast colour]; + [mStyleFillColourWell setEnabled:YES]; + [mStyleFillCheckbox setIntValue:YES]; + } + else + { + temp = [NSColor whiteColor]; + [mStyleFillColourWell setEnabled:NO]; + [mStyleFillCheckbox setIntValue:NO]; + } + [mStyleFillColourWell setColor:temp]; + + // set up the stroke controls if the style has a stroke property, or disable them + // altogether if it does not. + + if([style hasStroke]) + { + rast = [[style renderersOfClass:[DKStroke class]] lastObject]; + temp = [(DKStroke*)rast colour]; + sw = [(DKStroke*)rast width]; + [mStyleStrokeColourWell setEnabled:YES]; + [mStyleStrokeWidthStepper setEnabled:YES]; + [mStyleStrokeWidthTextField setEnabled:YES]; + [mStyleStrokeCheckbox setIntValue:YES]; + } + else + { + temp = [NSColor whiteColor]; + sw = 1.0; + [mStyleStrokeColourWell setEnabled:NO]; + [mStyleStrokeWidthStepper setEnabled:NO]; + [mStyleStrokeWidthTextField setEnabled:NO]; + [mStyleStrokeCheckbox setIntValue:NO]; + } + + [mStyleStrokeColourWell setColor:temp]; + [mStyleStrokeWidthStepper setFloatValue:sw]; + [mStyleStrokeWidthTextField setFloatValue:sw]; +} + + +- (DKStyle*) styleOfSelectedObject +{ + // returns the style of the topmost selected object in the active layer, or nil if there is nothing selected. + + DKStyle* selectedStyle = nil; + + // get the active layer, but only if it's one that supports drawable objects + + DKObjectDrawingLayer* activeLayer = [[mDrawingView drawing] activeLayerOfClass:[DKObjectDrawingLayer class]]; + + if( activeLayer != nil ) + { + // get the selected objects and use the style of the last object, corresponding to the + // one drawn last, or on top of all the others. + + NSArray* selectedObjects = [activeLayer selectedAvailableObjects]; + + if(selectedObjects != nil && [selectedObjects count] > 0 ) + { + selectedStyle = [(DKDrawableObject*)[selectedObjects lastObject] style]; + + [selectedStyle setLocked:NO]; // ensure it can be edited + } + } + + return selectedStyle; +} + + +#pragma mark - +#pragma mark - as a NSWindowController + +- (void) awakeFromNib +{ + // make sure the view has a drawing object initialised. While the view itself would do this for us later, we tip its hand now so that we definitely + // have a valid DKDrawing object available for setting up the notifications and user interface. In this case we are simply allowing the view to + // create and own the drawing, rather than owning it here - though that would also be a perfectly valid way to do things. + + [mDrawingView createAutomaticDrawing]; + + // subscribe to selection, layer and tool change notifications so that we can update the UI when these change + + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(drawingSelectionDidChange:) + name:kDKLayerSelectionDidChange + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(drawingSelectionDidChange:) + name:kDKStyleDidChangeNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(activeLayerDidChange:) + name:kDKDrawingActiveLayerDidChange + object:[mDrawingView drawing]]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(numberOfLayersChanged:) + name:kDKLayerGroupNumberOfLayersDidChange + object:[mDrawingView drawing]]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(selectedToolDidChange:) + name:kDKDidChangeToolNotification + object:nil]; + + // creating the drawing set up the initial active layer but we weren't ready to listen to that notification. So that we can set + // up the user-interface correctly this first time, just call the responder method directly now. + + [self activeLayerDidChange:nil]; + [[mDrawingView window] makeFirstResponder:mDrawingView]; +} + + + +#pragma mark - +#pragma mark - as the TableView dataSource + + +- (int) numberOfRowsInTableView:(NSTableView*) aTable +{ + return [[mDrawingView drawing] countOfLayers]; +} + + +- (id) tableView:(NSTableView *)aTableView + objectValueForTableColumn:(NSTableColumn *)aTableColumn + row:(int)rowIndex +{ + return [[[[mDrawingView drawing] layers] objectAtIndex:rowIndex] valueForKey:[aTableColumn identifier]]; +} + + +- (void) tableView:(NSTableView *)aTableView + setObjectValue:anObject + forTableColumn:(NSTableColumn *)aTableColumn + row:(int)rowIndex +{ + DKLayer* layer = [[[mDrawingView drawing] layers] objectAtIndex:rowIndex]; + [layer setValue:anObject forKey:[aTableColumn identifier]]; +} + +#pragma mark - +#pragma mark - as the TableView delegate + +- (void) tableViewSelectionDidChange:(NSNotification*) aNotification +{ + // when the user selects a different layer in the table, change the real active layer to match. + + if ([aNotification object] == mLayerTable) + { + int row = [mLayerTable selectedRow]; + + if ( row != -1 ) + [[mDrawingView drawing] setActiveLayer:[[mDrawingView drawing] objectInLayersAtIndex:row]]; + } +} + + +#pragma mark - +#pragma mark - as the NSApplication delegate + +- (void) applicationDidFinishLaunching:(NSNotification*) aNotification +{ + // app ready to go - first turn off all style sharing. For this simple demo this makes life a bit easier. + // (note - comment out this line and see what happens. It's perfectly safe ;-) + + [DKStyle setStylesAreSharableByDefault:NO]; + + // set up an initial style to apply to all new objects created. Because sharin gis off above, this style is copied + // for each new object created, so each has its own individual style which can be edited independently. + + DKStyle* ds = [DKStyle styleWithFillColour:[NSColor orangeColor] strokeColour:[NSColor blackColor] strokeWidth:2.0]; + [ds setName:@"Demo Style"]; + + [DKObjectCreationTool setStyleForCreatedObjects:ds]; + + // register the default set of tools (Select, Rectangle, Oval, etc) + + [DKDrawingTool registerStandardTools]; +} + + +- (IBAction) saveDocumentAs:(id) sender +{ + NSSavePanel* sp = [NSSavePanel savePanel]; + + [sp setRequiredFileType:@"pdf"]; + [sp setCanSelectHiddenExtension:YES]; + + [sp beginSheetForDirectory:nil + file:[[self window] title] + modalForWindow:[self window] + modalDelegate:self + didEndSelector:@selector(savePanelDidEnd:returnCode:contextInfo:) + contextInfo:NULL]; +} + + +- (void) savePanelDidEnd:(NSSavePanel*) panel returnCode:(int) returnCode contextInfo:(void*) contextInfo +{ + if( returnCode == NSOKButton ) + { + NSData* pdf = [[mDrawingView drawing] pdf]; + [pdf writeToURL:[panel URL] atomically:YES]; + } +} + + +#pragma mark - +#pragma mark - as the Window delegate + +- (NSUndoManager*) windowWillReturnUndoManager:(NSWindow*) window +{ + // DK's own implementation of the undo manager is generally more functional than the default Cocoa one, especially + // for interactive drawing as it implements task coalescing. + + static DKUndoManager* um = nil; + + if( um == nil ) + um = [[DKUndoManager alloc] init]; + + return (NSUndoManager*)um; +} + +@end diff --git a/DrawkitSimplerDemo.xcodeproj/graham.perspectivev3 b/DrawkitSimplerDemo.xcodeproj/graham.perspectivev3 new file mode 100644 index 0000000..b0f662b --- /dev/null +++ b/DrawkitSimplerDemo.xcodeproj/graham.perspectivev3 @@ -0,0 +1,1501 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + BF86EF500E09DA4500920EFF + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + OpenEditors + + PerspectiveWidths + + 1211 + 1211 + + Perspectives + + + ChosenToolbarItems + + NSToolbarSeparatorItem + XCToolbarPerspectiveControl + active-combo-popup + action + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-enable-breakpoints + build + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 200 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 080E96DDFE201D6D7F000001 + 29B97317FDCFA39411CA2CEA + 29B97318FDCFA39411CA2CEA + 19C28FACFE9D520D11CA2CBB + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {200, 720}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {217, 738}} + GroupTreeTableConfiguration + + MainColumn + 200 + + RubberWindowFrame + 400 232 1211 779 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 217pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + BF86EF4B0E09DA4500920EFF + PBXProjectModuleLabel + DKSDController.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + BF86EF4C0E09DA4500920EFF + PBXProjectModuleLabel + DKSDController.m + _historyCapacity + 20 + bookmark + BFE3AFFB118A709B00938C8E + history + + BF86F1E80E0A0F3500920EFF + BF86F3A70E0AAE8F00920EFF + BFF0D0800F1465C900AC5A32 + BFE3A90E118006CE00938C8E + BFE3A94A11800B7500938C8E + BFE3A95B11800DC800938C8E + BFE3AFDC118A6F5A00938C8E + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {989, 505}} + RubberWindowFrame + 400 232 1211 779 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 505pt + + + Proportion + 228pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {989, 201}} + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 27}, {989, 189}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{10, 27}, {989, 201}} + RubberWindowFrame + 400 232 1211 779 0 0 1680 1028 + + Module + PBXBuildResultsModule + + + + + Proportion + 989pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + BFE3AFD0118A6EFE00938C8E + 1CA23ED40692098700951B8B + BFE3AFD1118A6EFE00938C8E + BF86EF4B0E09DA4500920EFF + BFE3AFD2118A6EFE00938C8E + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {1211, 415}} + + Module + PBXDebugCLIModule + Proportion + 415pt + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {591, 156}} + {{591, 0}, {620, 156}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {1211, 156}} + {{0, 156}, {1211, 162}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 420}, {1211, 318}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 390 + + Frame + {{591, 0}, {620, 156}} + + + Module + PBXDebugSessionModule + Proportion + 318pt + + + Name + Debug + ServiceClasses + + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + PBXDebugProcessAndThreadModule + PBXDebugProcessViewModule + PBXDebugThreadViewModule + PBXDebugStackFrameViewModule + PBXNavigatorGroup + + TableOfContents + + BFE3AFD3118A6EFE00938C8E + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + BFE3AFD4118A6EFE00938C8E + BFE3AFD5118A6EFE00938C8E + BFE3AFD6118A6EFE00938C8E + BFE3AFD7118A6EFE00938C8E + BF86EF4B0E09DA4500920EFF + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + BFE3AFD9118A6EFE00938C8E + BFE3AFDA118A6EFE00938C8E + /Users/graham/Projects/DrawkitSimplerDemo/DrawkitSimplerDemo.xcodeproj + + WindowString + 400 232 1211 779 0 0 1680 1028 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.classBrowser + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + OptionsSetName + Hierarchy, project classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - DKSDController + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {679, 194}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {931, 805}} + MembersFrame + {{0, 199}, {679, 606}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 402 + PBXMemberBookColumnIdentifier + 22 + + RubberWindowFrame + 25 179 931 825 0 0 1680 1028 + + Module + PBXClassBrowserModule + Proportion + 805pt + + + Proportion + 805pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + + TableOfContents + + BF86F3CC0E0B593700920EFF + BF86F3CD0E0B593700920EFF + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 25 179 931 825 0 0 1680 1028 + WindowToolGUID + BF86F3CC0E0B593700920EFF + WindowToolIsVisible + + + + FirstTimeWindowDisplayed + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + BF86F4090E0B7D1700920EFF + + GeometryConfiguration + + Frame + {{0, 0}, {500, 315}} + RubberWindowFrame + 25 648 500 356 0 0 1680 1028 + + Module + XCRefactoringModule + Proportion + 315pt + + + Proportion + 315pt + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + StatusbarIsVisible + + TableOfContents + + BF86F40A0E0B7D1700920EFF + BF86F40B0E0B7D1700920EFF + BF86F4090E0B7D1700920EFF + + WindowString + 25 648 500 356 0 0 1680 1028 + WindowToolGUID + BF86F40A0E0B7D1700920EFF + WindowToolIsVisible + + + + + diff --git a/DrawkitSimplerDemo.xcodeproj/project.pbxproj b/DrawkitSimplerDemo.xcodeproj/project.pbxproj new file mode 100644 index 0000000..f714e03 --- /dev/null +++ b/DrawkitSimplerDemo.xcodeproj/project.pbxproj @@ -0,0 +1,393 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 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 */; }; + BF86F0920E09E14300920EFF /* DKSDController.m in Sources */ = {isa = PBXBuildFile; fileRef = BF86F0910E09E14300920EFF /* DKSDController.m */; }; + BF86F1D40E0A0CEA00920EFF /* GCDrawKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF86EF580E09DB0E00920EFF /* GCDrawKit.framework */; }; + BF86F1D70E0A0D4D00920EFF /* GCDrawKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BF86F1950E0A08D000920EFF /* GCDrawKit.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + BF19613D0F88E53100C759CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BF86EF530E09DB0E00920EFF /* DrawKit.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = BF2EE49B0F66011D00B8CFFD; + remoteInfo = DKUnitTests; + }; + BF86EF570E09DB0E00920EFF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BF86EF530E09DB0E00920EFF /* DrawKit.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9660E6100BEF442B00B6A38C; + remoteInfo = DrawKit; + }; + BF86EF590E09DB3100920EFF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BF86EF530E09DB0E00920EFF /* DrawKit.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 8DC2EF4F0486A6940098B216; + remoteInfo = DrawKit; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + BF86F1940E0A08CD00920EFF /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + BF86F1D70E0A0D4D00920EFF /* GCDrawKit.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* GCDrawKit_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDrawKit_Prefix.pch; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* DK Mini Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DK Mini Demo.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + BF86EF530E09DB0E00920EFF /* DrawKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = DrawKit.xcodeproj; path = ../DrawKit/Trunk/Source/DrawKit.xcodeproj; sourceTree = SOURCE_ROOT; }; + BF86F0900E09E14300920EFF /* DKSDController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DKSDController.h; sourceTree = ""; }; + BF86F0910E09E14300920EFF /* DKSDController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DKSDController.m; sourceTree = ""; }; + BF86F1950E0A08D000920EFF /* GCDrawKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GCDrawKit.framework; path = ../DrawKit/Trunk/Source/build/Debug/GCDrawKit.framework; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BF86F1D40E0A0CEA00920EFF /* GCDrawKit.framework in Frameworks */, + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + BF86F0900E09E14300920EFF /* DKSDController.h */, + BF86F0910E09E14300920EFF /* DKSDController.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + BF86F1950E0A08D000920EFF /* GCDrawKit.framework */, + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* DK Mini Demo.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* DrawkitSimplerDemo */ = { + isa = PBXGroup; + children = ( + BF86EF530E09DB0E00920EFF /* DrawKit.xcodeproj */, + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = DrawkitSimplerDemo; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* GCDrawKit_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 8D1107310486CEB800E47090 /* Info.plist */, + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, + 29B97318FDCFA39411CA2CEA /* MainMenu.nib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + BF86EF540E09DB0E00920EFF /* Products */ = { + isa = PBXGroup; + children = ( + BF86EF580E09DB0E00920EFF /* GCDrawKit.framework */, + BF19613E0F88E53100C759CB /* DKUnitTests.octest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* DK Mini Demo */ = { + isa = PBXNativeTarget; + buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "DK Mini Demo" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + BF86F1940E0A08CD00920EFF /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + BF86EF5A0E09DB3100920EFF /* PBXTargetDependency */, + ); + name = "DK Mini Demo"; + productInstallPath = "$(HOME)/Applications"; + productName = GCDrawKit; + productReference = 8D1107320486CEB800E47090 /* DK Mini Demo.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 "DrawkitSimplerDemo" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* DrawkitSimplerDemo */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = BF86EF540E09DB0E00920EFF /* Products */; + ProjectRef = BF86EF530E09DB0E00920EFF /* DrawKit.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* DK Mini Demo */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + BF19613E0F88E53100C759CB /* DKUnitTests.octest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = DKUnitTests.octest; + remoteRef = BF19613D0F88E53100C759CB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + BF86EF580E09DB0E00920EFF /* GCDrawKit.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = GCDrawKit.framework; + remoteRef = BF86EF570E09DB0E00920EFF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */, + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.m in Sources */, + BF86F0920E09E14300920EFF /* DKSDController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + BF86EF5A0E09DB3100920EFF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DrawKit; + targetProxy = BF86EF590E09DB3100920EFF /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C165DFE840E0CC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = { + isa = PBXVariantGroup; + children = ( + 29B97319FDCFA39411CA2CEA /* English */, + ); + name = MainMenu.nib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C01FCF4B08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../DrawKit/Trunk/Source/build/Debug\""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = GCDrawKit_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = "DK Mini Demo"; + WRAPPER_EXTENSION = app; + ZERO_LINK = YES; + }; + name = Debug; + }; + C01FCF4C08A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../DrawKit/Trunk/Source/build/Debug\""; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = GCDrawKit_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_NAME = "DK Mini Demo"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + ARCHS = ( + i386, + ppc, + ); + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + FRAMEWORK_SEARCH_PATHS = "@executable_path/../Frameworks"; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "../../../DrawKit/Trunk/Source/build/Debug/GCDrawKit.framework/**"; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OBJROOT = "$(SYMROOT)"; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SYMROOT = ../DrawKit/Trunk/Source/build; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + ); + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)"; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OBJROOT = "$(SYMROOT)"; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SYMROOT = ../DrawKit/Trunk/Source/build; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "DK Mini Demo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4B08A954540054247B /* Debug */, + C01FCF4C08A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "DrawkitSimplerDemo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/English.lproj/InfoPlist.strings b/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..e9c382e Binary files /dev/null and b/English.lproj/InfoPlist.strings differ diff --git a/English.lproj/MainMenu.nib/designable.nib b/English.lproj/MainMenu.nib/designable.nib new file mode 100644 index 0000000..acab119 --- /dev/null +++ b/English.lproj/MainMenu.nib/designable.nib @@ -0,0 +1,6680 @@ + + + + 0 + 10D573 + 740 + 1038.29 + 460.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 740 + + + YES + + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + DK Mini Demo + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + DK Mini Demo + + YES + + + About DK Mini Demo + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide DK Mini Demo + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit DK Mini Demo + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + Save PDF… + s + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + YES + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Writing Direction + + 2147483647 + + + submenuAction: + + Writing Direction + + YES + + + YES + Paragraph + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + YES + Selection + + 2147483647 + + + + + + CURlZmF1bHQ + + 2147483647 + + + + + + CUxlZnQgdG8gUmlnaHQ + + 2147483647 + + + + + + CVJpZ2h0IHRvIExlZnQ + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Zoom In + + 2147483647 + + + + + + Zoom Out + + 2147483647 + + + + + + Zoom To Actual Size + 0 + 1048576 + 2147483647 + + + + + + Zoom To Fit + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Hide Grid + + 2147483647 + + + + + + Hide Rulers + + 2147483647 + + + + + + Clear Guides + + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + DK Mini Demo Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + 13 + 2 + {{5, 431}, {952, 571}} + 1946157056 + DK Mini Demo + NSWindow + + {3.40282e+38, 3.40282e+38} + {750, 556} + + + 256 + + YES + + + 268 + {{38, 395}, {84, 118}} + + YES + 6 + 1 + + YES + + -2080244224 + 131072 + Select + + LucidaGrande + 11 + 3100 + + + 1 + 1211912703 + 0 + + NSRadioButton + + + + 200 + 25 + + + 67239424 + 131072 + Rectangle + + + 1211912703 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + 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 +AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA +AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 +cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD +AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH +SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF +hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8 +vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt +7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq +Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo +aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e +n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX +2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW +FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O +Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6 +ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt +rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA +AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA +AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl +A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq +DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU +HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8 +MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v +UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/ +eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj +rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn +5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh +AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK +CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY +GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95 +MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S +UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2 +d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV +pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK +0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf// +AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw +BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA +FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H +LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh +Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ +h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp +svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb +1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX +8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE +AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg +QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA + + + + + + 3 + MCAwAA + + + + 400 + 75 + + + 67239424 + 131072 + Oval + + + 1211912703 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + 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 +IDIwMDgAA + + + + + + + + 400 + 75 + + + 67239424 + 131072 + Path + + + 1211912703 + 0 + + + 400 + 75 + + + 67239424 + 131072 + Text + + + 1211912703 + 0 + + 549453824 + {14, 15} + + YES + + YES + + + + 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 + + + + + + + + 400 + 75 + + + 67239424 + 131072 + Arc + + + 1211912703 + 0 + + 549453824 + {14, 15} + + YES + + YES + + + + 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 + + + + + + + + 400 + 75 + + + {84, 18} + {4, 2} + 1151868928 + NSActionCell + + 67239424 + 131072 + Radio + + 1211912703 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + + + 400 + 75 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2ODY1AA + + + + 3 + MQA + + + LucidaGrande + 13 + 1044 + + + + + 268 + {{38, 199}, {84, 38}} + + YES + 2 + 1 + + YES + + -2080244224 + 131072 + Metric + + + 1211912703 + 0 + + + + 200 + 25 + + + 67239424 + 131072 + Imperial + + + 1 + 1211912703 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + 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 +AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA +AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 +cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD +AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH +SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF +hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8 +vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt +7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq +Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo +aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e +n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX +2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW +FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O +Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6 +ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt +rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA +AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA +AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl +A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq +DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU +HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8 +MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v +UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/ +eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj +rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn +5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh +AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK +CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY +GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95 +MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S +UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2 +d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV +pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK +0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf// +AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw +BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA +FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H +LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh +Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ +h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp +svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb +1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX +8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE +AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg +QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA + + + + + + + + 400 + 75 + + + {84, 18} + {4, 2} + 1151868928 + NSActionCell + + 67239424 + 131072 + Radio + + 1211912703 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + + + 400 + 75 + + + + + + + + + 268 + {{11, 539}, {38, 17}} + + YES + + 67239488 + 272761856 + TOOL + + + + + 1 + MC4zNTg2OTU2MjYzIDAuMzU4Njk1NjI2MyAwLjM1ODY5NTYyNjMAA + + + + + + 268 + {{11, 263}, {38, 14}} + + YES + + 67239488 + 272761856 + GRID + + + + + 1 + MC4zNTg2OTU2MjYzIDAuMzU4Njk1NjI2MyAwLjM1ODY5NTYyNjMAA + + + + + + 268 + + YES + + YES + NSColor pasteboard type + + + {{38, 338}, {44, 24}} + + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 268 + + YES + + YES + NSColor pasteboard type + + + {{38, 311}, {44, 23}} + + YES + YES + + 1 + MC4wNTgxMzA0OTg5OCAwLjA1NTU0MTg5OTA2IDEAA + + + + + 268 + {{11, 370}, {38, 17}} + + YES + + 67239488 + 272761856 + STYLE + + + + + 1 + MC4zNTg2OTU2MjYzIDAuMzU4Njk1NjI2MyAwLjM1ODY5NTYyNjMAA + + + + + + 268 + {{87, 344}, {38, 14}} + + YES + + 67239488 + 272761856 + Fill + + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{87, 315}, {38, 14}} + + YES + + 67239488 + 272761856 + Stroke + + + + + + + + + 268 + {{38, 287}, {44, 19}} + + YES + + -1804468671 + -2076048384 + + + + + YES + + YES + allowsFloats + formatterBehavior + locale + maximum + maximumIntegerDigits + numberStyle + positiveFormat + + + YES + + + + + + + + + #,##0.## + + + #,##0.## + #,##0.## + + + + + + NaN + + YES + + + YES + + + + + 0 + 0 + YES + NO + 1 + AAAAAAAAAAAAAAAAAAAAAA + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + + YES + + 6 + System + textBackgroundColor + + + + 6 + System + textColor + + + + + + + 268 + {{87, 282}, {19, 27}} + + YES + + 917024 + 0 + + 50 + 0.25 + YES + + + + + 276 + + YES + + + 2304 + + YES + + + 256 + {100, 113} + + YES + + + -2147483392 + {{-26, 0}, {16, 17}} + + + YES + + layerName + 97 + 40 + 1000 + + 75628096 + 2048 + Layers + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 337772096 + 264192 + Text Cell + + LucidaGrande + 9 + 3614 + + + + 6 + System + controlBackgroundColor + + + + + 3 + YES + YES + + + + 3 + 2 + + 6 + System + _sourceListBackgroundColor + + 1 + MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA + + + + 6 + System + gridColor + + 3 + MC41AA + + + 14 + 381681664 + + + 4 + 15 + 0 + YES + 1 + 1 + + + {{1, 1}, {100, 113}} + + + + + 4 + + + + -2147483392 + {{86, 1}, {15, 126}} + + 512 + + _doScroller: + 0.9921259880065918 + + + + -2147483392 + {{-100, -100}, {67, 15}} + + 1 + + _doScroller: + 0.45578229427337646 + + + {{20, 49}, {102, 115}} + + + 530 + + + + QSAAAEEgAABBgAAAQYAAAA + + + + 268 + {{11, 172}, {44, 14}} + + YES + + 67239488 + 272761856 + LAYERS + + + + + 1 + MC4zNTg2OTU2MjYzIDAuMzU4Njk1NjI2MyAwLjM1ODY5NTYyNjMAA + + + + + + 292 + {{21, 24}, {22, 17}} + + YES + + 67239424 + 134479872 + + + + -2033958657 + 134 + + NSImage + NSAddTemplate + + + + 400 + 75 + + + + + 292 + {{42, 24}, {22, 17}} + + YES + + 67239424 + 134479872 + + + + -2033958657 + 134 + + NSImage + NSRemoveTemplate + + + + 400 + 75 + + + + + 268 + {{16, 242}, {88, 18}} + + YES + + -2080244224 + 262144 + Snap To Grid + + + 1211912703 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + + 268 + {{16, 342}, {20, 18}} + + YES + + -2080244224 + 262144 + + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{16, 314}, {20, 18}} + + YES + + -2080244224 + 262144 + + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 268 + {{17, 518}, {75, 18}} + + YES + + -2080244224 + 262144 + Sticky Tools + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 274 + + YES + + + 2304 + + YES + + + 292 + {1024, 768} + + DKDrawingView + + + {{1, 1}, {799, 557}} + + + + + 4 + + + + 256 + {{800, 1}, {15, 557}} + + YES + + _doScroller: + 1 + 0.72526043653488159 + + + + 256 + {{1, 558}, {799, 15}} + + YES + 1 + + _doScroller: + 0.7802734375 + + + {{137, -1}, {816, 574}} + + + 242 + + + + + + {952, 571} + + + {{0, 0}, {1680, 1028}} + {750, 578} + {3.40282e+38, 3.40282e+38} + + + DKSDController + + + NSFontManager + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + showHelp: + + + + 360 + + + + saveDocumentAs: + + + + 363 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + terminate: + + + + 369 + + + + unhideAllApplications: + + + + 370 + + + + styleFillColourAction: + + + + 428 + + + + styleStrokeColourAction: + + + + 429 + + + + styleStrokeWidthAction: + + + + 430 + + + + styleStrokeWidthAction: + + + + 431 + + + + gridMatrixAction: + + + + 432 + + + + layerAddButtonAction: + + + + 433 + + + + layerRemoveButtonAction: + + + + 434 + + + + mDrawingView + + + + 435 + + + + mToolMatrix + + + + 436 + + + + mStyleFillColourWell + + + + 437 + + + + mStyleStrokeColourWell + + + + 438 + + + + mStyleStrokeWidthTextField + + + + 439 + + + + mStyleStrokeWidthStepper + + + + 440 + + + + mGridMatrix + + + + 441 + + + + mLayerTable + + + + 442 + + + + mLayerAddButton + + + + 443 + + + + mLayerRemoveButton + + + + 444 + + + + dataSource + + + + 445 + + + + delegate + + + + 446 + + + + toolMatrixAction: + + + + 448 + + + + delegate + + + + 449 + + + + snapToGridAction: + + + + 468 + + + + mGridSnapCheckbox + + + + 469 + + + + delegate + + + + 470 + + + + styleFillCheckboxAction: + + + + 475 + + + + styleStrokeCheckboxAction: + + + + 476 + + + + mStyleFillCheckbox + + + + 477 + + + + mStyleStrokeCheckbox + + + + 478 + + + + toolStickyAction: + + + + 482 + + + + mToolStickyCheckbox + + + + 483 + + + + initialFirstResponder + + + + 485 + + + + nextKeyView + + + + 486 + + + + nextKeyView + + + + 487 + + + + nextKeyView + + + + 488 + + + + window + + + + 489 + + + + zoomIn: + + + + 500 + + + + zoomOut: + + + + 501 + + + + zoomToActualSize: + + + + 502 + + + + zoomFitInWindow: + + + + 503 + + + + toggleGridVisible: + + + + 507 + + + + toggleRuler: + + + + 509 + + + + clearGuides: + + + + 511 + + + + addFontTrait: + + + + 570 + + + + modifyFont: + + + + 571 + + + + addFontTrait: + + + + 572 + + + + modifyFont: + + + + 573 + + + + orderFrontFontPanel: + + + + 574 + + + + underline: + + + + 575 + + + + copyFont: + + + + 576 + + + + orderFrontColorPanel: + + + + 577 + + + + superscript: + + + + 578 + + + + tightenKerning: + + + + 579 + + + + useAllLigatures: + + + + 580 + + + + loosenKerning: + + + + 581 + + + + lowerBaseline: + + + + 582 + + + + pasteFont: + + + + 583 + + + + raiseBaseline: + + + + 584 + + + + subscript: + + + + 585 + + + + unscript: + + + + 586 + + + + useStandardKerning: + + + + 587 + + + + useStandardLigatures: + + + + 588 + + + + turnOffLigatures: + + + + 589 + + + + turnOffKerning: + + + + 590 + + + + pasteRuler: + + + + 591 + + + + toggleRuler: + + + + 592 + + + + alignCenter: + + + + 593 + + + + copyRuler: + + + + 594 + + + + alignJustified: + + + + 595 + + + + alignRight: + + + + 596 + + + + alignLeft: + + + + 597 + + + + makeBaseWritingDirectionNatural: + + + + 598 + + + + makeBaseWritingDirectionLeftToRight: + + + + 599 + + + + makeBaseWritingDirectionRightToLeft: + + + + 600 + + + + makeTextWritingDirectionNatural: + + + + 601 + + + + makeTextWritingDirectionLeftToRight: + + + + 602 + + + + makeTextWritingDirectionRightToLeft: + + + + 603 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + YES + + + + 2 + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + + + + + + + + + + 297 + + + + + 298 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + + + + + + + + + + + + + + + + 384 + + + YES + + + + + + + + + + + + 385 + + + + + 386 + + + + + 387 + + + + + 388 + + + + + 389 + + + + + 390 + + + + + 391 + + + YES + + + + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + YES + + + + + + 396 + + + + + 397 + + + YES + + + + + + 398 + + + + + 399 + + + + + 400 + + + + + 401 + + + YES + + + + + + 402 + + + + + 403 + + + YES + + + + + + 404 + + + + + 405 + + + YES + + + + + + 406 + + + + + 407 + + + YES + + + + + + 408 + + + YES + + + + + + 409 + + + YES + + + + + + 410 + + + + + 411 + + + YES + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + YES + + + + + + 416 + + + YES + + + + + + 419 + + + + + 420 + + + YES + + + + + + 421 + + + + + 422 + + + YES + + + + + + 423 + + + + + 424 + + + YES + + + + + + 425 + + + + + 426 + + + Controller + + + 451 + + + + + 466 + + + YES + + + + + + 467 + + + + + 471 + + + YES + + + + + + 472 + + + + + 473 + + + YES + + + + + + 474 + + + + + 480 + + + YES + + + + + + 481 + + + + + 484 + + + + + 490 + + + YES + + + + + + + + 491 + + + + + 492 + + + + + 375 + + + + + 494 + + + + + 495 + + + + + 496 + + + + + 497 + + + + + 498 + + + + + 80 + + + 8 + + + 505 + + + + + 506 + + + + + 508 + + + + + 510 + + + + + 512 + + + YES + + + + + + 513 + + + YES + + + + + + + 514 + + + YES + + + + + + 515 + + + YES + + + + + + 516 + + + YES + + + + + + + + + + + + + + + 517 + + + + + 518 + + + + + 519 + + + + + 520 + + + + + 521 + + + + + 522 + + + YES + + + + + + 523 + + + + + 524 + + + + + 525 + + + + + 526 + + + + + 527 + + + YES + + + + + + + + + + + + + + 528 + + + + + 529 + + + + + 530 + + + + + 531 + + + + + 532 + + + + + 533 + + + + + 534 + + + + + 535 + + + + + 536 + + + + + 537 + + + YES + + + + + + + + + + + + + + + + + + + + + 538 + + + + + 539 + + + + + 540 + + + + + 541 + + + + + 542 + + + + + 543 + + + + + 544 + + + + + 545 + + + + + 546 + + + YES + + + + + + 547 + + + YES + + + + + + 548 + + + YES + + + + + + 549 + + + + + 550 + + + + + 551 + + + + + 552 + + + + + 553 + + + + + 554 + + + YES + + + + + + + + + + 555 + + + + + 556 + + + + + 557 + + + + + 558 + + + + + 559 + + + + + 560 + + + YES + + + + + + + + 561 + + + + + 562 + + + + + 563 + + + + + 564 + + + YES + + + + + + + + + 565 + + + + + 566 + + + + + 567 + + + + + 568 + + + + + 569 + + + + + + + YES + + YES + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBEditorWindowLastContentRect + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBEditorWindowLastContentRect + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBEditorWindowLastContentRect + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBEditorWindowLastContentRect + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 371.windowTemplate.hasMinSize + 371.windowTemplate.minSize + 372.IBPluginDependency + 375.IBPluginDependency + 384.IBAttributePlaceholdersKey + 384.IBPluginDependency + 385.IBPluginDependency + 386.IBPluginDependency + 387.IBPluginDependency + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBAttributePlaceholdersKey + 391.IBPluginDependency + 392.IBPluginDependency + 393.IBPluginDependency + 394.IBPluginDependency + 395.IBPluginDependency + 396.IBPluginDependency + 397.IBPluginDependency + 398.IBPluginDependency + 399.IBAttributePlaceholdersKey + 399.IBPluginDependency + 400.IBAttributePlaceholdersKey + 400.IBPluginDependency + 401.IBPluginDependency + 402.IBPluginDependency + 403.IBPluginDependency + 404.IBPluginDependency + 405.IBPluginDependency + 406.IBPluginDependency + 407.IBAttributePlaceholdersKey + 407.IBPluginDependency + 408.IBPluginDependency + 409.IBAttributePlaceholdersKey + 409.IBPluginDependency + 410.IBPluginDependency + 411.IBPluginDependency + 412.IBPluginDependency + 413.IBPluginDependency + 414.IBAttributePlaceholdersKey + 414.IBPluginDependency + 416.IBPluginDependency + 419.IBPluginDependency + 420.IBPluginDependency + 421.IBPluginDependency + 422.IBAttributePlaceholdersKey + 422.IBPluginDependency + 423.IBPluginDependency + 424.IBAttributePlaceholdersKey + 424.IBPluginDependency + 425.IBPluginDependency + 451.IBNumberFormatterLocalizesFormatMetadataKey + 451.IBPluginDependency + 466.IBAttributePlaceholdersKey + 466.IBPluginDependency + 467.IBPluginDependency + 471.IBPluginDependency + 472.IBPluginDependency + 473.IBPluginDependency + 474.IBPluginDependency + 480.IBPluginDependency + 481.IBPluginDependency + 484.IBPluginDependency + 490.IBPluginDependency + 491.IBPluginDependency + 492.IBPluginDependency + 494.IBPluginDependency + 495.IBPluginDependency + 496.IBPluginDependency + 497.IBPluginDependency + 498.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 505.IBPluginDependency + 506.IBPluginDependency + 508.IBPluginDependency + 510.IBPluginDependency + 512.IBPluginDependency + 513.IBEditorWindowLastContentRect + 513.IBPluginDependency + 514.IBPluginDependency + 515.IBPluginDependency + 516.IBEditorWindowLastContentRect + 516.IBPluginDependency + 517.IBPluginDependency + 518.IBPluginDependency + 519.IBPluginDependency + 520.IBPluginDependency + 521.IBPluginDependency + 522.IBPluginDependency + 523.IBPluginDependency + 524.IBPluginDependency + 525.IBPluginDependency + 526.IBPluginDependency + 527.IBPluginDependency + 528.IBPluginDependency + 529.IBPluginDependency + 530.IBPluginDependency + 531.IBPluginDependency + 532.IBPluginDependency + 533.IBPluginDependency + 534.IBPluginDependency + 535.IBPluginDependency + 536.IBPluginDependency + 537.IBEditorWindowLastContentRect + 537.IBPluginDependency + 538.IBPluginDependency + 539.IBPluginDependency + 540.IBPluginDependency + 541.IBPluginDependency + 542.IBPluginDependency + 543.IBPluginDependency + 544.IBPluginDependency + 545.IBPluginDependency + 546.IBPluginDependency + 547.IBPluginDependency + 548.IBPluginDependency + 549.IBPluginDependency + 550.IBPluginDependency + 551.IBPluginDependency + 552.IBPluginDependency + 553.IBPluginDependency + 554.IBPluginDependency + 555.IBPluginDependency + 556.IBPluginDependency + 557.IBPluginDependency + 558.IBPluginDependency + 559.IBPluginDependency + 56.IBPluginDependency + 56.ImportedFromIB2 + 560.IBPluginDependency + 561.IBPluginDependency + 562.IBPluginDependency + 563.IBPluginDependency + 564.IBPluginDependency + 565.IBPluginDependency + 566.IBPluginDependency + 567.IBPluginDependency + 568.IBPluginDependency + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{413, 955}, {207, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{541, 181}, {240, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{182, 735}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{781, 161}, {164, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{701, 351}, {194, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{342, 905}, {197, 73}} + {{365, 424}, {468, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {468, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + {{651, 221}, {231, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + {{292, 935}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{781, 161}, {212, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{6, 434}, {952, 571}} + com.apple.InterfaceBuilder.CocoaPlugin + {{6, 434}, {952, 571}} + + {{5, 446}, {937, 556}} + + {750, 556} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Select a tool to draw or select objects with + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Select the type of grid + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Fill colour + + + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Stroke colour + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Stroke width + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Stroke width + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Select layer to make it active + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Add New Drawing Layer + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Delete Selected Layer + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Enables snap to grid for objects + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{585, 381}, {83, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{668, 221}, {204, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{668, 141}, {175, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{18, 795}, {236, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{134, 941}, {151, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{140, 865}, {167, 113}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + YES + + + + + YES + + + YES + + + + 603 + + + + YES + + DKSDController + NSWindowController + + YES + + YES + gridMatrixAction: + layerAddButtonAction: + layerRemoveButtonAction: + snapToGridAction: + styleFillCheckboxAction: + styleFillColourAction: + styleStrokeCheckboxAction: + styleStrokeColourAction: + styleStrokeWidthAction: + toolMatrixAction: + toolStickyAction: + + + YES + id + id + id + id + id + id + id + id + id + id + id + + + + YES + + YES + mDrawingView + mGridMatrix + mGridSnapCheckbox + mLayerAddButton + mLayerRemoveButton + mLayerTable + mStyleFillCheckbox + mStyleFillColourWell + mStyleStrokeCheckbox + mStyleStrokeColourWell + mStyleStrokeWidthStepper + mStyleStrokeWidthTextField + mToolMatrix + mToolStickyCheckbox + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + IBProjectSource + DKSDController.h + + + + FirstResponder + NSObject + + YES + + YES + clearGuides: + toggleGridVisible: + zoomFitInWindow: + zoomIn: + zoomOut: + zoomToActualSize: + + + YES + id + id + id + id + id + id + + + + IBUserSource + + + + + + YES + + DKDrawableObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawableObject+Metadata.h + + + + DKDrawableObject + NSObject + + YES + + YES + copyDrawingStyle: + lock: + lockLocation: + logDescription: + pasteDrawingStyle: + toggleClipToBBox: + toggleShowBBox: + toggleShowPartcodes: + toggleShowTargets: + unlock: + unlockLocation: + + + YES + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawableObject.h + + + + DKDrawablePath + DKDrawableObject + + YES + + YES + addRandomNoise: + breakApart: + closePath: + convertToOutline: + convertToShape: + curveFit: + parallelCopy: + reversePath: + roughenPath: + smoothPath: + smoothPathMore: + toggleHorizontalFlip: + toggleVerticalFlip: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawablePath.h + + + + DKDrawableShape + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawableShape+Hotspots.h + + + + DKDrawableShape + DKDrawableObject + + YES + + YES + convertToPath: + pastePath: + resetBoundingBox: + rotate: + setDistortMode: + toggleHorizontalFlip: + toggleVerticalFlip: + unrotate: + + + YES + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawableShape.h + + + + DKDrawingView + GCZoomView + + YES + + YES + toggleRuler: + toggleShowPageBreaks: + + + YES + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawingView.h + + + + DKGuideLayer + DKLayer + + clearGuides: + id + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKGuideLayer.h + + + + DKLayer + + IBFrameworkSource + GCDrawKit.framework/Headers/DKLayer+Metadata.h + + + + DKLayer + NSObject + + YES + + YES + copy: + hideLayer: + lockLayer: + logDescription: + showLayer: + toggleLayerLock: + toggleLayerVisible: + unlockLayer: + + + YES + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKLayer.h + + + + DKObjectDrawingLayer + + YES + + YES + alignBottomEdges: + alignEdgesToGrid: + alignHorizontalCentres: + alignLeftEdges: + alignLocationToGrid: + alignRightEdges: + alignTopEdges: + alignVerticalCentres: + assignKeyObject: + distributeHorizontalCentres: + distributeHorizontalSpace: + distributeVerticalCentres: + distributeVerticalSpace: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKObjectDrawingLayer+Alignment.h + + + + DKObjectDrawingLayer + + YES + + YES + combineSelectedObjects: + diffSelectedObjects: + divideSelectedObjects: + intersectionSelectedObjects: + setBooleanOpsFittingPolicy: + unionSelectedObjects: + xorSelectedObjects: + + + YES + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKObjectDrawingLayer+BooleanOps.h + + + + DKObjectDrawingLayer + + IBFrameworkSource + GCDrawKit.framework/Headers/DKObjectDrawingLayer+Duplication.h + + + + DKObjectDrawingLayer + DKObjectOwnerLayer + + YES + + YES + applyStyle: + clusterObjects: + copy: + cut: + delete: + deleteBackward: + duplicate: + ghostObjects: + groupObjects: + hideObject: + joinPaths: + lockObject: + moveDown: + moveLeft: + moveRight: + moveUp: + objectBringForward: + objectBringToFront: + objectSendBackward: + objectSendToBack: + paste: + revealHiddenObjects: + selectAll: + selectMatchingStyle: + selectNone: + selectOthers: + showObject: + unghostObjects: + unlockObject: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKObjectDrawingLayer.h + + + + DKObjectOwnerLayer + DKLayer + + YES + + YES + toggleShowStorageDebuggingPath: + toggleSnapToObjects: + + + YES + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKObjectOwnerLayer.h + + + + DKTextPath + DKDrawablePath + + YES + + YES + alignCenter: + alignJustified: + alignLeft: + alignRight: + capitalize: + changeAttributes: + changeFont: + changeFontSize: + changeLayoutMode: + convertToPath: + convertToShape: + convertToShapeGroup: + convertToTextShape: + editText: + loosenKerning: + lowerBaseline: + paste: + raiseBaseline: + subscript: + superscript: + takeTextAlignmentFromSender: + takeTextVerticalAlignmentFromSender: + tightenKerning: + turnOffKerning: + underline: + unscript: + useStandardKerning: + verticalAlign: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKTextPath.h + + + + DKTextShape + DKDrawableShape + + YES + + YES + alignCenter: + alignJustified: + alignLeft: + alignRight: + capitalize: + changeAttributes: + changeFont: + changeFontSize: + changeLayoutMode: + convertToShape: + convertToShapeGroup: + convertToTextPath: + editText: + fitToText: + loosenKerning: + lowerBaseline: + paste: + raiseBaseline: + subscript: + superscript: + takeTextAlignmentFromSender: + takeTextVerticalAlignmentFromSender: + tightenKerning: + turnOffKerning: + underline: + unscript: + useStandardKerning: + verticalAlign: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKTextShape.h + + + + DKViewController + NSObject + + YES + + YES + copyDrawing: + hideInactiveLayers: + layerBringForward: + layerBringToFront: + layerSendBackward: + layerSendToBack: + showAllLayers: + toggleGridVisible: + toggleGuidesVisible: + toggleSnapToGrid: + toggleSnapToGuides: + + + YES + id + id + id + id + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/DKViewController.h + + + + GCZoomView + NSView + + YES + + YES + zoomFitInWindow: + zoomIn: + zoomMax: + zoomMin: + zoomOut: + zoomToActualSize: + zoomToPercentageWithTag: + + + YES + id + id + id + id + id + id + id + + + + IBFrameworkSource + GCDrawKit.framework/Headers/GCZoomView.h + + + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSBrowser + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSBrowser.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSColorWell + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSColorWell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSDocument + NSObject + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocument.h + + + + NSDocument + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentScripting.h + + + + NSFontManager + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSMatrix + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSMatrix.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSMovieView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMovieView.h + + + + NSNumberFormatter + NSFormatter + + IBFrameworkSource + Foundation.framework/Headers/NSNumberFormatter.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKArrowStroke.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKCategoryManager.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawing.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKDrawingToolProtocol.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKMetadataItem.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKRasterizer.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKRouteFinder.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKSelectAndEditTool.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKStyleRegistry.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/DKTextAdornment.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/NSBezierPath+Geometry.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/NSBezierPath+Text.h + + + + NSObject + + IBFrameworkSource + GCDrawKit.framework/Headers/NSDictionary+DeepCopy.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSStepper + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSStepper.h + + + + NSStepperCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSStepperCell.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableView + NSControl + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSView + + IBFrameworkSource + GCDrawKit.framework/Headers/DKGradientExtensions.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + NSWindowController + NSResponder + + showWindow: + id + + + IBFrameworkSource + AppKit.framework/Headers/NSWindowController.h + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../DrawkitSimplerDemo.xcodeproj + 3 + + diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib new file mode 100644 index 0000000..6ea2669 Binary files /dev/null and b/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/GCDrawKit_Prefix.pch b/GCDrawKit_Prefix.pch new file mode 100644 index 0000000..7cdf043 --- /dev/null +++ b/GCDrawKit_Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'GCDrawKit' target in the 'GCDrawKit' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/Info.plist b/Info.plist new file mode 100644 index 0000000..1b1e3b5 --- /dev/null +++ b/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.DrawkitSimplerDemo + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + DKMD + CFBundleVersion + 1.4 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/README.md b/README.md index f98a275..d356d81 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # legacy-DrawKit-mini-demo -Original mini demonstration for DrawKit. +Original mini demonstration for DrawKit from [Apptree.net](http://apptree.net/drawkitmain.htm). diff --git a/main.m b/main.m new file mode 100644 index 0000000..53b5dca --- /dev/null +++ b/main.m @@ -0,0 +1,14 @@ +// +// main.m +// GCDrawKit +// +// Created by graham on 19/06/2008. +// Copyright Apptree.net 2008. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +}