【MEL基本】5時限目 Windowコマンドについて

【MEL基本】ボタンで機能を実行するMELを書く
の記事で作成したMEL。今回はウィンドウの作り方など、Windowコマンドについて少し説明します。
括弧を除いた最初の2行の説明です。(最後のほうのshowWindowもですね・・・)
ウィンドウの作成
何もない単なるウィンドウは、
window;
showWindow;
のみ。これを実行するだけで作成、表示することが出来ます。

作成と表示。
実際はボタンなどのコマンドを間に書きますが、セットで使うと覚えてしまっていいと思います。
ただし、このままでは、実行するたびにどんどん作成されてしまいます。

これだとちょっと不便なので、すでに表示されている場合は一旦消してから、新しく表示するという仕組みにします。
UIに名前をつける
消すための準備です。何を消すか指定できるようにするため、作成するウィンドウに名前をつけます。
window の後に、好きな名前をつけます。
window AriWindowTest;
showWindow;

その名前のウィンドウが作成されます。
好きな名前をつけられますが、半角英字で、
Maya全体でかぶらないようにしてください。
タイトルバーには、また別に好きな名前をつけられるので、今のところはかぶらない半角英数字を最優先で。
(最初に数字使えないとか記号はアンダーバーだけとかありますが、説明長くしたくないのでなんとなく察してください。)
●今は読まなくてもいいコーナー●
Windowだけでなく、UI系のコマンドには、同じようにコマンドの最後に固有の好きな文字を書くことで、UI自体に名前をつけることができます。
ボタンとかも後でサイズ変えたい色変えたい。とか後で何かしたいことがある場合、名前が必要だったり、必要じゃなかったり。
UIを消す
deleteUI AriWindowTest;
deleteUIというコマンドで、消したいUIの名前を指定することで、UIを消すことが出来ます。

スクリプトエディタの コマンド>新規タブ でタブを増やすと、複数のMELを書くのにわざわざ消さなくてすむので便利です。

私の場合増やしすぎで恥ずかしいです。管理できてない証拠。
存在するときだけ消す
deleteUI コマンドは、そのUIがないのに実行してしまうとエラーになってしまいます。
そこで、AriWindowTestという名前のウィンドウが存在する場合だけ、ウィンドウを削除するコマンドを実行したいわけになるわけです。
こまごました説明無しに一気に書きます。
if ( `window -ex AriWindowTest` == true )deleteUI AriWindowTest;
window AriWindowTest;
showWindow;
もはや意味わからないのは最初の行の最初だけですね?

この部分。「もしAriWindowTestという名のWindeowが存在したら」という意味です。
今回詳しい説明省きますが、「存在するときだけ、後に続くdeleteUI AriWindowTest;を実行する」という形になってるのです。
存在したら、消してから、2行目以降に書いてあるウィンドウを作成するし、
存在しなかったらdeleteUIは実行せずに、ウィンドウを作成を行う。
つまりそういうことなんです。
飛ばしすぎてすみません。
まとめ
if ( `window -ex AriWindowTest` == true )deleteUI AriWindowTest;
window AriWindowTest;
showWindow;
最初のうちは深く考えず、コピぺで、この3箇所だけ固有の同じ名前にしとけばいいと思います。

そうすれば、どんどんウィンドウが作成されることはなくなります。
タイトルバーの名前をつける
最後に、タイトルバーに好きな名前をつけましょう。今はウィンドウのUI名になっちゃってますね。
window のフラグ -title (-t)を使用して、 " "の中に好きなタイトルをつけて今回は終了です。
if ( `window -ex AriWindowTest` == true )deleteUI AriWindowTest;
window -t "ここは日本語でもOK好きなタイトル" AriWindowTest;
showWindow;

UI名はAriWindowTestのまま、タイトルの表示が変わっただけです。念のため。
最初に書いたコードだとここは-tではなくロング名の -title になってますが、ご存知のとおり同じです。
1時限目 ボタンで機能を実行するMELを書く
2時限目 コマンドとフラグについて
3時限目 MELファイルの作り方
4時限目 UIを横に並べる&アイコンボタンの使用方法
5時限目 Windowコマンドについて
6時限目 ボタンで複数行のコマンドを実行する
MEL基本カテゴリ
スポンサーリンク