編集(管理者用) | 編集 | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴
== o ==
ねこまたや web出張所
INDEX

トップページ
お知らせ
twitter
お道具箱
技術資料と雑談
ライブラリ
雑貨や(ダウンロード)
最近の更新
ねこまたやについて

twitter

ねこまたやのついった

企画モノ

psAxe情報ページ
自主制作アニメ
ぽこあぽこ られんたんど


あやかしあやし
エフェクトネタ帳



りまぴん
AE エクスプレッション
レンダー乙女とか
簡易版XPSリンカ
おまけギャラリ

BBS

ねこまたやBBS
開発室BBS

Language



開発室みたいなものでしたが
spamアクセスがはげしいのでページは凍結中です。
書き換えは管理人のみが可能です。
Nekomataya/2024

GUIライブラリ - [[レンダー乙女とか]]


目次

レンダー乙女とか

nasライブラリ簡易GUIモジュールリファレンス

AE6.5の Adobe Script 環境でのGUI記述をサポートします。

書きかけの内容を含んでいるのでご注意

nas.GUI

GUIライブラリ関連のプロパティおよびメソッドは、nas.GUI オブジェクトの配下に格納されます。

このオブジェクトはnasオブジェクトの配下のオブジェクトとして初期化されますので、ライブラリを使用する前にnasオブジェクトがすでに初期化されていることがライブラリのインストール条件になります。

このライブラリの主な機能は、GUI部品を配置する際にグリッドスタイルの配置指定が行えるようにすることです。

AE ほか Adobe Scripts のGUI部品配置は Bounds 配列で行われます。この配列はピクセル単位で 以下の形式になっています。

	[左,上,右,下]

この形式は、シンプルで良いのですが、その分ユーザに対する支援機能は貧弱です。

このライブラリでは、以下の主に以下の形式で指定するようになっています

	左,上,幅,高さ

指定が配列では無い点は注意してください。

指定単位は、あらかじめ与えておいたグリッドのサイズです。グリッドのサイズは、縦横別に指定できます。ただし高さに関しては AEのGUI用フォントサイズが固定のため あまり変更する意味は無いようです。

グリッドの開始番号は、縦横方向とも 0 から開始です。

ほとんどの指定に少数値が使用できますので、微妙な位置指定の時は少数値で指定してください。

プロパティ

nas.GUI オブジェクトには以下のプロパティがあります。

leftMargin

自動計算の際の左側 外余白
 nas.GUI.leftMargin=4;//Number

rightMargin

自動計算の際の右側 外余白
 nas.GUI.rightMargin=4;//Number

topMargin

自動計算の際の上部 外余白
 nas.GUI.topMargin=2;//Number

bottomMargin

自動計算の際の底部 外余白
 nas.GUI.bottomMargin=10;//Number

leftPadding

自動計算の際の左側 内余白
 nas.GUI.leftPadding=8;//Number

rightPadding

自動計算の際の右側 内余白
 nas.GUI.rightPadding=8;//Number

topPadding

自動計算の際の上部 内余白
 nas.GUI.topPadding=2;//Number

bottomPadding

自動計算の際の底部 内余白
 nas.GUI.bottomPadding=2;//Number

colUnit

グリッド1列の幅
 nas.GUI.colUnit=60;//Number

lineUnit

グリッド1行の高さ
 nas.GUI.lineUnit=26;//Number

defaultWinsize

ウィンドウサイズ省略値
 nas.GUI.defaultWinsize=[8,6];//Array[unit,unit]

dafaultOffset

ウィンドウ位置省略値
 nas.GUI.dafaultOffset=[240,40];//Array[pixel,pixel]

defaultName

ウィンドウタイトル省略値
 nas.GUI.defaultName="No Name";//String

currentFolder

最終アクセスフォルダ
 nas.GUI.currentFolder	//Folder
AE本体のアクセスフォルダとは別に記録する。nasのアクセス記録

prevCurrentFolder

nas.GUI.prevCurrentFolder //AEサイド最終アクセスフォルダ退避用オブジェクト

workBase

作業ベースヒストリ 現在は、セッション毎にリセット。
 nas.GUI.workBase ;//Array[path String,,,]

アニメーション作業支援のために 最終アクセスフォルダのひとつ上のフォルダを作業ベースフォルダとしてヒストリにとります。

このオブジェクトは、Folderオブジェクトではなく、ローカルパスの文字列として記録されますのでスクリプト内でフォルダとしてアクセスする場合は、以下のように Folderオブジェクトに再度初期化をしてアクセスしてください。(Folder のほうが良いかな?)

	myFolder=new Folder(nas.GUI.workBase.current());

プロパティ

		nas.GUI.workBase.maxLength=4;//ヒストリの最大値
		nas.GUI.workBase.selected=0;//現在のフォルダID

メソッド

		nas.GUI.workBase.current()

現在選択されているworkBaseフォルダのパスを返す?(…フォルダ返した方が良さそう)

(次の版では、仕様が変わりそうな気がしてます。)

		nas.GUI.workBase.insert(Folder or "folderpath")

ヒストリに新しいフォルダを加える。 既存のエントリに同じフォルダがあればそれをアクティブにして終了 引数はオブジェクトと文字列両方を受け入れ。定数以上になったら古いものから削除。

		nas.GUI.workBase.change()

ひとつ前のヒストリに戻る。 前後および自由な位置にアクセスする予定ですが現在は戻るだけ。 引数なし

LineFeed?

改行です。

	nas.GUI.LineFeed;//String \n or \r\n

GUI部品内で表示に改行が必要な場合 このプロパティを挿入してください。 プラットフォームをチェックしてMacOSXでは、"\n" Windowsでは"\r\n"を設定してあります。 Adobe Scriptサイドの処理でプラットフォーム間の差異を吸収できるようになったらこのプロパティは無くなります。

使用例

	msg=n.toString()+" 個のフッテージがインポートされました。";
	writeLn("処理は終了しました。"+nas.GUI.LineFeed+msg);

内部で使用する動作用ローカル変数

nas.GUI.quartsOffset
Macの場合ボタン等の高さを減ずる

提供されるメソッド

addBuf_()

nas.GUI.addBuf_(Number)

概要
GUI部品のedittextには、初期状態で256バイトでペーストや手入力が打ち止めになる現象があります。スクリプトでデータ追加を行うと動的にメモリが確保されているようなので、これは、edittextに無理やり空白を追加してバッファを拡張するバグ回避メソッドです。当該のバグが解消したら不要になります。引数はループ回数。ループ1回アタリ 1kbを拡張します。
戻値
なし

Grid()

nas.GUI.Grid(col,line,width,height,parent)

概要
グリッド位置計算メソッド(bounds配列を返す)

ライブラリ内で位置の自動計算を行う内部関数 引数に(横位置,縦位置,横幅,高さ)を与えてBounds配列を返します。

戻値
ピクセル単位で計算されたバウンズタイプの配列 Array
(バウンズを直接返した方が良いのか?)

newWindow()

nas.GUI.newWindow(Type,Name,width,height,offsetX,offsetY)

概要
ウインドウ作成メソッド

ダイアログとパレットを作成できます。 ダイアログの場合、"名前"を、ウインドウタイトルとして初期化します。 パレットの場合、与えられた"名前"をウィンドウの冒頭行に表示します。

戻値
ウィンドウオブジェクト Window

addButton()

nas.GUI.addButton(Parent,Label,left,top,width,height)
概要
ボタン作成メソッド

戻値
ボタンオブジェクト Button

addCheckBox()

nas.GUI.addCheckBox(Parent,Label,left,top,width,height)

概要
チェックボックス作成メソッド

戻値
チェックボックスオブジェクト Checkbox

addRadioButton()

nas.GUI.addRadioButton(Parent,Label,left,top,width,height)

概要
ラジオボタン作成メソッド

戻値
ラジオボタンオブジェクト Radiobutton

addStaticText()

nas.GUI.addStaticText(Parent,Text,left,top,width,height)

概要
staticText作成メソッド

戻値
スタティックテキストオブジェクト Statictext

addEditText()

nas.GUI.addEditText(Parent,Text,left,top,width,height)

概要
Edittext作成メソッド

戻値
エディットテキストオブジェクト Edittext

addScrollBar()

nas.GUI.addScrollBar(Parent,Value,minValue,maxValue,left,top,height,align)

概要
Scrollbar作成メソッド

戻値
スクロールバーオブジェクト Scrollbar

addSlider()

nas.GUI.addSlider(Parent,Value,minValue,maxValue,left,top,width,align)

概要
Slider作成メソッド

戻値
スライダオブジェクト Slider

addPanel()

nas.GUI.addPanel(Parent,Label,left,top,width,height)

概要
Panel作成メソッド

戻値
パネルオブジェクト Panel

addSelectButton()

nas.GUI.addSelectButton(Parent,Label,Select,left,top,width,height)

:概要 複合コントロール SelectButton?

戻値
セレクト機能を持ったボタンオブジェクト Button

addListBox()

nas.GUI.addListBox(Parent,Options,Selected,left,top,width,height,option)

概要
複合コントロール リストボックス

 addListBox = function (親,オプション,選択状態,X,Y,幅,高さ,動作オプション)
	親 : 
	オプション : 
	選択状態 :
	X,Y :
	幅,高さ :**高さはリスト表示段数
	動作オプション : 

戻値
リストボックス機能を持ったパネルオブジェクト Panel

setTabPanel()

nas.GUI.setTabPanel(Parent,TabNames?,left,top,width,height)

概要
複合コントロール タブパネル

暫定版です。

現在は独立したオブジェクトではなく、ウィンドウオブジェクトのプロパティとしてコーディングしてあります。 ウィンドウまたはパネルの1つに付き1組のタブが設定できます。

与えられたエレメントに直接タブプロパティを埋めます。 タブ自身を指すオブジェクト(エレメント)はありません。

タブパネルにアクセスする際は 以下のようなアクセスをしてください。

	Parent["tabPanel"][タブID].<property or method>

タブID は、0からの配列idです。

戻値
選択されているタブID (不要かも?) Number

selectOptions

 nas.GUI.selectOptions([オプション配列],初期選択ID,左位置,上位置,幅,最大行数)

概要
オプション選択ダイアログ

与えられたオプションをボタンダイアログに表示して、ユーザが選択したオプションのIDを返します。 オプション配列以外の引数は省略可能です。 初期選択状態を省略すると未選択状態でパネルが開きます。

エスケープキーでキャンセル可能です。その場合は、最初に選択してあった値が戻り値となります。未選択の際の戻り値はnullです。

表示位置が省略されるとスクリーン左上にダイアログが出ます。(画面中央とどちらが良いか考え中)

スクリプト内で複数のオプションからユーザの選択を促す際に使用してください。 selectButtonオブジェクトは、内部でこのメソッドを使用しています。

戻値
選択されたオプションの配列ID or null

prompt

概要
nas 拡張プロンプト
 nas.GUI.prompt(プロンプトメッセージ,初期値,左位置,上位置,幅,高さ)

汎用GUI部品として書くつもり(未実装)

プロンプトの拡張版

Yes/No/Cancel/Save/Load の各ボタンあり。

使い方は、グローバルのプロンプトと互換+拡張機能

引数が複数行ならば、自動的に拡張モードで動作(拡張モードが標準モード)

引数が1行以内の文字列なら、自動判定で互換モードで動作?

互換モードは、スイッチ指定の方が良さそう。

実際互換モードなしで、拡張モードのみでもよサゲ?

コメントを表示してダイアログでエディットテキストを表示

ユーザは内容を編集してクリック。

キャンセル時の戻り値は null

load、save機能あり reset機能あり

OK で編集内容を返して終了。キャンセルでnullを返して終了。

	こんなもんかいな?

イロイロ使い道ありそう。

…とか…ユーザは保存もできるし、自分のファイルを読み込むことも可能 あと、標準(global)のプロンプトはあまり格好よくないしー

Nekomataya/kiyo 2006