diff --git a/net_operators.py b/net_operators.py index 98cae9e..79aa55b 100644 --- a/net_operators.py +++ b/net_operators.py @@ -163,7 +163,6 @@ def to_bpy(store_item): if value_type == 'Vector' or 'Euler': value_casted = mathutils.Vector( (store_value[0], store_value[1], store_value[2])) - return value_casted @@ -218,13 +217,14 @@ def init_scene(): for object in bpy.context.scene.objects: for attr in dir(object): try: - key = "objects/{}/{}".format(object.name,attr) - value_type, value = from_bpy(getattr(object,attr)) + key = "objects/{}/{}".format(object.name, attr) + value_type, value = from_bpy(getattr(object, attr)) client.push_update(key, value_type, value) except: pass + def update_scene(msg): global client @@ -261,6 +261,9 @@ def update_ui(msg): recv_callbacks = [update_scene, update_ui] post_init_callbacks = [refresh_window] +# Catch operator execution +#C.window_manager.operators['MESH_OT_primitive_plane_add'].bl_idname + class session_join(bpy.types.Operator): bl_idname = "session.join" @@ -369,7 +372,7 @@ class session_create(bpy.types.Operator): bpy.ops.session.join() - init_scene() + # init_scene() bpy.app.timers.register(observer) return {"FINISHED"} @@ -568,7 +571,6 @@ class session_draw_clients(bpy.types.Operator): session = context.scene.session_settings if client: - # Local view update current_coords = get_client_view_rect() if current_coords != self.coords: @@ -627,7 +629,7 @@ class session_snapview(bpy.types.Operator): area, region, rv3d = view3d_find() - for k,v in client.property_map.items(): + for k, v in client.property_map.items(): if v.mtype == 'client' and v.id.decode() == self.target_client: rv3d.view_location = v.body[1] rv3d.view_distance = 10.0 @@ -636,6 +638,8 @@ class session_snapview(bpy.types.Operator): return {"CANCELLED"} pass + + # TODO: Rename to match official blender convention classes = ( session_join, diff --git a/net_ui.py b/net_ui.py index e381299..3c7bb2c 100644 --- a/net_ui.py +++ b/net_ui.py @@ -19,11 +19,11 @@ class SessionSettingsPanel(bpy.types.Panel): # self.layout.label(text="",icon='HIDE_OFF') # else: # self.layout.label(text="",icon='HIDE_ON') - # self.layout.label(text="Offline") + # self.layout.label(text="Offline") def draw(self, context): layout = self.layout - + net_settings = context.scene.session_settings scene = context.scene # Create a simple row. @@ -31,16 +31,15 @@ class SessionSettingsPanel(bpy.types.Panel): if net_operators.client: row.label(text="Net frequency:") - row.prop(net_settings,"update_frequency",text="") + row.prop(net_settings, "update_frequency", text="") row = layout.row() - row = layout.row() - row.operator("session.stop", text="exit session") - + row.operator("session.stop", icon='QUIT', text="Exit") + else: row = layout.row() - row.prop(scene.session_settings,"username",text="username:") + row.prop(scene.session_settings, "username", text="username:") row = layout.row() row.operator("session.join") row = layout.row() @@ -48,6 +47,7 @@ class SessionSettingsPanel(bpy.types.Panel): row = layout.row() + class SessionUsersPanel(bpy.types.Panel): """Creates a Panel in the scene context of the properties editor""" bl_label = "NET users" @@ -62,15 +62,15 @@ class SessionUsersPanel(bpy.types.Panel): def draw(self, context): layout = self.layout - + net_settings = context.scene.session_settings scene = context.scene # Create a simple row. row = layout.row() if net_operators.client: - if len(net_operators.client.property_map) > 0: - for key,values in net_operators.client.property_map.items(): + if len(net_operators.client.property_map) > 0: + for key, values in net_operators.client.property_map.items(): if 'client' in key: info = "" item_box = row.box() @@ -79,17 +79,18 @@ class SessionUsersPanel(bpy.types.Panel): if values.id == net_operators.client.id: info = "(self)" # detail_item_box = item_box.row() - detail_item_box.label(text="{} {}".format(values.id.decode(),info)) + detail_item_box.label( + text="{} {}".format(values.id.decode(), info)) if net_operators.client.id.decode() not in key: - detail_item_box.operator("session.snapview",text="",icon='VIEW_CAMERA').target_client = values.id.decode() + detail_item_box.operator( + "session.snapview", text="", icon='VIEW_CAMERA').target_client = values.id.decode() row = layout.row() else: row.label(text="Empty") - + row = layout.row() - class SessionPropertiesPanel(bpy.types.Panel): """Creates a Panel in the scene context of the properties editor""" @@ -101,11 +102,11 @@ class SessionPropertiesPanel(bpy.types.Panel): @classmethod def poll(cls, context): - return net_operators.client + return net_operators.client def draw(self, context): layout = self.layout - + net_settings = context.scene.session_settings scene = context.scene # Create a simple row. @@ -113,21 +114,25 @@ class SessionPropertiesPanel(bpy.types.Panel): if net_operators.client: row = layout.row(align=True) - row.prop(net_settings,"buffer", text="") - row.operator("session.add_prop", text="",icon="ADD").property_path = net_settings.buffer + row.prop(net_settings, "buffer", text="") + row.operator("session.add_prop", text="", + icon="ADD").property_path = net_settings.buffer row = layout.row() - # Property area + # Property area area_msg = row.box() - if len(net_operators.client.property_map) > 0: - for key,values in net_operators.client.property_map.items(): + if len(net_operators.client.property_map) > 0: + for key, values in net_operators.client.property_map.items(): item_box = area_msg.box() detail_item_box = item_box.row() # detail_item_box = item_box.row() - detail_item_box.label(text="{} ({}) {} ".format(key, values.mtype, values.id.decode())) - detail_item_box.operator("session.remove_prop",text="",icon="X").property_path = key + detail_item_box.label(text="{} ({}) {} ".format( + key, values.mtype, values.id.decode())) + detail_item_box.operator( + "session.remove_prop", text="", icon="X").property_path = key else: area_msg.label(text="Empty") + classes = ( SessionSettingsPanel, SessionUsersPanel, @@ -138,4 +143,4 @@ classes = ( register, unregister = bpy.utils.register_classes_factory(classes) if __name__ == "__main__": - register() \ No newline at end of file + register()