More warning fixes, 64-bit compat (!), mo' betta table sorting.

This commit is contained in:
Nate Weaver 2012-07-04 17:13:25 -05:00
parent 26fff1be9a
commit c2660e8ce6
40 changed files with 625 additions and 638 deletions

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,8 +4,8 @@
- (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++)
@ -80,7 +80,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]; }

View File

@ -258,7 +258,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

@ -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];
@ -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

@ -27,7 +27,7 @@ extern NSString *RKResourcePboardType;
[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

@ -20,7 +20,7 @@
{
// 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);

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

@ -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

@ -78,7 +78,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 +90,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 +222,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 +236,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 +244,10 @@ extern NSString *RKResourcePboardType;
return YES;
}
- (void)outlineView:(NSOutlineView *)oView sortDescriptorsDidChange:(NSArray *)oldDescriptors {
[resources sortUsingDescriptors:[oView sortDescriptors]];
[oView reloadData];
}
@end

View File

@ -3,7 +3,7 @@
@class ResourceWindowController, ResourceDataSource, Resource;
@interface ResourceDocument : NSDocument
@interface ResourceDocument : NSDocument <NSToolbarDelegate>
{
IBOutlet ResourceDataSource *dataSource;
IBOutlet NSWindow *mainWindow;

View File

@ -316,7 +316,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));
@ -393,7 +393,7 @@ 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 && forkRefNum)
error = FSWriteFork(forkRefNum, fsFromStart, 0, [[resource data] length], [[resource data] bytes], NULL);
@ -441,7 +441,7 @@ extern NSString *RKResourcePboardType;
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
@ -480,7 +480,7 @@ extern NSString *RKResourcePboardType;
- (void)setTypeCreatorAfterSave:(id)userInfo
{
FSRef *fileRef = (FSRef *) NewPtrClear(sizeof(FSRef));
OSStatus error = FSPathMakeRef((const UInt8 *)[[self fileName] UTF8String], fileRef, nil);
OSStatus error = FSPathMakeRef((const UInt8 *)[[[self fileURL] path] UTF8String], fileRef, nil);
if(!error)
{
FSCatalogInfo info;
@ -496,7 +496,7 @@ extern NSString *RKResourcePboardType;
}
else NSLog(@"error getting Finder info. (error=%d, ref=%p)", error, fileRef);
}
else NSLog(@"error making fsref from file path. (error=%d, ref=%p, 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 -
@ -516,7 +516,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
{
@ -541,7 +544,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
@ -554,8 +557,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
@ -564,7 +571,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
@ -573,7 +580,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])
@ -611,8 +618,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];
}
}
}
@ -752,7 +759,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];
@ -764,7 +771,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];
@ -786,7 +793,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:@"NSGetInfoToolbar"]))
[item setImage:image];
else [item setImage:[NSImage imageNamed:@"Show Info"]];
[item setTarget:[NSApp delegate]];
@ -982,7 +989,7 @@ static NSString *RKExportItemIdentifier = @"com.nickshanks.resknife.toolbar.exp
// 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];
id <ResKnifePluginProtocol> plugController = [(id <ResKnifePluginProtocol>)[editorClass alloc] initWithResource:resource];
#pragma unused(plugController)
}

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)
{

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -28,17 +28,17 @@
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="655158189">
<object class="NSCustomObject" id="815817720">
<array class="NSMutableArray" key="IBDocument.RootObjects" id="326924725">
<object class="NSCustomObject" id="460391499">
<string key="NSClassName">ResourceDocument</string>
</object>
<object class="NSCustomObject" id="275805878">
<object class="NSCustomObject" id="171601423">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="834800081">
<object class="NSCustomObject" id="498234075">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="105351918">
<object class="NSWindowTemplate" id="1069953520">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{14, 561}, {540, 400}}</string>
@ -48,32 +48,34 @@
<string key="NSViewClass">View</string>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{208.05900573730469, 200}</string>
<object class="NSView" key="NSWindowView" id="680504676">
<object class="NSView" key="NSWindowView" id="68889780">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSScrollView" id="121952802">
<reference key="NSNextResponder" ref="680504676"/>
<object class="NSScrollView" id="787858034">
<reference key="NSNextResponder" ref="68889780"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSClipView" id="335197704">
<reference key="NSNextResponder" ref="121952802"/>
<object class="NSClipView" id="553411803">
<reference key="NSNextResponder" ref="787858034"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSOutlineView" id="652263577">
<reference key="NSNextResponder" ref="335197704"/>
<object class="NSOutlineView" id="531638983">
<reference key="NSNextResponder" ref="553411803"/>
<int key="NSvFlags">4352</int>
<string key="NSFrameSize">{540, 384}</string>
<reference key="NSSuperview" ref="335197704"/>
<reference key="NSSuperview" ref="553411803"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="426977364"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="1033534104">
<reference key="NSNextResponder" ref="53970871"/>
<object class="NSTableHeaderView" key="NSHeaderView" id="625879308">
<reference key="NSNextResponder" ref="984748865"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{540, 17}</string>
<reference key="NSSuperview" ref="53970871"/>
<reference key="NSSuperview" ref="984748865"/>
<reference key="NSWindow"/>
<reference key="NSTableView" ref="652263577"/>
<reference key="NSNextKeyView" ref="553411803"/>
<reference key="NSTableView" ref="531638983"/>
</object>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
@ -81,7 +83,7 @@
<string key="NSFrame">{{526, 0}, {16, 17}}</string>
</object>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="961388061">
<object class="NSTableColumn" id="858843706">
<string key="NSIdentifier">name</string>
<double key="NSWidth">208</double>
<double key="NSMinWidth">16</double>
@ -95,45 +97,50 @@
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor" id="170516711">
<object class="NSColor" key="NSBackgroundColor" id="276454905">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<object class="NSColor" key="NSTextColor" id="753546328">
<object class="NSColor" key="NSTextColor" id="776624688">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerTextColor</string>
<object class="NSColor" key="NSColor" id="733880328">
<object class="NSColor" key="NSColor" id="684219855">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="674459935">
<object class="NSTextFieldCell" key="NSDataCell" id="1029593585">
<int key="NSCellFlags">338820672</int>
<int key="NSCellFlags2">1024</int>
<object class="NSFont" key="NSSupport" id="517425866">
<object class="NSFont" key="NSSupport" id="788683039">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="652263577"/>
<object class="NSColor" key="NSBackgroundColor" id="171434710">
<reference key="NSControlView" ref="531638983"/>
<object class="NSColor" key="NSBackgroundColor" id="351349716">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="NSTextColor" id="285221924">
<object class="NSColor" key="NSTextColor" id="573531508">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<reference key="NSColor" ref="733880328"/>
<reference key="NSColor" ref="684219855"/>
</object>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="652263577"/>
<reference key="NSTableView" ref="531638983"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">name</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">localizedStandardCompare:</string>
</object>
</object>
<object class="NSTableColumn" id="402472827">
<object class="NSTableColumn" id="746667467">
<string key="NSIdentifier">type</string>
<double key="NSWidth">60</double>
<double key="NSMinWidth">60</double>
@ -143,22 +150,27 @@
<int key="NSCellFlags2">67110912</int>
<string key="NSContents">Type</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="170516711"/>
<reference key="NSTextColor" ref="753546328"/>
<reference key="NSBackgroundColor" ref="276454905"/>
<reference key="NSTextColor" ref="776624688"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="909326780">
<object class="NSTextFieldCell" key="NSDataCell" id="819918056">
<int key="NSCellFlags">338820672</int>
<int key="NSCellFlags2">67109888</int>
<reference key="NSSupport" ref="517425866"/>
<reference key="NSControlView" ref="652263577"/>
<reference key="NSBackgroundColor" ref="171434710"/>
<reference key="NSTextColor" ref="285221924"/>
<reference key="NSSupport" ref="788683039"/>
<reference key="NSControlView" ref="531638983"/>
<reference key="NSBackgroundColor" ref="351349716"/>
<reference key="NSTextColor" ref="573531508"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="652263577"/>
<reference key="NSTableView" ref="531638983"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">type</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="1067699082">
<object class="NSTableColumn" id="476182781">
<string key="NSIdentifier">resID</string>
<double key="NSWidth">60</double>
<double key="NSMinWidth">60</double>
@ -168,20 +180,20 @@
<int key="NSCellFlags2">67110912</int>
<string key="NSContents">ID</string>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor" id="901428803">
<object class="NSColor" key="NSBackgroundColor" id="939396324">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerColor</string>
<reference key="NSColor" ref="171434710"/>
<reference key="NSColor" ref="351349716"/>
</object>
<reference key="NSTextColor" ref="753546328"/>
<reference key="NSTextColor" ref="776624688"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="182539502">
<object class="NSTextFieldCell" key="NSDataCell" id="887758043">
<int key="NSCellFlags">338820672</int>
<int key="NSCellFlags2">67109888</int>
<reference key="NSSupport" ref="517425866"/>
<reference key="NSControlView" ref="652263577"/>
<object class="NSColor" key="NSBackgroundColor" id="328727949">
<reference key="NSSupport" ref="788683039"/>
<reference key="NSControlView" ref="531638983"/>
<object class="NSColor" key="NSBackgroundColor" id="269126464">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
@ -190,13 +202,18 @@
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<reference key="NSTextColor" ref="285221924"/>
<reference key="NSTextColor" ref="573531508"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="652263577"/>
<reference key="NSTableView" ref="531638983"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">resID</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="787376976">
<object class="NSTableColumn" id="927732486">
<string key="NSIdentifier">size</string>
<double key="NSWidth">80</double>
<double key="NSMinWidth">60</double>
@ -206,22 +223,27 @@
<int key="NSCellFlags2">67110912</int>
<string key="NSContents">Size</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="901428803"/>
<reference key="NSTextColor" ref="753546328"/>
<reference key="NSBackgroundColor" ref="939396324"/>
<reference key="NSTextColor" ref="776624688"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="790900874">
<object class="NSTextFieldCell" key="NSDataCell" id="940598627">
<int key="NSCellFlags">338820672</int>
<int key="NSCellFlags2">67109888</int>
<reference key="NSSupport" ref="517425866"/>
<reference key="NSControlView" ref="652263577"/>
<reference key="NSBackgroundColor" ref="328727949"/>
<reference key="NSTextColor" ref="285221924"/>
<reference key="NSSupport" ref="788683039"/>
<reference key="NSControlView" ref="531638983"/>
<reference key="NSBackgroundColor" ref="269126464"/>
<reference key="NSTextColor" ref="573531508"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="652263577"/>
<reference key="NSTableView" ref="531638983"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">size</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="921085621">
<object class="NSTableColumn" id="460781678">
<string key="NSIdentifier">attributes</string>
<double key="NSWidth">117</double>
<double key="NSMinWidth">60</double>
@ -231,25 +253,30 @@
<int key="NSCellFlags2">134219776</int>
<string key="NSContents">Attributes</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="901428803"/>
<reference key="NSTextColor" ref="753546328"/>
<reference key="NSBackgroundColor" ref="939396324"/>
<reference key="NSTextColor" ref="776624688"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="963296652">
<object class="NSTextFieldCell" key="NSDataCell" id="277813217">
<int key="NSCellFlags">338820672</int>
<int key="NSCellFlags2">1024</int>
<reference key="NSSupport" ref="517425866"/>
<reference key="NSControlView" ref="652263577"/>
<reference key="NSBackgroundColor" ref="328727949"/>
<reference key="NSTextColor" ref="285221924"/>
<reference key="NSSupport" ref="788683039"/>
<reference key="NSControlView" ref="531638983"/>
<reference key="NSBackgroundColor" ref="269126464"/>
<reference key="NSTextColor" ref="573531508"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="652263577"/>
<reference key="NSTableView" ref="531638983"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">attributes</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="171434710"/>
<reference key="NSBackgroundColor" ref="351349716"/>
<object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
@ -273,64 +300,67 @@
</object>
</array>
<string key="NSFrame">{{1, 17}, {540, 384}}</string>
<reference key="NSSuperview" ref="121952802"/>
<reference key="NSSuperview" ref="787858034"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="652263577"/>
<reference key="NSDocView" ref="652263577"/>
<reference key="NSBGColor" ref="328727949"/>
<reference key="NSNextKeyView" ref="531638983"/>
<reference key="NSDocView" ref="531638983"/>
<reference key="NSBGColor" ref="269126464"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="478513565">
<reference key="NSNextResponder" ref="121952802"/>
<object class="NSScroller" id="873121742">
<reference key="NSNextResponder" ref="787858034"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{526, 17}, {15, 378}}</string>
<reference key="NSSuperview" ref="121952802"/>
<reference key="NSSuperview" ref="787858034"/>
<reference key="NSWindow"/>
<reference key="NSTarget" ref="121952802"/>
<reference key="NSNextKeyView"/>
<reference key="NSTarget" ref="787858034"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.96616542339324951</double>
</object>
<object class="NSScroller" id="427663135">
<reference key="NSNextResponder" ref="121952802"/>
<object class="NSScroller" id="426977364">
<reference key="NSNextResponder" ref="787858034"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{1, 386}, {534, 15}}</string>
<reference key="NSSuperview" ref="121952802"/>
<reference key="NSSuperview" ref="787858034"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="873121742"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="121952802"/>
<reference key="NSTarget" ref="787858034"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.97042512893676758</double>
</object>
<object class="NSClipView" id="53970871">
<reference key="NSNextResponder" ref="121952802"/>
<object class="NSClipView" id="984748865">
<reference key="NSNextResponder" ref="787858034"/>
<int key="NSvFlags">2304</int>
<array class="NSMutableArray" key="NSSubviews">
<reference ref="1033534104"/>
<reference ref="625879308"/>
</array>
<string key="NSFrame">{{1, 0}, {540, 17}}</string>
<reference key="NSSuperview" ref="121952802"/>
<reference key="NSSuperview" ref="787858034"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1033534104"/>
<reference key="NSDocView" ref="1033534104"/>
<reference key="NSBGColor" ref="328727949"/>
<reference key="NSNextKeyView" ref="625879308"/>
<reference key="NSDocView" ref="625879308"/>
<reference key="NSBGColor" ref="269126464"/>
<int key="NScvFlags">4</int>
</object>
</array>
<string key="NSFrame">{{-1, -1}, {542, 402}}</string>
<reference key="NSSuperview" ref="680504676"/>
<reference key="NSSuperview" ref="68889780"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="335197704"/>
<reference key="NSNextKeyView" ref="984748865"/>
<int key="NSsFlags">2098</int>
<reference key="NSVScroller" ref="478513565"/>
<reference key="NSHScroller" ref="427663135"/>
<reference key="NSContentView" ref="335197704"/>
<reference key="NSHeaderClipView" ref="53970871"/>
<reference key="NSVScroller" ref="873121742"/>
<reference key="NSHScroller" ref="426977364"/>
<reference key="NSContentView" ref="553411803"/>
<reference key="NSHeaderClipView" ref="984748865"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
</array>
<string key="NSFrameSize">{540, 400}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="787858034"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMinSize">{208.05900573730469, 222}</string>
@ -338,16 +368,16 @@
<int key="NSWindowCollectionBehavior">128</int>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSCustomObject" id="1003480982">
<object class="NSCustomObject" id="196072402">
<string key="NSClassName">OutlineViewDelegate</string>
</object>
<object class="NSCustomObject" id="777794502">
<object class="NSCustomObject" id="316786365">
<string key="NSClassName">ResourceDataSource</string>
</object>
<object class="NSCustomObject" id="939485121">
<object class="NSCustomObject" id="501475671">
<string key="NSClassName">SizeFormatter</string>
</object>
<object class="NSCustomObject" id="800833355">
<object class="NSCustomObject" id="647945094">
<string key="NSClassName">AttributesFormatter</string>
</object>
</array>
@ -356,112 +386,112 @@
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="815817720"/>
<reference key="destination" ref="105351918"/>
<reference key="source" ref="460391499"/>
<reference key="destination" ref="1069953520"/>
</object>
<int key="connectionID">8</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="815817720"/>
<reference key="destination" ref="777794502"/>
<reference key="source" ref="460391499"/>
<reference key="destination" ref="316786365"/>
</object>
<int key="connectionID">120</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mainWindow</string>
<reference key="source" ref="815817720"/>
<reference key="destination" ref="105351918"/>
<reference key="source" ref="460391499"/>
<reference key="destination" ref="1069953520"/>
</object>
<int key="connectionID">122</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">outlineView</string>
<reference key="source" ref="815817720"/>
<reference key="destination" ref="652263577"/>
<reference key="source" ref="460391499"/>
<reference key="destination" ref="531638983"/>
</object>
<int key="connectionID">155</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="105351918"/>
<reference key="destination" ref="815817720"/>
<reference key="source" ref="1069953520"/>
<reference key="destination" ref="460391499"/>
</object>
<int key="connectionID">9</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">initialFirstResponder</string>
<reference key="source" ref="105351918"/>
<reference key="destination" ref="652263577"/>
<reference key="source" ref="1069953520"/>
<reference key="destination" ref="531638983"/>
</object>
<int key="connectionID">156</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="1003480982"/>
<reference key="destination" ref="105351918"/>
<reference key="source" ref="196072402"/>
<reference key="destination" ref="1069953520"/>
</object>
<int key="connectionID">31</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">sizeFormatter</string>
<reference key="source" ref="1003480982"/>
<reference key="destination" ref="939485121"/>
<reference key="source" ref="196072402"/>
<reference key="destination" ref="501475671"/>
</object>
<int key="connectionID">39</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">attributesFormatter</string>
<reference key="source" ref="1003480982"/>
<reference key="destination" ref="800833355"/>
<reference key="source" ref="196072402"/>
<reference key="destination" ref="647945094"/>
</object>
<int key="connectionID">49</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window</string>
<reference key="source" ref="777794502"/>
<reference key="destination" ref="105351918"/>
<reference key="source" ref="316786365"/>
<reference key="destination" ref="1069953520"/>
</object>
<int key="connectionID">46</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">document</string>
<reference key="source" ref="777794502"/>
<reference key="destination" ref="815817720"/>
<reference key="source" ref="316786365"/>
<reference key="destination" ref="460391499"/>
</object>
<int key="connectionID">121</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">outlineView</string>
<reference key="source" ref="777794502"/>
<reference key="destination" ref="652263577"/>
<reference key="source" ref="316786365"/>
<reference key="destination" ref="531638983"/>
</object>
<int key="connectionID">154</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="652263577"/>
<reference key="destination" ref="777794502"/>
<reference key="source" ref="531638983"/>
<reference key="destination" ref="316786365"/>
</object>
<int key="connectionID">152</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="652263577"/>
<reference key="destination" ref="1003480982"/>
<reference key="source" ref="531638983"/>
<reference key="destination" ref="196072402"/>
</object>
<int key="connectionID">153</int>
</object>
@ -471,168 +501,168 @@
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="655158189"/>
<reference key="children" ref="326924725"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="815817720"/>
<reference key="object" ref="460391499"/>
<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="275805878"/>
<reference key="object" ref="171601423"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="105351918"/>
<reference key="object" ref="1069953520"/>
<array class="NSMutableArray" key="children">
<reference ref="680504676"/>
<reference ref="68889780"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Window</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="680504676"/>
<reference key="object" ref="68889780"/>
<array class="NSMutableArray" key="children">
<reference ref="121952802"/>
<reference ref="787858034"/>
</array>
<reference key="parent" ref="105351918"/>
<reference key="parent" ref="1069953520"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">146</int>
<reference key="object" ref="121952802"/>
<reference key="object" ref="787858034"/>
<array class="NSMutableArray" key="children">
<reference ref="652263577"/>
<reference ref="427663135"/>
<reference ref="1033534104"/>
<reference ref="478513565"/>
<reference ref="531638983"/>
<reference ref="426977364"/>
<reference ref="625879308"/>
<reference ref="873121742"/>
</array>
<reference key="parent" ref="680504676"/>
<reference key="parent" ref="68889780"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">145</int>
<reference key="object" ref="652263577"/>
<reference key="object" ref="531638983"/>
<array class="NSMutableArray" key="children">
<reference ref="961388061"/>
<reference ref="402472827"/>
<reference ref="1067699082"/>
<reference ref="787376976"/>
<reference ref="921085621"/>
<reference ref="858843706"/>
<reference ref="746667467"/>
<reference ref="476182781"/>
<reference ref="927732486"/>
<reference ref="460781678"/>
</array>
<reference key="parent" ref="121952802"/>
<reference key="parent" ref="787858034"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">147</int>
<reference key="object" ref="961388061"/>
<reference key="object" ref="858843706"/>
<array class="NSMutableArray" key="children">
<reference ref="674459935"/>
<reference ref="1029593585"/>
</array>
<reference key="parent" ref="652263577"/>
<reference key="parent" ref="531638983"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">148</int>
<reference key="object" ref="402472827"/>
<reference key="object" ref="746667467"/>
<array class="NSMutableArray" key="children">
<reference ref="909326780"/>
<reference ref="819918056"/>
</array>
<reference key="parent" ref="652263577"/>
<reference key="parent" ref="531638983"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">149</int>
<reference key="object" ref="1067699082"/>
<reference key="object" ref="476182781"/>
<array class="NSMutableArray" key="children">
<reference ref="182539502"/>
<reference ref="887758043"/>
</array>
<reference key="parent" ref="652263577"/>
<reference key="parent" ref="531638983"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">150</int>
<reference key="object" ref="787376976"/>
<reference key="object" ref="927732486"/>
<array class="NSMutableArray" key="children">
<reference ref="790900874"/>
<reference ref="940598627"/>
</array>
<reference key="parent" ref="652263577"/>
<reference key="parent" ref="531638983"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">151</int>
<reference key="object" ref="921085621"/>
<reference key="object" ref="460781678"/>
<array class="NSMutableArray" key="children">
<reference ref="963296652"/>
<reference ref="277813217"/>
</array>
<reference key="parent" ref="652263577"/>
<reference key="parent" ref="531638983"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">24</int>
<reference key="object" ref="1003480982"/>
<reference key="object" ref="196072402"/>
<reference key="parent" ref="0"/>
<string key="objectName">OutlineViewDelegate</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">32</int>
<reference key="object" ref="777794502"/>
<reference key="object" ref="316786365"/>
<reference key="parent" ref="0"/>
<string key="objectName">ResourceDataSource</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">38</int>
<reference key="object" ref="939485121"/>
<reference key="object" ref="501475671"/>
<reference key="parent" ref="0"/>
<string key="objectName">SizeFormatter</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">48</int>
<reference key="object" ref="800833355"/>
<reference key="object" ref="647945094"/>
<reference key="parent" ref="0"/>
<string key="objectName">AttributesFormatter</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">158</int>
<reference key="object" ref="674459935"/>
<reference key="parent" ref="961388061"/>
<reference key="object" ref="1029593585"/>
<reference key="parent" ref="858843706"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">159</int>
<reference key="object" ref="909326780"/>
<reference key="parent" ref="402472827"/>
<reference key="object" ref="819918056"/>
<reference key="parent" ref="746667467"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">160</int>
<reference key="object" ref="182539502"/>
<reference key="parent" ref="1067699082"/>
<reference key="object" ref="887758043"/>
<reference key="parent" ref="476182781"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">161</int>
<reference key="object" ref="790900874"/>
<reference key="parent" ref="787376976"/>
<reference key="object" ref="940598627"/>
<reference key="parent" ref="927732486"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">162</int>
<reference key="object" ref="963296652"/>
<reference key="parent" ref="921085621"/>
<reference key="object" ref="277813217"/>
<reference key="parent" ref="460781678"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">163</int>
<reference key="object" ref="427663135"/>
<reference key="parent" ref="121952802"/>
<reference key="object" ref="426977364"/>
<reference key="parent" ref="787858034"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">164</int>
<reference key="object" ref="1033534104"/>
<reference key="parent" ref="121952802"/>
<reference key="object" ref="625879308"/>
<reference key="parent" ref="787858034"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">165</int>
<reference key="object" ref="478513565"/>
<reference key="parent" ref="121952802"/>
<reference key="object" ref="873121742"/>
<reference key="parent" ref="787858034"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="834800081"/>
<reference key="object" ref="498234075"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>

View File

@ -72,9 +72,9 @@
</object>
<object class="NSDrawer" id="939552876">
<nil key="NSNextResponder"/>
<string key="NSContentSize">{200, 207}</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>
@ -98,7 +98,6 @@
<int key="NSvFlags">8448</int>
<string key="NSFrameSize">{56, 205}</string>
<reference key="NSSuperview" ref="333315727"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
@ -186,7 +185,6 @@
</array>
<string key="NSFrame">{{1, 1}, {56, 205}}</string>
<reference key="NSSuperview" ref="837390482"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="362189248"/>
<reference key="NSDocView" ref="362189248"/>
<object class="NSColor" key="NSBGColor" id="549723558">
@ -205,7 +203,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-22, 1}, {11, 186}}</string>
<reference key="NSSuperview" ref="837390482"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="333315727"/>
<int key="NSsFlags">256</int>
<reference key="NSTarget" ref="837390482"/>
@ -217,7 +214,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {75, 11}}</string>
<reference key="NSSuperview" ref="837390482"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1029464843"/>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="837390482"/>
@ -227,7 +223,6 @@
</array>
<string key="NSFrameSize">{58, 207}</string>
<reference key="NSSuperview" ref="842202587"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="722969521"/>
<int key="NSsFlags">133650</int>
<reference key="NSVScroller" ref="1029464843"/>
@ -238,7 +233,6 @@
</array>
<string key="NSFrameSize">{58, 207}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="837390482"/>
<object class="NSMutableString" key="NSClassName">
<characters key="NS.bytes">NSView</characters>

View File

@ -1,6 +1,7 @@
#import "FontWindowController.h"
#import "NGSCategories.h"
#import "ResourceDocument.h"
#import "Resource.h"
#import <stdarg.h>
UInt32 TableChecksum(UInt32 *table, UInt32 length)

View File

@ -1,6 +1,18 @@
#import "HexTextView.h"
#import "NSData-HexRepresentation.h"
@interface NSTextView (Private)
- (NSUInteger)_insertionGlyphIndexForDrag:(id)sender;
@end
@interface NSUndoManager (Private)
- (id)_undoStack;
@end
@implementation HexEditorTextView
/* NSText overrides */
@ -142,7 +154,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 +168,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 +191,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
@ -202,13 +214,12 @@ static NSRange draggedRange;
{
NSRange selection = [(HexEditorDelegate *)[self delegate] rangeForUserTextChange];
NSMutableData *data = [[[[self window] windowController] data] mutableCopy];
NSData *replaceData = [NSData dataWithBytes:[string cString] length:[string cStringLength]];
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];
if(typedChar >= 0x30 && typedChar <= 0x39) typedChar -= 0x30; // 0 to 9
@ -216,12 +227,12 @@ static NSRange draggedRange;
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,7 +245,7 @@ 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];
}
}
}
@ -246,8 +257,8 @@ static NSRange draggedRange;
// 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 +282,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 +336,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;

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 = 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;)
{

View File

@ -84,30 +84,33 @@
resData = [[resource data] retain];
planes[0] = (unsigned char*) [resData bytes];
for (NSUInteger i = 0; i < [resData length]; ++i)
planes[0][i] ^= 0xff;
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
bitsPerSample:1 samplesPerPixel:2 hasAlpha:YES isPlanar:YES colorSpaceName:NSCalibratedWhiteColorSpace
bytesPerRow:4 bitsPerPixel:1];
}
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
bitsPerSample:1 samplesPerPixel:2 hasAlpha:YES isPlanar:YES colorSpaceName:NSCalibratedWhiteColorSpace
bytesPerRow:2 bitsPerPixel:1];
}
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
bitsPerSample:1 samplesPerPixel:2 hasAlpha:YES isPlanar:YES colorSpaceName:NSCalibratedWhiteColorSpace
bytesPerRow:2 bitsPerPixel:1];
}
else
bir = [[[NSBitmapImageRep alloc] autorelease] initWithBitmapDataPlanes:planes pixelsWide:32 pixelsHigh:32
bitsPerSample:1 samplesPerPixel:1 hasAlpha:NO isPlanar:NO colorSpaceName:NSCalibratedBlackColorSpace
bitsPerSample:1 samplesPerPixel:1 hasAlpha:NO isPlanar:NO colorSpaceName:NSCalibratedWhiteColorSpace
bytesPerRow:4 bitsPerPixel:1];
[resImage addRepresentation:bir];
@ -165,7 +168,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

@ -45,7 +45,7 @@
{
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,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

@ -48,7 +48,7 @@
{
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,7 +48,7 @@
{
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

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

View File

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

View File

@ -83,10 +83,7 @@
- (unsigned int)sizeOnDisk
{
UInt32 length;
if([value respondsToSelector:@selector(lengthOfBytesUsingEncoding:)]) // 10.4
length = [value lengthOfBytesUsingEncoding:NSMacOSRomanStringEncoding];
else length = [value cStringLength];
UInt32 length = [value lengthOfBytesUsingEncoding:NSMacOSRomanStringEncoding];
if(_maxLength && length > _maxLength) length = _maxLength;
if(length < _minLength) length = _minLength;
length += _lengthBytes + (_terminatingByte? 1:0);

View File

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

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 = strtoull(cstr, &endPtr, 10);
}

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 = strtoul(cstr, &endPtr, 10);
}

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 = strtoul(cstr, &endPtr, 10);
}

View File

@ -23,7 +23,7 @@
#import "ResKnifePluginProtocol.h"
#import "ResKnifeResourceProtocol.h"
@interface TemplateWindowController : NSWindowController <ResKnifeTemplatePluginProtocol>
@interface TemplateWindowController : NSWindowController <ResKnifeTemplatePluginProtocol, NSToolbarDelegate>
{
IBOutlet NSOutlineView *displayList; // template display (debug only).
IBOutlet NSOutlineView *dataList; // Data display.

View File

@ -50,7 +50,7 @@
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(templateDataDidChange:) name:ResourceDataDidChangeNotification object:tmplResource];
[self readTemplate:tmplResource]; // reads (but doesn't retain) the template for this resource (TMPL resource with name equal to the passed resource's type)
while(tmplResource = va_arg(resourceList, id))
while((tmplResource = va_arg(resourceList, id)))
NSLog(@"Too many params passed to -initWithResources:%@", [tmplResource description]);
va_end(resourceList);
@ -142,7 +142,7 @@
id item;
[dataList reloadData];
int row = [dataList numberOfRows];
while(item = [dataList itemAtRow: --row])
while((item = [dataList itemAtRow: --row]))
{
if([dataList isExpandable: item] && ![dataList isItemExpanded: item])
[dataList expandItem: item expandChildren: YES];
@ -444,7 +444,7 @@ static NSString *RKTEDisplayTMPLIdentifier = @"com.nickshanks.resknife.templatee
if(selectedItem && [selectedItem editable] && ([[event characters] isEqualToString:@"\r"] || [[event characters] isEqualToString:@"\t"]))
[self editColumn:1 row:selectedRow withEvent:nil select:YES];
else if(selectedItem && [selectedItem respondsToSelector:@selector(clear:)] && [[event characters] isEqualToString:[NSString stringWithCString:"\x7F"]])
else if(selectedItem && [selectedItem respondsToSelector:@selector(clear:)] && [[event characters] isEqualToString:@"\x7F"])
[[[self window] windowController] clear:nil];
else [super keyDown:event];
}

View File

@ -1,4 +1,5 @@
#import "CharWindowController.h"
#import "Resource.h"
@implementation CharWindowController

View File

@ -10,7 +10,6 @@
0EBA8666122CF49800FEC1AC /* NGSCategories.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EBA8664122CF49800FEC1AC /* NGSCategories.h */; };
0EBA8667122CF49800FEC1AC /* NGSCategories.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EBA8665122CF49800FEC1AC /* NGSCategories.m */; };
0EF71540122BD0D0005DF94E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0EF7153F122BD0D0005DF94E /* Localizable.strings */; };
3DB9D66412307A9400DDA647 /* NovaTools.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = E17ADBC006A2132800842474 /* NovaTools.plugin */; };
3DB9D6E712307F6300DDA647 /* Bitmap Editor.plugin in Copy Plugins */ = {isa = PBXBuildFile; fileRef = E18BF69D069FEA1800F076B8 /* Bitmap Editor.plugin */; };
B229EECB15A4B8720032C12C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5B5884B0156D40B01000001 /* Cocoa.framework */; };
B229EED515A4B8720032C12C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = B229EED315A4B8720032C12C /* InfoPlist.strings */; };
@ -252,13 +251,6 @@
/* End PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
0ED5B4B513BF0A7400A5DC6D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F5B5880F0156D2A601000001 /* Project object */;
proxyType = 1;
remoteGlobalIDString = E18BF5B7069FEA1400F076B8;
remoteInfo = NovaTools;
};
0ED5B4B713BF0A7800A5DC6D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F5B5880F0156D2A601000001 /* Project object */;
@ -340,7 +332,6 @@
E1F0B65B06AD62B1007D3469 /* Template Editor.plugin in Copy Plugins */,
E13F837F08F13A4C00E2A5CB /* Font Editor.plugin in Copy Plugins */,
3DB9D6E712307F6300DDA647 /* Bitmap Editor.plugin in Copy Plugins */,
3DB9D66412307A9400DDA647 /* NovaTools.plugin in Copy Plugins */,
);
name = "Copy Plugins";
runOnlyForDeploymentPostprocessing = 0;
@ -1543,7 +1534,6 @@
E18BF6D0069FEA1900F076B8 /* PBXTargetDependency */,
0ED5B4B813BF0A7800A5DC6D /* PBXTargetDependency */,
E13F836508F139E900E2A5CB /* PBXTargetDependency */,
0ED5B4B613BF0A7400A5DC6D /* PBXTargetDependency */,
B229EEE315A4BB720032C12C /* PBXTargetDependency */,
);
name = "ResKnife Cocoa";
@ -2043,11 +2033,6 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
0ED5B4B613BF0A7400A5DC6D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E18BF5B7069FEA1400F076B8 /* NovaTools */;
targetProxy = 0ED5B4B513BF0A7400A5DC6D /* PBXContainerItemProxy */;
};
0ED5B4B813BF0A7800A5DC6D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = E18BF68E069FEA1800F076B8 /* Bitmap Editor Cocoa */;
@ -2780,7 +2765,6 @@
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
GCC_VERSION = "";
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_SIGN_COMPARE = YES;
SDKROOT = macosx;
};
name = Debug;
@ -2791,7 +2775,6 @@
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_VERSION = "";
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_SIGN_COMPARE = YES;
SDKROOT = macosx;
};
name = Release;