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