Skip to content

Commit

Permalink
Merge pull request #3117 from t3du/LoadURLUpdate
Browse files Browse the repository at this point in the history
LoadURLNode Update
  • Loading branch information
luboslenco authored Dec 27, 2024
2 parents 4ef334d + 40fc961 commit ade05d9
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 3 deletions.
16 changes: 15 additions & 1 deletion armory/Sources/armory/logicnode/LoadUrlNode.hx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,20 @@ class LoadUrlNode extends LogicNode {
}

override function run(from: Int) {
System.loadUrl(inputs[1].get());
//System.loadUrl(inputs[1].get());

#if kha_html5
if (inputs[2].get()){
var window = inputs[3].get() ? js.Browser.window.open(inputs[1].get(), "_blank", "width="+inputs[4].get()+",height="+inputs[5].get()+",left="+inputs[6].get()+",top="+inputs[7].get())
: js.Browser.window.open(inputs[1].get(), "_blank");

if(window != null)
runOutput(0);
else
runOutput(1);
}
else
js.Browser.window.open(inputs[1].get(), "_self");
#end
}
}
31 changes: 29 additions & 2 deletions armory/blender/arm/logicnode/native/LN_loadUrl.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,38 @@
from arm.logicnode.arm_nodes import *

class LoadUrlNode(ArmLogicTreeNode):
"""Load the given URL in a new tab (works only for web browsers)."""
"""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'
arm_version = 1
arm_version = 2

def arm_init(self, context):
self.add_input('ArmNodeSocketAction', 'In')
self.add_input('ArmStringSocket', 'URL')
self.add_input('ArmBoolSocket', 'New Window', default_value=True)
self.add_input('ArmBoolSocket', 'Use values: W,H,L,T', default_value=False)
self.add_input('ArmIntSocket', 'Width', default_value= 500)
self.add_input('ArmIntSocket', 'Height', default_value= 500)
self.add_input('ArmIntSocket', 'Left')
self.add_input('ArmIntSocket', 'Top')

self.add_output('ArmNodeSocketAction', 'True')
self.add_output('ArmNodeSocketAction', 'False')

def get_replacement_node(self, node_tree: bpy.types.NodeTree):
if self.arm_version not in (0, 1):
raise LookupError()

return NodeReplacement.Identity(self)

0 comments on commit ade05d9

Please sign in to comment.