diff options
author | meta-androcto <meta.androcto1@gmail.com> | 2016-08-26 12:19:48 +0300 |
---|---|---|
committer | meta-androcto <meta.androcto1@gmail.com> | 2016-08-26 12:19:48 +0300 |
commit | b877dcb6f644fbc4588e5bc75a7aaed6da9ca3cb (patch) | |
tree | eaf3c6bdb794f9120a0828d80433d8bfe061786f /space_view3d_pie_menus | |
parent | 97211b21de806759e80c864502de6e719994b826 (diff) |
3d view pie menus: clean up, remove folder structure & unneeded utils.py
Diffstat (limited to 'space_view3d_pie_menus')
-rw-r--r-- | space_view3d_pie_menus/__init__.py | 5 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_align_menu.py (renamed from space_view3d_pie_menus/pie_align_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_animation_menu.py (renamed from space_view3d_pie_menus/pie_animation_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_apply_transform_menu.py (renamed from space_view3d_pie_menus/pie_apply_transform_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_delete_menu.py (renamed from space_view3d_pie_menus/pie_delete_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_editor_switch_menu.py (renamed from space_view3d_pie_menus/pie_editor_switch_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_manipulator_menu.py (renamed from space_view3d_pie_menus/pie_manipulator_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_modes_menu.py (renamed from space_view3d_pie_menus/pie_modes_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_orientation_menu.py (renamed from space_view3d_pie_menus/pie_orientation_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_origin_cursor.py (renamed from space_view3d_pie_menus/pie_origin_cursor/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_pivot_point_menu.py (renamed from space_view3d_pie_menus/pie_pivot_point_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_proportional_menu.py (renamed from space_view3d_pie_menus/pie_proportional_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_save_open_menu.py (renamed from space_view3d_pie_menus/pie_save_open_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_sculpt_menu.py (renamed from space_view3d_pie_menus/pie_sculpt_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_select_menu.py (renamed from space_view3d_pie_menus/pie_select_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_shading_menu.py (renamed from space_view3d_pie_menus/pie_shading_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_snap_menu.py (renamed from space_view3d_pie_menus/pie_snap_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/pie_views_numpad_menu.py (renamed from space_view3d_pie_menus/pie_views_numpad_menu/__init__.py) | 0 | ||||
-rw-r--r-- | space_view3d_pie_menus/utils.py | 327 |
19 files changed, 3 insertions, 329 deletions
diff --git a/space_view3d_pie_menus/__init__.py b/space_view3d_pie_menus/__init__.py index 0d264223..00afd179 100644 --- a/space_view3d_pie_menus/__init__.py +++ b/space_view3d_pie_menus/__init__.py @@ -23,8 +23,8 @@ bl_info = { "author": "meta-androcto, pitiwazou, chromoly, italic", "version": (1, 1, 3), "blender": (2, 7, 7), - "location": "", - "description": "Pie Menu Activate", + "description": "Individual Pie Menu Activation List", + "location": "Addons Preferences", "warning": "", "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/" "Scripts/3D_interaction/viewport_pies", @@ -245,6 +245,7 @@ def register(): if getattr(prefs, 'use_' + name): register_submodule(mod) +# Experimental Auto Expand Addons Preferences import addon_utils mod = addon_utils.addons_fake_modules.get(__name__) diff --git a/space_view3d_pie_menus/pie_align_menu/__init__.py b/space_view3d_pie_menus/pie_align_menu.py index a743c2c3..a743c2c3 100644 --- a/space_view3d_pie_menus/pie_align_menu/__init__.py +++ b/space_view3d_pie_menus/pie_align_menu.py diff --git a/space_view3d_pie_menus/pie_animation_menu/__init__.py b/space_view3d_pie_menus/pie_animation_menu.py index 9c2b6042..9c2b6042 100644 --- a/space_view3d_pie_menus/pie_animation_menu/__init__.py +++ b/space_view3d_pie_menus/pie_animation_menu.py diff --git a/space_view3d_pie_menus/pie_apply_transform_menu/__init__.py b/space_view3d_pie_menus/pie_apply_transform_menu.py index a3f9e519..a3f9e519 100644 --- a/space_view3d_pie_menus/pie_apply_transform_menu/__init__.py +++ b/space_view3d_pie_menus/pie_apply_transform_menu.py diff --git a/space_view3d_pie_menus/pie_delete_menu/__init__.py b/space_view3d_pie_menus/pie_delete_menu.py index f804c877..f804c877 100644 --- a/space_view3d_pie_menus/pie_delete_menu/__init__.py +++ b/space_view3d_pie_menus/pie_delete_menu.py diff --git a/space_view3d_pie_menus/pie_editor_switch_menu/__init__.py b/space_view3d_pie_menus/pie_editor_switch_menu.py index 2f206bf4..2f206bf4 100644 --- a/space_view3d_pie_menus/pie_editor_switch_menu/__init__.py +++ b/space_view3d_pie_menus/pie_editor_switch_menu.py diff --git a/space_view3d_pie_menus/pie_manipulator_menu/__init__.py b/space_view3d_pie_menus/pie_manipulator_menu.py index 2e3de4cf..2e3de4cf 100644 --- a/space_view3d_pie_menus/pie_manipulator_menu/__init__.py +++ b/space_view3d_pie_menus/pie_manipulator_menu.py diff --git a/space_view3d_pie_menus/pie_modes_menu/__init__.py b/space_view3d_pie_menus/pie_modes_menu.py index 01fde97a..01fde97a 100644 --- a/space_view3d_pie_menus/pie_modes_menu/__init__.py +++ b/space_view3d_pie_menus/pie_modes_menu.py diff --git a/space_view3d_pie_menus/pie_orientation_menu/__init__.py b/space_view3d_pie_menus/pie_orientation_menu.py index 17c13a5c..17c13a5c 100644 --- a/space_view3d_pie_menus/pie_orientation_menu/__init__.py +++ b/space_view3d_pie_menus/pie_orientation_menu.py diff --git a/space_view3d_pie_menus/pie_origin_cursor/__init__.py b/space_view3d_pie_menus/pie_origin_cursor.py index 553c8a9b..553c8a9b 100644 --- a/space_view3d_pie_menus/pie_origin_cursor/__init__.py +++ b/space_view3d_pie_menus/pie_origin_cursor.py diff --git a/space_view3d_pie_menus/pie_pivot_point_menu/__init__.py b/space_view3d_pie_menus/pie_pivot_point_menu.py index b58d33f8..b58d33f8 100644 --- a/space_view3d_pie_menus/pie_pivot_point_menu/__init__.py +++ b/space_view3d_pie_menus/pie_pivot_point_menu.py diff --git a/space_view3d_pie_menus/pie_proportional_menu/__init__.py b/space_view3d_pie_menus/pie_proportional_menu.py index ea5ddeed..ea5ddeed 100644 --- a/space_view3d_pie_menus/pie_proportional_menu/__init__.py +++ b/space_view3d_pie_menus/pie_proportional_menu.py diff --git a/space_view3d_pie_menus/pie_save_open_menu/__init__.py b/space_view3d_pie_menus/pie_save_open_menu.py index 2b8e4e87..2b8e4e87 100644 --- a/space_view3d_pie_menus/pie_save_open_menu/__init__.py +++ b/space_view3d_pie_menus/pie_save_open_menu.py diff --git a/space_view3d_pie_menus/pie_sculpt_menu/__init__.py b/space_view3d_pie_menus/pie_sculpt_menu.py index 88b7d501..88b7d501 100644 --- a/space_view3d_pie_menus/pie_sculpt_menu/__init__.py +++ b/space_view3d_pie_menus/pie_sculpt_menu.py diff --git a/space_view3d_pie_menus/pie_select_menu/__init__.py b/space_view3d_pie_menus/pie_select_menu.py index b837b2aa..b837b2aa 100644 --- a/space_view3d_pie_menus/pie_select_menu/__init__.py +++ b/space_view3d_pie_menus/pie_select_menu.py diff --git a/space_view3d_pie_menus/pie_shading_menu/__init__.py b/space_view3d_pie_menus/pie_shading_menu.py index 8c9f1f50..8c9f1f50 100644 --- a/space_view3d_pie_menus/pie_shading_menu/__init__.py +++ b/space_view3d_pie_menus/pie_shading_menu.py diff --git a/space_view3d_pie_menus/pie_snap_menu/__init__.py b/space_view3d_pie_menus/pie_snap_menu.py index 9e58e608..9e58e608 100644 --- a/space_view3d_pie_menus/pie_snap_menu/__init__.py +++ b/space_view3d_pie_menus/pie_snap_menu.py diff --git a/space_view3d_pie_menus/pie_views_numpad_menu/__init__.py b/space_view3d_pie_menus/pie_views_numpad_menu.py index fe2b8258..fe2b8258 100644 --- a/space_view3d_pie_menus/pie_views_numpad_menu/__init__.py +++ b/space_view3d_pie_menus/pie_views_numpad_menu.py diff --git a/space_view3d_pie_menus/utils.py b/space_view3d_pie_menus/utils.py deleted file mode 100644 index 045a158a..00000000 --- a/space_view3d_pie_menus/utils.py +++ /dev/null @@ -1,327 +0,0 @@ -# ##### BEGIN GPL LICENSE BLOCK ##### -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ##### END GPL LICENSE BLOCK ##### - -# <pep8 compliant> - -import bpy - - -class AddonPreferences: - _module = {} - - @classmethod - def get_prefs(cls, package=''): - if not package: - package = __package__ - if '.' in package: - pkg, name = package.split('.') - # key = cls.__qualname__ - if package in cls._module: - mod = cls._module[package] - else: - import importlib - mod = cls._module[package] = importlib.import_module(pkg) - return mod.get_addon_preferences(name) - else: - context = bpy.context - return context.user_preferences.addons[package].preferences - - @classmethod - def register(cls): - if '.' in __package__: - cls.get_prefs() - - @classmethod - def unregister(cls): - cls._module.clear() - - -class SpaceProperty: - """ - bpy.types.Space #Add the virtual property in - - # Instantiation - space_prop = SpaceProperty( - [[bpy.types.SpaceView3D, 'lock_cursor_location', - bpy.props.BoolProperty()]]) - - # When drawing - def draw(self, context): - layout = self.layout - view = context.space_data - prop = space_prop.get_prop(view, 'lock_cursor_location') - layout.prop(prop, 'lock_cursor_location') - - # register / unregister - def register(): - space_prop.register() - - def unregister(): - space_prop.unregister() - """ - - space_types = { - 'EMPTY': bpy.types.Space, - 'NONE': bpy.types.Space, - 'CLIP_EDITOR': bpy.types.SpaceClipEditor, - 'CONSOLE': bpy.types.SpaceConsole, - 'DOPESHEET_EDITOR': bpy.types.SpaceDopeSheetEditor, - 'FILE_BROWSER': bpy.types.SpaceFileBrowser, - 'GRAPH_EDITOR': bpy.types.SpaceGraphEditor, - 'IMAGE_EDITOR': bpy.types.SpaceImageEditor, - 'INFO': bpy.types.SpaceInfo, - 'LOGIC_EDITOR': bpy.types.SpaceLogicEditor, - 'NLA_EDITOR': bpy.types.SpaceNLA, - 'NODE_EDITOR': bpy.types.SpaceNodeEditor, - 'OUTLINER': bpy.types.SpaceOutliner, - 'PROPERTIES': bpy.types.SpaceProperties, - 'SEQUENCE_EDITOR': bpy.types.SpaceSequenceEditor, - 'TEXT_EDITOR': bpy.types.SpaceTextEditor, - 'TIMELINE': bpy.types.SpaceTimeline, - 'USER_PREFERENCES': bpy.types.SpaceUserPreferences, - 'VIEW_3D': bpy.types.SpaceView3D, - } - # space_types_r = {v: k for k, v in space_types.items()} - - def __init__(self, *props): - """ - :param props: [[space_type, attr, prop], ...] - [[Or string bpy.types.Space, String, - bpy.props.***()ćPropertyGroup], ...] - bpy.types.PropertyGroup In advance if you use register_class()so - It is registered - :type props: list[list] - """ - self.props = [list(elem) for elem in props] - for elem in self.props: - space_type = elem[0] - if isinstance(space_type, str): - elem[0] = self.space_types[space_type] - self.registered = [] - self.save_pre = self.save_post = self.load_post = None - - def gen_save_pre(self): - @bpy.app.handlers.persistent - def save_pre(dummy): - wm = bpy.context.window_manager - for (space_type, attr, prop), (cls, wm_prop_name) in zip( - self.props, self.registered): - if wm_prop_name not in wm: - continue - d = {p['name']: p for p in wm[wm_prop_name]} # not p.name - for screen in bpy.data.screens: - ls = [] - for area in screen.areas: - for space in area.spaces: - if isinstance(space, space_type): - key = str(space.as_pointer()) - if key in d: - ls.append(d[key]) - else: - ls.append({}) - screen[wm_prop_name] = ls - self.save_pre = save_pre - return save_pre - - def gen_save_post(self): - @bpy.app.handlers.persistent - def save_post(dummy): - # clean up - for cls, wm_prop_name in self.registered: - for screen in bpy.data.screens: - if wm_prop_name in screen: - del screen[wm_prop_name] - self.save_post = save_post - return save_post - - def gen_load_post(self): - @bpy.app.handlers.persistent - def load_post(dummy): - from collections import OrderedDict - for (space_type, attr, prop), (cls, wm_prop_name) in zip( - self.props, self.registered): - d = OrderedDict() - for screen in bpy.data.screens: - if wm_prop_name not in screen: - continue - - spaces = [] - for area in screen.areas: - for space in area.spaces: - if isinstance(space, space_type): - spaces.append(space) - - for space, p in zip(spaces, screen[wm_prop_name]): - key = p['name'] = str(space.as_pointer()) - d[key] = p - if d: - bpy.context.window_manager[wm_prop_name] = list(d.values()) - - # clean up - for cls, wm_prop_name in self.registered: - for screen in bpy.data.screens: - if wm_prop_name in screen: - del screen[wm_prop_name] - - self.load_post = load_post - return load_post - - def get_all(self, space_type=None, attr=''): - """ - :param space_type: If the property is only only one optional - :type space_type: bpy.types.Space - :param attr: If the property is only only one optional - :type attr: str - :return: - :rtype: - """ - if space_type and isinstance(space_type, str): - space_type = self.space_types.get(space_type) - context = bpy.context - for (st, attri, prop), (cls, wm_prop_name) in zip( - self.props, self.registered): - if (st == space_type or issubclass(space_type, st) or - not space_type and len(self.props) == 1): - if attri == attr or not attr and len(self.props) == 1: - seq = getattr(context.window_manager, wm_prop_name) - return seq - - def get(self, space, attr=''): - """ - :type space: bpy.types.Space - :param attr: If the property is only only one optional - :type attr: str - :return: - :rtype: - """ - seq = self.get_all(type(space), attr) - if seq is not None: - key = str(space.as_pointer()) - if key not in seq: - item = seq.add() - item.name = key - return seq[key] - - def _property_name(self, space_type, attr): - return space_type.__name__.lower() + '_' + attr - - def register(self): - import inspect - from bpy.types import WindowManager - wm = bpy.context.window_manager - - for space_type, attr, prop in self.props: - if inspect.isclass(prop) and \ - issubclass(prop, bpy.types.PropertyGroup): - cls = prop - else: - name = 'WM_PG_' + space_type.__name__ + '_' + attr - cls = type(name, (bpy.types.PropertyGroup,), {attr: prop}) - bpy.utils.register_class(cls) - - collection_prop = bpy.props.CollectionProperty(type=cls) - wm_prop_name = self._property_name(space_type, attr) - setattr(WindowManager, wm_prop_name, collection_prop) - - self.registered.append((cls, wm_prop_name)) - - def gen(): - def get(self): - seq = getattr(wm, wm_prop_name) - key = str(self.as_pointer()) - if key not in seq: - item = seq.add() - item.name = key - if prop == cls: - return seq[key] - else: - return getattr(seq[key], attr) - - def set(self, value): - seq = getattr(wm, wm_prop_name) - key = str(self.as_pointer()) - if key not in seq: - item = seq.add() - item.name = key - if prop != cls: # PropertyGroup It is not writable - return setattr(seq[key], attr, value) - - return property(get, set) - - setattr(space_type, attr, gen()) - - bpy.app.handlers.save_pre.append(self.gen_save_pre()) - bpy.app.handlers.save_post.append(self.gen_save_post()) - bpy.app.handlers.load_post.append(self.gen_load_post()) - - def unregister(self): - from bpy.types import WindowManager - wm = bpy.context.window_manager - - bpy.app.handlers.save_pre.remove(self.save_pre) - bpy.app.handlers.save_post.remove(self.save_post) - bpy.app.handlers.load_post.remove(self.load_post) - - for (space_type, attr, prop), (cls, wm_prop_name) in zip( - self.props, self.registered): - delattr(WindowManager, wm_prop_name) - if wm_prop_name in wm: - del wm[wm_prop_name] - delattr(space_type, attr) - - if prop != cls: - # originally bpy.types.PropertyGroup Skip Nara - bpy.utils.unregister_class(cls) - - for screen in bpy.data.screens: - if wm_prop_name in screen: - del screen[wm_prop_name] - - self.registered.clear() - - -def operator_call(op, *args, _scene_update=True, **kw): - """vawm Than - operator_call(bpy.ops.view3d.draw_nearest_element, - 'INVOKE_DEFAULT', type='ENABLE', _scene_update=False) - """ - import bpy - from _bpy import ops as ops_module - - BPyOpsSubModOp = op.__class__ - op_call = ops_module.call - context = bpy.context - - # Get the operator from blender - wm = context.window_manager - - # run to account for any rna values the user changes. - if _scene_update: - BPyOpsSubModOp._scene_update(context) - - if args: - C_dict, C_exec, C_undo = BPyOpsSubModOp._parse_args(args) - ret = op_call(op.idname_py(), C_dict, kw, C_exec, C_undo) - else: - ret = op_call(op.idname_py(), None, kw) - - if 'FINISHED' in ret and context.window_manager == wm: - if _scene_update: - BPyOpsSubModOp._scene_update(context) - - return ret |