The R Project SVN R-packages

Rev

Rev 1363 | Rev 5235 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1363 Rev 1878
Line 76... Line 76...
76
    if (self) {
76
    if (self) {
77
		col=[[NSMutableArray alloc] init];
77
		col=[[NSMutableArray alloc] init];
78
		colNames=[[NSMutableArray alloc] init];
78
		colNames=[[NSMutableArray alloc] init];
79
		rows=0;
79
		rows=0;
80
		sortMap=invSortMap=0;
80
		sortMap=invSortMap=0;
-
 
81
		filter=0; filterLen=0;
81
    }
82
    }
82
    return self;
83
    return self;
83
}
84
}
84
 
85
 
85
- (void) dealloc
86
- (void) dealloc
Line 100... Line 101...
100
    return invSortMap;
101
    return invSortMap;
101
}
102
}
102
 
103
 
103
- (void) reset
104
- (void) reset
104
{
105
{
-
 
106
	[self resetFilter];
105
    [col removeAllObjects];
107
    [col removeAllObjects];
106
    [colNames removeAllObjects];
108
    [colNames removeAllObjects];
107
    rows=0;
109
    rows=0;
108
    if (sortMap) free(sortMap); sortMap=0;
110
    if (sortMap) free(sortMap); sortMap=0;
109
    if (invSortMap) free(invSortMap); invSortMap=0;
111
    if (invSortMap) free(invSortMap); invSortMap=0;
110
}
112
}
111
 
113
 
112
- (int)numberOfRowsInTableView:(NSTableView *)tableView
114
- (int)numberOfRowsInTableView:(NSTableView *)tableView
113
{
115
{
114
    return rows;
116
    return (filter)?filterLen:rows;
115
}
117
}
116
 
118
 
117
- (unsigned) count
119
- (unsigned) count
118
{
120
{
119
	return rows;
121
	return rows;
120
}
122
}
121
 
123
 
-
 
124
- (unsigned) rows
-
 
125
{
-
 
126
    return (filter)?filterLen:rows;
-
 
127
}
-
 
128
 
-
 
129
- (void) setFilter: (int*) f length: (int) fl
-
 
130
{
-
 
131
	[self resetFilter];
-
 
132
	filter = (int*) malloc(sizeof(int)*(fl+1));
-
 
133
	filterLen=fl;
-
 
134
	memcpy(filter, f, sizeof(int)*fl);
-
 
135
}
-
 
136
 
-
 
137
- (void) resetFilter
-
 
138
{
-
 
139
	if (filter) free(filter);
-
 
140
	filter=0;
-
 
141
	filterLen=0;
-
 
142
}
-
 
143
 
122
- (id) objectAtColumn: (NSString*) name row: (int) row
144
- (id) objectAtColumn: (NSString*) name index: (int) row
123
{
145
{
124
    if (row<0 || row>=rows || !name)
146
    if (row<0 || row>=rows || !name)
125
		return nil;
147
		return nil;
126
    else {
148
    else {
127
		unsigned c = [colNames indexOfObject:name];
149
		unsigned c = [colNames indexOfObject:name];
Line 131... Line 153...
131
			return (!cc)?nil:[cc objectAtIndex: sortMap[row]];
153
			return (!cc)?nil:[cc objectAtIndex: sortMap[row]];
132
		}
154
		}
133
    }
155
    }
134
}
156
}
135
 
157
 
-
 
158
- (id) objectAtColumn: (NSString*) name row: (int) row
-
 
159
{
-
 
160
	return (filter)?
-
 
161
	((row<filterLen)?[self objectAtColumn: name index: filter[row]]:nil)
-
 
162
	:[self objectAtColumn: name index: row];
-
 
163
}
-
 
164
 
136
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
165
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
137
{
166
{
138
	return [self objectAtColumn: [tableColumn identifier] row: row];
167
	return [self objectAtColumn: [tableColumn identifier] row: row];
139
}
168
}
140
 
169