root/Trunk/AIUtilities.framework/Versions/A/Headers/AIVariableHeightOutlineView.h @ 2

Revision 2, 2.8 KB (checked in by jon, 16 years ago)

Initial commit of skeletal project.

Line 
1//
2//  AIVariableHeightOutlineView.h
3//  AIUtilities.framework
4//
5//  Created by Evan Schoenberg on 11/25/04.
6//  Copyright (c) 2004-2005 The Adium Team. All rights reserved.
7//
8
9#import <AIUtilities/AIAlternatingRowOutlineView.h>
10
11/*!
12 * @class AIVariableHeightOutlineView
13 * @brief An outlineView which supports variable heights on a per-row basis.
14 *
15 * This <tt>AIAlternatingRowOutlineView</tt> subclass allows each row to have a different height as determined by the data source. Note that the delegate <b>must</b> implement the method(s) described in <tt>AIVariableHeightOutlineViewDataSource</tt>.
16 */
17@interface AIVariableHeightOutlineView : AIAlternatingRowOutlineView {
18        int             totalHeight;
19
20        BOOL    drawHighlightOnlyWhenMain;
21        BOOL    drawsSelectedRowHighlight;
22       
23        BOOL    suppressExpandCollapseRequests;
24}
25
26/*!
27 * @brief Returns the total height needed to display all rows of the outline view
28 *
29 * Returns the total height needed to display all rows of the outline view
30 * @return The total required height
31 */
32- (int)totalHeight;
33
34/*!
35 * @brief Set if the selection highlight should only be drawn when the outlineView is the main (active) view.
36 *
37 * Set to YES if the selection highlight should only be drawn when the outlineView is the main (active) view. The default value is NO.
38 * @param inFlag YES if the highlight should only be drawn when main.
39 */
40- (void)setDrawHighlightOnlyWhenMain:(BOOL)inFlag;
41
42/*!
43 * @brief Return if the highlight is only drawn when the outlineView is the main view.
44 *
45 * Return if the highlight is only drawn when the outlineView is the main view.
46 * @return YES if the highlight is only be drawn when main.
47 */
48- (BOOL)drawHighlightOnlyWhenMain;
49
50/*!
51 * @brief Set if the selection highlight should be drawn at all.
52 *
53 * Set to YES if the selection highlight should be drawn; no if it should be suppressed.  The default value is YES.
54 * @param inFlag YES if the highlight be drawn; NO if it should not.
55 */
56- (void)setDrawsSelectedRowHighlight:(BOOL)inFlag;
57
58/*!
59 * @brief Cell corresponding to table column.
60 *
61 * Mostly useful for subclassing; by default, this is simply [tableColumn dataCell]
62 * @return NSCell object corresponding to the given table column.
63 */
64- (id)cellForTableColumn:(NSTableColumn *)tableColumn item:(id)item;
65
66/*!
67 * @brief Should the given row reset the alternating
68 *
69 * @param row The row to be considered
70 * @return YES if the row should reset alternating
71 */
72- (BOOL)shouldResetAlternating:(int)row;
73
74
75@end
76
77@interface AIVariableHeightOutlineView (AIVariableHeightOutlineViewAndSubclasses)
78- (void)resetRowHeightCache;
79- (void)updateRowHeightCache;
80@end
81
82@interface NSObject (AIVariableHeightGridSupport)
83- (BOOL)drawGridBehindCell;
84@end
85
86@interface NSCell (UndocumentedHighlightDrawing)
87- (void)_drawHighlightWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
88@end
89
Note: See TracBrowser for help on using the browser.