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