//
//  RunViewController.h
//  X-BASIC'
//
//  Created by AIG-Soft(iMac) on 2012/10/21.
//  Copyright (c) 2012-15年 AIG-Soft. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <CoreGraphics/CoreGraphics.h>
#import "gConsole.h"
#import "sConsole.h"
#import "tConsole2.h"
#import "kConsole.h"
#import "Mail.h"
#import "AirPrint.h"
#import "RootViewController.h"
//@class	RootViewController; これだとAR変換時にエラーが発生する

@interface RunViewController : UIViewController
<
UINavigationControllerDelegate,
UIPrintInteractionControllerDelegate
>
{
	NSArray		*consoles;	// ?CONSOLEの配列
	// 画面キャプチャー/その表示用
	IBOutlet	__weak UIView		*baseView;
	// 描画用ビュー
	IBOutlet	sConsole	*sconsole;
	IBOutlet	tConsole2	*tconsole;
	IBOutlet	gConsole	*gconsole0;
	IBOutlet	gConsole	*gconsole1;
	IBOutlet	gConsole	*gconsole2;
	IBOutlet	gConsole	*gconsole3;
	// v3.2
	IBOutlet	UIView		*varDumpView;
	IBOutlet	UIView		*varDumpCtrlView;
	IBOutlet	UITextView	*varDumpTextView;
	IBOutlet	UIStepper	*varDumpStepper;
	IBOutlet	UIButton	*btnVarDumpClear;
	// 印刷制御
	AirPrint				*airPrint;
	//
	int		priority[MAX_CONSOLES];		// [優先順位]=page;優先順位は小さいほど上
	int		frotate_;		// 画面回転時の拡大縮小処理;ROTATE_*
	//
	// 内部制御
	IBOutlet	__weak UIBarButtonItem 	*btnBreak;
	IBOutlet	__weak UIBarButtonItem 	*btnClose;
	IBOutlet	__weak UIBarButtonItem 	*btnDebug;	// v3.2
	//
	int			cntActivityIndicator;		// 多重処理対応のため
	//
	// デバッグ情報の実体
	NSMutableString *debugTextMain;
}
@property (nonatomic,weak) IBOutlet	UIView		*captureView;
@property (nonatomic,weak) IBOutlet	UIImageView	*capturedImageView;	// 外部でキャプチャーされた画面：現在はキー画面のみ;表示するのでUIImageView
@property (nonatomic,weak  ) RootViewController	*rootView;
@property (nonatomic,strong) Mail 				*mail;		// メイル用
@property (nonatomic,weak) IBOutlet	kConsole	*kconsole;	// キー用コンソール
@property (nonatomic) int 	nowApage;	// 現在のapage
@property (nonatomic) int 	nowVpage;	// 現在のvpage
@property (nonatomic) int 	runCount;	// 実行(RUN)回数;初期は=0だけど、Objective-Cの初期化に任せる
// v3.2
@property (nonatomic,strong) NSString *debugText;			// デバッグ情報:setterを作るためだけ
@property (nonatomic,strong) NSString *logoAlertTitle;
@property (nonatomic,strong) NSString *logoAlertMessage;
@property (nonatomic,strong) NSString *alertTitle;
@property (nonatomic,strong) NSString *alertMessage;

enum {
	FINPUT_NONE=0,
	FINPUT_INPUT,
	FINPUT_ALERT,
	FINPUT_ACTION,
};

-(id)getConsole:(int)page;
//
-(void)vpage:(int)page onoff:(BOOL)onoff;
-(BOOL)vpriority:(int)p0 p1:(int)p1 p2:(int)p2 p3:(int)p3 p4:(int)p4 p5:(int)p5;
-(void)setFrotate:(int)frotate;
-(void)disableRotate:(BOOL)onoff;
-(id)getConsole:(int)page;

-(IBAction)naviButtonAction:(id)sender;

-(void)run;
-(void)displayRun;
-(void)printImage:(UIImage *)image;

// v3.2
-(void)displayDebug:(NSInteger)mode;
-(void)addDebugText:(NSString *)text;
-(void)updateDebugScreen;
-(void)setLogoAlert:(NSString *)title message:(NSString *)message;
-(void)setAlert:(NSString *)title message:(NSString *)message;

//------------------------------------------

RunViewController	*xb_getRunView(void);

@end

