1/* NSSegmentedControl.m 2 * 3 * Copyright (C) 2007 Free Software Foundation, Inc. 4 * 5 * Author: Gregory John Casamento <greg_casamento@yahoo.com> 6 * Date: 2007 7 * 8 * This file is part of GNUstep. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the Lesser GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * Lesser GNU General Public License for more details. 19 * 20 * You should have received a copy of the Lesser GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110 23 * USA. 24 */ 25 26#import "AppKit/NSControl.h" 27#import "AppKit/NSEvent.h" 28#import "AppKit/NSSegmentedControl.h" 29#import "AppKit/NSSegmentedCell.h" 30 31static Class segmentedControlCellClass; 32 33@implementation NSSegmentedControl 34 35+ (void) initialize 36{ 37 if(self == [NSSegmentedControl class]) 38 { 39 [self setVersion: 1]; 40 segmentedControlCellClass = [NSSegmentedCell class]; 41 } 42} 43 44+ (Class) cellClass 45{ 46 return segmentedControlCellClass; 47} 48 49// Specifying number of segments... 50- (void) setSegmentCount: (NSInteger) count 51{ 52 [_cell setSegmentCount: count]; 53} 54 55- (NSInteger) segmentCount 56{ 57 return [_cell segmentCount]; 58} 59 60// Specifying selected segment... 61- (void) setSelectedSegment: (NSInteger) segment 62{ 63 [_cell setSelectedSegment: segment]; 64} 65 66- (NSInteger) selectedSegment 67{ 68 return [_cell selectedSegment]; 69} 70 71- (void) selectSegmentWithTag: (NSInteger) tag 72{ 73 [_cell selectSegmentWithTag: tag]; 74} 75 76// Working with individual segments... 77- (void) setWidth: (CGFloat)width forSegment: (NSInteger)segment 78{ 79 [_cell setWidth: width forSegment: segment]; 80} 81 82- (CGFloat) widthForSegment: (NSInteger)segment 83{ 84 return [_cell widthForSegment: segment]; 85} 86 87- (void) setImage: (NSImage *)image forSegment: (NSInteger)segment 88{ 89 [_cell setImage: image forSegment: segment]; 90} 91 92- (NSImage *) imageForSegment: (NSInteger)segment 93{ 94 return [_cell imageForSegment: segment]; 95} 96 97- (void) setLabel: (NSString *)label forSegment: (NSInteger)segment 98{ 99 [_cell setLabel: label forSegment: segment]; 100} 101 102- (NSString *) labelForSegment: (NSInteger)segment 103{ 104 return [_cell labelForSegment: segment]; 105} 106 107- (void) setMenu: (NSMenu *)menu forSegment: (NSInteger)segment 108{ 109 [_cell setMenu: menu forSegment: segment]; 110} 111 112- (NSMenu *) menuForSegment: (NSInteger)segment 113{ 114 return [_cell menuForSegment: segment]; 115} 116 117- (void) setSelected: (BOOL)flag forSegment: (NSInteger)segment 118{ 119 [_cell setSelected: flag forSegment: segment]; 120} 121 122- (BOOL) isSelectedForSegment: (NSInteger)segment 123{ 124 return [_cell isSelectedForSegment: segment]; 125} 126 127- (void) setEnabled: (BOOL)flag forSegment: (NSInteger)segment 128{ 129 [_cell setEnabled: flag forSegment: segment]; 130} 131 132- (BOOL) isEnabledForSegment: (NSInteger)segment 133{ 134 return [_cell isEnabledForSegment: segment]; 135} 136 137- (void) setSegmentStyle: (NSSegmentStyle)style 138{ 139 [_cell setSegmentStyle: style]; 140} 141 142- (NSSegmentStyle) segmentStyle 143{ 144 return [_cell segmentStyle]; 145} 146 147/* 148- (void) mouseDown: (NSEvent *)event 149{ 150 NSPoint location = [self convertPoint: [event locationInWindow] 151 fromView: nil]; 152 153 [super mouseDown: event]; 154 [_cell _detectHit: location]; 155 NSLog(@"%@",NSStringFromPoint(location)); 156} 157*/ 158@end 159