mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 02:23:34 +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):
|
||||
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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user