From 70edfe2a33f625d8c91a797f2028c5c067b9b59f Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Sat, 26 Oct 2024 12:07:26 +1100 Subject: [PATCH] Fix node shape not set by menu / setter (#214) --- src/LGraphNode.ts | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/LGraphNode.ts b/src/LGraphNode.ts index e380b04af..6d4ad1689 100644 --- a/src/LGraphNode.ts +++ b/src/LGraphNode.ts @@ -2,7 +2,7 @@ import type { Dictionary, IContextMenuValue, IFoundSlot, INodeFlags, INodeInputS import type { LGraph } from "./LGraph" import type { IWidget, TWidgetValue } from "./types/widgets" import type { ISerialisedNode } from "./types/serialisation" -import type { RenderShape } from "./types/globalEnums" +import { RenderShape } from "./types/globalEnums" import type { LGraphCanvas } from "./LGraphCanvas" import type { CanvasMouseEvent } from "./types/events" import type { DragAndScale } from "./DragAndScale" @@ -124,7 +124,6 @@ export class LGraphNode { color: string bgcolor: string boxcolor: string - shape?: RenderShape exec_version: number action_call?: string execute_triggered: number @@ -161,6 +160,31 @@ export class LGraphNode { removable?: boolean block_delete?: boolean + get shape(): RenderShape { + return this._shape + } + set shape(v: RenderShape | "default" | "box" | "round" | "circle" | "card") { + switch (v) { + case "default": + delete this._shape + break + case "box": + this._shape = RenderShape.BOX + break + case "round": + this._shape = RenderShape.ROUND + break + case "circle": + this._shape = RenderShape.CIRCLE + break + case "card": + this._shape = RenderShape.CARD + break + default: + this._shape = v + } + } + // Used in group node setInnerNodes?(this: LGraphNode, nodes: LGraphNode[]): void