ftp.nice.ch/pub/next/developer/objc/appkit/ChangingAlert.N.bs.tar.gz#/ChangingAlert/ChangingAlert.m

This is ChangingAlert.m in view mode; [Download] [Up]

#import "ChangingAlert.h"
#import "MyButton.h"

@implementation ChangingAlert

- appDidInit:sender
{
    NXRect              fr;
    NXModalSession      session;

    [YesChanger setTargetButton:YesB :NoB];
    [NoChanger setTargetButton:NoB :YesB];
    [myPanel makeKeyAndOrderFront:self];
    [NXApp beginModalSession:&session for:myPanel];
    [myPanel addToEventMask:NX_MOUSEENTEREDMASK];
    [YesChanger getFrame:&fr];
    [myPanel setTrackingRect:&fr
     inside:(BOOL)NO
     owner:YesChanger
     tag:(int)1
     left:(BOOL)NO
     right:(BOOL)NO];
    [NoChanger getFrame:&fr];
    [myPanel setTrackingRect:&fr
     inside:(BOOL)NO
     owner:NoChanger
     tag:(int)2
     left:(BOOL)NO
     right:(BOOL)NO];
    [myPanel makeFirstResponder:myPanel];
    for (;;) {
	if ([NXApp runModalSession:&session] != NX_RUNCONTINUES)
	    break;
    }
    [NXApp endModalSession:&session];

    return self;
}

- Yes:sender
{
    [NXApp stopModal];
    NXRunAlertPanel(NULL, "You said YES!",
		    "I did not mean it.", NULL, NULL);
    [myPanel orderOut:self];
	[infoPanel perform:@selector(makeKeyAndOrderFront:) with :self
	 afterDelay:3000 cancelPrevious:YES];

    return self;
}


@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.