diff options
author | Jacques Lucke <mail@jlucke.com> | 2019-01-25 19:39:43 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2019-01-25 19:39:43 +0300 |
commit | 2eb519ceca77a4fe2fd5f8d071767db06aa01aa5 (patch) | |
tree | a147a326a6e1a239b6a08c918288f640a78f9377 /pie_menus_official | |
parent | 6200c4018dbe09e578994c72c5e32cb00a9d5823 (diff) |
Fix "UI Pie Menu Official" property registration
Diffstat (limited to 'pie_menus_official')
-rw-r--r-- | pie_menus_official/__init__.py | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/pie_menus_official/__init__.py b/pie_menus_official/__init__.py index f2fec504..49627c78 100644 --- a/pie_menus_official/__init__.py +++ b/pie_menus_official/__init__.py @@ -78,13 +78,18 @@ def get_addon_preferences(name=''): cls = _get_pref_class(mod) if cls: prop = PointerProperty(type=cls) - setattr(UIToolsPreferences, name, prop) + create_property(UIToolsPreferences, name, prop) bpy.utils.unregister_class(UIToolsPreferences) bpy.utils.register_class(UIToolsPreferences) return getattr(addon_prefs, name, None) else: return addon_prefs +def create_property(cls, name, prop): + if not hasattr(cls, '__annotations__'): + cls.__annotations__ = dict() + cls.__annotations__[name] = prop + def register_submodule(mod): mod.register() @@ -206,20 +211,25 @@ for mod in sub_modules: mod.__addon_enabled__ = enabled return update - prop = BoolProperty( + create_property( + UIToolsPreferences, + 'use_' + mod_name, + BoolProperty( name=info['name'], description=info.get('description', ''), update=gen_update(mod), default=True, - ) + )) + + create_property( + UIToolsPreferences, + 'show_expanded_' + mod_name, + BoolProperty()) - setattr(UIToolsPreferences, 'use_' + mod_name, prop) - prop = BoolProperty() - setattr(UIToolsPreferences, 'show_expanded_' + mod_name, prop) classes = ( UIToolsPreferences, - ) +) def register(): |