メインコンテンツへスキップ
選択ツールボックス API により、拡張機能はキャンバス上でノードが選択された際に表示されるカスタムアクションボタンを追加できます。これにより、選択されたアイテム(ノード、グループなど)に対する文脈依存のコマンドにすばやくアクセスできます。

基本的な使い方

選択ツールボックスにコマンドを追加するには、拡張機能は以下を行う必要があります:
  1. 標準の コマンドインターフェース を使用してコマンドを定義する
  2. ツールボックスに表示されるコマンドを指定するために getSelectionToolboxCommands メソッドを実装する
注:getSelectionToolboxCommands メソッドは、新しい選択が行われるたびに、選択セット内の各アイテムに対して呼び出されます。

コマンド定義

選択ツールボックスのコマンドは、標準の ComfyUI コマンドインターフェースを使用します:
function は選択されたアイテムをパラメータとして受け取り、現在の選択に対してアクションを実行できます。

アイコンオプション

選択ツールボックスのボタンは、他の UI 要素と同じアイコンライブラリをサポートします:
  • PrimeVue アイコン:pi pi-[icon-name](例:pi pi-star
  • Material Design アイコン:mdi mdi-[icon-name](例:mdi mdi-content-copy

動的なコマンドの表示

getSelectionToolboxCommands メソッドは選択が変更されるたびに呼び出され、選択内容に基づいて異なるコマンドを表示できます:

選択されたアイテムの操作

アプリのキャンバスオブジェクトを通じて、選択されたアイテムに関する情報にアクセスできます。selectedItems プロパティは、ノード、グループ、およびその他のキャンバス要素を含む Set です:

完全な例

これは、さまざまな選択ツールボックス機能を示す簡単な例です:

注意事項

  • 選択ツールボックスは設定で有効にする必要があります:Comfy.Canvas.SelectionToolbox
  • コマンドは getSelectionToolboxCommands で参照される前に、commands 配列で定義されている必要があります
  • 選択が変更されるとツールボックスは自動的に更新されます
  • getSelectionToolboxCommands メソッドは、新しい選択が行われるたびに、選択セット内の各アイテムに対して呼び出されます
  • app.canvas.selectedItems(Set)を使用して、ノード、グループ、およびその他のキャンバス要素を含むすべての選択されたアイテムにアクセスします
  • 後方互換性のため、app.canvas.selected_nodes は依然存在しますが、ノードのみを含みます