diff --git a/net_components.py b/net_components.py index e20f61b..aa75313 100644 --- a/net_components.py +++ b/net_components.py @@ -62,6 +62,7 @@ class RCFFactory(object): pass class RCFStore(collections.MutableMapping,dict): + def __init__(self, custom_factory=RCFFactory()): super().__init__() self.factory = custom_factory diff --git a/net_operators.py b/net_operators.py index 3cddc06..5520f2e 100644 --- a/net_operators.py +++ b/net_operators.py @@ -204,7 +204,7 @@ def resolve_bpy_path(path): def observer(scene): global client - + if client: for key, values in client.property_map.items(): try: @@ -286,6 +286,7 @@ post_init_callbacks = [refresh_window] class session_join(bpy.types.Operator): + bl_idname = "session.join" bl_label = "join" bl_description = "connect to a net server" @@ -321,7 +322,7 @@ class session_join(bpy.types.Operator): net_settings.is_running = True - bpy.ops.session.draw('INVOKE_DEFAULT') + # bpy.ops.session.draw('INVOKE_DEFAULT') return {"FINISHED"} @@ -668,6 +669,30 @@ class session_snapview(bpy.types.Operator): pass +class load_data(bpy.types.Operator): + bl_idname = "session.load_data" + bl_label = "Get bpy data" + bl_description = "Description that shows in blender tooltips" + bl_options = {"REGISTER"} + + @classmethod + def poll(cls, context): + return True + + def explore(self, root, depth): + if depth + try: + for item in root.bl_rna.properties: + print(item.name) + self.explore(item) + except: + pass + def execute(self, context): + self.explore(bpy.data) + # for datablock in getattr(bpy.data,item): + # print(": {}:{}".format(item,datablock.name)) + return {"FINISHED"} + # TODO: Rename to match official blender convention classes = ( @@ -679,6 +704,7 @@ classes = ( session_remove_property, session_draw_clients, session_snapview, + load_data, ) @@ -690,7 +716,7 @@ def register(): bpy.types.Scene.session_settings = bpy.props.PointerProperty( type=session_settings) - bpy.app.handlers.depsgraph_update_post.append(observer) + # bpy.app.handlers.depsgraph_update_post.append(observer) def unregister(): diff --git a/net_ui.py b/net_ui.py index 4a33b0b..349c8e1 100644 --- a/net_ui.py +++ b/net_ui.py @@ -56,10 +56,8 @@ class SessionSettingsPanel(bpy.types.Panel): row = layout.row() row.operator("session.stop", icon='QUIT', text="CANCEL") - - - row = layout.row() + row.operator("session.load_data") class SessionUsersPanel(bpy.types.Panel): @@ -83,7 +81,6 @@ class SessionUsersPanel(bpy.types.Panel): 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(): @@ -106,6 +103,7 @@ class SessionUsersPanel(bpy.types.Panel): row.label(text="Empty") row = layout.row() + class SessionPropertiesPanel(bpy.types.Panel):