This is RDRGridViewInspector.m in view mode; [Download] [Up]
/* ------------------------------------------------------------------- Objective-C source file for the class RDRGridViewInspector Author: Chris Walters, RDR, Inc. You may freely copy, distribute and reuse the code in this example. I disclaim any warranty of any kind, expressed or implied, as to its fitness for any particular use. RDRGridViewInspector 1. Introduction The inspector for the RDRGridView class. The inspector contains a "sample" so that changes can be "reviewed" before they take effect on the real selected object. This is of dubious value, but I was just playing around to see what I could do. ------------------------------------------------------------------- */ /* ------------------------- Import files ------------------------- */ /* ------------------------ Classes used ------------------------ */ #import <appkit/Cell.h> #import <appkit/NXColorWell.h> #import "RDRGridView.h" /* ------------------------- Externals -------------------------- */ /* -------------------------- Defines --------------------------- */ /* ---------------------- Class variables ----------------------- */ /*==================================================================== Implementation of class RDRGridViewInspector ====================================================================*/ #import "RDRGridViewInspector.h" /* #import <nib/InterfaceBuilder.h> #import <appkit/Application.h> */ @implementation RDRGridViewInspector : Inspector { id gridEnabledToggle; id fgColorWell; id bgColorWell; id horizSpacingSlider; id horizSpacingField; id vertSpacingSlider; id vertSpacingField; id horizLineWidthField; id horizLineWidthSlider; id vertLineWidthField; id vertLineWidthSlider; id practiceGrid; } /*==================================================================== Palette Protocol (required methods) ====================================================================*/ /*-------------------------------------------------------------------- |+finishLoading:(struct mach_header *)hdr| --------------------------------------------------------------------*/ +finishLoading:(struct mach_header *)hdr { NIBDidLoadClass(self, hdr); return nil; } /*-------------------------------------------------------------------- |+startUnloading| --------------------------------------------------------------------*/ +startUnloading { NIBWillUnloadClass(self); return nil; } /*-------------------------------------------------------------------- |-init| Return self. --------------------------------------------------------------------*/ -init { [super init]; [NXApp loadNibSection:"RDRGridViewInspector.nib" owner:self]; return self; } /*-------------------------------------------------------------------- |-ok:sender| Return self. --------------------------------------------------------------------*/ -ok:sender { [object setEnabled:[gridEnabledToggle intValue]]; [object setGridForegroundColor:[fgColorWell color]]; [object setGridBackgroundColor:[bgColorWell color]]; [object setHorizontalWidth:[horizLineWidthSlider floatValue]]; [object setVerticalWidth:[vertLineWidthSlider floatValue]]; [object setHorizontalSpacing:[horizSpacingSlider intValue]]; [object setVerticalSpacing:[vertSpacingSlider intValue]]; [object display]; return[super ok:sender]; } /*-------------------------------------------------------------------- |-revert:sender| Return self. --------------------------------------------------------------------*/ -revert:sender { [practiceGrid setEnabled:[object isEnabled]]; [practiceGrid setGridForegroundColor:[object foregroundColor]]; [practiceGrid setGridBackgroundColor:[object backgroundColor]]; [practiceGrid setHorizontalWidth:[object horizontalWidth]]; [practiceGrid setVerticalWidth:[object verticalWidth]]; [practiceGrid setHorizontalSpacing:[object horizontalSpacing]]; [practiceGrid setVerticalSpacing:[object verticalSpacing]]; [practiceGrid display]; [gridEnabledToggle setIntValue:[object isEnabled]]; [fgColorWell setColor:[object foregroundColor]]; [bgColorWell setColor:[object backgroundColor]]; [horizLineWidthSlider setFloatValue:[object horizontalWidth]]; [vertLineWidthSlider setFloatValue:[object verticalWidth]]; [horizSpacingSlider setIntValue:[object horizontalSpacing]]; [vertSpacingSlider setIntValue:[object verticalSpacing]]; [horizLineWidthField setFloatValue:[object horizontalWidth]]; [vertLineWidthField setFloatValue:[object verticalWidth]]; [horizSpacingField setIntValue:[object horizontalSpacing]]; [vertSpacingField setIntValue:[object verticalSpacing]]; return[super revert:sender]; } /*==================================================================== setting/accessing attributes of RDRGridView ====================================================================*/ /*-------------------------------------------------------------------- |-toggleEnabled:sender| Return self. --------------------------------------------------------------------*/ -toggleEnabled:sender { [[practiceGrid setEnabled:[sender intValue]] display]; return self; } /*-------------------------------------------------------------------- |-setBackgroundColor:sender| Return self. --------------------------------------------------------------------*/ -setBackgroundColor:sender { [[practiceGrid setGridBackgroundColor:[sender color]] display]; return self; } /*-------------------------------------------------------------------- |-setForegroundColor:sender| Return self. --------------------------------------------------------------------*/ -setForegroundColor:sender { [[practiceGrid setGridForegroundColor:[sender color]] display]; return self; } /*-------------------------------------------------------------------- |-setHorizontalLineSpacing:sender| Return self. --------------------------------------------------------------------*/ -setHorizontalLineSpacing:sender { [[practiceGrid setHorizontalSpacing:[sender intValue]] display]; switch ([sender tag]) { case 0: /* textfield */ [horizSpacingSlider setIntValue:[sender intValue]]; break; case 1: /* slider */ [horizSpacingField setIntValue:[sender intValue]]; break; default: break; } return self; } /*-------------------------------------------------------------------- |-setVerticalLineSpacing:sender| Return self. --------------------------------------------------------------------*/ -setVerticalLineSpacing:sender { [[practiceGrid setVerticalSpacing:[sender intValue]] display]; switch ([sender tag]) { case 0: /* text field */ [vertSpacingSlider setIntValue:[sender intValue]]; break; case 1: /* slider */ [vertSpacingField setIntValue:[sender intValue]]; break; default: break; } return self; } /*-------------------------------------------------------------------- |-setHorizontalLineWidth:sender| Return self. --------------------------------------------------------------------*/ -setHorizontalLineWidth:sender { [[practiceGrid setHorizontalWidth:[sender floatValue]] display]; switch ([sender tag]) { case 0: /* text field */ [horizLineWidthSlider setIntValue:[sender intValue]]; break; case 1: /* slider */ [horizLineWidthField setIntValue:[sender intValue]]; break; default: break; } return self; } /*-------------------------------------------------------------------- |-setVerticalLineWidth:sender| Return self. --------------------------------------------------------------------*/ -setVerticalLineWidth:sender { [[practiceGrid setVerticalWidth:[sender floatValue]] display]; switch ([sender tag]) { case 0: /* text field */ [vertLineWidthSlider setIntValue:[sender intValue]]; break; case 1: /* slider */ [vertLineWidthField setIntValue:[sender intValue]]; break; default: break; } return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.