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 "ViewCell.h" 21 22@implementation ViewCell 23 24- (id) initWithSize: (NSSize) size 25{ 26 [super init]; 27 _size = size; 28 _view = nil; 29 return self; 30} 31 32- (NSSize) cellSize 33{ 34 return _size; 35} 36 37- (void) resize: (id) sender 38{ 39 NSTextView* textView = (NSTextView*) [sender object]; 40 _size = NSMakeSize ([textView bounds].size.width, _size.height); 41} 42 43- (void) setView : (NSView*) view 44{ 45 _view = view; 46} 47 48- (void) removeView 49{ 50 [_view removeFromSuperview]; 51} 52 53- (void) drawInteriorWithFrame: (NSRect) cellFrame 54 inView: (NSView*) controlView 55{ 56 if (![controlView window]) 57 return; 58 59 [[NSColor lightGrayColor] set]; 60 NSRectFill (cellFrame); 61 62 if (_view != nil) 63 { 64 [controlView addSubview: _view]; 65 [_view setFrame: cellFrame]; 66 [[(NSTextView*)_view textContainer] setContainerSize: cellFrame.size]; 67 [_view setNeedsDisplay: YES]; 68 } 69} 70 71@end 72