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):
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)
@@ -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")
+5 -3
View File
@@ -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()
+4 -4
View File
@@ -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):