1 /*
2  * Copyright 2011 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #import <Cocoa/Cocoa.h>
9 #import "SkNSView.h"
10 #import "SkOSMenu.h"
11 #import "SkEvent.h"
12 @interface SkOptionItem : NSObject {
13     NSCell* fCell;
14     const SkOSMenu::Item* fItem;
15 }
16 @property (nonatomic, assign) const SkOSMenu::Item* fItem;
property(nonatomic,retain)17 @property (nonatomic, retain) NSCell* fCell;
18 @end
19 
20 @interface SkOptionsTableView : NSTableView <SkNSViewOptionsDelegate, NSTableViewDelegate, NSTableViewDataSource> {
21     NSMutableArray* fItems;
22     const SkTDArray<SkOSMenu*>* fMenus;
23     BOOL fShowKeys;
24 }
25 @property (nonatomic, retain) NSMutableArray* fItems;
26 
27 - (void)registerMenus:(const SkTDArray<SkOSMenu*>*)menus;
28 - (void)updateMenu:(const SkOSMenu*)menu;
29 - (void)loadMenu:(const SkOSMenu*)menu;
30 - (IBAction)toggleKeyEquivalents:(id)sender;
31 
32 - (NSCell*)createAction;
33 - (NSCell*)createList:(NSArray*)items current:(int)index;
34 - (NSCell*)createSlider:(float)value min:(float)min max:(float)max;
35 - (NSCell*)createSwitch:(BOOL)state;
36 - (NSCell*)createTextField:(NSString*)placeHolder;
37 - (NSCell*)createTriState:(NSCellStateValue)state;
38 
39 @end
40