//
//  SetupViewController.h
//  X-BASIC'
//
//  Created by AIG-Soft on 2012/08/17
//  Copyright 2012-2015 AIG-Soft. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "TableLabelViewCell.h"
#import "PickerView.h"
#import "FontSelect.h"

// 宣言は機能定義によらず常に行う
@class AppDelegate;
@class Setup;

// IBOutlet物は常に用意してあるので、機能定義によらず定義すること
@interface SetupViewController : UITableViewController
<
UINavigationControllerDelegate
>
{
	// テーブル作成用
	NSArray		 *sections;		// セクション名
	NSDictionary *dataSource;	// データソース
	NSArray		 *objects;		// セクション名をまとめる配列
	// セル項目用
	// IBOutletの付いているものは、IBとの接続があるので、コンパイル条件にかかわらずメンバーは残すこと
	IBOutlet	TableLabelViewCell *cellMaxStringLength;
	IBOutlet	TableLabelViewCell *cellVariableAutoDeclear;
	IBOutlet	TableLabelViewCell *cellForcedSHIFTJISMode;
	IBOutlet	TableLabelViewCell *cellEnableSprite;
	IBOutlet	TableLabelViewCell *cellEnableX68;
	IBOutlet	TableLabelViewCell *cellEnableOlder;
	IBOutlet	TableLabelViewCell *cellErrorCodeFopen;
	//
	IBOutlet	TableLabelViewCell *cellListFont;
	//
	IBOutlet	__weak	UISwitch	*swVariableAutoDeclear;
	IBOutlet	__weak	UISwitch	*swEnableSprite;
	IBOutlet	__weak	UISwitch	*swEnableX68;
	IBOutlet	__weak	UISwitch	*swEnableOlder;
	IBOutlet	__weak	UISegmentedControl	*segForcedSHIFTJISMode;
	IBOutlet	__weak	UISegmentedControl	*segErrorCodeFopen;
	//
	NSUInteger			idx_row,idx_section;	// pickerViewの選択位置
	NSMutableArray		*cols;					// cols[]各表示項目
	CGRect	frame0;			// 最初のサイズ；Poppoverで移動するとサイズが変わるので
}

// readwrite = getter/setterを生成させる
@property (nonatomic,strong) PickerView		*pickerview;
@property (nonatomic,strong) FontSelect		*fontSelect;
@property (nonatomic) BOOL	fclosePopover;	// SetupViweControllerを表示しているpopOverが閉じられた印


-(void)open:(id)target retSelector:(SEL)selector;
-(IBAction)updateSwitch:(id)sender;
-(IBAction)updateSegment:(id)sender;


enum { // switchのtag
	SW_Variable_auto_declear=0,
	SW_Enable_Sprite,
	SW_Enable_X68,
	SW_Enable_Older
};

enum { // segmentのtag
	SEG_Forced_SHIFTJIS_mode=0,
	SEG_Error_Code_Fopen,
};

enum { // sections/objectsに合わせること
	SectionBASIC=0,
	SectionGeneral,
};

// pickerを呼び出すテーブルの項目番号設定
// switch/segment分は未使用
enum { // BASIC
	RowMaxStringLength=0,
};
enum { // General
	RowFont=0,
};

@end
