//
//  BasicFiles.h
//  X-BASIC for iOS
//
//  Created by AIG-Soft on 2012/08/17.
//  Copyright (c) 2012 AIG-Soft. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "PickerView.h"
#import "FileControl2.h"
#import "Setup.h"	// PATH_NEWFILE


@interface BasicFiles : PickerView
<UIAlertViewDelegate>
{
	NSInteger		cntInternal;	// basFiles[]/basPathes[]中、内蔵ソースの始まる項目番号
}
// readwrite = getter/setterを生成させる
@property (nonatomic,strong) NSMutableArray	*basFiles;	// これは存在する全BASICファイル名		NSString	pickerの項目になる
@property (nonatomic,strong) NSMutableArray	*basPathes;	// フルパス名
@property (nonatomic) BOOL	fclosePopover; // SetupViweControllerを表示しているpopOverが閉じられた印

-(void)open:(id)retTarget retSelector:(SEL)retSelector basicPath:(NSString *)basicPath calcelSelector:(SEL)cancelSelector;

@end

// 拡張子の設定は、plistのUTIのExported UTIsにも固定文字列であるので注意
#define PATH_BASFILE	makeFullPathForSaveData(FILE_BASFILE)
#define EXT_BASIC			@"bas"					// BASICソースの拡張子（内部）
//#define	EXT_BASIC_REGEXP	@"([bB][aA][sS][iI]*[cC]*)|([dD][aA][tT])"		// BASICソースの拡張子（Zipファイル内で考えられる全てのパターンに対応する正規表現）
#define	EXT_BASIC_REGEXP	@"^([bB][aA][sS][iI]*[cC]*)$"		// BASICソースの拡張子（Zipファイル内で考えられる全てのパターンに対応する正規表現）,.datはデータファイルとして既に使っているので排除したらだめ
#define STARTUP				@"startup." EXT_BASIC	// 自動読み込みファイル

// 関数プロトタイプ宣言
enum {
	RET_readBasicFile_OK=0,
	RET_readBasicFile_file_not_found=-1,
	RET_readBasicFile_memory_error=-2,
};
NSInteger readBasicFile(NSString *nsBasicFile,ULong *startupSize0,LineNO *startLines0);
