Uso básico
Para agregar comandos al cuadro de herramientas de selección, tu extensión necesita:- 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 haces una nueva selección.
Definición de comandos
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 usan clases de iconos de Lucide con el formatoicon-[lucide--<icon-name>] (por ejemplo, icon-[lucide--star]).
El frontend genera estas clases al compilarse, así que solo están disponibles los iconos de Lucide que usa el propio frontend. Si un icono no se muestra, elige otro o define tu propia clase de icono en una hoja de estilos que cargue tu extensión.
Las clases de PrimeIcons (pi pi-*) y de Material Design Icons (mdi mdi-*) todavía se muestran por ahora, pero se están retirando gradualmente. No las uses en código nuevo. Consulta la migración por la eliminación de PrimeVue.
Visibilidad dinámica de comandos
Cada vez que cambia la selección se llama al métodogetSelectionToolboxCommands, lo que te permite mostrar comandos diferentes según lo que esté seleccionado:
Trabajar con elementos seleccionados
Accede a la información sobre los elementos seleccionados a través del objeto canvas de la aplicación. La propiedadselectedItems es un Set que incluye nodos, grupos y otros elementos del lienzo:
Ejemplo completo
Aquí tienes un ejemplo sencillo que muestra varias funciones del cuadro de herramientas de selección:Notas
- El cuadro de herramientas de selección debe estar habilitado en las configuraciones:
Comfy.Canvas.SelectionToolbox - Los comandos deben definirse en el arreglo
commandsantes de referenciarlos engetSelectionToolboxCommands - El 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