#!/usr/bin/env python3 from OdenGraphQt import BaseNode from Qt import QtCore class BlueprintNode(BaseNode): """ A placeholder node used to preview placement before spawning the real node. It has a distinct color and minimal UI. """ __identifier__ = 'bunny-lab.io.blueprint' NODE_NAME = 'Blueprint Node' def __init__(self): super(BlueprintNode, self).__init__() # Display a name so the user sees "Click to Place Node" self.set_name("Click to Place Node") # Give it a bluish color + white text, for visibility self.set_color(60, 120, 220) # R, G, B self.view.text_color = (255, 255, 255, 200) self.view.border_color = (255, 255, 255, 180) # Make it slightly transparent if desired (alpha=150) self.view._bg_color = (60, 120, 220, 150) # Remove any default inputs/outputs (make it minimal) for port in self.input_ports() + self.output_ports(): self.model.delete_port(port.name(), port.port_type) # Store the "actual node" we want to spawn self.create_property("actual_node_type", "", widget_type=0) def process_input(self): """ We do nothing here; it is purely a placeholder node. """ pass