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: