1/* 2 This file is part of HelpViewer (http://www.roard.com/helpviewer) 3 Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18*/ 19 20#include "Legend.h" 21 22@implementation Legend 23 24+ (id) legendWithString: (NSMutableAttributedString*) str andPoint: (NSPoint) p 25{ 26 Legend* ret = [[Legend alloc] initWithString: str andPoint: p]; 27 return AUTORELEASE (ret); 28} 29 30- (id) initWithString: (NSMutableAttributedString*) str andPoint: (NSPoint) p 31{ 32 [super init]; 33 34 ASSIGN (legend, str); 35 point = p; 36 rightPos = NO; 37 38 return self; 39} 40 41- (void) dealloc 42{ 43 RELEASE (legend); 44} 45 46- (NSComparisonResult) compareLegends: (id) sender 47{ 48 NSComparisonResult ret = NSOrderedAscending; 49 50 if ((int)point.y == (int)[sender point].y) 51 { 52 if (rightPos) 53 { 54 if (point.x < [sender point].x) ret = NSOrderedDescending; 55 } 56 else if (point.x > [sender point].x) ret = NSOrderedDescending; 57 } 58 else if (point.y > [sender point].y) ret = NSOrderedDescending; 59 return ret; 60} 61 62- (NSMutableAttributedString*) legend { return legend; } 63- (NSPoint) point { return point; } 64- (void) setPoint: (NSPoint) p { point = p; } 65- (float) height { return height; } 66- (void) setHeight: (float) h { height = h; } 67- (void) setRightPos { rightPos = YES; } 68- (BOOL) isRightPos { return rightPos; } 69@end 70 71