Mercurial > dwindows
comparison mac/dw.m @ 704:336800e9e648
Fixes to the slider control so events happen.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 11 Mar 2011 19:59:29 +0000 |
parents | 329736825f9b |
children | 7087f3a294e5 |
comparison
equal
deleted
inserted
replaced
703:329736825f9b | 704:336800e9e648 |
---|---|
662 { | 662 { |
663 void *userdata; | 663 void *userdata; |
664 } | 664 } |
665 -(void *)userdata; | 665 -(void *)userdata; |
666 -(void)setUserdata:(void *)input; | 666 -(void)setUserdata:(void *)input; |
667 -(void)sliderMoved:(id)sender; | 667 -(void)sliderChanged:(id)sender; |
668 @end | 668 @end |
669 | 669 |
670 @implementation DWSlider | 670 @implementation DWSlider |
671 -(void *)userdata { return userdata; } | 671 -(void *)userdata { return userdata; } |
672 -(void)setUserdata:(void *)input { userdata = input; } | 672 -(void)setUserdata:(void *)input { userdata = input; } |
673 -(void)sliderMoved:(id)sender { NSLog(@"Slider changed"); _event_handler(self, (void *)[self integerValue], 14); } | 673 -(void)sliderChanged:(id)sender { NSLog(@"Slider changed"); _event_handler(self, (void *)[self integerValue], 14); } |
674 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } | 674 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } |
675 @end | 675 @end |
676 | 676 |
677 /* Subclass for a slider type */ | 677 /* Subclass for a slider type */ |
678 @interface DWScrollbar : NSScroller | 678 @interface DWScrollbar : NSScroller |
2514 * increments: Number of increments available. | 2514 * increments: Number of increments available. |
2515 * id: An ID to be used with dw_window_from_id() or 0L. | 2515 * id: An ID to be used with dw_window_from_id() or 0L. |
2516 */ | 2516 */ |
2517 HWND API dw_slider_new(int vertical, int increments, ULONG cid) | 2517 HWND API dw_slider_new(int vertical, int increments, ULONG cid) |
2518 { | 2518 { |
2519 DWSlider *slider = [[DWSlider alloc] init]; | 2519 DWSlider *slider = [[DWSlider alloc] init]; |
2520 [slider setMaxValue:(double)increments]; | 2520 [slider setMaxValue:(double)increments]; |
2521 [slider setMinValue:0]; | 2521 [slider setMinValue:0]; |
2522 [slider setContinuous:YES]; | |
2523 [slider setTarget:slider]; | |
2524 [slider setAction:@selector(sliderChanged:)]; | |
2522 [slider setTag:cid]; | 2525 [slider setTag:cid]; |
2523 return slider; | 2526 return slider; |
2524 } | 2527 } |
2525 | 2528 |
2526 /* | 2529 /* |
2527 * Returns the position of the slider. | 2530 * Returns the position of the slider. |
2528 * Parameters: | 2531 * Parameters: |