Mercurial > dwindows
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: |