pull from Wevah

This commit is contained in:
Eric Gallager 2013-05-23 10:24:45 -04:00
commit 18e2a0bb1d
139 changed files with 17499 additions and 2540 deletions

2
.gitignore vendored
View File

@ -15,4 +15,4 @@ xcuserdata/
movedaside/*
-1
*.log

View File

@ -70,7 +70,7 @@
@interface NSIndexSet (NGSIndicies)
+ (id)indexSetWithIndiciesInRange:(NSRange)range;
- (id)initWithIndiciesInRange:(NSRange)range;
- (unsigned int)getIndicies:(unsigned int *)indexBuffer maxCount:(unsigned int)bufferSize inIndexRange:(NSRangePointer)range;
- (NSUInteger)getIndicies:(NSUInteger *)indexBuffer maxCount:(NSUInteger)bufferSize inIndexRange:(NSRangePointer)range;
- (BOOL)containsIndiciesInRange:(NSRange)range;
- (BOOL)containsIndicies:(NSIndexSet *)indexSet;
- (BOOL)intersectsIndiciesInRange:(NSRange)range;

View File

@ -4,12 +4,15 @@
- (NSArray *)subarrayWithIndicies:(NSIndexSet *)indicies
{
NSRange range = {0,[self count]};
unsigned int count = [indicies count];
unsigned int *buffer = (unsigned int *) calloc(count, sizeof(int));
NSUInteger count = [indicies count];
NSUInteger *buffer = (NSUInteger *)calloc(count, sizeof(NSUInteger));
NSMutableArray *newArray = [NSMutableArray arrayWithCapacity:count];
[indicies getIndexes:buffer maxCount:count inIndexRange:&range];
for(unsigned int i = 0; i < count; i++)
[newArray addObject:[self objectAtIndex:*(buffer+i)]];
free(buffer);
return [NSArray arrayWithArray:newArray];
}
@end
@ -21,7 +24,7 @@
}
- (id)firstObjectReturningValue:(id)value forKey:(id)key
{
int index = [[self valueForKey:key] indexOfObject:value];
NSUInteger index = [[self valueForKey:key] indexOfObject:value];
if(index != NSNotFound)
return [self objectAtIndex:index];
else return nil;
@ -65,7 +68,7 @@
#endif
+ (NSCharacterSet *)tabCharacterSet
{
unsigned char bitmapRep[8192];
unsigned char bitmapRep[8192] = { 0 };
bitmapRep[0x09 >> 3] |= (((unsigned int)1) << (0x09 & 7));
bitmapRep[0x0B >> 3] |= (((unsigned int)1) << (0x0B & 7));
NSData *data = [NSData dataWithBytesNoCopy:bitmapRep length:8192 freeWhenDone:YES];
@ -80,7 +83,7 @@
{ return [NSIndexSet indexSetWithIndexesInRange:range]; }
- (id)initWithIndiciesInRange:(NSRange)range
{ return [self initWithIndexesInRange:range]; }
- (unsigned int)getIndicies:(unsigned int *)indexBuffer maxCount:(unsigned int)bufferSize inIndexRange:(NSRangePointer)range
- (NSUInteger)getIndicies:(NSUInteger *)indexBuffer maxCount:(NSUInteger)bufferSize inIndexRange:(NSRangePointer)range
{ return [self getIndexes:indexBuffer maxCount:bufferSize inIndexRange:range]; }
- (BOOL)containsIndiciesInRange:(NSRange)range
{ return [self containsIndexesInRange:range]; }
@ -211,7 +214,7 @@
NSMutableArray *items = [NSMutableArray array];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
NSIndexSet *indicies = [self selectedRowIndexes];
unsigned int rowIndex = [indicies firstIndex];
NSUInteger rowIndex = [indicies firstIndex];
while (rowIndex != NSNotFound)
{
[items addObject:[self itemAtRow:rowIndex]];
@ -262,6 +265,8 @@
[colours addObject: [colour colorWithAlphaComponent: alpha]];
}
NSGradient *gradient = [[NSGradient alloc] initWithColors: colours atLocations: locations colorSpace: [self colorSpace]];
free(locations);
return [gradient autorelease];
}
@end
@ -272,10 +277,13 @@
/* CGLContext access for pre-10.3 */
@implementation NSOpenGLContext (CGLContextAccess)
- (CGLContextObj)cglContext;
- (CGLContextObj)cglContext
{
#if !__LP64__
if(NSAppKitVersionNumber < 700.0)
return _contextAuxiliary;
else return (CGLContextObj) [self CGLContextObj];
else
#endif
return (CGLContextObj) [self CGLContextObj];
}
@end

View File

@ -12,15 +12,21 @@
- (NSArray *)selectedItems
{
NSMutableArray *items = [NSMutableArray array];
NSMutableArray *items = [NSMutableArray array];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
NSIndexSet *indicies = [self selectedRowIndexes];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
[indicies enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
[items addObject:[self itemAtRow:idx]];
}];
#else
unsigned int rowIndex = [indicies firstIndex];
while (rowIndex != NSNotFound)
{
[items addObject:[self itemAtRow:rowIndex]];
rowIndex = [indicies indexGreaterThanIndex:rowIndex];
}
#endif
#else
NSNumber *row;
NSEnumerator *enumerator = [self selectedRowEnumerator];

View File

@ -25,7 +25,8 @@
- (void)applicationWillFinishLaunching:(NSNotification *)notification
{
// instanciate my own subclass of NSDocumentController so I can override the open dialog
[[RKDocumentController alloc] init];
// autorelease to fix an analyzer warning; the application already holds onto the document controller
[[[RKDocumentController alloc] init] autorelease];
[RKSupportResourceRegistry scanForSupportResources];
}
@ -193,31 +194,14 @@
// from the app wrapper, and then sets the defaults if they don't
// already exist.
NSUserDefaults *defaults;
NSDictionary *defaultsPlist;
NSEnumerator *overDefaults;
id eachDefault;
// this isn't required, but saves us a few method calls
defaults = [NSUserDefaults standardUserDefaults];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// load the defaults.plist from the app wrapper. This makes it
// easy to add new defaults just using a text editor instead of
// hard-coding them into the application
defaultsPlist = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"defaults" ofType:@"plist"]];
// enumerate over all the keys in the dictionary
overDefaults = [[defaultsPlist allKeys] objectEnumerator];
while(eachDefault = [overDefaults nextObject])
{
// for each key in the dictionary
// check if there is a value already registered for it
// and if there isn't, then register the value that was in the file
if(![defaults stringForKey:eachDefault])
{
[defaults setObject:[defaultsPlist objectForKey:eachDefault] forKey:eachDefault];
}
}
NSDictionary *defaultsPlist = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"defaults" ofType:@"plist"]];
[defaults registerDefaults:defaultsPlist];
// force the defaults to save to the disk
[defaults synchronize];
@ -258,7 +242,7 @@
{
// ask politly for icon
if([editor respondsToSelector:@selector(iconForResourceType:)])
icon = [editor iconForResourceType:resourceType];
icon = [(id)editor iconForResourceType:resourceType];
// try getting it myself
if(!icon)

View File

@ -51,7 +51,7 @@
if( addComma ) [string appendString:@", "];
if( attributeCount > 2 ) [string appendString:@"Sys"];
else [string appendString:@"SysHeap"];
addComma = YES;
/* addComma = YES; */
}
return string;
}
@ -59,7 +59,7 @@
- (NSAttributedString *)attributedStringForObjectValue:(id)obj withDefaultAttributes:(NSDictionary *)attrs
{
NSString *string = [self stringForObjectValue:obj];
return [[NSAttributedString alloc] initWithString:string attributes:attrs];
return [[[NSAttributedString alloc] initWithString:string attributes:attrs] autorelease];
}
- (NSString *)editingStringForObjectValue:(id)obj

View File

@ -4,10 +4,57 @@
#import "Resource.h"
#import "ApplicationDelegate.h"
#import "NSOutlineView-SelectedItems.h"
#import "MoreFilesX.h"
//#import "MoreFilesX.h"
@implementation InfoWindowController
static OSErr
FSGetForkSizes(
const FSRef *ref,
UInt64 *dataLogicalSize, /* can be NULL */
UInt64 *rsrcLogicalSize) /* can be NULL */
{
OSErr result;
FSCatalogInfoBitmap whichInfo;
FSCatalogInfo catalogInfo;
whichInfo = kFSCatInfoNodeFlags;
if ( NULL != dataLogicalSize )
{
/* get data fork size */
whichInfo |= kFSCatInfoDataSizes;
}
if ( NULL != rsrcLogicalSize )
{
/* get resource fork size */
whichInfo |= kFSCatInfoRsrcSizes;
}
/* get nodeFlags and catalog info */
result = FSGetCatalogInfo(ref, whichInfo, &catalogInfo, NULL, NULL,NULL);
require_noerr(result, FSGetCatalogInfo);
/* make sure FSRef was to a file */
require_action(0 == (catalogInfo.nodeFlags & kFSNodeIsDirectoryMask), FSRefNotFile, result = notAFileErr);
if ( NULL != dataLogicalSize )
{
/* return data fork size */
*dataLogicalSize = catalogInfo.dataLogicalSize;
}
if ( NULL != rsrcLogicalSize )
{
/* return resource fork size */
*rsrcLogicalSize = catalogInfo.rsrcLogicalSize;
}
FSRefNotFile:
FSGetCatalogInfo:
return ( result );
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
@ -67,19 +114,19 @@
// get sizes of forks as they are on disk
UInt64 dataLogicalSize = 0, rsrcLogicalSize = 0;
FSRef *fileRef = (FSRef *) NewPtrClear(sizeof(FSRef));
if(fileRef && [currentDocument fileName])
if(fileRef && [currentDocument fileURL])
{
OSStatus error = FSPathMakeRef((unsigned char *)[[currentDocument fileName] fileSystemRepresentation], fileRef, nil);
OSStatus error = FSPathMakeRef((unsigned char *)[[[currentDocument fileURL] path] fileSystemRepresentation], fileRef, nil);
if(!error) FSGetForkSizes(fileRef, &dataLogicalSize, &rsrcLogicalSize);
}
if(fileRef) DisposePtr((Ptr) fileRef);
// set info window elements to correct values
[[self window] setTitle:NSLocalizedString(@"Document Info",nil)];
if([currentDocument fileName]) // document has been saved
if([currentDocument fileURL]) // document has been saved
{
[iconView setImage:[[NSWorkspace sharedWorkspace] iconForFile:[currentDocument fileName]]];
[nameView setStringValue:[[currentDocument fileName] lastPathComponent]];
[iconView setImage:[[NSWorkspace sharedWorkspace] iconForFile:[[currentDocument fileURL] path]]];
[nameView setStringValue:[[currentDocument fileURL] lastPathComponent]];
}
else // new, untitled document
{
@ -87,9 +134,16 @@
[nameView setStringValue:[currentDocument displayName]];
}
#warning FIXME: the creator and type codes need to be swapped on intel
[[filePropertyForm cellAtIndex:0] setStringValue:[[[NSString alloc] initWithData:[currentDocument creator] encoding:NSMacOSRomanStringEncoding] autorelease]];
[[filePropertyForm cellAtIndex:1] setStringValue:[[[NSString alloc] initWithData:[currentDocument type] encoding:NSMacOSRomanStringEncoding] autorelease]];
FourCharCode creator;
[[currentDocument creator] getBytes:&creator length:sizeof(creator)];
FourCharCode type;
[[currentDocument type] getBytes:&type length:sizeof(type)];
creator = CFSwapInt32BigToHost(creator);
type = CFSwapInt32BigToHost(type);
[[filePropertyForm cellAtIndex:0] setStringValue:[[[NSString alloc] initWithBytes:&creator length:sizeof(creator) encoding:NSMacOSRomanStringEncoding] autorelease]];
[[filePropertyForm cellAtIndex:1] setStringValue:[[[NSString alloc] initWithBytes:&type length:sizeof(type) encoding:NSMacOSRomanStringEncoding] autorelease]];
// [[filePropertyForm cellAtIndex:2] setObjectValue:[NSNumber numberWithUnsignedLongLong:dataLogicalSize]];
// [[filePropertyForm cellAtIndex:3] setObjectValue:[NSNumber numberWithUnsignedLongLong:rsrcLogicalSize]];
[[filePropertyForm cellAtIndex:2] setStringValue:[[NSNumber numberWithUnsignedLongLong:dataLogicalSize] description]];
@ -136,12 +190,13 @@
- (void)documentInfoDidChange:(NSNotification *)notification
{
#pragma unused(notification)
currentDocument = [[notification object] objectForKey:@"NSDocument"];
[self updateInfoWindow];
}
- (IBAction)attributesChanged:(id)sender
{
short attr = 0x0001 << [sender selectedRow]+1;
short attr = (short)(0x0001 << [sender selectedRow]+1);
short number = ([[selectedResource attributes] shortValue] ^ attr);
[selectedResource setAttributes:[NSNumber numberWithShort:number]];
}

View File

@ -1,6 +1,6 @@
#import <Cocoa/Cocoa.h>
@interface OpenPanelDelegate : NSObject
@interface OpenPanelDelegate : NSObject <NSOpenSavePanelDelegate>
{
/*! @var openPanelAccessoryView Accessory view for <tt>NSOpenPanels</tt>. */
IBOutlet NSView *openPanelAccessoryView;

View File

@ -52,7 +52,7 @@
return [forks count];
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
// return object in array
if(row < [forks count])
@ -97,7 +97,7 @@
[forkTableView reloadData];
// start editing placeholder
[forkTableView selectRow:[forks count]-1 byExtendingSelection:NO];
[forkTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:[forks count]-1] byExtendingSelection:NO];
[forkTableView editColumn:0 row:[forks count]-1 withEvent:nil select:YES];
}

View File

@ -4,7 +4,7 @@
@class Resource;
@interface OutlineViewDelegate : NSObject
@interface OutlineViewDelegate : NSObject <NSOutlineViewDataSource>
{
IBOutlet NSWindow *window;
IBOutlet NSOutlineView *outlineView;

View File

@ -32,57 +32,57 @@
}
}
/*!
@method tableView:didClickTableColumn:
@pending not needed in 10.3+, use existing sort functionality
*/
- (void)tableView:(NSTableView*)tableView didClickTableColumn:(NSTableColumn *)tableColumn
{
NSArray *newResources;
NSArray *oldResources = [(ResourceDataSource *)[tableView dataSource] resources];
// sort the array
NSImage *indicator = [tableView indicatorImageInTableColumn:tableColumn];
NSImage *upArrow = [NSTableView _defaultTableHeaderSortImage];
if(indicator == upArrow)
newResources = [oldResources sortedArrayUsingFunction:compareResourcesAscending context:[tableColumn identifier]];
else newResources = [oldResources sortedArrayUsingFunction:compareResourcesDescending context:[tableColumn identifier]];
// swap new array for old one
[(ResourceDataSource *)[tableView dataSource] setResources:[NSMutableArray arrayWithArray:newResources]];
[tableView reloadData];
}
/*!
@function compareResourcesAscending
@updated 2003-10-25 NGS: now uses KVC methods to obtain the strings to compare
*/
int compareResourcesAscending(Resource *r1, Resource *r2, void *context)
{
NSString *key = (NSString *)context;
// compare two NSStrings (case-insensitive)
if([key isEqualToString:@"name"] || [key isEqualToString:@"type"])
return [(NSString *)[r1 valueForKey:key] caseInsensitiveCompare:(NSString *)[r2 valueForKey:key]];
// compare two NSNumbers (or any other class)
else return [(NSNumber *)[r1 valueForKey:key] compare:(NSNumber *)[r2 valueForKey:key]];
}
/*!
@function compareResourcesDescending
@updated 2003-10-25 NGS: now uses KVC methods to obtain the strings to compare
*/
int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
{
NSString *key = (NSString *)context;
// compare two NSStrings (case-insensitive)
if([key isEqualToString:@"name"] || [key isEqualToString:@"type"])
return -1 * [(NSString *)[r1 valueForKey:key] caseInsensitiveCompare: (NSString *)[r2 valueForKey:key]];
// compare two NSNumbers (or any other class)
else return -1 * [(NSNumber *)[r1 valueForKey:key] compare: (NSNumber *)[r2 valueForKey:key]];
}
///*!
//@method tableView:didClickTableColumn:
//@pending not needed in 10.3+, use existing sort functionality
//*/
//
//- (void)tableView:(NSTableView*)tableView didClickTableColumn:(NSTableColumn *)tableColumn
//{
// NSArray *newResources;
// NSArray *oldResources = [(ResourceDataSource *)[tableView dataSource] resources];
//
// // sort the array
// NSImage *indicator = [tableView indicatorImageInTableColumn:tableColumn];
// NSImage *upArrow = [NSTableView _defaultTableHeaderSortImage];
// if(indicator == upArrow)
// newResources = [oldResources sortedArrayUsingFunction:compareResourcesAscending context:[tableColumn identifier]];
// else newResources = [oldResources sortedArrayUsingFunction:compareResourcesDescending context:[tableColumn identifier]];
//
// // swap new array for old one
// [(ResourceDataSource *)[tableView dataSource] setResources:[NSMutableArray arrayWithArray:newResources]];
// [tableView reloadData];
//}
//
///*!
//@function compareResourcesAscending
//@updated 2003-10-25 NGS: now uses KVC methods to obtain the strings to compare
//*/
//
//int compareResourcesAscending(Resource *r1, Resource *r2, void *context)
//{
// NSString *key = (NSString *)context;
// // compare two NSStrings (case-insensitive)
// if([key isEqualToString:@"name"] || [key isEqualToString:@"type"])
// return [(NSString *)[r1 valueForKey:key] caseInsensitiveCompare:(NSString *)[r2 valueForKey:key]];
// // compare two NSNumbers (or any other class)
// else return [(NSNumber *)[r1 valueForKey:key] compare:(NSNumber *)[r2 valueForKey:key]];
//}
//
///*!
//@function compareResourcesDescending
//@updated 2003-10-25 NGS: now uses KVC methods to obtain the strings to compare
//*/
//
//int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
//{
// NSString *key = (NSString *)context;
// // compare two NSStrings (case-insensitive)
// if([key isEqualToString:@"name"] || [key isEqualToString:@"type"])
// return -1 * [(NSString *)[r1 valueForKey:key] caseInsensitiveCompare: (NSString *)[r2 valueForKey:key]];
// // compare two NSNumbers (or any other class)
// else return -1 * [(NSNumber *)[r1 valueForKey:key] compare: (NSNumber *)[r2 valueForKey:key]];
//}
- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
@ -99,7 +99,7 @@ int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
@pending remove setting of the cell formatter when that capability is in interface builder
*/
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item
- (void)outlineView:(NSOutlineView *)oView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
Resource *resource = (Resource *)item;
NSString *identifier = [tableColumn identifier];
@ -161,7 +161,7 @@ int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
// draw alternating blue/white backgrounds (if pre-10.3)
if(NSAppKitVersionNumber < 700.0)
{
int row = [outlineView rowForItem:item];
int row = [oView rowForItem:item];
if(row % 2) [cell setBackgroundColor:[NSColor colorWithCalibratedRed:0.93 green:0.95 blue:1.0 alpha:1.0]];
else [cell setBackgroundColor:[NSColor whiteColor]];
[cell setDrawsBackground:YES];
@ -175,7 +175,7 @@ int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
/*!
@method draggingSourceOperationMaskForLocal:
*/
- (unsigned int)draggingSourceOperationMaskForLocal:(BOOL)local
- (NSUInteger)draggingSourceOperationMaskForLocal:(BOOL)local
{
if(local) return NSDragOperationEvery;
else return NSDragOperationCopy;
@ -184,9 +184,9 @@ int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
- (void)keyDown:(NSEvent *)event
{
int selectedRow = [self selectedRow];
if(selectedRow != -1 && [[event characters] isEqualToString:[NSString stringWithCString:"\r"]])
if(selectedRow != -1 && [[event characters] isEqualToString:@"\r"])
[self editColumn:0 row:selectedRow withEvent:nil select:YES];
else if(selectedRow != -1 && [[event characters] isEqualToString:[NSString stringWithCString:"\x7F"]])
else if(selectedRow != -1 && [[event characters] isEqualToString:@"\x7F"])
[(ResourceDocument *)[[[self window] windowController] document] deleteSelectedResources];
else [super keyDown:event];
}
@ -238,43 +238,4 @@ int compareResourcesDescending(Resource *r1, Resource *r2, void *context)
return NO;
}
/*!
@method _sendDelegateDidClickColumn:
@pending not needed in 10.3+, use existing sort functionality
*/
//- (void)_sendDelegateDidMouseDownInHeader:(int)columnIndex
- (void)_sendDelegateDidClickColumn:(int)columnIndex
{
// if(NSAppKitVersionNumber < 700.0)
{
NSTableColumn *tableColumn = [[self tableColumns] objectAtIndex:columnIndex];
NSImage *indicator = [self indicatorImageInTableColumn:tableColumn];
NSImage *upArrow = [NSTableView _defaultTableHeaderSortImage];
NSImage *downArrow = [NSTableView _defaultTableHeaderReverseSortImage];
if(indicator)
{
// column already selected
if(indicator == upArrow)
[self setIndicatorImage:downArrow inTableColumn:tableColumn];
else [self setIndicatorImage:upArrow inTableColumn:tableColumn];
}
else // new column selected
{
// if there is an existing selection, clear it's image
if([self highlightedTableColumn] != nil)
[self setIndicatorImage:nil inTableColumn:[self highlightedTableColumn]];
// sort name and type columns ascending by default
if([[tableColumn identifier] isEqualToString:@"name"] || [[tableColumn identifier] isEqualToString:@"type"])
[self setIndicatorImage:upArrow inTableColumn:tableColumn];
// sort all other columns descending by default
else [self setIndicatorImage:downArrow inTableColumn:tableColumn];
[self setHighlightedTableColumn:tableColumn];
}
[[self delegate] tableView:self didClickTableColumn:tableColumn];
}
// else [super _sendDelegateDidClickColumn:columnIndex];
}
@end

View File

@ -23,11 +23,11 @@ extern NSString *RKResourcePboardType;
NSString *pbType;
// clear current pasteboard representation
[self selectAll:nil];
//[self selectAll:nil];
[self clear:nil];
// set the window's title to represent the pasteboard being shown (at some point I anticipate having several of these)
[[self window] setTitle:pbName];
[[self mainWindow] setTitle:pbName];
// disable undos during loading
[[self undoManager] disableUndoRegistration];

View File

@ -4,7 +4,7 @@
@implementation RKDocumentController
- (int)runModalOpenPanel:(NSOpenPanel *)openPanel forTypes:(NSArray *)extensions
- (NSInteger)runModalOpenPanel:(NSOpenPanel *)openPanel forTypes:(NSArray *)extensions
{
// set-up open panel (this happens every time, but no harm done)
ApplicationDelegate *appDelegate = [NSApp delegate];

View File

@ -117,7 +117,7 @@
// scan all paths
while(path = [pathEnumerator nextObject])
{
NSEnumerator *fileEnumerator = [[[NSFileManager defaultManager] directoryContentsAtPath:path] objectEnumerator];
NSEnumerator *fileEnumerator = [[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil] objectEnumerator];
NSString *pluginName;
// enumerate all files in this directory

View File

@ -5,28 +5,31 @@
+ (void)scanForSupportResources
{
[RKSupportResourceRegistry scanForSupportResourcesInFolder:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Support Resources"]];
#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED
NSArray *dirsArray = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSAllDomainsMask, YES);
dirsArray = [dirsArray arrayByMakingObjectsPerformSelector:@selector(stringByAppendingPathComponent:) withObject:@"ResKnife/Support Resources"];
// FIXME: log content of dirsArray and merge with the following:
#endif
[RKSupportResourceRegistry scanForSupportResourcesInFolder:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Support Resources"]];
for (NSString *dir in dirsArray)
[RKSupportResourceRegistry scanForSupportResourcesInFolder:dir];
#else
[RKSupportResourceRegistry scanForSupportResourcesInFolder:[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support/ResKnife/Support Resources"]];
[RKSupportResourceRegistry scanForSupportResourcesInFolder:@"/Library/Application Support/ResKnife/Support Resources"];
[RKSupportResourceRegistry scanForSupportResourcesInFolder:@"/Network/Library/Application Support/ResKnife/Support Resources"];
#endif
}
+ (void)scanForSupportResourcesInFolder:(NSString *)path
{
// NSLog(@"Looking for resources in %@", path);
NSString *name;
NSEnumerator *enumerator = [[[NSFileManager defaultManager] directoryContentsAtPath:path] objectEnumerator];
NSEnumerator *enumerator = [[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil] objectEnumerator];
while(name = [enumerator nextObject])
{
// NSLog(@"Examining %@", name);
if([[name pathExtension] isEqualToString:@"rsrc"])
// FIXME: this method was deprecated in 10.4 in favour of - (id)openDocumentWithContentsOfURL:(NSURL *)absoluteURL display:(BOOL)displayDocument error:(NSError **)outError;
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfFile:[path stringByAppendingPathComponent:name] display:YES];
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:[NSURL fileURLWithPath:[path stringByAppendingPathComponent:name]] display:YES];
}
}

View File

@ -45,4 +45,6 @@
+ (id)resourceOfType:(NSString *)typeValue andID:(NSNumber *)resIDValue withName:(NSString *)nameValue andAttributes:(NSNumber *)attributesValue;
+ (id)resourceOfType:(NSString *)typeValue andID:(NSNumber *)resIDValue withName:(NSString *)nameValue andAttributes:(NSNumber *)attributesValue data:(NSData *)dataValue;
+ (Resource *)getResourceOfType:(NSString *)typeValue andID:(NSNumber *)resIDValue inDocument:(NSDocument *)searchDoc;
@end

View File

@ -15,14 +15,12 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
- (id)initWithType:(NSString *)typeValue andID:(NSNumber *)resIDValue
{
[self initWithType:typeValue andID:resIDValue withName:@"" andAttributes:[NSNumber numberWithUnsignedShort:0]];
return self;
return [self initWithType:typeValue andID:resIDValue withName:@"" andAttributes:[NSNumber numberWithUnsignedShort:0]];
}
- (id)initWithType:(NSString *)typeValue andID:(NSNumber *)resIDValue withName:(NSString *)nameValue andAttributes:(NSNumber *)attributesValue
{
[self initWithType:typeValue andID:resIDValue withName:nameValue andAttributes:attributesValue data:[NSData data]];
return self;
return [self initWithType:typeValue andID:resIDValue withName:nameValue andAttributes:attributesValue data:[NSData data]];
}
- (id)initWithType:(NSString *)typeValue andID:(NSNumber *)resIDValue withName:(NSString *)nameValue andAttributes:(NSNumber *)attributesValue data:(NSData *)dataValue
@ -60,9 +58,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
+ (Resource *)getResourceOfType:(NSString *)typeValue andID:(NSNumber *)resIDValue inDocument:(NSDocument *)searchDoc
{
NSDocument *doc;
NSEnumerator *enumerator = [[[NSDocumentController sharedDocumentController] documents] objectEnumerator];
while(doc = [enumerator nextObject])
for (NSDocument *doc in [[NSDocumentController sharedDocumentController] documents])
{
if(searchDoc == nil || searchDoc == doc)
{
@ -79,9 +75,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
+ (NSArray *)allResourcesOfType:(NSString *)typeValue inDocument:(NSDocument *)searchDoc
{
NSMutableArray *array = [NSMutableArray array];
NSDocument *doc;
NSEnumerator *enumerator = [[[NSDocumentController sharedDocumentController] documents] objectEnumerator];
while(doc = [enumerator nextObject])
for (NSDocument *doc in [[NSDocumentController sharedDocumentController] documents])
{
// parse document for resources
if(searchDoc == nil || searchDoc == doc)
@ -92,9 +86,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
+ (Resource *)resourceOfType:(NSString *)typeValue withName:(NSString *)nameValue inDocument:(NSDocument *)searchDoc
{
NSDocument *doc;
NSEnumerator *enumerator = [[[NSDocumentController sharedDocumentController] documents] objectEnumerator];
while(doc = [enumerator nextObject])
for (NSDocument *doc in [[NSDocumentController sharedDocumentController] documents])
{
if(searchDoc == nil || searchDoc == doc)
{
@ -108,9 +100,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
+ (Resource *)resourceOfType:(NSString *)typeValue andID:(NSNumber *)resIDValue inDocument:(NSDocument *)searchDoc
{
NSDocument *doc;
NSEnumerator *enumerator = [[[NSDocumentController sharedDocumentController] documents] objectEnumerator];
while(doc = [enumerator nextObject])
for (NSDocument *doc in [[NSDocumentController sharedDocumentController] documents])
{
if(searchDoc == nil || searchDoc == doc)
{
@ -125,9 +115,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
// should probably be in resource document, not resource, but it fits in with the above methods quite well
+ (NSDocument *)documentForResource:(Resource *)resource
{
NSDocument *doc;
NSEnumerator *enumerator = [[[NSDocumentController sharedDocumentController] documents] objectEnumerator];
while(doc = [enumerator nextObject])
for (NSDocument *doc in [[NSDocumentController sharedDocumentController] documents])
{
Resource *res;
NSEnumerator *enumerator2 = [[(ResourceDocument *)doc resources] objectEnumerator];
@ -154,7 +142,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
- (id)copyWithZone:(NSZone *)zone
{
Resource *copy = [[Resource alloc] initWithType:type andID:resID withName:name andAttributes:attributes data:[data copy]];
Resource *copy = [[Resource alloc] initWithType:type andID:resID withName:name andAttributes:attributes data:[[data copy] autorelease]];
[copy setDocumentName:_docName];
return copy;
}
@ -356,7 +344,7 @@ NSString *RKResourcePboardType = @"RKResourcePboardType";
- (NSString *)description
{
return [NSString stringWithFormat:@"\n%@\nName: %@\nType: %@ ID: %@\nSize: %d Modified: %@", [super description], name, type, resID, [data length], dirty? @"YES":@"NO"];
return [NSString stringWithFormat:@"\n%@\nName: %@\nType: %@ ID: %@\nSize: %ld Modified: %@", [super description], name, type, resID, [data length], dirty? @"YES":@"NO"];
}
@end

View File

@ -7,7 +7,7 @@
@pending This class needs to be made KVC compliant.
*/
@interface ResourceDataSource : NSObject
@interface ResourceDataSource : NSObject <NSOutlineViewDataSource>
{
IBOutlet NSOutlineView *outlineView;
IBOutlet NSWindow *window;

View File

@ -40,6 +40,7 @@ extern NSString *RKResourcePboardType;
id old = resources;
resources = [newResources retain];
[old release];
[resources sortUsingDescriptors:[outlineView sortDescriptors]];
[outlineView reloadData];
}
@ -78,7 +79,7 @@ extern NSString *RKResourcePboardType;
/* Data source protocol implementation */
- (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
{
#pragma unused(outlineView, item)
return [resources objectAtIndex:index];
@ -90,7 +91,7 @@ extern NSString *RKResourcePboardType;
return NO;
}
- (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
{
#pragma unused(outlineView, item)
return [resources count];
@ -222,11 +223,11 @@ extern NSString *RKResourcePboardType;
@method outlineView:validateDrop:proposedItem:proposedChildIndex:
@abstract Called when the user is hovering with a drop over our outline view.
*/
- (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(int)childIndex
- (NSDragOperation)outlineView:(NSOutlineView *)oView validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)childIndex
{
if([info draggingSource] != outlineView)
if([info draggingSource] != oView)
{
[outlineView setDropItem:nil dropChildIndex:NSOutlineViewDropOnItemIndex];
[oView setDropItem:nil dropChildIndex:NSOutlineViewDropOnItemIndex];
return NSDragOperationCopy;
}
else return NSDragOperationNone;
@ -236,7 +237,7 @@ extern NSString *RKResourcePboardType;
@method outlineView:acceptDrop:item:childIndex:
@abstract Called when the user drops something on our outline view.
*/
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)targetItem childIndex:(int)childIndex
- (BOOL)outlineView:(NSOutlineView *)oView acceptDrop:(id <NSDraggingInfo>)info item:(id)targetItem childIndex:(NSInteger)childIndex
{
NSPasteboard *pb = [info draggingPasteboard];
if([pb availableTypeFromArray:[NSArray arrayWithObject:RKResourcePboardType]])
@ -244,4 +245,10 @@ extern NSString *RKResourcePboardType;
return YES;
}
- (void)outlineView:(NSOutlineView *)oView sortDescriptorsDidChange:(NSArray *)oldDescriptors {
[resources sortUsingDescriptors:[oView sortDescriptors]];
[oView reloadData];
}
@end

View File

@ -1,13 +1,16 @@
#import <Cocoa/Cocoa.h>
#import <Carbon/Carbon.h> // Actually I only need CarbonCore.framework
@class ResourceWindowController, ResourceDataSource, Resource;
@class CreateResourceSheetController, ResourceWindowController, ResourceDataSource, Resource;
@interface ResourceDocument : NSDocument
@protocol ResKnifePluginProtocol;
@interface ResourceDocument : NSDocument <NSToolbarDelegate>
{
IBOutlet ResourceDataSource *dataSource;
IBOutlet NSWindow *mainWindow;
IBOutlet NSOutlineView *outlineView;
CreateResourceSheetController *sheetController;
NSMutableDictionary *toolbarItems;
NSMutableArray *resources;
@ -18,8 +21,8 @@
}
- (BOOL)readFork:(NSString *)forkName asStreamFromFile:(FSRef *)fileRef;
- (BOOL)readResourceMap:(SInt16)fileRefNum;
- (BOOL)writeResourceMap:(SInt16)fileRefNum;
- (BOOL)readResourceMap:(ResFileRefNum)fileRefNum;
- (BOOL)writeResourceMap:(ResFileRefNum)fileRefNum;
- (BOOL)writeForkStreamsToFile:(NSString *)fileName;
- (IBAction)exportResources:(id)sender;
@ -33,9 +36,9 @@
- (IBAction)openResources:(id)sender;
- (IBAction)openResourcesInTemplate:(id)sender;
- (IBAction)openResourcesAsHex:(id)sender;
- (void)openResourceUsingEditor:(Resource *)resource;
- (void)openResource:(Resource *)resource usingTemplate:(NSString *)templateName;
- (void)openResourceAsHex:(Resource *)resource;
- (id <ResKnifePluginProtocol>)openResourceUsingEditor:(Resource *)resource;
- (id <ResKnifePluginProtocol>)openResource:(Resource *)resource usingTemplate:(NSString *)templateName;
- (id <ResKnifePluginProtocol>)openResourceAsHex:(Resource *)resource;
- (IBAction)playSound:(id)sender;
- (void)sound:(NSSound *)sound didFinishPlaying:(BOOL)finished;

View File

@ -11,6 +11,7 @@
#import "../Categories/NGSCategories.h"
#import "../Categories/NSString-FSSpec.h"
#import "../Categories/NSOutlineView-SelectedItems.h"
#import <Carbon/Carbon.h>
#import "../Plug-Ins/ResKnifePluginProtocol.h"
#import "RKEditorRegistry.h"
@ -42,6 +43,7 @@ extern NSString *RKResourcePboardType;
[toolbarItems release];
[type release];
[creator release];
[sheetController release];
[super dealloc];
}
@ -61,7 +63,7 @@ extern NSString *RKResourcePboardType;
BOOL succeeded = NO;
OSStatus error = noErr;
FSRef *fileRef = (FSRef *) NewPtrClear(sizeof(FSRef));
SInt16 fileRefNum = 0;
ResFileRefNum fileRefNum = 0;
OpenPanelDelegate *openPanelDelegate = [(ApplicationDelegate *)[NSApp delegate] openPanelDelegate];
// bug: need to handle error better here
@ -84,7 +86,7 @@ extern NSString *RKResourcePboardType;
int row = [[openPanelDelegate forkTableView] selectedRow];
NSString *selectedFork = [(NSDictionary *)[[openPanelDelegate forks] objectAtIndex:row] objectForKey:@"forkname"];
fork = (HFSUniStr255 *) NewPtrClear(sizeof(HFSUniStr255));
fork->length = ([selectedFork length] < 255)? [selectedFork length]:255;
fork->length = ([selectedFork length] < 255) ? (UInt16)[selectedFork length] : 255;
if(fork->length > 0)
[selectedFork getCharacters:fork->unicode range:NSMakeRange(0,fork->length)];
else fork->unicode[0] = 0;
@ -157,7 +159,7 @@ extern NSString *RKResourcePboardType;
// get creator and type
FSCatalogInfo info;
error = FSGetCatalogInfo(fileRef, kFSCatInfoFinderInfo, &info, nil, nil, nil);
error = FSGetCatalogInfo(fileRef, kFSCatInfoFinderInfo, &info, NULL, NULL, NULL);
if(!error)
{
[self setType:[NSData dataWithBytes:&((FileInfo *)info.finderInfo)->fileType length:4]];
@ -173,7 +175,7 @@ extern NSString *RKResourcePboardType;
NSString *forkName;
NSEnumerator *forkEnumerator = [forks objectEnumerator];
NSString *selectedFork = [NSString stringWithCharacters:fork->unicode length:fork->length];
while(forkName = [[forkEnumerator nextObject] objectForKey:@"forkname"])
while((forkName = [[forkEnumerator nextObject] objectForKey:@"forkname"]))
{
// check current fork is not the fork we're going to parse
if(![forkName isEqualToString:selectedFork])
@ -182,7 +184,7 @@ extern NSString *RKResourcePboardType;
// tidy up loose ends
if(fileRefNum) FSCloseFork(fileRefNum);
DisposePtr((Ptr) fileRef);
//DisposePtr((Ptr) fileRef);
return succeeded;
}
@ -206,7 +208,7 @@ extern NSString *RKResourcePboardType;
// translate NSString into HFSUniStr255 -- in 10.4 this can be done with FSGetHFSUniStrFromString
HFSUniStr255 uniForkName = { 0 };
uniForkName.length = ([forkName length] < 255)? [forkName length]:255;
uniForkName.length = ([forkName length] < 255)? (UInt16)[forkName length]:255;
if(uniForkName.length > 0)
[forkName getCharacters:uniForkName.unicode range:NSMakeRange(0, uniForkName.length)];
else uniForkName.unicode[0] = 0;
@ -217,7 +219,7 @@ extern NSString *RKResourcePboardType;
if(!buffer) return NO;
// read fork contents into buffer, bug: assumes no errors
SInt16 forkRefNum;
FSIORefNum forkRefNum;
FSOpenFork(fileRef, uniForkName.length, uniForkName.unicode, fsRdPerm, &forkRefNum);
FSReadFork(forkRefNum, fsFromStart, 0, forkLength, buffer, &forkLength);
FSCloseFork(forkRefNum);
@ -243,10 +245,10 @@ extern NSString *RKResourcePboardType;
return YES;
}
-(BOOL)readResourceMap:(SInt16)fileRefNum
-(BOOL)readResourceMap:(ResFileRefNum)fileRefNum
{
OSStatus error = noErr;
SInt16 oldResFile = CurResFile();
ResFileRefNum oldResFile = CurResFile();
UseResFile(fileRefNum);
for(unsigned short i = 1; i <= Count1Types(); i++)
@ -316,7 +318,7 @@ extern NSString *RKResourcePboardType;
- (BOOL)writeToFile:(NSString *)fileName ofType:(NSString *)type
{
OSStatus error = noErr;
SInt16 fileRefNum = 0;
ResFileRefNum fileRefNum = 0;
FSRef *parentRef = (FSRef *) NewPtrClear(sizeof(FSRef));
FSRef *fileRef = (FSRef *) NewPtrClear(sizeof(FSRef));
@ -325,6 +327,10 @@ extern NSString *RKResourcePboardType;
unichar *uniname = (unichar *) NewPtrClear(sizeof(unichar) *256);
[[fileName lastPathComponent] getCharacters:uniname];
error = FSPathMakeRef((const UInt8 *)[[fileName stringByDeletingLastPathComponent] UTF8String], parentRef, nil);
if (error != noErr)
NSLog(@"FSPathMakeRef got error %d", error);
if(fork)
error = FSCreateResourceFile(parentRef, [[fileName lastPathComponent] length], (UniChar *) uniname, kFSCatInfoNone, NULL, fork->length, (UniChar *) &fork->unicode, fileRef, NULL);
else error = FSCreateResourceFile(parentRef, [[fileName lastPathComponent] length], (UniChar *) uniname, kFSCatInfoNone, NULL, 0, NULL, fileRef, NULL);
@ -352,7 +358,7 @@ extern NSString *RKResourcePboardType;
else error = FSOpenResourceFile(fileRef, 0, NULL, fsWrPerm, &fileRefNum);
}
// else NSLog(@"error creating resource fork. (error=%d, spec=%d, ref=%d, parent=%d)", error, fileSpec, fileRef, parentRef);
else NSLog(@"error creating resource fork. (error=%d, ref=%d)", error, fileRef);
else NSLog(@"error creating resource fork. (error=%d, ref=%p)", error, fileRef);
// write resource array to file
if(fileRefNum && !error)
@ -393,10 +399,18 @@ extern NSString *RKResourcePboardType;
if([resource representedFork] == nil) continue;
unichar *uniname = (unichar *) NewPtrClear(sizeof(unichar) *256);
[[resource representedFork] getCharacters:uniname];
SInt16 forkRefNum = 0;
FSIORefNum forkRefNum = 0;
error = FSOpenFork(fileRef, [[resource representedFork] length], (UniChar *) uniname, fsWrPerm, &forkRefNum);
if (error != noErr)
NSLog(@"FSOpenFork got error %d", error);
if(!error && forkRefNum)
error = FSWriteFork(forkRefNum, fsFromStart, 0, [[resource data] length], [[resource data] bytes], NULL);
if (error != noErr)
NSLog(@"FSWriteFork got error %d", error);
if(forkRefNum) FSCloseFork(forkRefNum);
}
DisposePtr((Ptr) fileRef);
@ -408,11 +422,11 @@ extern NSString *RKResourcePboardType;
@abstract Writes all resources (except the ones representing other forks of the file) to the specified resource file.
*/
- (BOOL)writeResourceMap:(SInt16)fileRefNum
- (BOOL)writeResourceMap:(ResFileRefNum)fileRefNum
{
// make the resource file current
OSStatus error = noErr;
SInt16 oldResFile = CurResFile();
ResFileRefNum oldResFile = CurResFile();
UseResFile(fileRefNum);
// loop over all our resources
@ -437,11 +451,11 @@ extern NSString *RKResourcePboardType;
resourceHandle = NewHandleClear(sizeLong);
// convert unicode name to pascal string
nameStr[0] = [[resource name] lengthOfBytesUsingEncoding:NSMacOSRomanStringEncoding];
BlockMoveData([[resource name] cStringUsingEncoding:NSMacOSRomanStringEncoding], &nameStr[1], nameStr[0]);
nameStr[0] = (unsigned char)[[resource name] lengthOfBytesUsingEncoding:NSMacOSRomanStringEncoding];
memmove(&nameStr[1], [[resource name] cStringUsingEncoding:NSMacOSRomanStringEncoding], nameStr[0]);
// convert type string to ResType
[[resource type] getCString:resTypeStr maxLength:4];
[[resource type] getCString:resTypeStr maxLength:4 encoding:NSMacOSRomanStringEncoding];
resTypeCode = CFSwapInt32HostToBig(*(ResType *)resTypeStr);
// convert NSData to resource handle
@ -479,30 +493,24 @@ extern NSString *RKResourcePboardType;
- (void)setTypeCreatorAfterSave:(id)userInfo
{
FInfo finderInfo;
FSRef *fileRef = (FSRef *) NewPtrClear(sizeof(FSRef));
FSSpec *fileSpec = (FSSpec *) NewPtrClear(sizeof(FSSpec));
OSStatus error = FSPathMakeRef((const UInt8 *)[[self fileName] UTF8String], fileRef, nil);
OSStatus error = FSPathMakeRef((const UInt8 *)[[[self fileURL] path] UTF8String], fileRef, nil);
if(!error)
{
error = FSGetCatalogInfo(fileRef, kFSCatInfoNone, NULL, NULL, fileSpec, NULL);
FSCatalogInfo info;
error = FSGetCatalogInfo(fileRef, kFSCatInfoFinderInfo, &info, NULL, NULL, NULL);
if(!error)
{
error = FSpGetFInfo(fileSpec, &finderInfo);
if(!error)
{
[[self type] getBytes:&finderInfo.fdType length:4];
[[self creator] getBytes:&finderInfo.fdCreator length:4];
// NSLog(@"setting finder info to type: %X; creator: %X", finderInfo.fdType, finderInfo.fdCreator);
error = FSpSetFInfo(fileSpec, &finderInfo);
FSpGetFInfo(fileSpec, &finderInfo);
// NSLog(@"finder info got set to type: %X; creator: %X", finderInfo.fdType, finderInfo.fdCreator);
}
else NSLog(@"error getting Finder info. (error=%d, spec=%d, ref=%d)", error, fileSpec, fileRef);
FInfo *finderInfo = (FInfo *)(info.finderInfo);
[[self type] getBytes:&finderInfo->fdType length:4];
[[self creator] getBytes:&finderInfo->fdCreator length:4];
// NSLog(@"setting finder info to type: %X; creator: %X", finderInfo.fdType, finderInfo.fdCreator);
FSSetCatalogInfo(fileRef, kFSCatInfoFinderInfo, &info);
// NSLog(@"finder info got set to type: %X; creator: %X", finderInfo.fdType, finderInfo.fdCreator);
}
else NSLog(@"error converting fsref to fsspec. (error=%d, spec=%d, ref=%d)", error, fileSpec, fileRef);
else NSLog(@"error getting Finder info. (error=%d, ref=%p)", error, fileRef);
}
else NSLog(@"error making fsref from file path. (error=%d, ref=%d, path=%@)", error, fileRef, [self fileName]);
else NSLog(@"error making fsref from file path. (error=%d, ref=%p, path=%@)", error, fileRef, [[self fileURL] path]);
}
#pragma mark -
@ -522,7 +530,10 @@ extern NSString *RKResourcePboardType;
[panel setAllowsMultipleSelection:NO];
[panel setCanChooseDirectories:YES];
[panel setCanChooseFiles:NO];
[panel beginSheetForDirectory:nil file:nil modalForWindow:mainWindow modalDelegate:self didEndSelector:@selector(folderChoosePanelDidEnd:returnCode:contextInfo:) contextInfo:nil];
//[panel beginSheetForDirectory:nil file:nil modalForWindow:mainWindow modalDelegate:self didEndSelector:@selector(folderChoosePanelDidEnd:returnCode:contextInfo:) contextInfo:nil];
[panel beginSheetModalForWindow:mainWindow completionHandler:^(NSInteger result) {
[self folderChoosePanelDidEnd:panel returnCode:result contextInfo:nil];
}];
}
else
{
@ -547,7 +558,7 @@ extern NSString *RKResourcePboardType;
// basic overrides for file name extensions (assume no plug-ins installed)
NSString *newExtension;
NSDictionary *adjustments = [NSDictionary dictionaryWithObjectsAndKeys: @"ttf", @"sfnt", nil];
if(newExtension = [adjustments objectForKey:extension])
if((newExtension = [adjustments objectForKey:extension]))
extension = newExtension;
// ask for data
@ -560,8 +571,12 @@ extern NSString *RKResourcePboardType;
NSSavePanel *panel = [NSSavePanel savePanel];
NSString *filename = [resource name] ? [resource name] : NSLocalizedString(@"Untitled Resource",nil);
filename = [filename stringByAppendingFormat:@".%@", extension];
[panel beginSheetForDirectory:nil file:filename modalForWindow:mainWindow modalDelegate:self didEndSelector:@selector(exportPanelDidEnd:returnCode:contextInfo:) contextInfo:[exportData retain]];
filename = [filename stringByAppendingPathExtension:extension];
[panel setNameFieldStringValue:filename];
//[panel beginSheetForDirectory:nil file:filename modalForWindow:mainWindow modalDelegate:self didEndSelector:@selector(exportPanelDidEnd:returnCode:contextInfo:) contextInfo:[exportData retain]];
[panel beginSheetModalForWindow:mainWindow completionHandler:^(NSInteger result) {
[self exportPanelDidEnd:panel returnCode:result contextInfo:exportData];
}];
}
- (void)exportPanelDidEnd:(NSSavePanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
@ -570,7 +585,7 @@ extern NSString *RKResourcePboardType;
[data autorelease];
if(returnCode == NSOKButton)
[data writeToFile:[sheet filename] atomically:YES];
[data writeToURL:[sheet URL] atomically:YES];
}
- (void)folderChoosePanelDidEnd:(NSSavePanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
@ -579,7 +594,7 @@ extern NSString *RKResourcePboardType;
{
unsigned int i = 1;
Resource *resource;
NSString *path, *filename, *extension;
NSString *filename, *extension;
NSDictionary *adjustments = [NSDictionary dictionaryWithObjectsAndKeys: @"ttf", @"sfnt", @"png", @"PNGf", nil];
NSEnumerator *enumerator = [[outlineView selectedItems] objectEnumerator];
while(resource = [enumerator nextObject])
@ -617,8 +632,8 @@ extern NSString *RKResourcePboardType;
}
filename = tempname;
}
path = [[sheet filename] stringByAppendingPathComponent:filename];
[exportData writeToFile:path atomically:YES];
NSURL *url = [[sheet URL] URLByAppendingPathComponent:filename];
[exportData writeToURL:url atomically:YES];
}
}
}
@ -758,7 +773,7 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
[item setLabel:NSLocalizedString(@"Edit", nil)];
[item setPaletteLabel:NSLocalizedString(@"Edit", nil)];
[item setToolTip:NSLocalizedString(@"Edit Resource In Default Editor", nil)];
if(image = [[NSWorkspace sharedWorkspace] iconForFileType:@"rtf"])
if((image = [[NSWorkspace sharedWorkspace] iconForFileType:@"rtf"]))
[item setImage:image];
else [item setImage:[NSImage imageNamed:@"Edit"]];
[item setTarget:self];
@ -770,7 +785,7 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
[item setLabel:NSLocalizedString(@"Edit Hex", nil)];
[item setPaletteLabel:NSLocalizedString(@"Edit Hex", nil)];
[item setToolTip:NSLocalizedString(@"Edit Resource As Hexadecimal", nil)];
if(image = [[NSWorkspace sharedWorkspace] iconForFileType:@"txt"])
if((image = [[NSWorkspace sharedWorkspace] iconForFileType:@"txt"]))
[item setImage:image];
else [item setImage:[NSImage imageNamed:@"Edit Hex"]];
[item setTarget:self];
@ -792,7 +807,7 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
[item setLabel:NSLocalizedString(@"Show Info", nil)];
[item setPaletteLabel:NSLocalizedString(@"Show Info", nil)];
[item setToolTip:NSLocalizedString(@"Show Resource Information Window", nil)];
if(image = [NSImage imageNamed:@"NSGetInfoToolbar"])
if((image = [NSImage imageNamed:NSImageNameInfo]))
[item setImage:image];
else [item setImage:[NSImage imageNamed:@"Show Info"]];
[item setTarget:[NSApp delegate]];
@ -863,7 +878,10 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
- (IBAction)showCreateResourceSheet:(id)sender
{
// bug: ResourceDocument allocs a sheet controller, but it's never disposed of
CreateResourceSheetController *sheetController = [[CreateResourceSheetController alloc] initWithWindowNibName:@"CreateResourceSheet"];
if (!sheetController)
sheetController = [[CreateResourceSheetController alloc] initWithWindowNibName:@"CreateResourceSheet"];
[sheetController showCreateResourceSheet:self];
}
@ -880,30 +898,39 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
if(sender == outlineView && [outlineView clickedRow] == -1)
return;
Resource *resource;
NSArray *selected = [outlineView selectedItems];
NSEnumerator *enumerator = [selected objectEnumerator];
while(resource = [enumerator nextObject])
[self openResourceUsingEditor:resource];
NSEvent *event = [NSApp currentEvent];
if ([event type] == NSLeftMouseUp && (([event modifierFlags] & NSDeviceIndependentModifierFlagsMask) & NSAlternateKeyMask) != 0)
[self openResourcesAsHex:sender];
else {
NSArray *selected = [outlineView selectedItems];
for (Resource *resource in selected) {
id usedPlug = [self openResourceUsingEditor:resource];
if ([usedPlug isKindOfClass:[NSWindowController class]])
[self addWindowController:usedPlug];
}
}
}
- (IBAction)openResourcesInTemplate:(id)sender
{
// opens the resource in its default template
Resource *resource;
NSArray *selected = [outlineView selectedItems];
NSEnumerator *enumerator = [selected objectEnumerator];
while(resource = [enumerator nextObject])
[self openResource:resource usingTemplate:[resource type]];
for (Resource *resource in selected) {
id usedPlug = [self openResource:resource usingTemplate:[resource type]];
if ([usedPlug isKindOfClass:[NSWindowController class]])
[self addWindowController:usedPlug];
}
}
- (IBAction)openResourcesAsHex:(id)sender
{
Resource *resource;
NSArray *selected = [outlineView selectedItems];
NSEnumerator *enumerator = [selected objectEnumerator];
while(resource = [enumerator nextObject])
[self openResourceAsHex:resource];
for (Resource *resource in selected) {
id usedPlug = [self openResourceAsHex:resource];
if ([usedPlug isKindOfClass:[NSWindowController class]])
[self addWindowController:usedPlug];
}
}
@ -917,11 +944,12 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
REVISIONS:
2003-07-31 UK Changed to use plugin registry instead of file name.
2012-07-07 NW Changed to return the used plugin.
-------------------------------------------------------------------------- */
/* Method name should be changed to: -(void)openResource:(Resource *)resource usingEditor:(Class)overrideEditor <nil == default editor> */
- (void)openResourceUsingEditor:(Resource *)resource
- (id <ResKnifePluginProtocol>)openResourceUsingEditor:(Resource *)resource
{
Class editorClass = [[RKEditorRegistry defaultRegistry] editorForType:[resource type]];
@ -932,11 +960,11 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
// update: doug says window controllers automatically release themselves when their window is closed. All default plugs have a window controller as their principal class, but 3rd party ones might not
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceDataDidChange:) name:ResourceDataDidChangeNotification object:resource];
id plug = [(id <ResKnifePluginProtocol>)[editorClass alloc] initWithResource:resource];
if(plug) return;
if(plug) return plug;
}
// if no editor exists, or the editor is broken, open using template
[self openResource:resource usingTemplate:[resource type]];
return [self openResource:resource usingTemplate:[resource type]];
}
@ -950,9 +978,10 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
REVISIONS:
2003-07-31 UK Changed to use plugin registry instead of file name.
2012-07-07 NW Changed to return the used plugin.
-------------------------------------------------------------------------- */
- (void)openResource:(Resource *)resource usingTemplate:(NSString *)templateName
- (id <ResKnifePluginProtocol>)openResource:(Resource *)resource usingTemplate:(NSString *)templateName
{
// opens resource in template using TMPL resource with name templateName
Class editorClass = [[RKEditorRegistry defaultRegistry] editorForType:@"Template Editor"];
@ -966,11 +995,11 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceDataDidChange:) name:ResourceDataDidChangeNotification object:resource];
id plug = [(id <ResKnifeTemplatePluginProtocol>)[editorClass alloc] initWithResources:resource, tmpl, nil];
if(plug) return;
if(plug) return plug;
}
// if no template exists, or template editor is broken, open as hex
[self openResourceAsHex:resource];
return [self openResourceAsHex:resource];
}
/*!
@ -978,18 +1007,24 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
@author Nicholas Shanks
@created 2001
@updated 2003-07-31 UK: Changed to use plugin registry instead of file name.
2012-07-07 NW: Changed to return the used plugin.
@description Open a hex editor for the specified Resource instance. This looks up the hexadecimal editor in the plugin registry and then instantiates an editor object, handing it the resource.
@param resource Resource to edit
*/
- (void)openResourceAsHex:(Resource *)resource
- (id <ResKnifePluginProtocol>)openResourceAsHex:(Resource *)resource
{
Class editorClass = [[RKEditorRegistry defaultRegistry] editorForType: @"Hexadecimal Editor"];
// bug: I alloc a plug instance here, but have no idea where I should dealloc it, perhaps the plug ought to call [self autorelease] when it's last window is closed?
// update: doug says window controllers automatically release themselves when their window is closed.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceDataDidChange:) name:ResourceDataDidChangeNotification object:resource];
NSWindowController *plugController = [(id <ResKnifePluginProtocol>)[editorClass alloc] initWithResource:resource];
#pragma unused(plugController)
id <ResKnifePluginProtocol> plugController = [(id <ResKnifePluginProtocol>)[editorClass alloc] initWithResource:resource];
return plugController;
}
- (void)saveSoundAsMovie:(NSData *)sndData {
}
/*!
@ -1008,7 +1043,7 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
// bug: can only cope with one selected item
NSData *data = [(Resource *)[outlineView itemAtRow:[outlineView selectedRow]] data];
if(data && [data length] != 0)
{
{
[NSThread detachNewThreadSelector:@selector(playSoundThreadController:) toTarget:self withObject:data];
}
else NSBeep();
@ -1030,8 +1065,10 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
if(data && [data length] != 0)
{
// plays sound synchronously, thread exits when sound is done playing
#if !__LP64__
SndListPtr sndPtr = (SndListPtr) [data bytes];
SndPlay(nil, &sndPtr, false);
#endif
}
else NSBeep();
[pool release];
@ -1252,6 +1289,9 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
newCreator = ' '; // pad with spaces if not nil
[creatorData getBytes:&newCreator length:([creatorData length] < 4? [creatorData length]:4)];
}
newCreator = CFSwapInt32HostToBig(newCreator);
[self setCreator:[NSData dataWithBytes:&newCreator length:4]];
// NSLog(@"Creator changed to '%@'", [[[NSString alloc] initWithBytes:&newCreator length:4 encoding:NSMacOSRomanStringEncoding] autorelease]);
}
@ -1264,8 +1304,11 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
if(typeData && [typeData length] > 0)
{
newType = ' ';
[typeData getBytes:&newType length:([typeData length] < 4? [typeData length]:4)];
[typeData getBytes:&newType length:([typeData length] < 4 ? [typeData length]:4)];
}
newType = CFSwapInt32HostToBig(newType);
[self setType:[NSData dataWithBytes:&newType length:4]];
// NSLog(@"Type changed to '%@'", [[[NSString alloc] initWithBytes:&newType length:4 encoding:NSMacOSRomanStringEncoding] autorelease]);
}

View File

@ -82,7 +82,7 @@
}
}
- (void)selectWithFrame:(NSRect)cellFrame inView:(NSView *)controlView editor:(NSText *)textObject delegate:(id)delegateObject start:(int)selStart length:(int)selLength
- (void)selectWithFrame:(NSRect)cellFrame inView:(NSView *)controlView editor:(NSText *)textObject delegate:(id)delegateObject start:(NSInteger)selStart length:(NSInteger)selLength
{
if(drawImage == YES)
{
@ -115,12 +115,22 @@
imageFrame.size = imageSize;
// center vertically
if([controlView isFlipped])
imageFrame.origin.y += ceil((cellFrame.size.height + imageFrame.size.height) / 2);
else imageFrame.origin.y += ceil((cellFrame.size.height - imageFrame.size.height) / 2);
imageFrame.origin.y += ceil((cellFrame.size.height - imageFrame.size.height) / 2.0);
NSAffineTransform *t = nil;
if ([controlView isFlipped]) {
t = [NSAffineTransform transform];
[t translateXBy:0.0 yBy:cellFrame.origin.y * 2.0 + cellFrame.size.height];
[t scaleXBy:1.0 yBy:-1.0];
[t concat];
}
// draw image
[image compositeToPoint:imageFrame.origin operation:NSCompositeSourceOver];
[image drawInRect:imageFrame fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
if ([controlView isFlipped])
[t concat];
}
// get the superclass to draw the text stuff

View File

@ -24,7 +24,7 @@
switch( power )
{
case 0:
[string appendFormat:NSLocalizedString(@"%.0f", nil), value];
[string appendFormat:NSLocalizedString(@"%.0f bytes", nil), value];
break;
case 10:

View File

@ -1,4 +0,0 @@
{
IBClasses = ({CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; });
IBVersion = 1;
}

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>147 310 356 240 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>446.1</string>
<key>IBLockedObjects</key>
<array>
<integer>25</integer>
</array>
<key>IBOpenObjects</key>
<array>
<integer>21</integer>
</array>
<key>IBSystem Version</key>
<string>8L127</string>
</dict>
</plist>

Binary file not shown.

View File

@ -0,0 +1,489 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSTextField</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
<string>NSCustomObject</string>
<string>NSScrollView</string>
<string>NSTextView</string>
<string>NSImageCell</string>
<string>NSImageView</string>
<string>NSScroller</string>
<string>NSTextFieldCell</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="866047966">
<object class="NSCustomObject" id="473137193">
<string key="NSClassName">NSWindowController</string>
</object>
<object class="NSCustomObject" id="991267996">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="638199867">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="1067726277">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="463685911">
<int key="NSWindowStyleMask">11</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{585, 557}, {476, 260}}</string>
<int key="NSWTFlags">-1334312960</int>
<string key="NSWindowTitle"/>
<object class="NSMutableString" key="NSWindowClass">
<characters key="NS.bytes">NSPanel</characters>
</object>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{410, 200}</string>
<object class="NSView" key="NSWindowView" id="957960579">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTextField" id="820980846">
<reference key="NSNextResponder" ref="957960579"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{75, 218}, {380, 29}}</string>
<reference key="NSSuperview" ref="957960579"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="335432255">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
<string type="base64-UTF8" key="NSContents">UmVzS25pZmUKA</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">24</double>
<int key="NSfFlags">16</int>
</object>
<reference key="NSControlView" ref="820980846"/>
<object class="NSColor" key="NSBackgroundColor" id="172588644">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor" id="967963013">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="701389606">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<object class="NSColor" key="NSColor" id="92187863">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
</object>
<object class="NSTextField" id="33257083">
<reference key="NSNextResponder" ref="957960579"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{75, 200}, {380, 16}}</string>
<reference key="NSSuperview" ref="957960579"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="356414816">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
<string key="NSContents">Version 0.6d3</string>
<object class="NSFont" key="NSSupport" id="850842604">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="33257083"/>
<reference key="NSBackgroundColor" ref="172588644"/>
<reference key="NSTextColor" ref="701389606"/>
</object>
</object>
<object class="NSImageView" id="195291066">
<reference key="NSNextResponder" ref="957960579"/>
<int key="NSvFlags">268</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
<string>Apple PNG pasteboard type</string>
<object class="NSMutableString">
<characters key="NS.bytes">NSFilenamesPboardType</characters>
</object>
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{12, 200}, {48, 48}}</string>
<reference key="NSSuperview" ref="957960579"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="302372936">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">33554432</int>
<object class="NSCustomResource" key="NSContents">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSApplicationIcon</string>
</object>
<reference key="NSSupport" ref="850842604"/>
<int key="NSAlign">0</int>
<int key="NSScale">0</int>
<int key="NSStyle">0</int>
<bool key="NSAnimates">NO</bool>
</object>
<bool key="NSEditable">YES</bool>
</object>
<object class="NSTextField" id="983245233">
<reference key="NSNextResponder" ref="957960579"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{74, 6}, {387, 14}}</string>
<reference key="NSSuperview" ref="957960579"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="707111242">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
<string key="NSContents">Copyright © 2001-6, Nicholas Shanks. All Rights Reserved.</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<reference key="NSControlView" ref="983245233"/>
<reference key="NSBackgroundColor" ref="172588644"/>
<reference key="NSTextColor" ref="701389606"/>
</object>
</object>
<object class="NSScrollView" id="295271037">
<reference key="NSNextResponder" ref="957960579"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="788833434">
<reference key="NSNextResponder" ref="295271037"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTextView" id="201035292">
<reference key="NSNextResponder" ref="788833434"/>
<int key="NSvFlags">2322</int>
<string key="NSFrameSize">{383, 162}</string>
<reference key="NSSuperview" ref="788833434"/>
<object class="NSTextContainer" key="NSTextContainer" id="728947162">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
<object class="NSMutableString" key="NSString">
<characters key="NS.bytes"/>
</object>
<nil key="NSDelegate"/>
</object>
<array class="NSMutableArray" key="NSTextContainers">
<reference ref="728947162"/>
</array>
<int key="NSLMFlags">6</int>
<nil key="NSDelegate"/>
</object>
<reference key="NSTextView" ref="201035292"/>
<double key="NSWidth">383</double>
<int key="NSTCFlags">1</int>
</object>
<object class="NSTextViewSharedData" key="NSSharedData">
<int key="NSFlags">33557356</int>
<int key="NSTextCheckingTypes">0</int>
<nil key="NSMarkedAttributes"/>
<object class="NSColor" key="NSBackgroundColor" id="1011752443">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<dictionary key="NSSelectedAttributes">
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedTextBackgroundColor</string>
<reference key="NSColor" ref="967963013"/>
</object>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedTextColor</string>
<reference key="NSColor" ref="92187863"/>
</object>
</dictionary>
<reference key="NSInsertionColor" ref="92187863"/>
<dictionary key="NSLinkAttributes">
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDEAA</bytes>
</object>
<object class="NSCursor" key="NSCursor">
<string key="NSHotSpot">{8, -8}</string>
<int key="NSCursorType">13</int>
</object>
<integer value="1" key="NSUnderline"/>
</dictionary>
<object class="NSParagraphStyle" key="NSDefaultParagraphStyle">
<nil key="NSTabStops"/>
</object>
<nil key="NSTextFinder"/>
<int key="NSPreferredTextFinderStyle">0</int>
</object>
<int key="NSTVFlags">6</int>
<string key="NSMaxSize">{383, 10000000}</string>
<string key="NSMinize">{368, 162}</string>
<nil key="NSDelegate"/>
</object>
</array>
<string key="NSFrame">{{1, 1}, {384, 162}}</string>
<reference key="NSSuperview" ref="295271037"/>
<reference key="NSNextKeyView" ref="201035292"/>
<reference key="NSDocView" ref="201035292"/>
<reference key="NSBGColor" ref="1011752443"/>
<object class="NSCursor" key="NSCursor">
<string key="NSHotSpot">{1, -1}</string>
<int key="NSCursorType">0</int>
</object>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="606185208">
<reference key="NSNextResponder" ref="295271037"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{370, 1}, {15, 162}}</string>
<reference key="NSSuperview" ref="295271037"/>
<reference key="NSTarget" ref="295271037"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
</object>
<object class="NSScroller" id="150410007">
<reference key="NSNextResponder" ref="295271037"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
<reference key="NSSuperview" ref="295271037"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="295271037"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
<double key="NSPercent">0.94565218687057495</double>
</object>
</array>
<string key="NSFrame">{{74, 25}, {386, 164}}</string>
<reference key="NSSuperview" ref="957960579"/>
<reference key="NSNextKeyView" ref="788833434"/>
<int key="NSsFlags">2066</int>
<reference key="NSVScroller" ref="606185208"/>
<reference key="NSHScroller" ref="150410007"/>
<reference key="NSContentView" ref="788833434"/>
</object>
</array>
<string key="NSFrameSize">{476, 260}</string>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{410, 222}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="473137193"/>
<reference key="destination" ref="463685911"/>
</object>
<int key="connectionID">52</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="463685911"/>
<reference key="destination" ref="473137193"/>
</object>
<int key="connectionID">53</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">initialFirstResponder</string>
<reference key="source" ref="463685911"/>
<reference key="destination" ref="201035292"/>
</object>
<int key="connectionID">54</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="866047966"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="473137193"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="991267996"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">37</int>
<reference key="object" ref="1067726277"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">38</int>
<reference key="object" ref="463685911"/>
<array class="NSMutableArray" key="children">
<reference ref="957960579"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">39</int>
<reference key="object" ref="957960579"/>
<array class="NSMutableArray" key="children">
<reference ref="820980846"/>
<reference ref="33257083"/>
<reference ref="983245233"/>
<reference ref="195291066"/>
<reference ref="295271037"/>
</array>
<reference key="parent" ref="463685911"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">40</int>
<reference key="object" ref="820980846"/>
<array class="NSMutableArray" key="children">
<reference ref="335432255"/>
</array>
<reference key="parent" ref="957960579"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">41</int>
<reference key="object" ref="335432255"/>
<reference key="parent" ref="820980846"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">42</int>
<reference key="object" ref="33257083"/>
<array class="NSMutableArray" key="children">
<reference ref="356414816"/>
</array>
<reference key="parent" ref="957960579"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">43</int>
<reference key="object" ref="356414816"/>
<reference key="parent" ref="33257083"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">44</int>
<reference key="object" ref="983245233"/>
<array class="NSMutableArray" key="children">
<reference ref="707111242"/>
</array>
<reference key="parent" ref="957960579"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">45</int>
<reference key="object" ref="707111242"/>
<reference key="parent" ref="983245233"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">46</int>
<reference key="object" ref="195291066"/>
<array class="NSMutableArray" key="children">
<reference ref="302372936"/>
</array>
<reference key="parent" ref="957960579"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">47</int>
<reference key="object" ref="302372936"/>
<reference key="parent" ref="195291066"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">48</int>
<reference key="object" ref="295271037"/>
<array class="NSMutableArray" key="children">
<reference ref="201035292"/>
<reference ref="150410007"/>
<reference ref="606185208"/>
</array>
<reference key="parent" ref="957960579"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">49</int>
<reference key="object" ref="201035292"/>
<reference key="parent" ref="295271037"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">50</int>
<reference key="object" ref="150410007"/>
<reference key="parent" ref="295271037"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">51</int>
<reference key="object" ref="606185208"/>
<reference key="parent" ref="295271037"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="638199867"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="37.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="40.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="42.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="43.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="45.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="46.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="48.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="49.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="50.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="51.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">55</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NS.key.0">NSApplicationIcon</string>
<string key="NS.object.0">{128, 128}</string>
</object>
</data>
</archive>

View File

@ -1,88 +0,0 @@
{
IBClasses = (
{
ACTIONS = {
emailDeveloper = id;
showAbout = id;
showInfo = id;
showPasteboard = id;
showPrefs = id;
visitSourceforge = id;
visitWebsite = id;
};
CLASS = ApplicationDelegate;
LANGUAGE = ObjC;
OUTLETS = {openPanelDelegate = OpenPanelDelegate; };
SUPERCLASS = NSObject;
},
{
ACTIONS = {
deselectAll = id;
exportResourceToFile = id;
exportResourceToImageFile = id;
findNext = id;
findPrevious = id;
findWithSelection = id;
openResources = id;
openResourcesAsHex = id;
openResourcesInTemplate = id;
playSound = id;
revertResource = id;
saveResource = id;
scrollToSelection = id;
showAbout = id;
showCreateResourceSheet = id;
showExportToDFSheet = id;
showFind = id;
showInfo = id;
showPrefs = id;
showSelectTemplateSheet = id;
useIconView = id;
useListView = id;
};
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{CLASS = NSOutlineView; LANGUAGE = ObjC; SUPERCLASS = NSTableView; },
{
ACTIONS = {addFork = id; removeFork = id; };
CLASS = OpenPanelDelegate;
LANGUAGE = ObjC;
OUTLETS = {
addForkButton = NSButton;
forkTableView = NSTableView;
openPanelAccessoryView = NSView;
removeForkButton = NSButton;
};
SUPERCLASS = NSObject;
},
{CLASS = OutlineSortView; LANGUAGE = ObjC; SUPERCLASS = NSOutlineView; },
{
ACTIONS = {
clear = id;
copy = id;
creatorChanged = id;
exportResourceToFile = id;
exportResourceToImageFile = id;
openResources = id;
openResourcesAsHex = id;
openResourcesInTemplate = id;
paste = id;
playSound = id;
showCreateResourceSheet = id;
showSelectTemplateSheet = id;
typeChanged = id;
};
CLASS = ResourceDocument;
LANGUAGE = ObjC;
OUTLETS = {
dataSource = ResourceDataSource;
mainWindow = NSWindow;
outlineView = NSOutlineView;
};
SUPERCLASS = NSDocument;
}
);
IBVersion = 1;
}

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>75 727 356 240 0 0 1600 1002 </string>
<key>IBEditorPositions</key>
<dict>
<key>246</key>
<string>569 580 520 175 0 0 1600 1002 </string>
<key>29</key>
<string>66 658 366 44 0 0 1600 1002 </string>
</dict>
<key>IBFramework Version</key>
<string>446.1</string>
<key>IBLockedObjects</key>
<array/>
<key>IBOldestOS</key>
<integer>1</integer>
<key>IBOpenObjects</key>
<array>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
<string>8L127</string>
</dict>
</plist>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +0,0 @@
{
IBClasses = (
{
ACTIONS = {
hideCreateResourceSheet = id;
showCreateResourceSheet = id;
typePopupSelection = id;
};
CLASS = CreateResourceSheetController;
LANGUAGE = ObjC;
OUTLETS = {
attributesMatrix = NSMatrix;
cancelButton = NSButton;
createButton = NSButton;
nameView = NSTextField;
resIDView = NSTextField;
typePopup = NSPopUpButton;
typeView = NSTextField;
};
SUPERCLASS = NSWindowController;
},
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
);
IBVersion = 1;
}

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>58 46 387 357 0 0 832 602 </string>
<key>IBFramework Version</key>
<string>326.0</string>
<key>IBOldestOS</key>
<integer>3</integer>
<key>IBOpenObjects</key>
<array>
<integer>20</integer>
</array>
<key>IBSystem Version</key>
<string>7A179</string>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@ -1,27 +0,0 @@
{
IBClasses = (
{
ACTIONS = {creatorChanged = id; typeChanged = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
ACTIONS = {attributesChanged = id; };
CLASS = InfoWindowController;
LANGUAGE = ObjC;
OUTLETS = {
attributesMatrix = NSMatrix;
documentView = NSBox;
filePropertyForm = NSForm;
iconView = NSImageView;
nameView = NSTextField;
placeholderView = NSBox;
resourceView = NSBox;
};
SUPERCLASS = NSWindowController;
},
{CLASS = SizeFormatter; LANGUAGE = ObjC; SUPERCLASS = NSNumberFormatter; }
);
IBVersion = 1;
}

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>267 434 384 240 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>439.0</string>
<key>IBOldestOS</key>
<integer>0</integer>
<key>IBSystem Version</key>
<string>8I127</string>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +0,0 @@
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {acceptPrefs = id; cancelPrefs = id; resetToDefault = id; };
CLASS = PrefsWindowController;
LANGUAGE = ObjC;
OUTLETS = {
autosaveIntervalField = NSTextField;
dataProtectionMatrix = NSMatrix;
launchActionMatrix = NSMatrix;
};
SUPERCLASS = NSWindowController;
}
);
IBVersion = 1;
}

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>IBDocumentLocation</key>
<string>70 184 468 280 0 74 1280 928 </string>
<key>IBFramework Version</key>
<string>248.0</string>
<key>IBOpenObjects</key>
<array>
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>5P48</string>
<key>IBUserGuides</key>
<dict>
<key>PrefsWindow</key>
<dict>
<key>guideLocations</key>
<array/>
<key>guidesLocked</key>
<string>NO</string>
</dict>
</dict>
</dict>
</plist>

Binary file not shown.

View File

@ -0,0 +1,840 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSView</string>
<string>NSCustomObject</string>
<string>NSWindowTemplate</string>
<string>NSMatrix</string>
<string>NSTextField</string>
<string>NSTextFieldCell</string>
<string>NSButtonCell</string>
<string>NSButton</string>
<string>NSBox</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="482980322">
<object class="NSCustomObject" id="661240023">
<string key="NSClassName">PrefsWindowController</string>
</object>
<object class="NSCustomObject" id="90731677">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="606650785">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="410586379">
<int key="NSWindowStyleMask">1</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{277, 363}, {315, 283}}</string>
<int key="NSWTFlags">1886912512</int>
<string key="NSWindowTitle">ResKnife Preferences</string>
<string key="NSWindowClass">NSPanel</string>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{213, 107}</string>
<object class="NSView" key="NSWindowView" id="111157287">
<reference key="NSNextResponder"/>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="538555589">
<reference key="NSNextResponder" ref="111157287"/>
<int key="NSvFlags">33</int>
<string key="NSFrame">{{217, 12}, {84, 32}}</string>
<reference key="NSSuperview" ref="111157287"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="68096196">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">137887744</int>
<string key="NSContents">OK</string>
<object class="NSFont" key="NSSupport" id="222986949">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="538555589"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">1</int>
<object class="NSFont" key="NSAlternateImage" id="726842255">
<string key="NSName">Helvetica</string>
<double key="NSSize">13</double>
<int key="NSfFlags">16</int>
</object>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="350430541">
<reference key="NSNextResponder" ref="111157287"/>
<string key="NSFrame">{{133, 12}, {84, 32}}</string>
<reference key="NSSuperview" ref="111157287"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="409509542">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">137887744</int>
<string key="NSContents">Cancel</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="350430541"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="726842255"/>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="583977651">
<reference key="NSNextResponder" ref="111157287"/>
<string key="NSFrame">{{14, 12}, {86, 32}}</string>
<reference key="NSSuperview" ref="111157287"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="201885966">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">137887744</int>
<string key="NSContents">Default</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="583977651"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="726842255"/>
<object class="NSMutableString" key="NSAlternateContents">
<characters key="NS.bytes"/>
</object>
<object class="NSMutableString" key="NSKeyEquivalent">
<characters key="NS.bytes"/>
</object>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSBox" id="364944128">
<reference key="NSNextResponder" ref="111157287"/>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSView" id="553404250">
<reference key="NSNextResponder" ref="364944128"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSMatrix" id="906992815">
<reference key="NSNextResponder" ref="553404250"/>
<string key="NSFrame">{{12, 12}, {247, 69}}</string>
<reference key="NSSuperview" ref="553404250"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">3</int>
<int key="NSNumCols">1</int>
<array class="NSMutableArray" key="NSCells">
<object class="NSButtonCell" id="142729319">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Preserve back—up file when saving</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="906992815"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="840507954">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
</object>
<object class="NSButtonImageSource" key="NSAlternateImage" id="648489396">
<string key="NSImageName">NSSwitch</string>
</object>
<string key="NSAlternateContents"/>
<object class="NSMutableString" key="NSKeyEquivalent" id="333489425">
<characters key="NS.bytes"/>
</object>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<object class="NSButtonCell" id="259751215">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Autosave every</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="906992815"/>
<int key="NSTag">1</int>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="840507954"/>
<reference key="NSAlternateImage" ref="648489396"/>
<string key="NSAlternateContents"/>
<reference key="NSKeyEquivalent" ref="333489425"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<object class="NSButtonCell" id="552315508">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Warn when deleting resources</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="906992815"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="840507954"/>
<reference key="NSAlternateImage" ref="648489396"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
</array>
<string key="NSCellSize">{247, 19}</string>
<string key="NSIntercellSpacing">{4, 6}</string>
<int key="NSMatrixFlags">69730304</int>
<string key="NSCellClass">NSActionCell</string>
<object class="NSButtonCell" key="NSProtoCell" id="632495491">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Radio</string>
<reference key="NSSupport" ref="222986949"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<object class="NSButtonImageSource" key="NSAlternateImage" id="372163663">
<string key="NSImageName">NSRadioButton</string>
</object>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
<int key="NSSelectedRow">-1</int>
<int key="NSSelectedCol">-1</int>
<object class="NSColor" key="NSBackgroundColor" id="773907309">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSCellBackgroundColor" id="788059976">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<reference key="NSFont" ref="222986949"/>
</object>
<object class="NSTextField" id="168958712">
<reference key="NSNextResponder" ref="553404250"/>
<string key="NSFrame">{{136, 37}, {28, 22}}</string>
<reference key="NSSuperview" ref="553404250"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="917258636">
<int key="NSCellFlags">-1804468671</int>
<int key="NSCellFlags2">138413056</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="168958712"/>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSColor" key="NSBackgroundColor" id="688414624">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string>
<reference key="NSColor" ref="788059976"/>
</object>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textColor</string>
<object class="NSColor" key="NSColor" id="40720300">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
</object>
<object class="NSTextField" id="1073040734">
<reference key="NSNextResponder" ref="553404250"/>
<string key="NSFrame">{{169, 39}, {91, 17}}</string>
<reference key="NSSuperview" ref="553404250"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="813154465">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
<string key="NSContents">minutes</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="1073040734"/>
<reference key="NSBackgroundColor" ref="773907309"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<reference key="NSColor" ref="40720300"/>
</object>
</object>
</object>
</array>
<string key="NSFrame">{{2, 2}, {271, 90}}</string>
<reference key="NSSuperview" ref="364944128"/>
<reference key="NSWindow"/>
</object>
</array>
<string key="NSFrame">{{20, 166}, {275, 110}}</string>
<reference key="NSSuperview" ref="111157287"/>
<reference key="NSWindow"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Data Protection</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSBackgroundColor" ref="688414624"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgAA</bytes>
</object>
</object>
<reference key="NSContentView" ref="553404250"/>
<int key="NSBorderType">3</int>
<int key="NSBoxType">0</int>
<int key="NSTitlePosition">2</int>
<bool key="NSTransparent">NO</bool>
</object>
<object class="NSBox" id="432824045">
<reference key="NSNextResponder" ref="111157287"/>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSView" id="172804728">
<reference key="NSNextResponder" ref="432824045"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSMatrix" id="745354042">
<reference key="NSNextResponder" ref="172804728"/>
<string key="NSFrame">{{12, 12}, {247, 58}}</string>
<reference key="NSSuperview" ref="172804728"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">3</int>
<int key="NSNumCols">1</int>
<array class="NSMutableArray" key="NSCells">
<object class="NSButtonCell" id="58514044">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Do Nothing</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="745354042"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="372163663"/>
<string key="NSAlternateContents"/>
<object class="NSMutableString" key="NSKeyEquivalent" id="460584464">
<characters key="NS.bytes"/>
</object>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<object class="NSButtonCell" id="387900038">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Create New Document</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="745354042"/>
<int key="NSTag">1</int>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="372163663"/>
<string key="NSAlternateContents"/>
<reference key="NSKeyEquivalent" ref="460584464"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<object class="NSButtonCell" id="684024765">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Display Open Dialog</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSControlView" ref="745354042"/>
<int key="NSTag">2</int>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<object class="NSImage" key="NSNormalImage" id="410933069">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{18, 18}</string>
<array class="NSMutableArray" key="NSReps">
<array>
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAEgAAACAAAAAh
AAAAFQAAAAMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQMDAycLCwuB
Hx8fwDY2Nu82NjbzIyMjxw0NDY0BAQEyAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAB
DAwMTDIyMstcXFz/g4OD/5mZmf+ZmZn/hoaG/2JiYv8xMTHYDAwMXwAAAAUAAAABAAAAAAAAAAAAAAAA
AAAAAwAAAAALCws7S0tL1H9/f/+mpqb7w8PD/dHR0f7T09P/x8fH/bGxsfuGhob/S0tL5AwMDFAAAAAA
AAAAAwAAAAAAAAADAAAAAAEBARE8PDynf39//6Ghofu+vr7/zMzM/9HR0f/U1NT/0tLS/8fHx/+lpaX7
fHx8/zw8PMACAgIeAAAAAAAAAAIAAAAFAAAAAAcHBz5vb2/mm5ub/66urv28vLz/wMDA/8DAwP/BwcH/
v7+//7u7u/+xsbH+mpqa/3JycvIMDAxWAAAAAAAAAAQAAAAHAAAAAA4ODmCbm5v/rq6u+729vf/Dw8P/
xMTE/8PDw//BwcH/wsLC/8HBwf+9vb3/ra2t+5iYmP8bGxuAAAAAAAAAAAUAAAAGAAAAARUVFXK0tLT/
vr6++szMzP/S0tL/09PT/9XV1f/U1NT/0tLS/8/Pz//Nzc3/vLy8+rOzs/8nJyeUAAAAAgAAAAUAAAAF
AAAACBMTE263t7f/zc3N/djY2P7g4OD/4eHh/+Tk5P/k5OT/4+Pj/97e3v/Z2dn/ysrK/bi4uP8jIyOK
AAAADAAAAAUAAAAEAAAADAsLC1+cnJzr2tra/+Dg4P3r6+v/7+/v//Ly8v/w8PD/7e3t/+rq6v/g4OD+
2NjY/6qqqvQWFhZ1AAAADwAAAAQAAAACAAAADgEBAUNSUlK+2tra/+vr6/7z8/P/+vr6///////8/Pz/
9/f3//Hx8f/o6Oj+29vb/2dnZ84EBARRAAAAEQAAAAMAAAABAAAACwAAACwQEBCAjIyM4u7u7v/7+/v+
/v7+//7+/v/9/f3+/v7+//j4+P/w8PD/np6e6hkZGY8AAAAzAAAADgAAAAIAAAABAAAABQAAABoAAABN
GBgYmYODg93t7e3+/v7+//////////////////Pz8/+Tk5PkIiIipQAAAFUAAAAgAAAABwAAAAEAAAAA
AAAAAQAAAAsAAAAqAAAAWQYGBo07Ozu/eHh42qampuurq6vsf39/3kVFRcQKCgqVAAAAYAAAAC8AAAAO
AAAAAgAAAAAAAAAAAAAAAQAAAAMAAAAOAAAAKgAAAFEAAABzAAAAiQAAAJQAAACVAAAAjAAAAHcAAABW
AAAALwAAABAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAADAAAACgAAAB0AAAA0AAAASAEBAVQBAQFV
AAAASwAAADcAAAAhAAAADQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAM
AAAAEQAAABUAAAAVAAAAEQAAAA0AAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB
AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
</array>
</array>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
</object>
<reference key="NSAlternateImage" ref="372163663"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
</array>
<string key="NSCellSize">{247, 18}</string>
<string key="NSIntercellSpacing">{4, 2}</string>
<int key="NSMatrixFlags">1143472128</int>
<string key="NSCellClass">NSActionCell</string>
<object class="NSButtonCell" key="NSProtoCell" id="1049721134">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Radio</string>
<reference key="NSSupport" ref="222986949"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSNormalImage" ref="410933069"/>
<reference key="NSAlternateImage" ref="372163663"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
<reference key="NSSelectedCell" ref="58514044"/>
<reference key="NSBackgroundColor" ref="773907309"/>
<reference key="NSCellBackgroundColor" ref="788059976"/>
<reference key="NSFont" ref="222986949"/>
</object>
</array>
<string key="NSFrame">{{2, 2}, {271, 79}}</string>
<reference key="NSSuperview" ref="432824045"/>
<reference key="NSWindow"/>
</object>
</array>
<string key="NSFrame">{{20, 60}, {275, 99}}</string>
<reference key="NSSuperview" ref="111157287"/>
<reference key="NSWindow"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Launch Action</string>
<reference key="NSSupport" ref="222986949"/>
<reference key="NSBackgroundColor" ref="688414624"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgAA</bytes>
</object>
</object>
<reference key="NSContentView" ref="172804728"/>
<int key="NSBorderType">3</int>
<int key="NSBoxType">0</int>
<int key="NSTitlePosition">2</int>
<bool key="NSTransparent">NO</bool>
</object>
</array>
<string key="NSFrameSize">{315, 283}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{213, 129}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<int key="NSWindowCollectionBehavior">256</int>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">resetToDefault:</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="583977651"/>
</object>
<int key="connectionID">24</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="410586379"/>
</object>
<int key="connectionID">27</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">acceptPrefs:</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="538555589"/>
</object>
<int key="connectionID">29</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">cancelPrefs:</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="350430541"/>
</object>
<int key="connectionID">30</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataProtectionMatrix</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="906992815"/>
</object>
<int key="connectionID">25</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">autosaveIntervalField</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="168958712"/>
</object>
<int key="connectionID">26</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">launchActionMatrix</string>
<reference key="source" ref="661240023"/>
<reference key="destination" ref="745354042"/>
</object>
<int key="connectionID">39</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="410586379"/>
<reference key="destination" ref="661240023"/>
</object>
<int key="connectionID">28</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="482980322"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="661240023"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="90731677"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="410586379"/>
<array class="NSMutableArray" key="children">
<reference ref="111157287"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">PrefsWindow</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="111157287"/>
<array class="NSMutableArray" key="children">
<reference ref="538555589"/>
<reference ref="350430541"/>
<reference ref="583977651"/>
<reference ref="364944128"/>
<reference ref="432824045"/>
</array>
<reference key="parent" ref="410586379"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="538555589"/>
<array class="NSMutableArray" key="children">
<reference ref="68096196"/>
</array>
<reference key="parent" ref="111157287"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="350430541"/>
<array class="NSMutableArray" key="children">
<reference ref="409509542"/>
</array>
<reference key="parent" ref="111157287"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="583977651"/>
<array class="NSMutableArray" key="children">
<reference ref="201885966"/>
</array>
<reference key="parent" ref="111157287"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="364944128"/>
<array class="NSMutableArray" key="children">
<reference ref="906992815"/>
<reference ref="168958712"/>
<reference ref="1073040734"/>
</array>
<reference key="parent" ref="111157287"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="432824045"/>
<array class="NSMutableArray" key="children">
<reference ref="745354042"/>
</array>
<reference key="parent" ref="111157287"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">41</int>
<reference key="object" ref="68096196"/>
<reference key="parent" ref="538555589"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">42</int>
<reference key="object" ref="409509542"/>
<reference key="parent" ref="350430541"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">43</int>
<reference key="object" ref="201885966"/>
<reference key="parent" ref="583977651"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="606650785"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="906992815"/>
<array class="NSMutableArray" key="children">
<reference ref="632495491"/>
<reference ref="552315508"/>
<reference ref="259751215"/>
<reference ref="142729319"/>
</array>
<reference key="parent" ref="364944128"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">46</int>
<reference key="object" ref="632495491"/>
<reference key="parent" ref="906992815"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="552315508"/>
<reference key="parent" ref="906992815"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="259751215"/>
<reference key="parent" ref="906992815"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="142729319"/>
<reference key="parent" ref="906992815"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">21</int>
<reference key="object" ref="168958712"/>
<array class="NSMutableArray" key="children">
<reference ref="917258636"/>
</array>
<reference key="parent" ref="364944128"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">44</int>
<reference key="object" ref="917258636"/>
<reference key="parent" ref="168958712"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">22</int>
<reference key="object" ref="1073040734"/>
<array class="NSMutableArray" key="children">
<reference ref="813154465"/>
</array>
<reference key="parent" ref="364944128"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">45</int>
<reference key="object" ref="813154465"/>
<reference key="parent" ref="1073040734"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">33</int>
<reference key="object" ref="745354042"/>
<array class="NSMutableArray" key="children">
<reference ref="1049721134"/>
<reference ref="684024765"/>
<reference ref="387900038"/>
<reference ref="58514044"/>
</array>
<reference key="parent" ref="432824045"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">47</int>
<reference key="object" ref="1049721134"/>
<reference key="parent" ref="745354042"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">38</int>
<reference key="object" ref="684024765"/>
<reference key="parent" ref="745354042"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">37</int>
<reference key="object" ref="387900038"/>
<reference key="parent" ref="745354042"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">36</int>
<reference key="object" ref="58514044"/>
<reference key="parent" ref="745354042"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="22.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="33.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="37.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="42.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="43.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="45.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="46.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES" key="5.NSWindowTemplate.visibleAtLaunch"/>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">47</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">PrefsWindowController</string>
<string key="superclassName">NSWindowController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="acceptPrefs:">id</string>
<string key="cancelPrefs:">id</string>
<string key="resetToDefault:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="acceptPrefs:">
<string key="name">acceptPrefs:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="cancelPrefs:">
<string key="name">cancelPrefs:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="resetToDefault:">
<string key="name">resetToDefault:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="autosaveIntervalField">NSTextField</string>
<string key="dataProtectionMatrix">NSMatrix</string>
<string key="launchActionMatrix">NSMatrix</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="autosaveIntervalField">
<string key="name">autosaveIntervalField</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo" key="dataProtectionMatrix">
<string key="name">dataProtectionMatrix</string>
<string key="candidateClassName">NSMatrix</string>
</object>
<object class="IBToOneOutletInfo" key="launchActionMatrix">
<string key="name">launchActionMatrix</string>
<string key="candidateClassName">NSMatrix</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/PrefsWindowController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NS.key.0">NSSwitch</string>
<string key="NS.object.0">{15, 15}</string>
</object>
</data>
</archive>

View File

@ -1,42 +0,0 @@
{
IBClasses = (
{CLASS = AttributesFormatter; LANGUAGE = ObjC; SUPERCLASS = NSFormatter; },
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
CLASS = OutlineViewDelegate;
LANGUAGE = ObjC;
OUTLETS = {
attributesFormatter = NSFormatter;
sizeFormatter = NSNumberFormatter;
window = NSWindow;
};
SUPERCLASS = NSObject;
},
{CLASS = RKOutlineView; LANGUAGE = ObjC; SUPERCLASS = NSOutlineView; },
{
CLASS = ResourceDataSource;
LANGUAGE = ObjC;
OUTLETS = {document = ResourceDocument; outlineView = NSOutlineView; window = NSWindow; };
SUPERCLASS = NSObject;
},
{
ACTIONS = {
clear = id;
openResource = id;
openResourceAsHex = id;
playSound = id;
showCreateResourceSheet = id;
};
CLASS = ResourceDocument;
LANGUAGE = ObjC;
OUTLETS = {
dataSource = ResourceDataSource;
mainWindow = NSWindow;
outlineView = NSOutlineView;
};
SUPERCLASS = NSDocument;
},
{CLASS = SizeFormatter; LANGUAGE = ObjC; SUPERCLASS = NSNumberFormatter; }
);
IBVersion = 1;
}

View File

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>579 557 418 241 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>349.0</string>
<key>IBLockedObjects</key>
<array>
<integer>146</integer>
</array>
<key>IBSystem Version</key>
<string>7H63</string>
<key>IBUserGuides</key>
<dict>
<key>CreateResourceSheet</key>
<dict>
<key>guideLocations</key>
<array/>
<key>guidesLocked</key>
<string>NO</string>
</dict>
<key>Window</key>
<dict>
<key>guideLocations</key>
<array/>
<key>guidesLocked</key>
<string>NO</string>
</dict>
</dict>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@ -10,10 +10,9 @@
<key>CFBundleTypeExtensions</key>
<array>
<string>rsrc</string>
<string>*</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Resource file.icns</string>
<string>Resource file</string>
<key>CFBundleTypeName</key>
<string>ResourceMap</string>
<key>CFBundleTypeOSTypes</key>
@ -32,13 +31,33 @@
<key>NSDocumentClass</key>
<string>ResourceDocument</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>*/*</string>
</array>
<key>CFBundleTypeName</key>
<string>Anything</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.data</string>
</array>
<key>NSDocumentClass</key>
<string>ResourceDocument</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>ResKnife Cocoa</string>
<string>ResKnife</string>
<key>CFBundleGetInfoString</key>
<string>A resource editor for Mac OS X.</string>
<key>CFBundleIconFile</key>
<string>ResKnife.icns</string>
<string>ResKnife</string>
<key>CFBundleIdentifier</key>
<string>com.nickshanks.resknife</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -52,7 +71,7 @@
<key>CFBundleSignature</key>
<string>ResK</string>
<key>CFBundleVersion</key>
<string>19</string>
<string>21</string>
<key>NSAppleScriptEnabled</key>
<true/>
<key>NSMainNibFile</key>

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1030</int>
<string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">1617</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSView</string>
@ -25,7 +25,10 @@
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="920519606">
<object class="NSCustomObject" id="881664005">
<string key="NSClassName">FontWindowController</string>
@ -47,7 +50,7 @@
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{94, 86}</string>
<object class="NSView" key="NSWindowView" id="647756394">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="297955553">
@ -295,9 +298,8 @@
</object>
</array>
<string key="NSFrameSize">{294, 372}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{94, 108}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
@ -321,14 +323,6 @@
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="187492193"/>
<reference key="destination" ref="881664005"/>
</object>
<int key="connectionID">17</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
@ -337,6 +331,22 @@
</object>
<int key="connectionID">18</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">openTableInEditor:</string>
<reference key="source" ref="881664005"/>
<reference key="destination" ref="357669881"/>
</object>
<int key="connectionID">44</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="187492193"/>
<reference key="destination" ref="881664005"/>
</object>
<int key="connectionID">17</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">content: arrangedObjects</string>
@ -387,22 +397,6 @@
</object>
<int key="connectionID">30</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.name</string>
<reference key="source" ref="504009056"/>
<reference key="destination" ref="622054851"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="504009056"/>
<reference key="NSDestination" ref="622054851"/>
<string key="NSLabel">value: arrangedObjects.name</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">arrangedObjects.name</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">31</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.checksum</string>
@ -419,6 +413,22 @@
</object>
<int key="connectionID">32</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.name</string>
<reference key="source" ref="504009056"/>
<reference key="destination" ref="622054851"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="504009056"/>
<reference key="NSDestination" ref="622054851"/>
<string key="NSLabel">value: arrangedObjects.name</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">arrangedObjects.name</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">31</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.offset</string>
@ -467,14 +477,6 @@
</object>
<int key="connectionID">37</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">openTableInEditor:</string>
<reference key="source" ref="881664005"/>
<reference key="destination" ref="357669881"/>
</object>
<int key="connectionID">44</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@ -643,12 +645,34 @@
<nil key="sourceID"/>
<int key="maxID">52</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">FontWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">saveResource:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">saveResource:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">saveResource:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/FontWindowController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1030" key="NS.object.0"/>
<real value="1060" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1020</int>
<string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">1617</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSCustomObject</string>
@ -31,7 +31,10 @@
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="36877977">
<object class="NSCustomObject" id="371742935">
<string key="NSClassName">FontWindowController</string>
@ -53,23 +56,22 @@
<characters key="NS.bytes">View</characters>
</object>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{193.21799999999999, 168}</string>
<string key="NSWindowContentMinSize">{193, 168}</string>
<object class="NSView" key="NSWindowView" id="912718864">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{299, 218}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSMinSize">{193.21799999999999, 190}</string>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{193, 190}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSDrawer" id="939552876">
<nil key="NSNextResponder"/>
<string key="NSContentSize">{200, 186}</string>
<string key="NSMinContentSize">{58, 50}</string>
<string key="NSMaxContentSize">{58, 0}</string>
<string key="NSContentSize">{200, 198}</string>
<string key="NSMinContentSize">{50, 50}</string>
<string key="NSMaxContentSize">{200, 200}</string>
<int key="NSPreferredEdge">0</int>
<double key="NSLeadingOffset">0.0</double>
<double key="NSTrailingOffset">15</double>
@ -77,7 +79,7 @@
<nil key="NSDelegate"/>
</object>
<object class="NSCustomView" id="842202587">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="837390482">
@ -93,6 +95,7 @@
<int key="NSvFlags">8448</int>
<string key="NSFrameSize">{56, 205}</string>
<reference key="NSSuperview" ref="333315727"/>
<reference key="NSNextKeyView" ref="722969521"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
@ -197,6 +200,7 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-22, 1}, {11, 186}}</string>
<reference key="NSSuperview" ref="837390482"/>
<reference key="NSNextKeyView" ref="333315727"/>
<int key="NSsFlags">256</int>
<reference key="NSTarget" ref="837390482"/>
<string key="NSAction">_doScroller:</string>
@ -207,6 +211,7 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {75, 11}}</string>
<reference key="NSSuperview" ref="837390482"/>
<reference key="NSNextKeyView" ref="1029464843"/>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="837390482"/>
<string key="NSAction">_doScroller:</string>
@ -224,7 +229,7 @@
</object>
</array>
<string key="NSFrameSize">{58, 207}</string>
<reference key="NSSuperview"/>
<reference key="NSNextKeyView" ref="837390482"/>
<object class="NSMutableString" key="NSClassName">
<characters key="NS.bytes">NSView</characters>
</object>
@ -241,7 +246,7 @@
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{133.39599999999999, 86}</string>
<object class="NSView" key="NSWindowView" id="911436231">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSSplitView" id="12551203">
@ -394,7 +399,7 @@
<int key="NSTCFlags">1</int>
</object>
<object class="NSTextViewSharedData" key="NSSharedData">
<int key="NSFlags">2912</int>
<int key="NSFlags">33557344</int>
<int key="NSTextCheckingTypes">0</int>
<nil key="NSMarkedAttributes"/>
<reference key="NSBackgroundColor" ref="521001443"/>
@ -541,15 +546,14 @@
</object>
</array>
<string key="NSFrameSize">{512, 384}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{133.39599999999999, 108}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSCustomView" id="494949541">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="188966590">
@ -807,7 +811,6 @@
</object>
</array>
<string key="NSFrameSize">{416, 313}</string>
<reference key="NSSuperview"/>
<object class="NSMutableString" key="NSClassName">
<characters key="NS.bytes">NSView</characters>
</object>
@ -824,6 +827,22 @@
</object>
<int key="connectionID">9</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableList</string>
<reference key="source" ref="371742935"/>
<reference key="destination" ref="362189248"/>
</object>
<int key="connectionID">39</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableListDrawer</string>
<reference key="source" ref="371742935"/>
<reference key="destination" ref="939552876"/>
</object>
<int key="connectionID">49</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
@ -848,22 +867,6 @@
</object>
<int key="connectionID">35</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableList</string>
<reference key="source" ref="371742935"/>
<reference key="destination" ref="362189248"/>
</object>
<int key="connectionID">39</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableListDrawer</string>
<reference key="source" ref="371742935"/>
<reference key="destination" ref="939552876"/>
</object>
<int key="connectionID">49</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
@ -1249,12 +1252,34 @@
<nil key="sourceID"/>
<int key="maxID">77</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">FontWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">saveResource:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">saveResource:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">saveResource:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/FontWindowController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1020" key="NS.object.0"/>
<real value="1060" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>

View File

@ -17,7 +17,7 @@
}
- (void)loadFontFromResource;
- (IBAction)saveResource:(id)sender;
- (void)setTableData:(id)tableResource;
- (void)setTableData:(id <ResKnifeResourceProtocol>)tableResource;
- (void)openTable:(NSDictionary *)table inEditor:(BOOL)editor;
@end

View File

@ -1,5 +1,7 @@
#import "FontWindowController.h"
#import "NGSCategories.h"
#import "ResourceDocument.h"
#import "Resource.h"
#import <stdarg.h>
UInt32 TableChecksum(UInt32 *table, UInt32 length)
@ -79,7 +81,7 @@ UInt32 TableChecksum(UInt32 *table, UInt32 length)
if(![[resource name] isEqualToString:@""])
{
[[self window] setTitle:[resource name]];
SetWindowAlternateTitle((WindowRef) [[self window] windowRef], (CFStringRef) [NSString stringWithFormat:NSLocalizedString(@"%@ %@: '%@'", nil), [resource type], [resource resID], [resource name]]);
//SetWindowAlternateTitle((WindowRef) [[self window] windowRef], (CFStringRef) [NSString stringWithFormat:NSLocalizedString(@"%@ %@: '%@'", nil), [resource type], [resource resID], [resource name]]);
}
// we don't want this notification until we have a window! (Only register for notifications on the resource we're editing)
@ -212,7 +214,7 @@ UInt32 TableChecksum(UInt32 *table, UInt32 length)
[NSNumber numberWithUnsignedLong: 0], @"length",
[NSData data], @"data", nil];
[headerTable addObject:table];
numTables = [headerTable count];
numTables = (UInt16)[headerTable count];
[self openTable:table inEditor:YES];
[self setDocumentEdited:YES];
}
@ -252,7 +254,7 @@ UInt32 TableChecksum(UInt32 *table, UInt32 length)
[self setTableData:[notification object]];
}
- (void)setTableData:(id)tableResource
- (void)setTableData:(id <ResKnifeResourceProtocol>)tableResource
{
NSDictionary *table = [headerTable firstObjectReturningValue:[tableResource type] forKey:@"name"];
if(!table)

View File

@ -1,33 +0,0 @@
{
IBClasses = (
{
ACTIONS = {
findNext = id;
findPrevious = id;
findWithSelection = id;
hideFindSheet = id;
replaceAll = id;
replaceFindNext = id;
showFindSheet = id;
};
CLASS = FindSheetController;
LANGUAGE = ObjC;
OUTLETS = {
cancelButton = NSButton;
caseSensitiveBox = NSButton;
findNextButton = NSButton;
findReplaceForm = NSForm;
matchEntireWordsBox = NSButton;
replaceAllButton = NSButton;
searchASCIIOrHexRadios = NSMatrix;
searchBackwardsBox = NSButton;
searchSelectionOnlyBox = NSButton;
startAtTopBox = NSButton;
wrapAroundBox = NSButton;
};
SUPERCLASS = NSWindowController;
},
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
);
IBVersion = 1;
}

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>366 155 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key>
<string>283.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>0</key>
<array>
<string>17</string>
<string>30</string>
<string>31</string>
<string>46</string>
<string>47</string>
<string>48</string>
<string>49</string>
</array>
</dict>
<key>IBLastGroupID</key>
<string>1</string>
<key>IBOpenObjects</key>
<array>
<integer>7</integer>
</array>
<key>IBSystem Version</key>
<string>6G30</string>
</dict>
</plist>

View File

@ -0,0 +1,807 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSView</string>
<string>NSForm</string>
<string>NSWindowTemplate</string>
<string>NSFormCell</string>
<string>NSMatrix</string>
<string>NSButtonCell</string>
<string>NSButton</string>
<string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="273399926">
<object class="NSCustomObject" id="1031165329">
<string key="NSClassName">FindSheetController</string>
</object>
<object class="NSCustomObject" id="738590568">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="899338157">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="888405297">
<int key="NSWindowStyleMask">3</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{609, 503}, {415, 221}}</string>
<int key="NSWTFlags">-260571136</int>
<string key="NSWindowTitle">Find &amp; Replace</string>
<string key="NSWindowClass">NSPanel</string>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{213, 107}</string>
<object class="NSView" key="NSWindowView" id="144050857">
<nil key="NSNextResponder"/>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSForm" id="501633721">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{20, 149}, {375, 52}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">2</int>
<int key="NSNumCols">1</int>
<array class="NSMutableArray" key="NSCells">
<object class="NSFormCell" id="630813359">
<int key="NSCellFlags">343014976</int>
<int key="NSCellFlags2">205521920</int>
<object class="NSMutableString" key="NSContents">
<characters key="NS.bytes"/>
</object>
<object class="NSFont" key="NSSupport" id="214798453">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="501633721"/>
<double key="NSTitleWidth">57</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
<string key="NSContents">Find:</string>
<reference key="NSSupport" ref="214798453"/>
</object>
</object>
<object class="NSFormCell" id="980421550">
<int key="NSCellFlags">343014976</int>
<int key="NSCellFlags2">205521920</int>
<object class="NSMutableString" key="NSContents">
<characters key="NS.bytes"/>
</object>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="501633721"/>
<int key="NSTag">1</int>
<double key="NSTitleWidth">57</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
<string key="NSContents">Replace:</string>
<reference key="NSSupport" ref="214798453"/>
</object>
</object>
</array>
<string key="NSCellSize">{375, 22}</string>
<string key="NSIntercellSpacing">{1, 8}</string>
<int key="NSMatrixFlags">67633152</int>
<string key="NSCellClass">NSActionCell</string>
<object class="NSFormCell" key="NSProtoCell" id="73554647">
<int key="NSCellFlags">343014976</int>
<int key="NSCellFlags2">205521920</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="214798453"/>
<double key="NSTitleWidth">57</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
<string key="NSContents">Field:</string>
<reference key="NSSupport" ref="214798453"/>
</object>
</object>
<int key="NSSelectedRow">-1</int>
<int key="NSSelectedCol">-1</int>
<object class="NSColor" key="NSBackgroundColor" id="240950155">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSCellBackgroundColor" id="305408478">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
</object>
<object class="NSButton" id="346515468">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{291, 12}, {110, 32}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="367049850">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">137887744</int>
<string key="NSContents">Find</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="346515468"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">1</int>
<object class="NSFont" key="NSAlternateImage" id="292191559">
<string key="NSName">Helvetica</string>
<double key="NSSize">13</double>
<int key="NSfFlags">16</int>
</object>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="811777689">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{181, 12}, {110, 32}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="329663769">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">137887744</int>
<string key="NSContents">Replace All</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="811777689"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="292191559"/>
<object class="NSMutableString" key="NSAlternateContents">
<characters key="NS.bytes"/>
</object>
<object class="NSMutableString" key="NSKeyEquivalent">
<characters key="NS.bytes"/>
</object>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSMatrix" id="941724560">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{233, 85}, {164, 38}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">2</int>
<int key="NSNumCols">1</int>
<array class="NSMutableArray" key="NSCells">
<object class="NSButtonCell" id="53646694">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Search ASCII</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="941724560"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<object class="NSButtonImageSource" key="NSAlternateImage" id="820841276">
<string key="NSImageName">NSRadioButton</string>
</object>
<object class="NSMutableString" key="NSAlternateContents" id="601724018">
<characters key="NS.bytes"/>
</object>
<reference key="NSKeyEquivalent" ref="601724018"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<object class="NSButtonCell" id="57948551">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Search Hexadecimal</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="941724560"/>
<int key="NSTag">1</int>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="820841276"/>
<reference key="NSAlternateContents" ref="601724018"/>
<reference key="NSKeyEquivalent" ref="601724018"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</array>
<string key="NSCellSize">{164, 18}</string>
<string key="NSIntercellSpacing">{4, 2}</string>
<int key="NSMatrixFlags">1143472128</int>
<string key="NSCellClass">NSActionCell</string>
<object class="NSButtonCell" key="NSProtoCell" id="246781863">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Radio</string>
<reference key="NSSupport" ref="214798453"/>
<int key="NSButtonFlags">1211650559</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="820841276"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
<reference key="NSSelectedCell" ref="53646694"/>
<reference key="NSBackgroundColor" ref="240950155"/>
<reference key="NSCellBackgroundColor" ref="305408478"/>
<reference key="NSFont" ref="214798453"/>
</object>
<object class="NSButton" id="808125861">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{79, 125}, {144, 18}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="473713626">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Start At Top</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="808125861"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<object class="NSButtonImageSource" key="NSAlternateImage" id="459629401">
<string key="NSImageName">NSSwitch</string>
</object>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="759299334">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{79, 105}, {144, 18}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="559581273">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Wrap Around</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="759299334"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSAlternateImage" ref="459629401"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="784259039">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{79, 85}, {144, 18}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="461579317">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Search Backwards</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="784259039"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSAlternateImage" ref="459629401"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="772559665">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{79, 58}, {144, 18}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="820228095">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Case Sensitive</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="772559665"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSAlternateImage" ref="459629401"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="933950112">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{233, 58}, {164, 18}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="297615139">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Match Entire Words</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="933950112"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSAlternateImage" ref="459629401"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="120325513">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{233, 125}, {157, 18}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="753767878">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Search Selection Only</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="120325513"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSAlternateImage" ref="459629401"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="367943218">
<reference key="NSNextResponder" ref="144050857"/>
<string key="NSFrame">{{14, 12}, {110, 32}}</string>
<reference key="NSSuperview" ref="144050857"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="688208832">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">137887744</int>
<string key="NSContents">Cancel</string>
<reference key="NSSupport" ref="214798453"/>
<reference key="NSControlView" ref="367943218"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="292191559"/>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
</array>
<string key="NSFrame">{{1, 1}, {415, 221}}</string>
</object>
<string key="NSScreenRect">{{0, 0}, {1024, 746}}</string>
<string key="NSMinSize">{213, 129}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<string key="NSFrameAutosaveName">Find</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">findNextButton</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="346515468"/>
</object>
<int key="connectionID">52</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">cancelButton</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="367943218"/>
</object>
<int key="connectionID">53</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">findReplaceForm</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="501633721"/>
</object>
<int key="connectionID">54</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">replaceAllButton</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="811777689"/>
</object>
<int key="connectionID">55</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="888405297"/>
</object>
<int key="connectionID">56</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">findNext:</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="346515468"/>
</object>
<int key="connectionID">57</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">replaceAll:</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="811777689"/>
</object>
<int key="connectionID">58</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">hideFindSheet:</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="367943218"/>
</object>
<int key="connectionID">59</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">startAtTopBox</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="808125861"/>
</object>
<int key="connectionID">60</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">wrapAroundBox</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="759299334"/>
</object>
<int key="connectionID">61</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">caseSensitiveBox</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="772559665"/>
</object>
<int key="connectionID">62</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">matchEntireWordsBox</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="933950112"/>
</object>
<int key="connectionID">63</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">searchASCIIOrHexRadios</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="941724560"/>
</object>
<int key="connectionID">64</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">searchBackwardsBox</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="784259039"/>
</object>
<int key="connectionID">65</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">searchSelectionOnlyBox</string>
<reference key="source" ref="1031165329"/>
<reference key="destination" ref="120325513"/>
</object>
<int key="connectionID">66</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">initialFirstResponder</string>
<reference key="source" ref="888405297"/>
<reference key="destination" ref="501633721"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="888405297"/>
<reference key="destination" ref="1031165329"/>
</object>
<int key="connectionID">50</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="273399926"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1031165329"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="738590568"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="888405297"/>
<array class="NSMutableArray" key="children">
<reference ref="144050857"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Find Panel</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="144050857"/>
<array class="NSMutableArray" key="children">
<reference ref="501633721"/>
<reference ref="346515468"/>
<reference ref="811777689"/>
<reference ref="941724560"/>
<reference ref="808125861"/>
<reference ref="759299334"/>
<reference ref="784259039"/>
<reference ref="772559665"/>
<reference ref="933950112"/>
<reference ref="120325513"/>
<reference ref="367943218"/>
</array>
<reference key="parent" ref="888405297"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="501633721"/>
<array class="NSMutableArray" key="children">
<reference ref="980421550"/>
<reference ref="630813359"/>
<reference ref="73554647"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="980421550"/>
<reference key="parent" ref="501633721"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="630813359"/>
<reference key="parent" ref="501633721"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">13</int>
<reference key="object" ref="346515468"/>
<array class="NSMutableArray" key="children">
<reference ref="367049850"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="811777689"/>
<array class="NSMutableArray" key="children">
<reference ref="329663769"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="941724560"/>
<array class="NSMutableArray" key="children">
<reference ref="53646694"/>
<reference ref="57948551"/>
<reference ref="246781863"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="53646694"/>
<reference key="parent" ref="941724560"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="57948551"/>
<reference key="parent" ref="941724560"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">30</int>
<reference key="object" ref="808125861"/>
<array class="NSMutableArray" key="children">
<reference ref="473713626"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="759299334"/>
<array class="NSMutableArray" key="children">
<reference ref="559581273"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">46</int>
<reference key="object" ref="784259039"/>
<array class="NSMutableArray" key="children">
<reference ref="461579317"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">47</int>
<reference key="object" ref="772559665"/>
<array class="NSMutableArray" key="children">
<reference ref="820228095"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">48</int>
<reference key="object" ref="933950112"/>
<array class="NSMutableArray" key="children">
<reference ref="297615139"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">49</int>
<reference key="object" ref="120325513"/>
<array class="NSMutableArray" key="children">
<reference ref="753767878"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">51</int>
<reference key="object" ref="367943218"/>
<array class="NSMutableArray" key="children">
<reference ref="688208832"/>
</array>
<reference key="parent" ref="144050857"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">68</int>
<reference key="object" ref="367049850"/>
<reference key="parent" ref="346515468"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">69</int>
<reference key="object" ref="329663769"/>
<reference key="parent" ref="811777689"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">70</int>
<reference key="object" ref="473713626"/>
<reference key="parent" ref="808125861"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">71</int>
<reference key="object" ref="559581273"/>
<reference key="parent" ref="759299334"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">72</int>
<reference key="object" ref="461579317"/>
<reference key="parent" ref="784259039"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">73</int>
<reference key="object" ref="820228095"/>
<reference key="parent" ref="772559665"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">74</int>
<reference key="object" ref="297615139"/>
<reference key="parent" ref="933950112"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">75</int>
<reference key="object" ref="753767878"/>
<reference key="parent" ref="120325513"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">76</int>
<reference key="object" ref="688208832"/>
<reference key="parent" ref="367943218"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">77</int>
<reference key="object" ref="73554647"/>
<reference key="parent" ref="501633721"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">78</int>
<reference key="object" ref="246781863"/>
<reference key="parent" ref="941724560"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="899338157"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="46.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="48.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="49.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="51.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="68.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="69.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="70.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="71.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="74.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="75.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="76.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="77.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="78.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">78</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@ -1,17 +0,0 @@
{
IBClasses = (
{
ACTIONS = {pasteAsASCII = id; pasteAsHex = id; pasteAsUnicode = id; };
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
CLASS = HexWindowController;
LANGUAGE = ObjC;
OUTLETS = {pasteSubmenu = NSMenu; };
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>285 171 356 240 0 0 1024 746 </string>
<key>IBEditorPositions</key>
<dict>
<key>5</key>
<string>196 478 174 114 0 0 1024 746 </string>
</dict>
<key>IBFramework Version</key>
<string>286.0</string>
<key>IBOpenObjects</key>
<array>
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>6C115</string>
</dict>
</plist>

View File

@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSMenu</string>
<string>NSMenuItem</string>
<string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="92256987">
<object class="NSCustomObject" id="524658666">
<string key="NSClassName">HexWindowController</string>
</object>
<object class="NSCustomObject" id="52366675">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="28415494">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSMenu" id="825842823">
<string key="NSTitle">Menu</string>
<array class="NSMutableArray" key="NSMenuItems">
<object class="NSMenuItem" id="307074295">
<reference key="NSMenu" ref="825842823"/>
<string key="NSTitle">Smart Paste</string>
<string key="NSKeyEquiv">v</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<object class="NSCustomResource" key="NSOnImage" id="192158387">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuCheckmark</string>
</object>
<object class="NSCustomResource" key="NSMixedImage" id="186751780">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSMenuMixedState</string>
</object>
</object>
<object class="NSMenuItem" id="748377750">
<reference key="NSMenu" ref="825842823"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="192158387"/>
<reference key="NSMixedImage" ref="186751780"/>
</object>
<object class="NSMenuItem" id="892600884">
<reference key="NSMenu" ref="825842823"/>
<string key="NSTitle">Paste As ASCII</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="192158387"/>
<reference key="NSMixedImage" ref="186751780"/>
</object>
<object class="NSMenuItem" id="9788181">
<reference key="NSMenu" ref="825842823"/>
<string key="NSTitle">Paste As Unicode</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="192158387"/>
<reference key="NSMixedImage" ref="186751780"/>
</object>
<object class="NSMenuItem" id="121737767">
<reference key="NSMenu" ref="825842823"/>
<string key="NSTitle">Paste As Hexadecimal</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="192158387"/>
<reference key="NSMixedImage" ref="186751780"/>
</object>
</array>
<string key="NSName"/>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">pasteSubmenu</string>
<reference key="source" ref="524658666"/>
<reference key="destination" ref="825842823"/>
</object>
<int key="connectionID">15</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">paste:</string>
<reference key="source" ref="52366675"/>
<reference key="destination" ref="307074295"/>
</object>
<int key="connectionID">11</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">pasteAsASCII:</string>
<reference key="source" ref="52366675"/>
<reference key="destination" ref="892600884"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">pasteAsUnicode:</string>
<reference key="source" ref="52366675"/>
<reference key="destination" ref="9788181"/>
</object>
<int key="connectionID">13</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">pasteAsHex:</string>
<reference key="source" ref="52366675"/>
<reference key="destination" ref="121737767"/>
</object>
<int key="connectionID">14</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="92256987"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="524658666"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="52366675"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="825842823"/>
<array class="NSMutableArray" key="children">
<reference ref="892600884"/>
<reference ref="307074295"/>
<reference ref="748377750"/>
<reference ref="9788181"/>
<reference ref="121737767"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Paste Menu</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="892600884"/>
<reference key="parent" ref="825842823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="307074295"/>
<reference key="parent" ref="825842823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="748377750"/>
<reference key="parent" ref="825842823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="9788181"/>
<reference key="parent" ref="825842823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="121737767"/>
<reference key="parent" ref="825842823"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="28415494"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">16</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NSMenuCheckmark">{11, 11}</string>
<string key="NSMenuMixedState">{10, 3}</string>
</dictionary>
</data>
</archive>

View File

@ -45,7 +45,7 @@
int row;
for( row = 0; row < rows; row++ )
[representation appendFormat:@"%08lX:", row * bytesPerRow];
[representation appendFormat:@"%08X:", row * bytesPerRow];
return representation;
}

View File

@ -1,6 +1,24 @@
#import "HexTextView.h"
#import "NSData-HexRepresentation.h"
@interface NSTextView (Private)
- (NSUInteger)_insertionGlyphIndexForDrag:(id)sender;
@end
@interface _NSUndoObject : NSObject
- (id)popUndoObject;
@end
@interface NSUndoManager (Private)
- (_NSUndoObject *)_undoStack;
@end
@implementation HexEditorTextView
/* NSText overrides */
@ -65,6 +83,7 @@
if(*((unsigned short *)[unicodeData mutableBytes]) == 0xFEFF || *((unsigned short *)[unicodeData mutableBytes]) == 0xFFFE)
[unicodeData replaceBytesInRange:NSMakeRange(0,2) withBytes:NULL length:0];
[self editData:[[[self window] windowController] data] replaceBytesInRange:selection withData:unicodeData];
[unicodeData release];
}
}
@ -142,7 +161,7 @@ static NSRange draggedRange;
- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender
{
[super draggingUpdated:sender]; // ignore return value
if([sender draggingSource] == [[self delegate] hex] || [sender draggingSource] == [[self delegate] ascii])
if([sender draggingSource] == [(HexEditorDelegate *)[self delegate] hex] || [sender draggingSource] == [(HexEditorDelegate *)[self delegate] ascii])
return NSDragOperationMove;
else return NSDragOperationCopy;
}
@ -156,14 +175,14 @@ static NSRange draggedRange;
NSRange selection;
// convert hex string to data
if([sender draggingSource] == [[self delegate] hex])
if([sender draggingSource] == [(HexEditorDelegate *)[self delegate] hex])
pastedData = [[[[NSString alloc] initWithData:pastedData encoding:[NSString defaultCStringEncoding]] autorelease] dataFromHex];
if([sender draggingSource] == [[self delegate] hex] || [sender draggingSource] == [[self delegate] ascii])
if([sender draggingSource] == [(HexEditorDelegate *)[self delegate] hex] || [sender draggingSource] == [(HexEditorDelegate *)[self delegate] ascii])
// if(operation == NSDragOperationMove)
{
NSRange deleteRange = draggedRange;
if(self == (id) [[self delegate] hex])
if(self == (id) [(HexEditorDelegate *)[self delegate] hex])
{
deleteRange.location /= 3;
deleteRange.length += 1;
@ -179,7 +198,7 @@ static NSRange draggedRange;
}
// insert data at insertion point
if(self == (id) [[self delegate] hex]) charIndex /= 3;
if(self == (id) [(HexEditorDelegate *)[self delegate] hex]) charIndex /= 3;
[self editData:[[[self window] windowController] data] replaceBytesInRange:NSMakeRange(charIndex,0) withData:pastedData];
// set the new selection/insertion point
@ -201,27 +220,26 @@ static NSRange draggedRange;
- (void)insertText:(NSString *)string
{
NSRange selection = [(HexEditorDelegate *)[self delegate] rangeForUserTextChange];
NSMutableData *data = [[[[self window] windowController] data] mutableCopy];
NSData *replaceData = [NSData dataWithBytes:[string cString] length:[string cStringLength]];
NSMutableData *data = [[[[[self window] windowController] data] mutableCopy] autorelease];
NSData *replaceData = [string dataUsingEncoding:NSASCIIStringEncoding];
if(self == (id) [[self delegate] hex])
if(self == (id) [(HexEditorDelegate *)[self delegate] hex])
{
int i;
// bug: iteration through each character in string is broken, paste not yet mapped to this function
for(i = 0; i < [string cStringLength]; i++)
for(NSUInteger i = 0; i < [string lengthOfBytesUsingEncoding:NSASCIIStringEncoding]; i++)
{
char typedChar = [string characterAtIndex:i];
unichar typedChar = [string characterAtIndex:i];
if(typedChar >= 0x30 && typedChar <= 0x39) typedChar -= 0x30; // 0 to 9
else if(typedChar >= 0x41 && typedChar <= 0x46) typedChar -= 0x37; // A to F
else if(typedChar >= 0x61 && typedChar <= 0x66) typedChar -= 0x57; // a to f
else return;
if(![[self delegate] editedLow]) // editing low bits
if(![(HexEditorDelegate *)[self delegate] editedLow]) // editing low bits
{
// put typed char into low bits
typedChar &= 0x0F;
replaceData = [NSData dataWithBytes:&typedChar length:1];
[[self delegate] setEditedLow:YES];
[(HexEditorDelegate *)[self delegate] setEditedLow:YES];
}
else // edited low bits already
{
@ -234,20 +252,19 @@ static NSRange draggedRange;
prevByte <<= 4; // store high bit
prevByte += typedChar & 0x0F; // add low bit
replaceData = [NSData dataWithBytes:&prevByte length:1];
[[self delegate] setEditedLow:NO];
[(HexEditorDelegate *)[self delegate] setEditedLow:NO];
}
}
}
// replace bytes (updates views implicitly, records an undo)
[self editData:data replaceBytesInRange:selection withData:replaceData];
[data release];
// set the new selection (insertion point)
selection.location++;
selection.length = 0;
if(self == (id) [[self delegate] hex]) selection = [HexWindowController hexRangeFromByteRange:selection];
if(self == (id) [[self delegate] ascii]) selection = [HexWindowController asciiRangeFromByteRange:selection];
if(self == (id) [(HexEditorDelegate *)[self delegate] hex]) selection = [HexWindowController hexRangeFromByteRange:selection];
if(self == (id) [(HexEditorDelegate *)[self delegate] ascii]) selection = [HexWindowController asciiRangeFromByteRange:selection];
[self setSelectedRange:selection];
}
@ -271,8 +288,8 @@ static NSRange draggedRange;
if(selection.length == 0 && selection.location > 0)
selection.location -= 1;
else selection.length = 0;
if(self == (id) [[self delegate] hex]) selection = [HexWindowController hexRangeFromByteRange:selection];
if(self == (id) [[self delegate] ascii]) selection = [HexWindowController asciiRangeFromByteRange:selection];
if(self == (id) [(HexEditorDelegate *)[self delegate] hex]) selection = [HexWindowController hexRangeFromByteRange:selection];
if(self == (id) [(HexEditorDelegate *)[self delegate] ascii]) selection = [HexWindowController asciiRangeFromByteRange:selection];
[self setSelectedRange:selection];
}
@ -325,7 +342,7 @@ static NSRange draggedRange;
// save data we're about to replace so we can restore it in an undo
NSRange newRange = NSMakeRange(range.location, [newBytes length]);
NSMutableData *newData = [NSMutableData dataWithData:data];
NSMutableData *oldBytes = [[data subdataWithRange:range] retain]; // bug: memory leak, need to release somewhere (call -[NSInvocation retainArguments] instead?)
NSData *oldBytes = [[data subdataWithRange:range] retain]; // bug: memory leak, need to release somewhere (call -[NSInvocation retainArguments] instead?)
// manipulate undo stack to concatenate multiple undos
BOOL closeUndoGroup = NO;
@ -346,6 +363,7 @@ static NSRange draggedRange;
// record undo with new data object
[[[[self window] undoManager] prepareWithInvocationTarget:self] editData:newData replaceBytesInRange:newRange withData:oldBytes];
[oldBytes release];
[[[self window] undoManager] setActionName:NSLocalizedString(@"Typing", nil)];
if(closeUndoGroup)
[[[self window] undoManager] endUndoGrouping];

View File

@ -1,6 +1,7 @@
#import <Cocoa/Cocoa.h>
#import "HexEditorDelegate.h"
#import "HexTextView.h"
#import <HexFiend/HexFiend.h>
#import "ResKnifePluginProtocol.h"
#import "ResKnifeResourceProtocol.h"
@ -17,6 +18,8 @@
/* Based on HexEdit by Bill Bumgardner, Lane Roath & myself: http://hexedit.sourceforge.net/ */
/* Some ideas, method names, and occasionally code stolen from HexEditor by Raphael Sebbe: http://raphaelsebbe.multimania.com/ */
@class FindSheetController;
@interface HexWindowController : NSWindowController <ResKnifePluginProtocol>
{
IBOutlet HexEditorDelegate *hexDelegate;
@ -27,12 +30,17 @@
IBOutlet NSMenu *copySubmenu;
IBOutlet NSMenu *pasteSubmenu;
FindSheetController *sheetController;
id <ResKnifeResourceProtocol> resource;
id <ResKnifeResourceProtocol> backup;
BOOL liveEdit;
int bytesPerRow;
NSUndoManager *undoManager;
IBOutlet HFTextView *textView;
HFController *textViewController;
}
// conform to the ResKnifePluginProtocol with the inclusion of these methods
@ -42,7 +50,7 @@
- (IBAction)showFind:(id)sender;
// save sheet methods
- (void)saveSheetDidClose:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
- (void)saveSheetDidClose:(NSAlert *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
- (IBAction)saveResource:(id)sender;
- (IBAction)revertResource:(id)sender;
@ -50,7 +58,6 @@
- (void)resourceNameDidChange:(NSNotification *)notification;
- (void)resourceDataDidChange:(NSNotification *)notification;
- (void)resourceWasSaved:(NSNotification *)notification;
- (void)refreshData:(NSData *)data;
// accessors
- (id)resource;

View File

@ -51,28 +51,15 @@ OSStatus Plug_InitInstance(Plug_PlugInRef plug, Plug_ResourceRef resource)
[[NSNotificationCenter defaultCenter] removeObserver:self];
[undoManager release];
[(id)resource release];
[sheetController release];
[super dealloc];
}
- (void)windowDidLoad
{
[super windowDidLoad];
{
// set up tab, shift-tab and enter behaviour (cannot set these in IB at the moment)
[hex setFieldEditor:YES];
[ascii setFieldEditor:YES];
[offset setDrawsBackground:NO];
[[offset enclosingScrollView] setDrawsBackground:NO];
// from HexEditorDelegate, here until bug is fixed
[[NSNotificationCenter defaultCenter] addObserver:hexDelegate selector:@selector(viewDidScroll:) name:NSViewBoundsDidChangeNotification object:[[offset enclosingScrollView] contentView]];
[[NSNotificationCenter defaultCenter] addObserver:hexDelegate selector:@selector(viewDidScroll:) name:NSViewBoundsDidChangeNotification object:[[hex enclosingScrollView] contentView]];
[[NSNotificationCenter defaultCenter] addObserver:hexDelegate selector:@selector(viewDidScroll:) name:NSViewBoundsDidChangeNotification object:[[ascii enclosingScrollView] contentView]];
}
// insert the resources' data into the text fields
[self refreshData:[resource data]];
[[self window] setResizeIncrements:NSMakeSize(kWindowStepWidthPerChar * kWindowStepCharsPerStep, 1)];
// min 346, step 224, norm 570, step 224, max 794
@ -81,15 +68,33 @@ OSStatus Plug_InitInstance(Plug_PlugInRef plug, Plug_ResourceRef resource)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceDataDidChange:) name:ResourceDataDidChangeNotification object:resource];
if(liveEdit) [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceWasSaved:) name:ResourceDataDidChangeNotification object:resource];
else [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceWasSaved:) name:ResourceDataDidChangeNotification object:backup];
HFLineCountingRepresenter *lineCountingRepresenter = [[[HFLineCountingRepresenter alloc] init] autorelease];
HFStatusBarRepresenter *statusBarRepresenter = [[[HFStatusBarRepresenter alloc] init] autorelease];
[[textView layoutRepresenter] addRepresenter:lineCountingRepresenter];
[[textView layoutRepresenter] addRepresenter:statusBarRepresenter];
[[textView controller] setFont:[NSFont userFixedPitchFontOfSize:10.0]];
[[textView controller] addRepresenter:lineCountingRepresenter];
[[textView controller] addRepresenter:statusBarRepresenter];
[textView bind:@"data" toObject:self withKeyPath:@"data" options:nil];
[lineCountingRepresenter cycleLineNumberFormat];
// finally, set the window title & show the window
[[self window] setTitle:[resource defaultWindowTitle]];
[self showWindow:self];
[[textView layoutRepresenter] performLayout];
}
- (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName
{
return [resource defaultWindowTitle];
}
- (void)windowDidResize:(NSNotification *)notification
{
int width = [(NSWindow *)[notification object] frame].size.width;
int width = (int)[(NSWindow *)[notification object] frame].size.width;
int oldBytesPerRow = bytesPerRow;
bytesPerRow = (((width - (kWindowStepWidthPerChar * kWindowStepCharsPerStep) - 122) / (kWindowStepWidthPerChar * kWindowStepCharsPerStep)) + 1) * kWindowStepCharsPerStep;
if(bytesPerRow != oldBytesPerRow)
@ -143,44 +148,56 @@ OSStatus Plug_InitInstance(Plug_PlugInRef plug, Plug_ResourceRef resource)
{
if([[self window] isDocumentEdited])
{
NSBeginAlertSheet(@"Do you want to keep the changes you made to this resource?", @"Keep", @"Don't Keep", @"Cancel", sender, self, @selector(saveSheetDidClose:returnCode:contextInfo:), nil, nil, @"Your changes cannot be saved later if you don't keep them.");
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSAlert *alert = [[NSAlert alloc] init];
[alert setMessageText:NSLocalizedStringFromTableInBundle(@"KeepChangesDialogTitle", nil, bundle, nil)];
[alert setInformativeText:NSLocalizedStringFromTableInBundle(@"KeepChangesDialogMessage", nil, bundle, nil)];
[alert addButtonWithTitle:NSLocalizedStringFromTableInBundle(@"KeepChangesButton", nil, bundle, nil)];
[alert addButtonWithTitle:NSLocalizedStringFromTableInBundle(@"CancelButton", nil, bundle, nil)];
NSButton *button = [alert addButtonWithTitle:NSLocalizedStringFromTableInBundle(@"DiscardChangesButton", nil, bundle, nil)];
[button setKeyEquivalent:@"d"];
[button setKeyEquivalentModifierMask:NSCommandKeyMask];
[alert beginSheetModalForWindow:sender modalDelegate:self didEndSelector:@selector(saveSheetDidClose:returnCode:contextInfo:) contextInfo:NULL];
//[alert release];
return NO;
}
else return YES;
}
- (void)saveSheetDidClose:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
- (void)saveSheetDidClose:(NSAlert *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
{
switch(returnCode)
{
case NSAlertDefaultReturn: // keep
case NSAlertFirstButtonReturn: // keep
[self saveResource:nil];
[[self window] close];
break;
case NSAlertAlternateReturn: // don't keep
[[self window] close];
case NSAlertSecondButtonReturn: // cancel
break;
case NSAlertOtherReturn: // cancel
case NSAlertThirdButtonReturn: // don't keep
[[sheet window] orderOut:nil];
[[self window] close];
break;
}
}
- (void)saveResource:(id)sender
{
[backup setData:[[resource data] copy]];
[backup setData:[[[resource data] copy] autorelease]];
}
- (void)revertResource:(id)sender
{
[resource setData:[[backup data] copy]];
[resource setData:[[[backup data] copy] autorelease]];
}
- (void)showFind:(id)sender
{
// bug: HexWindowController allocs a sheet controller, but it's never disposed of
FindSheetController *sheetController = [[FindSheetController alloc] initWithWindowNibName:@"FindSheet"];
if (!sheetController)
sheetController = [[FindSheetController alloc] initWithWindowNibName:@"FindSheet"];
[sheetController showFindSheet:self];
}
@ -195,7 +212,6 @@ OSStatus Plug_InitInstance(Plug_PlugInRef plug, Plug_ResourceRef resource)
// bug: if liveEdit is false and another editor changes backup, if we are dirty we need to ask the user whether to accept the changes from the other editor and discard our changes, or vice versa.
if([notification object] == (id)resource)
{
[self refreshData:[resource data]];
[self setDocumentEdited:YES];
}
}
@ -210,48 +226,11 @@ OSStatus Plug_InitInstance(Plug_PlugInRef plug, Plug_ResourceRef resource)
else
{
// this should refresh the view automatically
[resource setData:[[object data] copy]];
[resource setData:[[[object data] copy] autorelease]];
[self setDocumentEdited:NO];
}
}
- (void)refreshData:(NSData *)data;
{
// save selections
NSRange hexSelection = [hex selectedRange];
NSRange asciiSelection = [ascii selectedRange];
// clear delegates (see HexEditorDelegate class for explanation of why)
id oldDelegate = [hex delegate];
[hex setDelegate:nil];
[ascii setDelegate:nil];
// prepare attributes dictionary
NSMutableParagraphStyle *paragraph = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[paragraph setLineBreakMode:NSLineBreakByCharWrapping];
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:paragraph forKey:NSParagraphStyleAttributeName];
// do stuff with data
[offset setString:[hexDelegate offsetRepresentation:data]];
if([data length] > 0)
[hex setString:[[data hexRepresentation] stringByAppendingString:@" "]];
else [hex setString:[data hexRepresentation]];
[ascii setString:[data asciiRepresentation]];
// apply attributes
[[offset textStorage] addAttributes:dictionary range:NSMakeRange(0, [[offset textStorage] length])];
[[hex textStorage] addAttributes:dictionary range:NSMakeRange(0, [[hex textStorage] length])];
[[ascii textStorage] addAttributes:dictionary range:NSMakeRange(0, [[ascii textStorage] length])];
// restore selections (this is the dumbest way to do it, but it'll do for now)
[hex setSelectedRange:NSIntersectionRange(hexSelection, [hex selectedRange])];
[ascii setSelectedRange:NSIntersectionRange(asciiSelection, [ascii selectedRange])];
// restore delegates
[hex setDelegate:oldDelegate];
[ascii setDelegate:oldDelegate];
}
- (id)resource
{
return resource;
@ -262,6 +241,10 @@ OSStatus Plug_InitInstance(Plug_PlugInRef plug, Plug_ResourceRef resource)
return [resource data];
}
- (void)setData:(NSData *)data {
[resource setData:data];
}
- (int)bytesPerRow
{
return bytesPerRow;

View File

@ -27,7 +27,7 @@
buffer[currentByte*3 +2] = 0x20;
}
return [NSString stringWithCString:buffer length:(dataLength*3 -1)];
return [[[NSString alloc] initWithBytes:buffer length:(dataLength*3 -1) encoding:NSASCIIStringEncoding] autorelease];
}
- (NSString *)asciiRepresentation
@ -44,7 +44,7 @@
else buffer[currentByte] = 0x2E; // full stop
}
return [NSString stringWithCString:buffer length:dataLength];
return [[[NSString alloc] initWithBytes:buffer length:dataLength encoding:NSASCIIStringEncoding] autorelease];
}
- (NSString *)nonLossyAsciiRepresentation
@ -63,7 +63,7 @@
else buffer[currentByte] = 0x2E; // full stop
}
return [NSString stringWithCString:buffer length:dataLength];
return [[[NSString alloc] initWithBytes:buffer length:dataLength encoding:NSASCIIStringEncoding] autorelease];
}
@end
@ -73,11 +73,11 @@
- (NSData *)dataFromHex
{
unsigned long actualBytesEncoded = 0;
unsigned long maxBytesEncoded = floor([self cStringLength] / 2.0);
const char *bytes = [self cString];
unsigned long maxBytesEncoded = (unsigned long)floor([self lengthOfBytesUsingEncoding:NSASCIIStringEncoding] / 2.0);
const char *bytes = [self cStringUsingEncoding:NSASCIIStringEncoding];
char *buffer = (char *) malloc(maxBytesEncoded);
signed char hex1, hex2;
int i;
unsigned long i;
for(i = 0; i < maxBytesEncoded * 2;)
{
@ -86,7 +86,7 @@
hex1 -= (hex1 < 'A')? 0x30 : ((hex1 < 'a')? 0x37 : 0x57); // 0-9 < A-Z < a-z
hex2 -= (hex2 < 'A')? 0x30 : ((hex2 < 'a')? 0x37 : 0x57);
if(hex1 & 0xF0 || hex2 & 0xF0) { i++; continue; } // invalid character found, move forward one byte and try again
buffer[actualBytesEncoded++] = (hex1 << 4) + hex2;
buffer[actualBytesEncoded++] = (char)(hex1 << 4) + hex2;
i += 2;
}
return [NSData dataWithBytesNoCopy:buffer length:actualBytesEncoded freeWhenDone:YES];

View File

@ -1,13 +0,0 @@
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {imageViewChanged = id; };
CLASS = ICONWindowController;
LANGUAGE = ObjC;
OUTLETS = {imageView = NSImageView; resource = id; };
SUPERCLASS = NSWindowController;
}
);
IBVersion = 1;
}

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>239 118 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key>
<string>326.0</string>
<key>IBLockedObjects</key>
<array/>
<key>IBOpenObjects</key>
<array>
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>7A202</string>
</dict>
</plist>

View File

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSImageView</string>
<string>NSWindowTemplate</string>
<string>NSView</string>
<string>NSImageCell</string>
<string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="781167064">
<object class="NSCustomObject" id="97216217">
<string key="NSClassName">ICONWindowController</string>
</object>
<object class="NSCustomObject" id="92017252">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="408707901">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="768082782">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{0, 556}, {316, 168}}</string>
<int key="NSWTFlags">813170688</int>
<string key="NSWindowTitle">Untitled Resource</string>
<string key="NSWindowClass">NSWindow</string>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{193.21755981445312, 168}</string>
<object class="NSView" key="NSWindowView" id="669127375">
<nil key="NSNextResponder"/>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSImageView" id="979198533">
<reference key="NSNextResponder" ref="669127375"/>
<int key="NSvFlags">12</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
<string>Apple PNG pasteboard type</string>
<string>NSFilenamesPboardType</string>
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{17, 17}, {134, 134}}</string>
<reference key="NSSuperview" ref="669127375"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="357416430">
<int key="NSCellFlags">270663168</int>
<int key="NSCellFlags2">0</int>
<int key="NSAlign">0</int>
<int key="NSScale">0</int>
<int key="NSStyle">2</int>
<bool key="NSAnimates">NO</bool>
</object>
<bool key="NSEditable">YES</bool>
</object>
</array>
<string key="NSFrame">{{1, 9}, {316, 168}}</string>
</object>
<string key="NSScreenRect">{{0, 0}, {1024, 746}}</string>
<string key="NSMinSize">{193.21755981445312, 190}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="97216217"/>
<reference key="destination" ref="768082782"/>
</object>
<int key="connectionID">9</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">imageView</string>
<reference key="source" ref="97216217"/>
<reference key="destination" ref="979198533"/>
</object>
<int key="connectionID">10</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">imageViewChanged:</string>
<reference key="source" ref="97216217"/>
<reference key="destination" ref="979198533"/>
</object>
<int key="connectionID">12</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="768082782"/>
<reference key="destination" ref="97216217"/>
</object>
<int key="connectionID">11</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="781167064"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="97216217"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="92017252"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="768082782"/>
<array class="NSMutableArray" key="children">
<reference ref="669127375"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">PICT Window</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="669127375"/>
<array class="NSMutableArray" key="children">
<reference ref="979198533"/>
</array>
<reference key="parent" ref="768082782"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="979198533"/>
<array class="NSMutableArray" key="children">
<reference ref="357416430"/>
</array>
<reference key="parent" ref="669127375"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="357416430"/>
<reference key="parent" ref="979198533"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="408707901"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">14</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<integer value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@ -72,7 +72,7 @@
Loads the resource's data into our NSImageView.
-------------------------------------------------------------------------- */
-(void) reloadResData
-(void)reloadResData
{
unsigned char* planes[2] = { 0, 0 };
NSBitmapImageRep* bir;
@ -81,35 +81,53 @@
[resImage autorelease];
resImage = [[NSImage alloc] init];
resData = [[resource data] retain];
// -mutableCopy the data instead of retaining, so we don't get inverted pixels on reopening the resource
// (since switching to NSCalibratedWhiteColorSpace)
resData = [[resource data] mutableCopy];
planes[0] = (unsigned char*) [resData bytes];
NSUInteger plane0length = 0;
NSUInteger pixelsWide = 32;
NSUInteger pixelsHigh = 32;
BOOL hasAlpha = YES;
BOOL isPlanar = YES;
NSUInteger bytesPerRow = 0;
NSUInteger samplesPerPixel = 2;
if( [resType isEqualToString: @"ICN#"] )
{
planes[1] = planes[0] + (4 * 32); // 32 lines a 4 bytes.
bir = [[[NSBitmapImageRep alloc] autorelease] initWithBitmapDataPlanes:planes pixelsWide:32 pixelsHigh:32
bitsPerSample:1 samplesPerPixel:2 hasAlpha:YES isPlanar:YES colorSpaceName:NSCalibratedBlackColorSpace
bytesPerRow:4 bitsPerPixel:1];
bytesPerRow = 4;
}
else if( [resType isEqualToString: @"ics#"] || [resType isEqualToString: @"CURS"] )
{
planes[1] = planes[0] + (2 * 16); // 16 lines a 2 bytes.
bir = [[[NSBitmapImageRep alloc] autorelease] initWithBitmapDataPlanes:planes pixelsWide:16 pixelsHigh:16
bitsPerSample:1 samplesPerPixel:2 hasAlpha:YES isPlanar:YES colorSpaceName:NSCalibratedBlackColorSpace
bytesPerRow:2 bitsPerPixel:1];
bytesPerRow = 2;
pixelsWide = pixelsHigh = 16;
}
else if( [resType isEqualToString: @"icm#"] )
{
planes[1] = planes[0] + (2 * 12); // 12 lines a 2 bytes.
bir = [[[NSBitmapImageRep alloc] autorelease] initWithBitmapDataPlanes:planes pixelsWide:16 pixelsHigh:12
bitsPerSample:1 samplesPerPixel:2 hasAlpha:YES isPlanar:YES colorSpaceName:NSCalibratedBlackColorSpace
bytesPerRow:2 bitsPerPixel:1];
bytesPerRow = 2;
pixelsWide = 16;
pixelsHigh = 12;
}
else {
bytesPerRow = 4;
hasAlpha = NO;
isPlanar = NO;
samplesPerPixel = 1;
}
else
bir = [[[NSBitmapImageRep alloc] autorelease] initWithBitmapDataPlanes:planes pixelsWide:32 pixelsHigh:32
bitsPerSample:1 samplesPerPixel:1 hasAlpha:NO isPlanar:NO colorSpaceName:NSCalibratedBlackColorSpace
bytesPerRow:4 bitsPerPixel:1];
plane0length = bytesPerRow * pixelsHigh;
if (isPlanar)
planes[1] = planes[0] + plane0length;
for (NSUInteger i = 0; i < plane0length; ++i)
planes[0][i] ^= 0xff;
bir = [[[NSBitmapImageRep alloc] initWithBitmapDataPlanes:planes pixelsWide:pixelsWide pixelsHigh:pixelsHigh
bitsPerSample:1 samplesPerPixel:samplesPerPixel hasAlpha:hasAlpha isPlanar:isPlanar colorSpaceName:NSCalibratedWhiteColorSpace
bytesPerRow:bytesPerRow bitsPerPixel:1] autorelease];
[resImage addRepresentation:bir];
[imageView setImage: resImage];
@ -165,7 +183,7 @@
{
NSArray* reps = [resImage representations];
NSLog( @"# %d", [reps count] );
NSLog( @"# %lu", [reps count] );
[resImage lockFocusOnRepresentation: [reps objectAtIndex:0]];
[[imageView image] dissolveToPoint: NSMakePoint(0,0) fraction:1];

View File

@ -1,13 +0,0 @@
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {imageViewChanged = id; };
CLASS = ICONWindowController;
LANGUAGE = ObjC;
OUTLETS = {imageView = NSImageView; resource = id; };
SUPERCLASS = NSWindowController;
}
);
IBVersion = 1;
}

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>239 118 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key>
<string>326.0</string>
<key>IBLockedObjects</key>
<array/>
<key>IBOpenObjects</key>
<array>
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>7A202</string>
</dict>
</plist>

View File

@ -0,0 +1,242 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSImageView</string>
<string>NSWindowTemplate</string>
<string>NSView</string>
<string>NSImageCell</string>
<string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="912899315">
<object class="NSCustomObject" id="713509824">
<string key="NSClassName">ICONWindowController</string>
</object>
<object class="NSCustomObject" id="716938804">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="894214552">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="275962985">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="47396474">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{0, 556}, {545, 357}}</string>
<int key="NSWTFlags">813170688</int>
<string key="NSWindowTitle">Untitled Resource</string>
<string key="NSWindowClass">NSWindow</string>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{193.21755981445312, 168}</string>
<object class="NSView" key="NSWindowView" id="351500367">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSImageView" id="26345871">
<reference key="NSNextResponder" ref="351500367"/>
<int key="NSvFlags">274</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
<string>Apple PNG pasteboard type</string>
<string>NSFilenamesPboardType</string>
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{17, 17}, {511, 323}}</string>
<reference key="NSSuperview" ref="351500367"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="550517431">
<int key="NSCellFlags">270663168</int>
<int key="NSCellFlags2">0</int>
<int key="NSAlign">0</int>
<int key="NSScale">0</int>
<int key="NSStyle">2</int>
<bool key="NSAnimates">NO</bool>
</object>
<bool key="NSEditable">YES</bool>
</object>
</array>
<string key="NSFrameSize">{545, 357}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="26345871"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{193.21755981445312, 190}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<string key="NSFrameAutosaveName">PICT</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">imageView</string>
<reference key="source" ref="713509824"/>
<reference key="destination" ref="26345871"/>
</object>
<int key="connectionID">21</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="713509824"/>
<reference key="destination" ref="47396474"/>
</object>
<int key="connectionID">22</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="47396474"/>
<reference key="destination" ref="713509824"/>
</object>
<int key="connectionID">23</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="912899315"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="713509824"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="716938804"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="275962985"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="47396474"/>
<array class="NSMutableArray" key="children">
<reference ref="351500367"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="351500367"/>
<array class="NSMutableArray" key="children">
<reference ref="26345871"/>
</array>
<reference key="parent" ref="47396474"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="26345871"/>
<array class="NSMutableArray" key="children">
<reference ref="550517431"/>
</array>
<reference key="parent" ref="351500367"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="550517431"/>
<reference key="parent" ref="26345871"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="894214552"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">25</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">ICONWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">imageViewChanged:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">imageViewChanged:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">imageViewChanged:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">imageView</string>
<string key="NS.object.0">NSImageView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">imageView</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">imageView</string>
<string key="candidateClassName">NSImageView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/ICONWindowController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1070" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>

View File

@ -33,17 +33,14 @@
[super windowDidLoad];
// set the window's title
if( ![[resource name] isEqualToString:@""] )
{
[[self window] setTitle:[resource name]];
SetWindowAlternateTitle( (WindowRef) [[self window] windowRef], (CFStringRef) [NSString stringWithFormat:@"%@ %@: Ň%@Ó", [resource type], [resource resID], [resource name]] );
}
[[self window] setTitle:[resource defaultWindowTitle]];
//SetWindowAlternateTitle( (WindowRef) [[self window] windowRef], (CFStringRef) [NSString stringWithFormat:@"%@ %@: Ò%@Ó", [resource type], [resource resID], [resource name]] );
NSImage *image = [[[NSImage alloc] initWithData:[resource data]] autorelease];
if( image )
{
// resize the window to the size of the image
[[self window] setContentSize:[image size]];
//[[self window] setContentSize:[image size]];
// update image view with PICT
[imageView setImage:image];
@ -56,6 +53,11 @@
[self showWindow:self];
}
- (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName
{
return [resource defaultWindowTitle];
}
- (void)resourceDataDidChange:(NSNotification *)notification
{
// ensure it's our resource which got changed (should always be true, we don't register for notifications on other resource objects)

View File

@ -0,0 +1,22 @@
//
// PNGWindowController.h
// ResKnife
//
// Created by Nate Weaver on 2012-7-4.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "ResKnifePluginProtocol.h"
#import "ResKnifeResourceProtocol.h"
@interface PNGWindowController : NSWindowController <ResKnifePluginProtocol> {
NSImageView *imageView;
NSImage *image;
id <ResKnifeResourceProtocol> resource;
}
@property (assign) IBOutlet NSImageView *imageView;
@end

View File

@ -0,0 +1,73 @@
//
// PNGWindowController.m
// ResKnife
//
// Created by Nate Weaver on 2012-7-4.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import "PNGWindowController.h"
@interface PNGWindowController ()
@end
@implementation PNGWindowController
@synthesize imageView;
- (id)initWithWindow:(NSWindow *)window
{
self = [super initWithWindow:window];
if (self) {
// Initialization code here.
}
return self;
}
- (void)windowDidLoad
{
[super windowDidLoad];
// set the window's title
[[self window] setTitle:[resource defaultWindowTitle]];
NSData *data = [resource data];
image = [[NSImage alloc] initWithData:data];
[imageView setImage:image];
// we don't want this notification until we have a window! (Only register for notifications on the resource we're editing)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceDataDidChange:) name:ResourceDataDidChangeNotification object:resource];
// finally, show the window
[self showWindow:self];
}
- (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName
{
return [resource defaultWindowTitle];
}
- (void)dealloc {
[image release];
[resource release];
[super dealloc];
}
- (id)initWithResource:(id <ResKnifeResourceProtocol>)inResource {
if (self = [self initWithWindowNibName:@"PNGWindowController"]) {
resource = [inResource retain];
[self window];
}
return self;
}
- (void)resourceDataDidChange:(NSNotification *)note {
NSData *data = [resource data];
[image release];
image = [[NSImage alloc] initWithData:data];
[imageView setImage:image];
}
@end

View File

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSImageView</string>
<string>NSWindowTemplate</string>
<string>NSView</string>
<string>NSImageCell</string>
<string>NSCustomObject</string>
<string>IBNSLayoutConstraint</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">PNGWindowController</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{196, 240}, {535, 374}}</string>
<int key="NSWTFlags">544735232</int>
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSImageView" id="231505248">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
<string>Apple PNG pasteboard type</string>
<string>NSFilenamesPboardType</string>
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{17, 17}, {501, 340}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="799823511">
<int key="NSCellFlags">130560</int>
<int key="NSCellFlags2">33554432</int>
<string key="NSCellIdentifier">_NS:9</string>
<int key="NSAlign">0</int>
<int key="NSScale">0</int>
<int key="NSStyle">2</int>
<bool key="NSAnimates">NO</bool>
</object>
<bool key="NSEditable">YES</bool>
</object>
</array>
<string key="NSFrameSize">{535, 374}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="231505248"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<string key="NSFrameAutosaveName">PNG</string>
<int key="NSWindowCollectionBehavior">256</int>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="1005"/>
</object>
<int key="connectionID">3</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">imageView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="231505248"/>
</object>
<int key="connectionID">15</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1005"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">4</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<array class="NSMutableArray" key="children">
<reference ref="1006"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<array class="NSMutableArray" key="children">
<reference ref="231505248"/>
<object class="IBNSLayoutConstraint" id="796147226">
<reference key="firstItem" ref="231505248"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1006"/>
<int key="secondAttribute">5</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="560232197">
<reference key="firstItem" ref="231505248"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1006"/>
<int key="secondAttribute">3</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="371238809">
<reference key="firstItem" ref="1006"/>
<int key="firstAttribute">6</int>
<int key="relation">0</int>
<reference key="secondItem" ref="231505248"/>
<int key="secondAttribute">6</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="755937507">
<reference key="firstItem" ref="1006"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="231505248"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="231505248"/>
<array class="NSMutableArray" key="children">
<reference ref="799823511"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="799823511"/>
<reference key="parent" ref="231505248"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="796147226"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">12</int>
<reference key="object" ref="560232197"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">13</int>
<reference key="object" ref="371238809"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="755937507"/>
<reference key="parent" ref="1006"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
<integer value="1" key="1.NSWindowTemplate.visibleAtLaunch"/>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array class="NSMutableArray" key="2.IBNSViewMetadataConstraints">
<reference ref="796147226"/>
<reference ref="560232197"/>
<reference ref="371238809"/>
<reference ref="755937507"/>
</array>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO" key="5.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">15</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">NSLayoutConstraint</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/NSLayoutConstraint.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">PNGWindowController</string>
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">imageView</string>
<string key="NS.object.0">NSImageView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">imageView</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">imageView</string>
<string key="candidateClassName">NSImageView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/PNGWindowController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<bool key="IBDocument.UseAutolayout">YES</bool>
</data>
</archive>

View File

@ -0,0 +1,24 @@
//
// PatternWindowController.h
// ResKnife
//
// Created by Nate Weaver on 2012-7-7.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "ResKnifePluginProtocol.h"
@class Resource;
@protocol ResKnifeResourceProtocol;
@interface PatternWindowController : NSWindowController <ResKnifePluginProtocol, NSTableViewDataSource, NSTableViewDelegate> {
NSTableView *tableView;
IBOutlet NSImageView *imageView;
id <ResKnifeResourceProtocol> resource;
NSMutableArray *images;
}
@property (assign) IBOutlet NSTableView *tableView;
@end

View File

@ -0,0 +1,120 @@
//
// PatternWindowController.m
// ResKnife
//
// Created by Nate Weaver on 2012-7-7.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import "PatternWindowController.h"
#import "ResKnifeResourceProtocol.h"
@interface PatternWindowController ()
@end
@implementation PatternWindowController
@synthesize tableView;
- (id)initWithWindow:(NSWindow *)window
{
self = [super initWithWindow:window];
if (self) {
images = [[NSMutableArray alloc] init];
}
return self;
}
- (NSImage *)imageWithPATData:(NSData *)data {
unsigned char *oneBitData = (unsigned char *)[data bytes];
// make our own grayscale rep insted of a 1-bit rep to avoid some weird drawing bugs :/
NSBitmapImageRep *rep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL pixelsWide:8 pixelsHigh:8 bitsPerSample:8 samplesPerPixel:1 hasAlpha:NO isPlanar:NO colorSpaceName:NSCalibratedWhiteColorSpace bytesPerRow:8 bitsPerPixel:8];
unsigned char *grayscaleData = [rep bitmapData];
for (NSUInteger i = 0; i < 8; ++i) {
for (NSUInteger j = 0; j < 8; ++j)
grayscaleData[i * 8 + j] = (oneBitData[i] & (1 << j)) ? 0x0 : 0xff;
}
NSImage *newImage = [[NSImage alloc] init];
[newImage addRepresentation:rep];
return [newImage autorelease];
}
- (void)loadPAT:(id <ResKnifeResourceProtocol>)inResource {
NSData *data = [inResource data];
[images addObject:[self imageWithPATData:data]];
}
- (void)loadPATList:(id <ResKnifeResourceProtocol>)inResource {
NSData *data = [inResource data];
uint16_t numberOfPatterns;
[data getBytes:&numberOfPatterns length:sizeof(numberOfPatterns)];
numberOfPatterns = CFSwapInt16BigToHost(numberOfPatterns);
NSUInteger loc = sizeof(numberOfPatterns);
do {
NSData *subdata = [data subdataWithRange:(NSRange){ .location = loc, .length = 8 }];
[images addObject:[self imageWithPATData:subdata]];
} while ((loc += 8) <= [data length] - 8);
}
- (void)windowDidLoad
{
[super windowDidLoad];
// set the window's title
[[self window] setTitle:[resource defaultWindowTitle]];
[tableView reloadData];
// we don't want this notification until we have a window! (Only register for notifications on the resource we're editing)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resourceDataDidChange:) name:ResourceDataDidChangeNotification object:resource];
// finally, show the window
[self showWindow:self];
}
- (id)initWithResource:(id <ResKnifeResourceProtocol>)inResource {
if (self = [self initWithWindowNibName:@"PatternWindowController"]) {
resource = [inResource retain];
if ([[resource type] isEqualToString:@"PAT "]) // single 8x8 B&W pattern
[self loadPAT:resource];
else if ([[resource type] isEqualToString:@"PAT#"]) // list of 8x8 B&W patterns
[self loadPATList:resource];
[self window];
}
return self;
}
- (void)dealloc {
[resource release];
[images release];
[super dealloc];
}
- (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName
{
return [resource defaultWindowTitle];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return [images count];
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [images objectAtIndex:row];
}
- (void)tableViewSelectionDidChange:(NSNotification *)notification {
NSImage *image = [images objectAtIndex:[tableView selectedRow]];
[imageView setImage:image];
}
@end

View File

@ -0,0 +1,671 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2182</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSView</string>
<string>NSTableView</string>
<string>NSScrollView</string>
<string>NSWindowTemplate</string>
<string>IBNSLayoutConstraint</string>
<string>NSImageCell</string>
<string>NSTableColumn</string>
<string>NSImageView</string>
<string>NSScroller</string>
<string>NSCustomObject</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="NSCustomObject" id="1001">
<string key="NSClassName">PatternWindowController</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{196, 240}, {450, 309}}</string>
<int key="NSWTFlags">544735232</int>
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{200, 100}</string>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSImageView" id="41167696">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple PDF pasteboard type</string>
<string>Apple PICT pasteboard type</string>
<string>Apple PNG pasteboard type</string>
<string>NSFilenamesPboardType</string>
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{63, 17}, {370, 275}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="526651189">
<int key="NSCellFlags">130560</int>
<int key="NSCellFlags2">33554432</int>
<string key="NSCellIdentifier">_NS:9</string>
<int key="NSAlign">0</int>
<int key="NSScale">3</int>
<int key="NSStyle">2</int>
<bool key="NSAnimates">NO</bool>
</object>
<bool key="NSEditable">YES</bool>
</object>
<object class="NSScrollView" id="410690172">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="967156179">
<reference key="NSNextResponder" ref="410690172"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTableView" id="404158079">
<reference key="NSNextResponder" ref="967156179"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{44, 267}</string>
<reference key="NSSuperview" ref="967156179"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="40289171"/>
<string key="NSReuseIdentifierKey">_NS:13</string>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 0}, {16, 17}}</string>
<reference key="NSNextKeyView" ref="967156179"/>
<string key="NSReuseIdentifierKey">_NS:19</string>
</object>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="576726611">
<string key="NSIdentifier">image</string>
<double key="NSWidth">41</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Image</string>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerTextColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
<object class="NSImageCell" key="NSDataCell" id="513548098">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">33554432</int>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<string key="NSCellIdentifier">_NS:9</string>
<int key="NSAlign">0</int>
<int key="NSScale">0</int>
<int key="NSStyle">0</int>
<bool key="NSAnimates">NO</bool>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="404158079"/>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">25</double>
<int key="NSTvFlags">306184192</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">1</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</array>
<string key="NSFrame">{{1, 1}, {44, 267}}</string>
<reference key="NSSuperview" ref="410690172"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="404158079"/>
<string key="NSReuseIdentifierKey">_NS:11</string>
<reference key="NSDocView" ref="404158079"/>
<object class="NSColor" key="NSBGColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="40289171">
<reference key="NSNextResponder" ref="410690172"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
<reference key="NSSuperview" ref="410690172"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="41167696"/>
<string key="NSReuseIdentifierKey">_NS:58</string>
<reference key="NSTarget" ref="410690172"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99626865671641796</double>
</object>
<object class="NSScroller" id="910793070">
<reference key="NSNextResponder" ref="410690172"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {158, 15}}</string>
<reference key="NSSuperview" ref="410690172"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="967156179"/>
<string key="NSReuseIdentifierKey">_NS:60</string>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="410690172"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.97777777777777775</double>
</object>
</array>
<string key="NSFrame">{{12, 20}, {46, 269}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="910793070"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<int key="NSsFlags">215570</int>
<reference key="NSVScroller" ref="40289171"/>
<reference key="NSHScroller" ref="910793070"/>
<reference key="NSContentView" ref="967156179"/>
<bytes key="NSScrollAmts">QSAAAEEgAABB2AAAQdgAAA</bytes>
</object>
</array>
<string key="NSFrameSize">{450, 309}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="410690172"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{200, 122}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="1005"/>
</object>
<int key="connectionID">3</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">imageView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="41167696"/>
</object>
<int key="connectionID">110</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableView</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="404158079"/>
</object>
<int key="connectionID">182</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1005"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">4</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="404158079"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">189</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="404158079"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">204</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<array class="NSMutableArray" key="children">
<reference ref="1006"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<array class="NSMutableArray" key="children">
<reference ref="41167696"/>
<object class="IBNSLayoutConstraint" id="109993714">
<reference key="firstItem" ref="41167696"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1006"/>
<int key="secondAttribute">3</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="1018290444">
<reference key="firstItem" ref="1006"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="410690172"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<reference ref="410690172"/>
<object class="IBNSLayoutConstraint" id="468040445">
<reference key="firstItem" ref="1006"/>
<int key="firstAttribute">4</int>
<int key="relation">0</int>
<reference key="secondItem" ref="41167696"/>
<int key="secondAttribute">4</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="7360670">
<reference key="firstItem" ref="410690172"/>
<int key="firstAttribute">3</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1006"/>
<int key="secondAttribute">3</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="443890170">
<reference key="firstItem" ref="1006"/>
<int key="firstAttribute">6</int>
<int key="relation">0</int>
<reference key="secondItem" ref="41167696"/>
<int key="secondAttribute">6</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">20</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">8</int>
<float key="scoringTypeFloat">29</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="495643400">
<reference key="firstItem" ref="41167696"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="410690172"/>
<int key="secondAttribute">6</int>
<float key="multiplier">1</float>
<object class="IBNSLayoutSymbolicConstant" key="constant">
<double key="value">8</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">6</int>
<float key="scoringTypeFloat">24</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
<object class="IBNSLayoutConstraint" id="73608761">
<reference key="firstItem" ref="410690172"/>
<int key="firstAttribute">5</int>
<int key="relation">0</int>
<reference key="secondItem" ref="1006"/>
<int key="secondAttribute">5</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">12</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">3</int>
<reference key="containingView" ref="1006"/>
</object>
</array>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">95</int>
<reference key="object" ref="41167696"/>
<array class="NSMutableArray" key="children">
<reference ref="526651189"/>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">96</int>
<reference key="object" ref="526651189"/>
<reference key="parent" ref="41167696"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">123</int>
<reference key="object" ref="410690172"/>
<array class="NSMutableArray" key="children">
<reference ref="404158079"/>
<reference ref="910793070"/>
<reference ref="40289171"/>
<object class="IBNSLayoutConstraint" id="608978989">
<reference key="firstItem" ref="410690172"/>
<int key="firstAttribute">7</int>
<int key="relation">0</int>
<nil key="secondItem"/>
<int key="secondAttribute">0</int>
<float key="multiplier">1</float>
<object class="IBLayoutConstant" key="constant">
<double key="value">46</double>
</object>
<float key="priority">1000</float>
<int key="scoringType">9</int>
<float key="scoringTypeFloat">40</float>
<int key="contentType">1</int>
<reference key="containingView" ref="410690172"/>
</object>
</array>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">124</int>
<reference key="object" ref="404158079"/>
<array class="NSMutableArray" key="children">
<reference ref="576726611"/>
</array>
<reference key="parent" ref="410690172"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">125</int>
<reference key="object" ref="910793070"/>
<reference key="parent" ref="410690172"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">127</int>
<reference key="object" ref="40289171"/>
<reference key="parent" ref="410690172"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">128</int>
<reference key="object" ref="576726611"/>
<array class="NSMutableArray" key="children">
<reference ref="513548098"/>
</array>
<reference key="parent" ref="404158079"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">142</int>
<reference key="object" ref="109993714"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">167</int>
<reference key="object" ref="1018290444"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">176</int>
<reference key="object" ref="513548098"/>
<reference key="parent" ref="576726611"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">192</int>
<reference key="object" ref="468040445"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">193</int>
<reference key="object" ref="7360670"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">201</int>
<reference key="object" ref="443890170"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">202</int>
<reference key="object" ref="495643400"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">203</int>
<reference key="object" ref="73608761"/>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">205</int>
<reference key="object" ref="608978989"/>
<reference key="parent" ref="410690172"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
<integer value="1" key="1.NSWindowTemplate.visibleAtLaunch"/>
<array key="123.IBNSViewMetadataConstraints">
<reference ref="608978989"/>
</array>
<boolean value="NO" key="123.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="123.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="124.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="125.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="127.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="128.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="142.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="167.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="176.CustomClassName">RKPatternImageCell</string>
<string key="176.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="192.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="193.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array class="NSMutableArray" key="2.IBNSViewMetadataConstraints">
<reference ref="109993714"/>
<reference ref="1018290444"/>
<reference ref="468040445"/>
<reference ref="7360670"/>
<reference ref="443890170"/>
<reference ref="495643400"/>
<reference ref="73608761"/>
</array>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="95.CustomClassName">RKPatternView</string>
<boolean value="NO" key="95.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
<string key="95.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="96.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">205</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">NSLayoutConstraint</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/NSLayoutConstraint.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">PatternWindowController</string>
<string key="superclassName">NSWindowController</string>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="imageView">NSImageView</string>
<string key="tableView">NSTableView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="imageView">
<string key="name">imageView</string>
<string key="candidateClassName">NSImageView</string>
</object>
<object class="IBToOneOutletInfo" key="tableView">
<string key="name">tableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/PatternWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">RKPatternImageCell</string>
<string key="superclassName">NSImageCell</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/RKPatternImageCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">RKPatternView</string>
<string key="superclassName">NSImageView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/RKPatternView.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<bool key="IBDocument.UseAutolayout">YES</bool>
</data>
</archive>

View File

@ -0,0 +1,13 @@
//
// RKPatternImageCell.h
// ResKnife
//
// Created by Nate Weaver on 2012-7-8.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface RKPatternImageCell : NSImageCell
@end

View File

@ -0,0 +1,21 @@
//
// RKPatternImageCell.m
// ResKnife
//
// Created by Nate Weaver on 2012-7-8.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import "RKPatternImageCell.h"
@implementation RKPatternImageCell
- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
NSColor *pattern = [NSColor colorWithPatternImage:[self image]];
NSPoint phasePoint = [controlView convertPoint:(NSPoint){ .x = 0.0, .y = cellFrame.origin.y } toView:nil];
[[NSGraphicsContext currentContext] setPatternPhase:phasePoint];
[pattern set];
NSRectFill(NSInsetRect(cellFrame, 1.0, 1.0));
}
@end

View File

@ -0,0 +1,17 @@
//
// RKPatternView.h
// ResKnife
//
// Created by Nate Weaver on 2012-7-8.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface RKPatternView : NSImageView {
CGFloat scale;
}
@property (assign) CGFloat scale;
@end

View File

@ -0,0 +1,38 @@
//
// RKPatternView.m
// ResKnife
//
// Created by Nate Weaver on 2012-7-8.
// Copyright (c) 2012 Derailer. All rights reserved.
//
#import "RKPatternView.h"
@implementation RKPatternView
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
[[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationNone];
[super drawRect:dirtyRect];
}
- (CGFloat)scale {
return scale;
}
- (void)setScale:(CGFloat)newScale {
scale = newScale;
[self setNeedsDisplay:YES];
}
@end

View File

@ -5,7 +5,7 @@
@protocol ResKnifePluginProtocol
@abstract Your plug-in's principal class must implement initWithResource: or initWithResources:, all other methods are optional, and thus declared in ResKnifeInformalPluginProtocol.
*/
@protocol ResKnifePluginProtocol
@protocol ResKnifePluginProtocol <NSObject>
/*!
@method initWithResource:

View File

@ -23,7 +23,7 @@
#import <Cocoa/Cocoa.h>
@protocol ResKnifeResourceProtocol
@protocol ResKnifeResourceProtocol <NSObject>
- (void)touch;
- (BOOL)isDirty;
@ -40,6 +40,9 @@
- (NSData *)data;
- (void)setData:(NSData *)newData;
// Prevent a warning
- (id)copy;
- (NSString *)defaultWindowTitle;
- (NSDocument *)document; // Owner of this resource. Useful for looking for resources in same file as yours.

View File

@ -4,7 +4,7 @@
+ (id)elementForType:(NSString *)t withLabel:(NSString *)l
{
return [[[self alloc] autorelease] initForType:t withLabel:l];
return [[[self alloc]initForType:t withLabel:l] autorelease];
}
- (id)initForType:(NSString *)t withLabel:(NSString *)l

View File

@ -40,7 +40,8 @@
OSStatus error = UCConvertSecondsToCFAbsoluteTime(value, &cfTime);
if(error) return nil;
// return [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)cfTime] descriptionWithLocale:[NSLocale currentLocale]];
return [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)cfTime] descriptionWithLocale:[NSDictionary dictionaryWithObject:[[NSUserDefaults standardUserDefaults] objectForKey:NSShortTimeDateFormatString] forKey:@"NSTimeDateFormatString"]];
return [NSDateFormatter localizedStringFromDate:[NSDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)cfTime] dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle];
//return [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)cfTime] descriptionWithLocale:[NSDictionary dictionaryWithObject:[[NSUserDefaults standardUserDefaults] objectForKey:NSShortTimeDateFormatString] forKey:@"NSTimeDateFormatString"]];
// return [[NSCalendarDate dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)cfTime] descriptionWithLocale:[NSDictionary dictionaryWithObjectsAndKeys:
// [[NSUserDefaults standardUserDefaults] objectForKey:NSShortTimeDateFormatString], @"NSTimeDateFormatString",
// [[NSUserDefaults standardUserDefaults] objectForKey:NSAMPMDesignation], @"NSAMPMDesignation",
@ -57,7 +58,11 @@
- (void)setStringValue:(NSString *)str
{
// UCConvertCFAbsoluteTimeToSeconds((CFAbsoluteTime)[[NSCalendarDate dateWithString:str] timeIntervalSinceReferenceDate], &value);
UCConvertCFAbsoluteTimeToSeconds((CFAbsoluteTime)[[NSCalendarDate dateWithNaturalLanguageString:str] timeIntervalSinceReferenceDate], &value);
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateStyle:NSDateFormatterShortStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
NSDate *date = [formatter dateFromString:str];
UCConvertCFAbsoluteTimeToSeconds((CFAbsoluteTime)[date timeIntervalSinceReferenceDate], &value);
// UCConvertCFAbsoluteTimeToSeconds((CFAbsoluteTime)[[NSCalendarDate dateWithNaturalLanguageString:str locale:[NSDictionary dictionaryWithObject:[NSLocale currentLocale] forKey:@"NSLocale"]] timeIntervalSinceReferenceDate], &value);
}

View File

@ -45,8 +45,8 @@
{
char cstr[256];
char *endPtr = cstr + 255;
strncpy(cstr, [str cString], 255);
value = strtol(cstr, &endPtr, 10);
strncpy(cstr, [str cStringUsingEncoding:NSMacOSRomanStringEncoding], 255);
value = (SInt8)strtol(cstr, &endPtr, 10);
}
@end

View File

@ -48,7 +48,7 @@
{
char cstr[256];
char *endPtr = cstr + 255;
strncpy(cstr, [str cString], 255);
strncpy(cstr, [str cStringUsingEncoding:NSMacOSRomanStringEncoding], 255);
value = strtoll(cstr, &endPtr, 10);
}

View File

@ -41,14 +41,14 @@
- (NSString *)stringValue
{
return [NSString stringWithFormat:@"%ld", value];
return [NSString stringWithFormat:@"%d", value];
}
- (void)setStringValue:(NSString *)str
{
char cstr[256];
char *endPtr = cstr + 255;
strncpy(cstr, [str cString], 255);
strncpy(cstr, [str cStringUsingEncoding:NSMacOSRomanStringEncoding], 255);
value = strtol(cstr, &endPtr, 10);
}

View File

@ -48,8 +48,8 @@
{
char cstr[256];
char *endPtr = cstr + 255;
strncpy(cstr, [str cString], 255);
value = strtol(cstr, &endPtr, 10);
strncpy(cstr, [str cStringUsingEncoding:NSMacOSRomanStringEncoding], 255);
value = (SInt16)strtol(cstr, &endPtr, 10);
}
@end

Some files were not shown because too many files have changed in this diff Show More