package aji;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;

/*
 * 作成日: 2005/05/09
 *
 * TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */

/**
 * @author yui
 *
 * TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */


public class Window extends BaseWin{
		public Window(){
			super("味のみちしるべ Client Edition 0.1");
			//shell = new Shell(display);
		    GridLayout gridLayout = new GridLayout();
		    gridLayout.numColumns = 1;
		    gridLayout.marginHeight = 0;
		    gridLayout.marginWidth = 0;
		    gridLayout.horizontalSpacing = 0;
		    gridLayout.verticalSpacing = 0;
		    shell.setLayout(gridLayout);
		    
		    Composite comp = new Composite(shell, SWT.NULL); // shellが親
		    GridData gridDataText = new GridData(GridData.FILL);
		    gridDataText.widthHint = 300; // 横幅を最低300確保
		    comp.setLayoutData(gridDataText);

		    gridLayout = new GridLayout();
		    gridLayout.numColumns = 5;//テーブルに配置する要素数。つまり横に並べる時いくつならべるか。
		    comp.setLayout(gridLayout);

		    Label label1 = new Label(comp, SWT.NULL); // compが親
		    gridDataText = new GridData(GridData.FILL);
		    label1.setLayoutData(gridDataText);
		    label1.setText("材料1:");//上書きされてる？ラベルが一緒だと駄目？

		    Text text1 = new Text(comp,SWT.SIMPLE|SWT.BORDER);
		    gridDataText = new GridData(GridData.FILL_HORIZONTAL);
		    text1.setLayoutData(gridDataText);
		    text1.setText("テキストテスト");
		    label1.setText("レシピ名");

		    Label label2 = new Label(comp, SWT.NULL);
		    gridDataText = new GridData(GridData.FILL);
		    label2.setLayoutData(gridDataText);
		    label2.setText("材料2:");

		    Text text2 = new Text(comp, SWT.SIMPLE|SWT.BORDER);
		    gridDataText = new GridData(GridData.FILL_HORIZONTAL);
		    text2.setLayoutData(gridDataText);

//			Text t1 = new Text(shell, SWT.MULTI);//テキストのレイアウト指定
		    t1 = new Text(shell,SWT.MULTI);
		    GridData gridData1 = new GridData(GridData.FILL_HORIZONTAL);
		    gridData1.widthHint = 200;
		    gridData1.heightHint = 150;
		    t1.setLayoutData(gridData1);
			t1.setText("テキスト挿入テスト");//文字のセット
//	     shell.setLayout(new FillLayout(SWT.VERTICAL));
			Text t2 = new Text(shell,SWT.Modify);
//			t2 = new Text(shell,SWT.Modify);
			t2.setText("じっけーん");
	        Button buttonX = new Button(shell, SWT.PUSH);
	        buttonX.setText("ファイルを開く");
	        buttonX.addSelectionListener(new SelectionAdapter(){
	          public void widgetSelected(SelectionEvent e){
	          	FileDialog dlg = new FileDialog(shell, SWT.OPEN);
	            dlg.setFilterExtensions(new String[] {"*.txt", "*.*"});
	            dlg.setFilterNames(new String[] {"テキストファイル (*.txt)", "すべてのファイル (*.*)"});
	            String fileName = dlg.open();

	            // ファイルを開く
	            if(fileName!=null){
	              try {
	                FileInputStream fi = new FileInputStream(fileName);
	                InputStreamReader is = new InputStreamReader(fi);
	                BufferedReader br = new BufferedReader(is);
	              while (true) {
	                  String str = br.readLine();
	                  if (str == null) {
	                    break;
	                  }
	                  t1.append(str + "\n");
	                }
	       
	              }
	              catch (Exception e3) {
	                e3.printStackTrace();
	              }
	            }
	            
	          }
	        });
			        
	        Text text = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
	        GridData gridData0 = new GridData(GridData.FILL_BOTH);
	        text.setLayoutData(gridData0);
	        setStatBar();
		shell.open();
		/*String str[] = {new String("あ"),new String("い"),new String("う"),new String("え"),
				new String("お"),new String("か"),new String("き"),new String("く"),
				new String("け"),new String("こ"),new String("さ"),new String("し"),};
		for(int i =0;i<str.length;i++){
			t1.append(str[i]);
			try{
			Thread.sleep(1000);
			}catch(Exception e){}
		}*/
		
		while(!shell.isDisposed()){//閉じるまでWindowを維持
			if(!display.readAndDispatch()){
				display.sleep();
			}
		}
		display.dispose();
	}
}


