from lnx.logicnode.lnx_nodes import * class LoadUrlNode(LnxLogicTreeNode): """Load the given URL in a new or existing tab (works only for web browsers). @input URL: use a complete url or partial for a subpage. @input New: open a new window or redirect existing one. @input Use values: W,H,L,T: open a new window using Width, Height, Left and Top values. @input Width: width for New window. @input Height: height for New window. @input Left: distance from left for New window position. @input Top: distance from top for New window position. @output True: for New returns true if the window is opened. @output False: for New returns false if the window is not opened (popup blocked). """ bl_idname = 'LNLoadUrlNode' bl_label = 'Load URL' lnx_version = 2 def lnx_init(self, context): self.add_input('LnxNodeSocketAction', 'In') self.add_input('LnxStringSocket', 'URL') self.add_input('LnxBoolSocket', 'New Window', default_value=True) self.add_input('LnxBoolSocket', 'Use values: W,H,L,T', default_value=False) self.add_input('LnxIntSocket', 'Width', default_value= 500) self.add_input('LnxIntSocket', 'Height', default_value= 500) self.add_input('LnxIntSocket', 'Left') self.add_input('LnxIntSocket', 'Top') self.add_output('LnxNodeSocketAction', 'True') self.add_output('LnxNodeSocketAction', 'False') def get_replacement_node(self, node_tree: bpy.types.NodeTree): if self.lnx_version not in (0, 1): raise LookupError() return NodeReplacement.Identity(self)