add open browser button and operator

This commit is contained in:
Ziad-I
2024-06-13 20:26:00 +03:00
committed by Dion Moult
parent 9ec51e040e
commit df2655e7ae
5 changed files with 21 additions and 5 deletions
@@ -23,6 +23,7 @@ classes = (
operator.ConnectToWebsocketServer,
operator.DisconnectWebsocketServer,
operator.killWebsocketServer,
operator.OpenWebBrowser,
prop.WebProperties,
ui.BIM_PT_webui,
)
@@ -55,3 +55,12 @@ class killWebsocketServer(bpy.types.Operator):
def execute(self, context):
core.kill_websocket_server(tool.Web)
return {"FINISHED"}
class OpenWebBrowser(bpy.types.Operator):
bl_idname = "bim.open_web_browser"
bl_label = "Open Web Browser"
bl_description = "Open the web UI base URL in your Web Browser"
def execute(self, context):
core.open_web_browser(tool.Web)
@@ -41,8 +41,9 @@ class BIM_PT_webui(Panel):
row = layout.row()
row.label(text=f"Running on port: {props.webserver_port}")
row = layout.row()
row = layout.row(align=True)
row.operator("bim.connect_websocket_server")
row.operator("bim.open_web_browser", icon="URL", text="")
if props.is_connected:
row = layout.row()
+4 -4
View File
@@ -1,7 +1,3 @@
def open_web_ui(web):
web.open_web_ui()
def generate_port_number(web):
return web.generate_port_number()
@@ -20,3 +16,7 @@ def disconnect_websocket_server(web):
def kill_websocket_server(web):
web.kill_websocket_server()
def open_web_browser(web):
web.open_web_browser()
+5
View File
@@ -59,6 +59,7 @@ class Web(blenderbim.core.tool.Web):
global ws_process
ws_path = os.path.join(bpy.context.scene.BIMProperties.data_dir, "webui", "sioserver.py")
ws_process = subprocess.Popen(["python", ws_path, "--p", str(port), "--host", "127.0.0.1"])
cls.open_web_browser(port)
cls.set_is_running(True)
@classmethod
@@ -118,6 +119,10 @@ class Web(blenderbim.core.tool.Web):
data["ifc_file"] = bpy.context.scene.BIMProperties.ifc_file
return json.dumps(data)
@classmethod
def open_web_browser(cls, port):
webbrowser.open(f"http://127.0.0.1:{port}/")
@classmethod
async def sio_connect(cls, url):
await sio.connect(url, transports=["websocket"], namespaces="/blender")