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.