[[レンダー乙女とか]]
#navbar(乙女とかリファレンス,1,2,)
*nas.GUI ライブラリ 使用方法。
--------------------------------------------

Adobe Scripts のGUI定義は、以下のような形式で行われます。

-ウィンドウ
	var myWindow	= new Window(type [,title,bounds]);
-エレメント
	var myControl	= myWindow.w.add(type[,bounds,text,{<creation properties>}]);

合理的ではありますが、プリミティブでもあります。
特に、配置用の bounds配列は、ピクセル単位で[左上X,左上Y,右下X,右下Y]の指定のみなので、シンプルなウインドウひとつ作成する場合でもピクセル単位の計算が必要になります。

単純な計算とはいえ、これは結構「手間」です。

そこで「ねこまたや」では、簡易GUIライブラリを提供します。

グリッド配置型のライブラリです。

エレメントを指定のグリッドに沿う形で配置します。

あまり自由度はありませんが、記述する数値がグリッド単位になるので把握が楽になります。

指定数値 は「ユニット」(小数点指定 一部可能)
	横1ユニットは 60px : 縦1ユニットは 26px
となります。

サイズは変更可能です。

以下の関数および拡張機能を付加した複合エレメントを提供します。
各関数の使用方法および使用サンプルは、アーカイブに付属の"GUI_test.js"をご覧ください。

**Window の初期化関数
	newWindow(WinType,WinName,width,height[,offsetX,offsetY]);
		//returns window object

	newWindow(ウィンドウタイプ,タイトル,幅,高さ[,初期位置X,初期位置Y]);
		//戻り値:windowオブジェクト

例:
	var myWindow = nas.GUI.newWindow("palette","MyWin",8,16,240,0);

この例は、8列×16行分のウィンドウを初期化して、myWindow にアクセスベースを設定します。

ウインドウのサイズはユニットで、ウインドウの初期位置は、ピクセルで指定してください。


**GUIエレメントの初期化関数

***Text / EditText / Button 

	指定のサイズで初期化してアクセスベースを返します。
	addStaticText(	Parent,Text,left-U,top-U,width-U,height-U);
	addEditText(	Parent,Text,left-U,top-U,width-U,height-U);
	addButton(	Parent,Text,left-U,top-U,width-U,height-U);


***CheckBox / RadioButton
	チェックボックス ラジオボタン は 縦1ユニット 横 1ユニット サイズで
	左右配置を指定(上下はセンタのみ)

	addCheckButton(Parent,Text,left-U,top-U[,align])
	addRadioButton(Parent,Text,left-U,top-U[,align])

***ScrollBar
	スクロールバーは、縦1ユニット分の横幅で右寄せと左寄せを指定

	addScrollBar(Parent,Value,minValue,maxValue,left-U,top-U,height-U[,align]);//returns object

	myScroll=nas.GUI.addScrollBar(myWindow,0,0,100,7,9,6,"left");

***Slider
	スライダは、縦1ユニット高さで配置

	addSlider(Parent,Value,minValue,maxValue,left-U,top-U,width-U[,align]);//returns object

	myScroll=nas.GUI.addSlider(myWindow,0,0,100,0,15,7,"top");


***SelectButton
	セレクトボタンは、ボタンの機能を拡張した複合コントロールです。
	コントロールのoptionsプロパティに登録された配列の値をクリック毎に切り換えます。
	必要なタイミングでvalueを読み出すか、または
	Selectedに格納されたインデックスを使用してください。
	現在のライブラリでは、擬似的なドロップダウンリストがでて値の選択が可能です。

	addSelectButton(Parent,Label,left,top,width,height);//return object

	var mySelectButton=nas.GUI.addSelectButton(myWindow,"no-select",0,0,3,1);

 必要なオプションを初期化してください。
 エレメントを作成した時点では、ラベルとして与えた値を0番オプションとして
 ひとつだけもっています。

 if(YouLike){
	mySelectButton.options.push("1st");
	mySelectButton.options.push("2nd");
	mySelectButton.options.push("3rd");
 } else {
	mySelectButton.options=["no-select","1st","2nd","3rd",];
 }
	mySelelctButton.select(1);//最初に選択状態にする値はここで設定

***ListBox
	nas.GUIのListBoxは、パネルとチェックボックスを組み合わせた複合コントロールで
	一般的なリストボックスの機能を備えていますがAE8以降のスクリプトで提供される
	ListBoxオブジェクトとは互換がありません。ご注意ください

	addListBox = function (Parent,Options,Selected,left,top,width,height,option)

	var myListBox=nas.GUI.addListBox(myWindow,["1","2","3","X"],0,0,0,3,1,true);
***TabPanel
***IconButton

***Image
----

**補助関数
***Grid()
ユニット指定からバウンズオブジェクトを返す関数
微妙なサイズのパーツが必要な場合はこれを使えます。

Grid(left-U,top-U,width-U,Height-U) ;//returns object Bounds

	myWIN==new Window("palette","myWindow",[0,0,512,380]);
	button=myWIN.add("button","myButton",nas.GUI.Grid(3,2,2,1));
	myWIN.show();
GUIライブラリの単位を参照してbaundsオブジェクト形式の配列で戻します。

#navbar(乙女とかリファレンス,1,2,)
