diff --git a/src/blenderbim/blenderbim/bim/module/web/prop.py b/src/blenderbim/blenderbim/bim/module/web/prop.py index e4014fad6a..181133eb5e 100644 --- a/src/blenderbim/blenderbim/bim/module/web/prop.py +++ b/src/blenderbim/blenderbim/bim/module/web/prop.py @@ -31,5 +31,6 @@ from bpy.props import ( class WebProperties(PropertyGroup): - webserver_port: IntProperty(name="Webserver Port") - show_webserver_running: BoolProperty(name="Show Webserver Running", default=False) + webserver_port: IntProperty(name="Webserver Port", min=0, max=65535) + is_running: BoolProperty(name="Webserver Running Status", default=False) + is_connected: BoolProperty(name="Connection Status", default=False) diff --git a/src/blenderbim/blenderbim/bim/module/web/ui.py b/src/blenderbim/blenderbim/bim/module/web/ui.py index bd0b653bf6..544ad13cd8 100644 --- a/src/blenderbim/blenderbim/bim/module/web/ui.py +++ b/src/blenderbim/blenderbim/bim/module/web/ui.py @@ -37,12 +37,16 @@ class BIM_PT_webui(Panel): row = layout.row() row.prop(props, "webserver_port", text="Webserver Port") - if props.show_webserver_running: + if props.is_running: 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.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.operator("bim.kill_websocket_server") diff --git a/src/blenderbim/blenderbim/core/web.py b/src/blenderbim/blenderbim/core/web.py index b7255b20f8..7e787c72d6 100644 --- a/src/blenderbim/blenderbim/core/web.py +++ b/src/blenderbim/blenderbim/core/web.py @@ -10,13 +10,15 @@ def connect_websocket_server(web, port): # check if port already has a server listening to it if web.is_port_available(port): web.start_websocket_server(port) - web.show_webserver_running() + web.set_is_running(True) else: - web.hide_webserver_running() + web.set_is_running(False) web.connect_websocket_server(port) + web.set_is_connected(True) def kill_websocket_server(web): + web.set_is_running(False) + web.set_is_connected(False) web.kill_websocket_server() - web.hide_webserver_running() diff --git a/src/blenderbim/blenderbim/tool/web.py b/src/blenderbim/blenderbim/tool/web.py index 1463c20811..6bd83dd2d3 100644 --- a/src/blenderbim/blenderbim/tool/web.py +++ b/src/blenderbim/blenderbim/tool/web.py @@ -83,12 +83,12 @@ class Web(blenderbim.core.tool.Web): print("Webserver terminated successfully") @classmethod - def show_webserver_running(cls): - bpy.context.scene.WebProperties.show_webserver_running = True + def set_is_running(cls, is_running): + bpy.context.scene.WebProperties.is_running = is_running @classmethod - def hide_webserver_running(cls): - bpy.context.scene.WebProperties.show_webserver_running = False + def set_is_connected(cls, is_connected): + bpy.context.scene.WebProperties.is_connected = is_connected @classmethod def get_webui_data(cls):