mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-26 10:11:46 +00:00
add methods to show running and connected status
This commit is contained in:
@@ -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")
|
||||||
|
|||||||
@@ -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()
|
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user