add methods to show running and connected status

This commit is contained in:
Ziad-I
2024-06-12 18:56:24 +03:00
committed by Dion Moult
parent 6ab08a2f49
commit 78bc8fe977
4 changed files with 18 additions and 11 deletions
@@ -31,5 +31,6 @@ from bpy.props import (
class WebProperties(PropertyGroup): class WebProperties(PropertyGroup):
webserver_port: IntProperty(name="Webserver Port") webserver_port: IntProperty(name="Webserver Port", min=0, max=65535)
show_webserver_running: BoolProperty(name="Show Webserver Running", default=False) is_running: BoolProperty(name="Webserver Running Status", default=False)
is_connected: BoolProperty(name="Connection Status", default=False)
@@ -37,12 +37,16 @@ class BIM_PT_webui(Panel):
row = layout.row() row = layout.row()
row.prop(props, "webserver_port", text="Webserver Port") row.prop(props, "webserver_port", text="Webserver Port")
if props.show_webserver_running: if props.is_running:
row = layout.row() row = layout.row()
row.label(text=f"Web Server running on port {props.webserver_port}") row.label(text=f"Webserver running on port {props.webserver_port}")
row = layout.row() row = layout.row()
row.operator("bim.connect_websocket_server") row.operator("bim.connect_websocket_server")
if props.is_connected:
row = layout.row()
row.label(text=f"Connected to Webserver on port {props.webserver_port}")
row = layout.row() row = layout.row()
row.operator("bim.kill_websocket_server") row.operator("bim.kill_websocket_server")
+5 -3
View File
@@ -10,13 +10,15 @@ def connect_websocket_server(web, port):
# check if port already has a server listening to it # check if port already has a server listening to it
if web.is_port_available(port): if web.is_port_available(port):
web.start_websocket_server(port) web.start_websocket_server(port)
web.show_webserver_running() web.set_is_running(True)
else: else:
web.hide_webserver_running() web.set_is_running(False)
web.connect_websocket_server(port) web.connect_websocket_server(port)
web.set_is_connected(True)
def kill_websocket_server(web): def kill_websocket_server(web):
web.set_is_running(False)
web.set_is_connected(False)
web.kill_websocket_server() web.kill_websocket_server()
web.hide_webserver_running()
+4 -4
View File
@@ -83,12 +83,12 @@ class Web(blenderbim.core.tool.Web):
print("Webserver terminated successfully") print("Webserver terminated successfully")
@classmethod @classmethod
def show_webserver_running(cls): def set_is_running(cls, is_running):
bpy.context.scene.WebProperties.show_webserver_running = True bpy.context.scene.WebProperties.is_running = is_running
@classmethod @classmethod
def hide_webserver_running(cls): def set_is_connected(cls, is_connected):
bpy.context.scene.WebProperties.show_webserver_running = False bpy.context.scene.WebProperties.is_connected = is_connected
@classmethod @classmethod
def get_webui_data(cls): def get_webui_data(cls):