ワークスペース コントロールを使用して、Maya のワークスペース システム内でドラッグ、ドッキング、保存できるカスタム UI を作成することができます。ワークスペース コントロールは、workspaceControl コマンドを使用して作成されます。このコマンドを呼び出して、内部 UI を作成する uiScript フラグにスクリプトを渡すと、ワークスペース システムはワークスペース コントロールを指定したワークスペースに保存し、次回に開いたときにそのコントロールを適切に復元できるようになります。このスクリプトで呼び出すあらゆるものは、これ以降に Maya を起動し、保存したワークスペースが復元されたときに実行することができます。
MEL スクリプトはソースから取得する必要がありますが、Python モジュールは読み込む必要があります。唯一の例外は次のとおりです。
中央ビューポートの 4 辺の周りにドッキング可能な UI を作成するために使用されていた dockControl コマンドは、ワークスペース コントロールによって置き換えられました。dockControl 機能はサポートされなくなりました。workspaceControl 機能に移行するには、実行時に内部 UI を生成するスクリプトを作成します。この機能を workspaceControl コマンドの呼び出しにアタッチするには、uiScript フラグを使用します。内部 UI を含むウィンドウを作成してから、content フラグを介して dockControl コマンド呼び出しにアタッチすることはできなくなりました。
Maya コマンド スクリプトを使用して、Python でワークスペース コントロールを作成することができます。ワークスペース コントロールの UI の内容が PySide ベースの場合は、PySide のみが適用されます。
次の操作を実行して、PySide UI 内でワークスペース コントロールを作成します。
Python を使用してワークスペース コントロールを作成する方法の詳細については、dockableWorkspaceWidget.py devkit サンプルを参照してください。このサンプルを実行するには、スクリプト エディタ(Script Editor)で開いて実行します。「Maya で PySide を使用する」も参照してください。
C++ を使用している場合は、最初に workspaceControl MEL コマンドを使用してワークスペース コントロールを作成する必要があります。このコマンドを実行するには、MGlobal::executeCommand() メソッドを使用します。次に、MQtUtil::addWidgetToMayaLayout() メソッドを使用して C++ で作成された Qt UI をワークスペース コントロールにペアレント化できます。
workspaceControlCmd.cpp サンプルは、ワークスペース コントロールおよびそれらを含む UI を生成するコマンドの作成方法を示します。また、この UI を workspaceControl の uiScript フラグに渡して、再度開くときに UI を復元する方法も示します。このコマンドはプラグインの一部であるため、requiredPlugin フラグを使用してワークスペース コントロールがこのプラグインを認識し、この UI の復元コマンドを実行できるようにする必要があります。
workspaceControlCmd サンプルをビルドするには、「プラグインでの Qt の使用方法」トピックの「プラグインのビルド」セクションを参照してください。プラグインがビルドされたら、プラグインを Maya にロードし、次の MEL スクリプトを実行します。
workspaceControlWindow;