This is BBRegionAttributesController.m in view mode; [Download] [Up]
/* BBRegionAttributesController.m * * This subclass of MiscInspector is in charge of a regions attribute * settings. * * For more interface-info see the header file. In depth information * can be found here in the source-code. * * Written by: Thomas Engel * Created: 21.01.1994 (Copyleft) * Last modified: 23.05.1994 */ #import "BBRegionAttributesController.h" #import "../../BBMolecule.h" #import "../../BBBasicShapeHollowSticks.h" #import "../../BBBasicShapeRoundSticks.h" #import "../../BBBasicShapeBallsSticks.h" #import "../../BBBasicShapeSpacefilling.h" @implementation BBRegionAttributesController - textDidChange:sender; { [self touch:self]; return self; } - styleDidChange:sender { // Here we will show the type and shape names. [self touch:self]; return self; } - ok:sender { BBRegion * ourRegion; int tag; ourRegion = [self selection]; [ourRegion setName:[nameField stringValue]]; // According to the selection inside the matrix we will use another // region style. tag = [[shapeMatrix selectedCell] tag]; // Now if we are a real molecule the following setting has to apply to // the default region of that molecule!! if( [ourRegion respondsTo:@selector(defaultRegion)] ) ourRegion = [(BBMolecule *)ourRegion defaultRegion]; if( tag == 1 ) [ourRegion setShapeClass:[BBBasicShapeHollowSticks class]]; else if( tag == 2 ) [ourRegion setShapeClass:[BBBasicShapeRoundSticks class]]; else if( tag == 3 ) [ourRegion setShapeClass:[BBBasicShapeBallsSticks class]]; else if( tag == 4 ) [ourRegion setShapeClass:[BBBasicShapeSpacefilling class]]; else [ourRegion setShapeClass:[BBBasicShapeBallsSticks class]]; return [super ok:sender]; } - revert:sender { id ourRegion; Class shape; [super revert:sender]; ourRegion = [self selection]; [nameField setStringValue:[ourRegion name]]; // Lets find the real shapeMatrix if there is none right now. // We have to do this because we can only connect to the scrollview // Without big problems. if( [shapeMatrix isKindOf:[ScrollView class]] ) shapeMatrix = [shapeMatrix docView]; // Now if we are a real molecule the following query has to apply to // the default region of that molecule!! if( [ourRegion respondsTo:@selector(defaultRegion)] ) shape = [[ourRegion defaultRegion] shapeClass]; else shape = [ourRegion shapeClass]; if( shape == [BBBasicShapeHollowSticks class] ) [shapeMatrix selectCellWithTag:1]; else if( shape == [BBBasicShapeRoundSticks class] ) [shapeMatrix selectCellWithTag:2]; else if( shape == [BBBasicShapeBallsSticks class] ) [shapeMatrix selectCellWithTag:3]; else if( shape == [BBBasicShapeSpacefilling class] ) [shapeMatrix selectCellWithTag:4]; else [shapeMatrix selectCellWithTag:5]; return self; } @end /* * History: 23.05.95 Supports the new style selection mode. * * 12.05.94 Converted to fit BB... naming * * 09.03.94 Made it a Region inspector. * * 21.01.94 First implementation. * * * Bugs: - Hmm sure...not really ready. But it works. */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.