public
Description: Three20 is an Objective-C library for iPhone developers
Homepage: http://groups.google.com/group/three20/
Clone URL: git://github.com/facebook/three20.git
three20 / src / Three20 / TTTableViewDataSource.h
100644 126 lines (98 sloc) 2.468 kb
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#import "Three20/TTModel.h"
 
@protocol TTTableViewDataSource <UITableViewDataSource, TTModel, UISearchDisplayDelegate>
 
/**
* Optional method to return a model object to delegate the TTModel protocol to.
*/
@property(nonatomic,retain) id<TTModel> model;
 
/**
*
*/
+ (NSArray*)lettersForSectionsWithSearch:(BOOL)search summary:(BOOL)summary;
 
/**
*
*/
- (id)tableView:(UITableView*)tableView objectForRowAtIndexPath:(NSIndexPath*)indexPath;
 
/**
*
*/
- (Class)tableView:(UITableView*)tableView cellClassForObject:(id)object;
 
/**
*
*/
- (NSString*)tableView:(UITableView*)tableView labelForObject:(id)object;
 
/**
*
*/
- (NSIndexPath*)tableView:(UITableView*)tableView indexPathForObject:(id)object;
 
/**
*
*/
- (void)tableView:(UITableView*)tableView cell:(UITableViewCell*)cell
        willAppearAtIndexPath:(NSIndexPath*)indexPath;
 
/**
* Informs the data source that its model loaded.
*
* That would be a good time to prepare the freshly loaded data for use in the table view.
*/
- (void)tableViewDidLoadModel:(UITableView*)tableView;
 
/**
*
*/
- (NSString*)titleForLoading:(BOOL)reloading;
 
/**
*
*/
- (UIImage*)imageForEmpty;
 
/**
*
*/
- (NSString*)titleForEmpty;
 
/**
*
*/
- (NSString*)subtitleForEmpty;
 
/**
*
*/
- (UIImage*)imageForError:(NSError*)error;
 
/**
*
*/
- (NSString*)titleForError:(NSError*)error;
 
/**
*
*/
- (NSString*)subtitleForError:(NSError*)error;
 
@optional
 
/**
*
*/
- (NSIndexPath*)tableView:(UITableView*)tableView willUpdateObject:(id)object
                atIndexPath:(NSIndexPath*)indexPath;
 
/**
*
*/
- (NSIndexPath*)tableView:(UITableView*)tableView willInsertObject:(id)object
                atIndexPath:(NSIndexPath*)indexPath;
 
/**
*
*/
- (NSIndexPath*)tableView:(UITableView*)tableView willRemoveObject:(id)object
                atIndexPath:(NSIndexPath*)indexPath;
 
/**
*
*/
- (void)search:(NSString*)text;
 
@end
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
@interface TTTableViewDataSource : NSObject <TTTableViewDataSource> {
  id<TTModel> _model;
}
 
@end
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
/**
* A datasource that is eternally loading. Useful when you are in between data sources and
* want to show the impression of loading until your actual data source is available.
*/
@interface TTTableViewInterstialDataSource : TTTableViewDataSource <TTModel>
@end