Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'object_collection_manager/operators.py')
-rw-r--r--object_collection_manager/operators.py114
1 files changed, 114 insertions, 0 deletions
diff --git a/object_collection_manager/operators.py b/object_collection_manager/operators.py
index 94b7518d..45dc4df5 100644
--- a/object_collection_manager/operators.py
+++ b/object_collection_manager/operators.py
@@ -59,6 +59,8 @@ from .operator_utils import (
remove_collection,
select_collection_objects,
set_exclude_state,
+ isolate_sel_objs_collections,
+ disable_sel_objs_collections,
)
from . import ui
@@ -441,6 +443,8 @@ class CMUnExcludeAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -472,6 +476,20 @@ class CMUnExcludeAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "exclude")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "exclude", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "exclude", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "exclude")
@@ -550,6 +568,8 @@ class CMUnRestrictSelectAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -579,6 +599,20 @@ class CMUnRestrictSelectAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "select")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "select", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "select", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "select")
@@ -649,6 +683,8 @@ class CMUnHideAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -678,6 +714,20 @@ class CMUnHideAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "hide")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "hide", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "hide", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "hide")
@@ -748,6 +798,8 @@ class CMUnDisableViewportAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -777,6 +829,20 @@ class CMUnDisableViewportAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "disable")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "disable", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "disable", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "disable")
@@ -848,6 +914,8 @@ class CMUnDisableRenderAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -877,6 +945,20 @@ class CMUnDisableRenderAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "render")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "render", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "render", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "render")
@@ -947,6 +1029,8 @@ class CMUnHoldoutAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -976,6 +1060,20 @@ class CMUnHoldoutAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "holdout")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "holdout", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "holdout", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "holdout")
@@ -1047,6 +1145,8 @@ class CMUnIndirectOnlyAllOperator(Operator):
bl_description = (
" * LMB - Enable all/Restore.\n"
" * Shift+LMB - Invert.\n"
+ " * Shift+Ctrl+LMB - Isolate collections w/ selected objects.\n"
+ " * Shift+Alt+LMB - Disable collections w/ selected objects.\n"
" * Ctrl+LMB - Copy/Paste RTOs.\n"
" * Ctrl+Alt+LMB - Swap RTOs.\n"
" * Alt+LMB - Discard history"
@@ -1076,6 +1176,20 @@ class CMUnIndirectOnlyAllOperator(Operator):
elif modifiers == {"shift"}:
invert_rtos(view_layer, "indirect")
+ elif modifiers == {"shift", "ctrl"}:
+ error = isolate_sel_objs_collections(view_layer, "indirect", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
+ elif modifiers == {"shift", "alt"}:
+ error = disable_sel_objs_collections(view_layer, "indirect", "CM")
+
+ if error:
+ self.report({"WARNING"}, error)
+ return {'CANCELLED'}
+
else:
activate_all_rtos(view_layer, "indirect")