This is SqButton.h in view mode; [Download] [Up]
/****************************************************************************** FILE SqButton.h DESCRIPTION NeXTstep user Interface for Squeak. This class reifies a Smalltalk mouse button. AUTHOR <PJB> Pascal J. Bourguignon MODIFICATIONS 1998/06/25 <PJB> Creation . LEGAL Copyright Pascal J. Bourguignon 1998 - 1998 This program is free software; you can redistribute it and/or modify it under the terms of the version 2 of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License hereafter for more details. ******************************************************************************/ #import <appkit/appkit.h> enum { SqButton_LeftMouseEventFlag=0x8000, SqButton_RightMouseEventFlag=0x4000 }; @interface SqButton:Object { int flags; int mask; char configuration[8]; SqButton* nextButton; } -(id)init; -(id)free; -(void)setNextButton:(SqButton*)next; /* To discriminate between buttons on the smallest set of bits (thus allowing modified-clicks), buttons needs to know each others to compute a minimal mask of signficant bits. Just circular-chain them, they'll team up. */ -(BOOL)needsLeftMouse; -(BOOL)needsRightMouse; -(BOOL)needsCommand; -(BOOL)needsAlternate; -(BOOL)needsControl; -(BOOL)needsShift; -(void)setNeedsLeftMouse:(BOOL)bit; -(void)setNeedsRightMouse:(BOOL)bit; -(void)setNeedsCommand:(BOOL)bit; -(void)setNeedsAlternate:(BOOL)bit; -(void)setNeedsControl:(BOOL)bit; -(void)setNeedsShift:(BOOL)bit; -(BOOL)isPressedWhen:(int)eventFlags; /* eventFlags = event->flags | SqButton_LeftMouseEventFlag | SqButton_RightMouseEventFlag. */ -(void)configureMatrix:(Matrix*)matrix; -(void)takeFromMatrix:(Matrix*)matrix; /* OK, I know it's not MVC, but it's quick-and-dirty easier this way. The matrix should contain tagged switches: 0 = Left Mouse 1 = Right Mouse 2 = Command 3 = Alternate 4 = Control 5 = Shift */ -(const char*)stringConfiguration; /* RETURN: a string that may be used to store the configuration of the button in the default. The string is a set of characters indicating the needed flags. l = left mouse r = right mouse m = command a = alternate c = control s = shift */ -(void)takeFromString:(const char*)string; /* DO: Configure itself with the bits indicated by the string (see stringConfiguration for the encoding). */ @end // SqButton. /*** SqButton.h / Thu Aug 27 23:20:15 MET 1998 / PJB ***/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.