File:  [NeXTSTEP 3.3 examples] / Examples / AppKit / Draw / graphicsUndo.subproj / ReorderGraphicsChange.m
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:48:39 2018 UTC (8 years, 1 month ago) by root
Branches: NeXT, MAIN
CVS tags: NeXTSTEP33, HEAD
Sample Programs from NeXSTEP 3.3

#import "drawundo.h"

@interface ReorderGraphicsChange(PrivateMethods)

- undoDetails;

@end

@implementation ReorderGraphicsChange

- saveBeforeChange
{
    [super saveBeforeChange];
    [changeDetails makeObjectsPerform:@selector(recordGraphicPositionIn:) with:[graphicView graphics]];

    return self;
}

- changeDetailClass
{
    return [OrderChangeDetail class];
}

- undoDetails
{
    int count, i;
    id detail, graphic;
    List *allGraphics;

    count = [changeDetails count];
    allGraphics = [graphicView graphics];
    for (i = 0; i < count; i++) {
	detail = [changeDetails objectAt:i];
	graphic = [detail graphic];
        [allGraphics removeObject:graphic];
    }
    for (i = 0; i < count; i++) {
	detail = [changeDetails objectAt:i];
	graphic = [detail graphic];
        [allGraphics insertObject:graphic at:[detail graphicPosition]];
    }
	
    return self;
}

@end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.