This is SeriesTicsPane.m in view mode; [Download] [Up]
/*
* Copyright (C) 1993 Robert Davis
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of Version 2, or any later version, of
* the GNU General Public License as published by the Free Software
* Foundation.
*/
static char RCSId[]="$Id: SeriesTicsPane.m,v 1.5 1993/05/04 16:22:42 davis Exp $";
#import <appkit/Application.h>
#import <appkit/Form.h>
#import <appkit/FormCell.h>
#import <appkit/View.h>
#import "SeriesTicsPane.h"
#import "Status.h"
#import "StatusTics.h"
#import "TicOptionsPanel.h"
@implementation SeriesTicsPane
- init
{
[super init];
[NXApp loadNibSection: "SeriesTicsPane.nib"
owner: self
withNames: NO
fromZone: [self zone]];
return self;
}
- (BOOL)updateStatus:aStatus doc:aDoc
{
BOOL enabled;
[super updateStatus:aStatus doc:aDoc];
enabled = status && doc;
if (enabled) {
int coord = [doc coord];
[startField setDoubleValue:[status ticStartCoord:coord]];
[incrementField setDoubleValue:[status ticIncrementCoord:coord]];
[endField setDoubleValue:[status ticEndCoord:coord]];
}
[startField setEnabled:enabled];
[incrementField setEnabled:enabled];
[endField setEnabled:enabled];
return NO;
}
- selectControl:sender
{
[seriesForm selectText:self];
return self;
}
- setTicsSeries:sender
{
int coord = [doc coord];
double start = [startField doubleValue];
double incr = [incrementField doubleValue];
double end = [endField doubleValue];
int index = [sender selectedIndex];
/*
* The increment must take us from the start to the end. And the
* end must be larger than the start (gnuplot help says this is
* not true, but it doesn't seem to work otherwise).
*/
// if (((start + incr) <= start) || (start >= end))
if (((start + incr) <= start) || (start >= end))
[self forceUpdateStatus:status doc:doc];
else {
FormCell *selectedCell = [sender selectedCell];
if (selectedCell == startField)
[status setTicStartCoord:coord to:start];
else if (selectedCell == incrementField)
[status setTicIncrementCoord:coord to:incr];
else
[status setTicEndCoord:coord to:end];
}
return self;
}
// Shuts up the compiler about unused RCSId
- (const char *) rcsid
{
return RCSId;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.