1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
//
// MTreeDataSource.h
// MySQLGUICommon
//
// Created by Alfredo Kojima on Tue Jul 27 2004.
// Copyright (c) 2004 MySQL AB. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface MTreeItem : NSObject
{
@protected
NSString *_repr;
MTreeItem *_parent;
NSMutableArray *_children;
int _tag;
}
+ (MTreeItem*)itemWithTag:(int)tag repr:(NSString*)str;
- (id)initWithTag:(int)tag repr:(NSString*)str;
- (int)tag;
- (void)addChild:(MTreeItem*)item;
- (void)removeChild:(MTreeItem*)item;
- (NSArray*)children;
- (MTreeItem*)parent;
- (NSString*)repr;
- (void)setValue:(id)value forIdentifier:(NSString*)identifier;
- (id)valueForIdentifier:(NSString*)identifier;
@end
@interface MSelectableTreeItem : MTreeItem
{
@protected
int _selected;
}
- (int)selected;
- (void)setSelected:(BOOL)flag;
@end
@interface MTreeDataSource : NSObject
{
@protected
MTreeItem *_root;
}
- (void)setRoot:(MTreeItem*)root;
- (MTreeItem*)root;
- (id)outlineView:(NSOutlineView *)outlineView
child:(int)index
ofItem:(id)item;
- (BOOL)outlineView:(NSOutlineView *)outlineView
isItemExpandable:(id)item;
- (int)outlineView:(NSOutlineView *)outlineView
numberOfChildrenOfItem:(id)item;
// default implementation will call [item valueForIdentifier:] and setValue:forIdentifier:
// override to change behaviour
- (void)outlineView:(NSOutlineView *)outlineView
setObjectValue:(id)object
forTableColumn:(NSTableColumn *)tableColumn
byItem:(id)item;
- (id)outlineView:(NSOutlineView *)outlineView
objectValueForTableColumn:(NSTableColumn *)tableColumn
byItem:(id)item;
@end
|