comparison mac/dw.m @ 852:bb582f89007a

Implemented dw_container_scroll() on Mac.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 31 Mar 2011 18:05:42 +0000
parents 5b663261b76c
children c27ce204302b
comparison
equal deleted inserted replaced
851:5b663261b76c 852:bb582f89007a
1074 -(id)getRow:(int)row and:(int)col; 1074 -(id)getRow:(int)row and:(int)col;
1075 -(int)cellType:(int)col; 1075 -(int)cellType:(int)col;
1076 -(int)lastAddPoint; 1076 -(int)lastAddPoint;
1077 -(int)lastQueryPoint; 1077 -(int)lastQueryPoint;
1078 -(void)setLastQueryPoint:(int)input; 1078 -(void)setLastQueryPoint:(int)input;
1079 -(int)rowCount;
1079 -(void)clear; 1080 -(void)clear;
1080 -(void)setup; 1081 -(void)setup;
1081 -(void)setForegroundColor:(NSColor *)input; 1082 -(void)setForegroundColor:(NSColor *)input;
1082 -(void)doubleClicked:(id)sender; 1083 -(void)doubleClicked:(id)sender;
1083 -(void)keyUp:(NSEvent *)theEvent; 1084 -(void)keyUp:(NSEvent *)theEvent;
1215 -(id)getRow:(int)row and:(int)col { if(data) { int index = (int)(row * [tvcols count]) + col; return [data objectAtIndex:index]; } return nil; } 1216 -(id)getRow:(int)row and:(int)col { if(data) { int index = (int)(row * [tvcols count]) + col; return [data objectAtIndex:index]; } return nil; }
1216 -(int)cellType:(int)col { return [[types objectAtIndex:col] intValue]; } 1217 -(int)cellType:(int)col { return [[types objectAtIndex:col] intValue]; }
1217 -(int)lastAddPoint { return lastAddPoint; } 1218 -(int)lastAddPoint { return lastAddPoint; }
1218 -(int)lastQueryPoint { return lastQueryPoint; } 1219 -(int)lastQueryPoint { return lastQueryPoint; }
1219 -(void)setLastQueryPoint:(int)input { lastQueryPoint = input; } 1220 -(void)setLastQueryPoint:(int)input { lastQueryPoint = input; }
1221 -(int)rowCount { return (int)[titles count]; }
1220 -(void)clear { if(data) { [data removeAllObjects]; while([titles count]) { [titles removePointerAtIndex:0]; } } lastAddPoint = 0; } 1222 -(void)clear { if(data) { [data removeAllObjects]; while([titles count]) { [titles removePointerAtIndex:0]; } } lastAddPoint = 0; }
1221 -(void)setup 1223 -(void)setup
1222 { 1224 {
1223 tvcols = [[[NSMutableArray alloc] init] retain]; 1225 tvcols = [[[NSMutableArray alloc] init] retain];
1224 data = [[[NSMutableArray alloc] init] retain]; 1226 data = [[[NSMutableArray alloc] init] retain];
5081 * DW_SCROLL_BOTTOM. (rows is ignored for last two) 5083 * DW_SCROLL_BOTTOM. (rows is ignored for last two)
5082 * rows: The number of rows to be scrolled. 5084 * rows: The number of rows to be scrolled.
5083 */ 5085 */
5084 void API dw_container_scroll(HWND handle, int direction, long rows) 5086 void API dw_container_scroll(HWND handle, int direction, long rows)
5085 { 5087 {
5086 #if 0
5087 DWContainer *cont = handle; 5088 DWContainer *cont = handle;
5088 NSScrollView *sv = [cont scrollview]; 5089 NSScrollView *sv = [cont scrollview];
5089 #endif 5090 NSScroller *scrollbar = [sv verticalScroller];
5090 NSLog(@"dw_container_scroll() unimplemented\n"); 5091 int rowcount = [cont rowCount];
5092 float currpos = [scrollbar floatValue];
5093 float change = (float)rows/(float)rowcount;
5094
5095 switch(direction)
5096 {
5097 case DW_SCROLL_TOP:
5098 {
5099 [scrollbar setFloatValue:0];
5100 break;
5101 }
5102 case DW_SCROLL_BOTTOM:
5103 {
5104 [scrollbar setFloatValue:1];
5105 break;
5106 }
5107 case DW_SCROLL_UP:
5108 {
5109 float newpos = currpos - change;
5110 if(newpos < 0)
5111 {
5112 newpos = 0;
5113 }
5114 [scrollbar setFloatValue:newpos];
5115 break;
5116 }
5117 case DW_SCROLL_DOWN:
5118 {
5119 float newpos = currpos + change;
5120 if(newpos > 1)
5121 {
5122 newpos = 1;
5123 }
5124 [scrollbar setFloatValue:newpos];
5125 break;
5126 }
5127 }
5091 } 5128 }
5092 5129
5093 /* 5130 /*
5094 * Starts a new query of a container. 5131 * Starts a new query of a container.
5095 * Parameters: 5132 * Parameters: