This is UnlockGraphicsChange.m in view mode; [Download] [Up]
#import "drawundo.h"
@interface UnlockGraphicsChange(PrivateMethods)
- undoDetails;
@end
@implementation UnlockGraphicsChange
- (const char *)changeName
{
return NXLocalStringFromTable("Operations", "Unlock", NULL, "The operation of unlocking all the graphical entities which were previously locked down (see Lock).");
return "Unlock";
}
- saveBeforeChange
{
List *allGraphics;
int i, count;
id graphic;
graphics = [[List alloc] init];
allGraphics = [graphicView graphics];
count = [allGraphics count];
for (i = 0; i < count; i++) {
graphic = [allGraphics objectAt:i];
if ([graphic isLocked])
[graphics addObject:graphic];
}
if ([graphics count] == 0)
[self disable];
return self;
}
- redoChange
{
[graphics makeObjectsPerform:@selector(unlock)];
[graphicView resetLockedFlag];
return [super redoChange];
}
- changeDetailClass
{
return nil;
}
- undoDetails
{
int i, count;
List *selectedGraphics;
id graphic;
selectedGraphics = [graphicView selectedGraphics];
count = [graphics count];
for (i = 0; i < count; i++) {
graphic = [graphics objectAt:i];
[graphic lock];
[graphic deselect];
[selectedGraphics removeObject:graphic];
}
[graphicView resetLockedFlag];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.