The R Project SVN R-packages

Rev

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

Rev 6246 Rev 6248
Line 82... Line 82...
82
		_strImp  = [_attributedString methodForSelector:_strSel];
82
		_strImp  = [_attributedString methodForSelector:_strSel];
83
		_replImp = [_attributedString methodForSelector:_replSel];
83
		_replImp = [_attributedString methodForSelector:_replSel];
84
		_editImp = [self methodForSelector:_editSel];
84
		_editImp = [self methodForSelector:_editSel];
85
		_getlImp = [_attributedString methodForSelector:_getlSel];
85
		_getlImp = [_attributedString methodForSelector:_getlSel];
86
 
86
 
-
 
87
		selfDelegate = (RScriptEditorTextView*)[self delegate];
-
 
88
 
87
		foldedCounter = 0;
89
		foldedCounter = 0;
88
		currentMaxFoldedIndex = -1;
90
		currentMaxFoldedIndex = -1;
89
 
91
 
90
		for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
92
		for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
91
			foldedRanges[i][0] = -1;
93
			foldedRanges[i][0] = -1;
Line 159... Line 161...
159
 
161
 
160
- (NSInteger)registerFoldedRange:(NSRange)range
162
- (NSInteger)registerFoldedRange:(NSRange)range
161
{
163
{
162
 
164
 
163
 
165
 
164
	[[[self delegate] undoManager] disableUndoRegistration];
166
	[[selfDelegate undoManager] disableUndoRegistration];
165
 
167
 
166
	NSInteger index = -1;
168
	NSInteger index = -1;
167
	for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
169
	for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
168
		if(foldedRanges[i][0] == -1) {
170
		if(foldedRanges[i][0] == -1) {
169
			index = i;
171
			index = i;
Line 175... Line 177...
175
			SLog(@"RScriptEditorTextStorage:registerFoldedRange %@ at position %d : max index %d", NSStringFromRange(range), i, currentMaxFoldedIndex);
177
			SLog(@"RScriptEditorTextStorage:registerFoldedRange %@ at position %d : max index %d", NSStringFromRange(range), i, currentMaxFoldedIndex);
176
			break;
178
			break;
177
		}
179
		}
178
	}
180
	}
179
 
181
 
180
	[[[self delegate] undoManager] enableUndoRegistration];
182
	[[selfDelegate undoManager] enableUndoRegistration];
181
 
183
 
182
	return(index);
184
	return(index);
183
 
185
 
184
}
186
}
185
 
187
 
Line 202... Line 204...
202
		[self removeAllFoldedRanges];
204
		[self removeAllFoldedRanges];
203
		NSLog(@"Removing folded text chunk failed. For safety reasons all folded chunks were be unfolded.");
205
		NSLog(@"Removing folded text chunk failed. For safety reasons all folded chunks were be unfolded.");
204
		return NO;
206
		return NO;
205
	}
207
	}
206
 
208
 
207
	[[[self delegate] undoManager] disableUndoRegistration];
209
	[[selfDelegate undoManager] disableUndoRegistration];
208
 
210
 
209
	range = NSIntersectionRange(NSMakeRange(0, [[_attributedString string] length]), range);
211
	range = NSIntersectionRange(NSMakeRange(0, [[_attributedString string] length]), range);
210
	if(range.length) {
212
	if(range.length) {
211
		[self removeAttribute:NSCursorAttributeName range:range];
213
		[self removeAttribute:NSCursorAttributeName range:range];
212
		[self removeAttribute:NSToolTipAttributeName range:range];
214
		[self removeAttribute:NSToolTipAttributeName range:range];
Line 226... Line 228...
226
		if(foldedRanges[j][0] > rloc && foldedRanges[j][2] < maxrlen) {
228
		if(foldedRanges[j][0] > rloc && foldedRanges[j][2] < maxrlen) {
227
			r = NSMakeRange(foldedRanges[j][0], foldedRanges[j][1]);
229
			r = NSMakeRange(foldedRanges[j][0], foldedRanges[j][1]);
228
			foldedRanges[j][0] = -1;
230
			foldedRanges[j][0] = -1;
229
			foldedRanges[j][1] = 0;
231
			foldedRanges[j][1] = 0;
230
			foldedRanges[j][2] = 0;
232
			foldedRanges[j][2] = 0;
231
			[[self delegate] refoldLinesInRange:r];
233
			[selfDelegate refoldLinesInRange:r];
232
		}
234
		}
233
	}
235
	}
234
 
236
 
235
	[[[self delegate] undoManager] enableUndoRegistration];
237
	[[selfDelegate undoManager] enableUndoRegistration];
236
	
238
	
237
	// update currentMaxFoldedIndex
239
	// update currentMaxFoldedIndex
238
	NSInteger maxCount = -1;
240
	NSInteger maxCount = -1;
239
	for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
241
	for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
240
		if(foldedRanges[i][0] > -1) {
242
		if(foldedRanges[i][0] > -1) {
Line 248... Line 250...
248
}
250
}
249
 
251
 
250
- (void)removeAllFoldedRanges
252
- (void)removeAllFoldedRanges
251
{
253
{
252
 
254
 
253
	[[[self delegate] undoManager] disableUndoRegistration];
255
	[[selfDelegate undoManager] disableUndoRegistration];
254
 
256
 
255
	for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
257
	for(NSInteger i = 0; i < R_MAX_FOLDED_ITEMS; i++) {
256
		foldedRanges[i][0] = -1;
258
		foldedRanges[i][0] = -1;
257
		foldedRanges[i][1] = 0;
259
		foldedRanges[i][1] = 0;
258
		foldedRanges[i][2] = 0;
260
		foldedRanges[i][2] = 0;
Line 262... Line 264...
262
	[self removeAttribute:NSToolTipAttributeName range:range];
264
	[self removeAttribute:NSToolTipAttributeName range:range];
263
 
265
 
264
	foldedCounter = 0;
266
	foldedCounter = 0;
265
	currentMaxFoldedIndex = -1;
267
	currentMaxFoldedIndex = -1;
266
 
268
 
267
	[[[self delegate] undoManager] enableUndoRegistration];
269
	[[selfDelegate undoManager] enableUndoRegistration];
268
 
270
 
269
}
271
}
270
 
272
 
271
- (BOOL)existsFoldedRange:(NSRange)range
273
- (BOOL)existsFoldedRange:(NSRange)range
272
{
274
{