2024年4月8日月曜日

menuItemコマンドに謎のフラグが追加されている

 maya2024がリリースされ見慣れない menuItemの挙動を発見しました。

 このインデントされたチェックボックス部分なのですが、親のチェックを操作すると子のチェックボックスも一括操作できるようなコントローラになっています。

 使い方を調べるためにドキュメントの menuItemコマンドを確認したのですが、このフラグについての説明は見つかりません。

 とりあえず、この menuItemコマンドが使用されている createModelPanelMenu.melファイルを確認してみると checkBoxCategoryというフラグが関係しているようです。
 ざっと見ていると checkBoxCategoryフラグは -cbpというフラグも関係しているみたいで、どうやら checkBoxCategoryフラグでグループの親を作成し、-cbpフラグでどのグループに所属するのかを指定しているようです。

 必要なところを抜き出して簡単なサンプルを。

{
    window -mb 1;
    
    menu -l "test" -to true;
    string $cbp1 =`menuItem -l "a" -checkBoxCategory 1`;
        menuItem -cbp $cbp1 -l "a1";
        menuItem -cbp $cbp1 -l "a2";
        menuItem -cbp $cbp1 -l "a3";
    
    string $cbp2 =`menuItem -l "b" -checkBoxCategory 1`;
        menuItem -cbp $cbp2 -l "b1";
        menuItem -cbp $cbp2 -l "b2";
        menuItem -cbp $cbp2 -l "b3";
    
    showWindow;
    
}

 これをスクリプトエディタで実行すると、こんな感じのウィンドウが表示されます。

 ついでに、-cbpは何の略かなぁ?と推測してみましたが、checkBoxParentのようです。

 なかなか特殊な挙動をするので、コールバックとか面倒くさそうで、なかなか使いどころが限定されそうですが参考までに。



0 件のコメント:

コメントを投稿