home *** CD-ROM | disk | FTP | other *** search
-
- /*
- Copyright 1993 Jeremy Slade.
-
- You are free to use all or any parts of the Locus project
- however you wish, just give credit where credit is due.
- The author (Jeremy Slade) shall not be held responsible
- for any damages that result out of use or misuse of any
- part of this project.
-
- */
-
- /*
- Project: Locus
-
- File: ActivatorBarView.m
-
- Description: See ActivatorBarView.h
-
- Original Author: Jeremy Slade
-
- Revision History:
- Created
- V.101 JGS Tue Feb 2 18:47:52 GMT-0700 1993
-
- */
-
-
- #import "ActivatorBarView.h"
-
- #import "ActivatorBar.h"
- #import "Globals.h"
- #import "PSWraps.h"
-
- #import <dpsclient/psops.h>
-
-
- @implementation ActivatorBarView
-
-
- + initialize
- {
- [self setVersion:ActivatorBarView_VERSION];
- return ( self );
- }
-
-
-
- - initFrame:(const NXRect *)rect
- {
- [super initFrame:rect];
-
- // Set the default fill and border colors:
- fillColor = NX_COLORWHITE;
- borderColor = NX_COLORBLACK;
-
- return ( self );
- }
-
-
-
- - setColor:(NXColor)color
- /*
- Set the view's fill color -- the color used to fill the interior
- */
- {
- fillColor = color;
- if ( vFlags.disableAutodisplay ) [self setNeedsDisplay:YES];
- else [self display];
- return ( self );
- }
-
-
-
- - setBorderColor:(NXColor)color
- /*
- Set the view's border color -- the color used to draw the border
- */
- {
- borderColor = color;
- if ( vFlags.disableAutodisplay ) [self setNeedsDisplay:YES];
- else [self display];
- return ( self );
- }
-
-
-
- - drawSelf:(const NXRect *)rects :(int)rectCount
- /*
- Draw the view -- fills the entire view with the border color, then draws a rectangle inside using the fill color that is 1 pixel shorter on each side.
- */
- {
- NXRect rect = bounds;
-
- // Draw border using borderColor
- NXSetColor ( borderColor );
- NXRectFill ( &rect );
-
- // Fill interior with fillColor;
- rect.origin.x += 1;
- rect.origin.y += 1;
- rect.size.width -= 2;
- rect.size.height -= 2;
- NXSetColor ( fillColor );
- NXRectFill ( &rect );
-
- return ( self );
- }
-
-
-
- - mouseDown:(NXEvent *)event
- /*
- Trap mouseDown: events (if it is a single-click) and tell our window (an ActivatorBar) that we were hit.
- */
- {
- // Only send barHit: on single mouse-click
- if ( event->data.mouse.click == 1 )
- [window tryToPerform:@selector(barHit:) with:self];
- return ( self );
- }
-
-
-
- @end
-