This is MiscThreeStateButton.m in view mode; [Download] [Up]
//
// MiscThreeStateButton.m -- three state button class
// Written by Don Yacktman Copyright (c) 1993 by Don Yacktman.
// Version 1.1. All rights reserved.
//
// This notice may not be removed from this source code.
//
// This is a free object! Contact the author for the latest version.
// Don Yacktman, 4279 N. Ivy Lane, Provo, UT, 84604
// e-mail: Don_Yacktman@byu.edu
//
// This object is included in the MiscKit by permission from the author
// and its use is governed by the MiscKit license, found in the file
// "LICENSE.rtf" in the MiscKit distribution. Please refer to that file
// for a list of all applicable permissions and restrictions.
//
#import "MiscThreeStateButton.h"
#import "MiscThreeStateButtonCell.h"
#import <apps/InterfaceBuilder.h>
static id threeStateCellClass = nil;
@implementation MiscThreeStateButton
+ initialize
{ // need to set up to use our new cell subclass
if (self == [MiscThreeStateButton class]) {
threeStateCellClass = [MiscThreeStateButtonCell class];
}
return [super initialize];
}
+ setCellClass:classId
{
threeStateCellClass = classId;
return self;
}
- initFrame:(const NXRect *)frameRect
{
id oldCell;
[super initFrame:frameRect];
oldCell = [self setCell:[[threeStateCellClass alloc] init]];
[oldCell free];
doSuper = NO;
return self;
}
// These all just forward to the cell for it to deal with...
- (const char *)thirdTitle { return [cell thirdTitle]; }
- setThirdTitle:(const char *)aString { return [cell setThirdTitle:aString]; }
- (const char *)thirdIcon { return [cell thirdIcon]; }
- setThirdIcon:(const char *)iconName { return [cell setThirdIcon:iconName]; }
- thirdImage { return [cell thirdImage]; }
- setThirdImage:image { return [cell setThirdImage:image]; }
- setType:(int)aType { return [cell setType:aType]; }
- (int)state { return [cell intValue]; }
- setState:(int)value { return [cell setIntValue:value]; }
- performAltClick:sender { return [cell performAltClick:sender]; }
- performClick:sender {return [cell performClick:sender]; }
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.