iOS Sample App menu implementation
http://codereview.appspot.com/4798055/


git-svn-id: http://skia.googlecode.com/svn/trunk@2022 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.h b/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.h
new file mode 100644
index 0000000..9c715aa
--- /dev/null
+++ b/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.h
@@ -0,0 +1,42 @@
+#import <UIKit/UIKit.h>
+#import "SkOptionListController.h"
+#import "SkOSMenu.h"
+#import "SkEvent.h"
+#import "SkUIView.h"
+@interface SkOptionItem : NSObject {
+    UITableViewCell* fCell;
+    const SkOSMenu::Item* fItem;
+}
+@property (nonatomic, assign) const SkOSMenu::Item* fItem;
+@property (nonatomic, retain) UITableViewCell* fCell;
+
+@end
+
+@interface SkOptionListItem : SkOptionItem{
+    SkOptionListController* fOptions;
+}
+@property (nonatomic, retain) SkOptionListController* fOptions;
+
+@end
+
+@interface SkOptionsTableViewController : UITableViewController <UINavigationControllerDelegate, SkUIViewOptionsDelegate> {
+    NSMutableArray* fItems;
+    const SkTDArray<SkOSMenu*>* fMenus;
+    SkOptionListItem* fCurrentList;
+}
+
+@property (nonatomic, retain) NSMutableArray* fItems;
+@property (nonatomic, retain) SkOptionListItem* fCurrentList;
+
+- (void)registerMenus:(const SkTDArray<SkOSMenu*>*)menus;
+- (void)updateMenu:(const SkOSMenu*)menu;
+- (void)loadMenu:(const SkOSMenu*)menu;
+
+- (UITableViewCell*)createAction:(NSString*)title;
+- (UITableViewCell*)createSlider:(NSString*)title min:(float)min max:(float)max default:(float)value;
+- (UITableViewCell*)createSwitch:(NSString*)title default:(BOOL)state;
+- (UITableViewCell*)createTriState:(NSString*)title default:(int)index;
+- (UITableViewCell*)createTextField:(NSString*)title default:(const char*)value;
+- (UITableViewCell*)createList:(NSString*)title default:(NSString*)value;
+
+@end