Uso básico
Para añadir comandos al cuadro de herramientas de selección, tu extensión debe:- Definir los comandos con la interfaz de comandos estándar
- Implementar el método
getSelectionToolboxCommandspara especificar qué comandos aparecen en el cuadro de herramientas
getSelectionToolboxCommands se llama para cada elemento del conjunto de selección cada vez que se realiza una nueva selección.
Definición de comando
Los comandos del cuadro de herramientas de selección usan la interfaz de comandos estándar de ComfyUI:function recibe el elemento o los elementos seleccionados como parámetro, lo que te permite realizar acciones sobre la selección actual.
Opciones de iconos
Los botones del cuadro de herramientas de selección admiten las mismas bibliotecas de iconos que otros elementos de la interfaz:- Iconos de PrimeVue:
pi pi-[icon-name](por ejemplo,pi pi-star) - Iconos de Material Design:
mdi mdi-[icon-name](por ejemplo,mdi mdi-content-copy)
Visibilidad dinámica de comandos
El métodogetSelectionToolboxCommands se llama cada vez que cambia la selección, lo que te permite mostrar comandos distintos según lo que esté seleccionado:
Trabajar con los elementos seleccionados
Accede a la información de los elementos seleccionados a través del objeto canvas de la app. La propiedadselectedItems es un Set que incluye nodos, grupos y otros elementos del lienzo:
Ejemplo completo
Aquí tienes un ejemplo sencillo que muestra varias características del cuadro de herramientas de selección:Notas
- La cuadro de herramientas de selección debe estar habilitada en las configuraciones:
Comfy.Canvas.SelectionToolbox - Los comandos deben definirse en el arreglo
commandsantes de referenciarlos engetSelectionToolboxCommands - La cuadro de herramientas se actualiza automáticamente cuando cambia la selección
- El método
getSelectionToolboxCommandsse llama para cada elemento del conjunto de selección cada vez que se realiza una nueva selección - Usa
app.canvas.selectedItems(un Set) para acceder a todos los elementos seleccionados, incluidos nodos, grupos y otros elementos del lienzo - Por compatibilidad con versiones anteriores,
app.canvas.selected_nodestodavía existe, pero solo contiene nodos