diff --git a/leenkx/blender/lnx/logicnode/browser/LN_loadUrl.py b/leenkx/blender/lnx/logicnode/browser/LN_loadUrl.py new file mode 100644 index 0000000..16aa46d --- /dev/null +++ b/leenkx/blender/lnx/logicnode/browser/LN_loadUrl.py @@ -0,0 +1,38 @@ +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) \ No newline at end of file