2018年3月27日火曜日

現在のアクティブなシェルフを取得する

作ったToolのボタンをシェルフに登録したい。
ShelfLayoutをそもそも使っていれば何の問題もないけど、
さまざまな理由から、遠回りをしたいとき。

例えば右クリック⇒現在のMayaシェルフに登録などさせる場合、
現在アクティブなシェルフレイアウトの名前を取得したい。

そんな時はこちら。

proc string getActiveShelfLayout(){
string $uiList[] = `lsUI -type "shelfLayout"`;
string $tabList[] = `lsUI -type "tabLayout"`;
if (!(stringArrayFind("ShelfLayout",0,$tabList))) return "";
string $tl=`tabLayout -q -st "ShelfLayout"`;
if (!(stringArrayFind($tl,0,$uiList))) return "";
return $tl;
}
print getActiveShelfLayout;