메인 콘텐츠로 건너뛰기
선택 도구 상자 API를 사용하면 확장 프로그램에서 캔버스에서 노드를 선택할 때 표시되는 맞춤형 작업 버튼을 추가할 수 있습니다. 이는 선택된 항목(노드, 그룹 등)에 대한 컨텍스트에 맞는 명령에 빠르게 접근할 수 있도록 해줍니다.

기본 사용법

선택 도구 상자에 명령을 추가하려면 확장 프로그램이 다음을 수행해야 합니다:
  1. 표준 명령 인터페이스를 사용해 명령을 정의하세요.
  2. getSelectionToolboxCommands 메서드를 구현하여 도구 상자에 어떤 명령이 표시될지 지정하세요.
참고: getSelectionToolboxCommands 메서드는 새로운 선택이 이루어질 때마다 선택 세트의 각 항목에 대해 호출됩니다.

명령 정의

선택 도구 상자의 명령은 표준 ComfyUI 명령 인터페이스를 사용합니다:
function은 선택된 항목을 매개변수로 받아 현재 선택에 대한 작업을 수행할 수 있습니다.

아이콘 옵션

선택 도구 상자 버튼은 다른 UI 요소와 동일한 아이콘 라이브러리를 지원합니다:
  • PrimeVue 아이콘: pi pi-[아이콘 이름] (예: pi pi-star)
  • Material Design 아이콘: mdi mdi-[아이콘 이름] (예: mdi mdi-content-copy)

동적 명령 표시 여부

getSelectionToolboxCommands 메서드는 선택이 변경될 때마다 호출되며, 선택된 내용에 따라 다른 명령을 표시할 수 있습니다:

선택된 항목 다루기

앱의 캔버스 객체를 통해 선택된 항목에 대한 정보에 접근하세요. selectedItems 속성은 노드, 그룹 및 기타 캔버스 요소를 포함하는 Set입니다:

전체 예제

다양한 선택 도구 상자 기능을 보여주는 간단한 예제입니다:

참고사항

  • 선택 도구 상자는 설정에서 활성화되어야 합니다: Comfy.Canvas.SelectionToolbox
  • 명령은 getSelectionToolboxCommands에서 참조되기 전에 commands 배열에 정의되어야 합니다.
  • 도구 상자는 선택이 변경될 때 자동으로 업데이트됩니다.
  • getSelectionToolboxCommands 메서드는 새로운 선택이 이루어질 때마다 선택 세트의 각 항목에 대해 호출됩니다.
  • app.canvas.selectedItems (Set)를 사용해 노드, 그룹 및 기타 캔버스 요소를 포함한 모든 선택된 항목에 접근하세요.
  • 하위 호환성을 위해 app.canvas.selected_nodes도 여전히 존재하지만, 여기에는 노드만 포함됩니다.