[Bf-blender-cvs] [37ca6ef7d86] blender2.8: UI: use dict for tool definitions

Campbell Barton noreply at git.blender.org
Thu Apr 26 07:33:30 CEST 2018


Commit: 37ca6ef7d86c78c135b1bdbc468bf6c04ce63994
Author: Campbell Barton
Date:   Thu Apr 26 07:31:39 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB37ca6ef7d86c78c135b1bdbc468bf6c04ce63994

UI: use dict for tool definitions

Using tuple was becoming too cryptic - new settings needed to be added
last and the purpose of each wasn't very clear.

===================================================================

M	release/scripts/startup/bl_ui/space_toolsystem_common.py
M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py
index ae00f3675a0..4b0577729bd 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -81,7 +81,7 @@ class ToolSelectPanelHelper:
 
     @staticmethod
     def _tool_is_group(tool):
-        return type(tool[0]) is not str
+        return type(tool) is not dict
 
     @staticmethod
     def _tools_flatten(tools):
@@ -96,7 +96,10 @@ class ToolSelectPanelHelper:
 
     @classmethod
     def _tool_vars_from_def(cls, item):
-        text, icon_name, mp_idname, actions = item
+        text = item["text"]
+        icon_name = item["icon"]
+        mp_idname = item["widget"]
+        actions = item["keymap"]
         km, km_idname = (None, None) if actions is None else cls._tool_keymap[text]
         return (km_idname, mp_idname), icon_name
 
@@ -163,8 +166,10 @@ class ToolSelectPanelHelper:
             return
 
         for item in ToolSelectPanelHelper._tools_flatten(cls.tools_all()):
-            text, icon_name, mp_idname, actions = item
+            actions = item["keymap"]
             if actions is not None:
+                text = item["text"]
+                icon_name = item["icon"]
                 km, km_idname = cls._km_actionmouse_simple(kc, text, icon_name, actions)
                 cls._tool_keymap[text] = km, km_idname
 
@@ -215,9 +220,9 @@ class ToolSelectPanelHelper:
 
                         if is_active:
                             # not ideal, write this every time :S
-                            self._tool_group_active[item[0][0]] = index
+                            self._tool_group_active[item[0]["text"]] = index
                         else:
-                            index = self._tool_group_active.get(item[0][0], 0)
+                            index = self._tool_group_active.get(item[0]["text"], 0)
 
                         item = item[index]
                         use_menu = True
@@ -299,7 +304,7 @@ class WM_MT_toolsystem_submenu(Menu):
             icon_value = ToolSelectPanelHelper._icon_value_from_icon_handle(icon_name)
             props = layout.operator(
                 "wm.tool_set",
-                text=item[0],
+                text=item["text"],
                 icon_value=icon_value,
             )
             props.keymap = tool_def[0] or ""
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 34a757ad161..8cffc49b68e 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -53,18 +53,47 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
 
     # for reuse
     _tools_transform = (
-        ("Translate", "ops.transform.translate", "TRANSFORM_WGT_manipulator",
-         (("transform.translate", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),)),
-        ("Rotate", "ops.transform.rotate", "TRANSFORM_WGT_manipulator",
-         (("transform.rotate", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),)),
+        dict(
+            text="Translate",
+            icon="ops.transform.translate",
+            widget="TRANSFORM_WGT_manipulator",
+            keymap=(
+                ("transform.translate", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),
+            ),
+        ),
+        dict(
+            text="Rotate",
+            icon="ops.transform.rotate",
+            widget="TRANSFORM_WGT_manipulator",
+            keymap=(
+                ("transform.rotate", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),
+            ),
+        ),
         (
-            ("Scale", "ops.transform.resize", "TRANSFORM_WGT_manipulator",
-             (("transform.resize", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),)),
-            ("Scale Cage", "ops.transform.resize.cage", "VIEW3D_WGT_xform_cage", None),
+            dict(
+                text="Scale",
+                icon="ops.transform.resize",
+                widget="TRANSFORM_WGT_manipulator",
+                keymap=(
+                    ("transform.resize", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),
+                ),
+            ),
+            dict(
+                text="Scale Cage",
+                icon="ops.transform.resize.cage",
+                widget="VIEW3D_WGT_xform_cage",
+                keymap=None,
+            ),
         ),
         None,
-        ("Ruler/Protractor", "ops.view3d.ruler", "VIEW3D_WGT_ruler",
-         (("view3d.ruler_add", dict(), dict(type='EVT_TWEAK_A', value='ANY')),)),
+        dict(
+            text="Ruler/Protractor",
+            icon="ops.view3d.ruler",
+            widget="VIEW3D_WGT_ruler",
+            keymap=(
+                ("view3d.ruler_add", dict(), dict(type='EVT_TWEAK_A', value='ANY')),
+            ),
+        ),
 
         # DEBUGGING ONLY
         # ("Pixel Test", "tool_icon.pixeltest", None, (("wm.splash", dict(), dict(type='ACTIONMOUSE', value='PRESS')),)),
@@ -72,25 +101,56 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
 
     _tools = {
         None: [
-            ("Cursor", "ops.generic.cursor", None,
-             (("view3d.cursor3d", dict(), dict(type='ACTIONMOUSE', value='CLICK')),)),
+            dict(
+                text="Cursor",
+                icon="ops.generic.cursor",
+                widget=None,
+                keymap=(
+                    ("view3d.cursor3d", dict(), dict(type='ACTIONMOUSE', value='CLICK')),
+                ),
+            ),
 
             # 'Select' Group
             (
-                ("Select Border", "ops.generic.select_border", None, (
-                    ("view3d.select_border", dict(deselect=False), dict(type='EVT_TWEAK_A', value='ANY')),
-                    ("view3d.select_border", dict(deselect=True), dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
-                )),
-                ("Select Circle", "ops.generic.select_circle", None, (
-                    ("view3d.select_circle", dict(deselect=False), dict(type='ACTIONMOUSE', value='PRESS')),
-                    ("view3d.select_circle", dict(deselect=True), dict(type='ACTIONMOUSE', value='PRESS', ctrl=True)),
-                )),
-                ("Select Lasso", "ops.generic.select_lasso", None, (
-                    ("view3d.select_lasso",
-                     dict(deselect=False), dict(type='EVT_TWEAK_A', value='ANY')),
-                    ("view3d.select_lasso",
-                     dict(deselect=True), dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
-                )),
+                dict(
+                    text="Select Border",
+                    icon="ops.generic.select_border",
+                    widget=None,
+                    keymap=(
+                        ("view3d.select_border",
+                         dict(deselect=False),
+                         dict(type='EVT_TWEAK_A', value='ANY')),
+                        ("view3d.select_border",
+                         dict(deselect=True),
+                         dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
+                    ),
+                ),
+                dict(
+                    text="Select Circle",
+                    icon="ops.generic.select_circle",
+                    widget=None,
+                    keymap=(
+                        ("view3d.select_circle",
+                         dict(deselect=False),
+                         dict(type='ACTIONMOUSE', value='PRESS')),
+                        ("view3d.select_circle",
+                         dict(deselect=True),
+                         dict(type='ACTIONMOUSE', value='PRESS', ctrl=True)),
+                    ),
+                ),
+                dict(
+                    text="Select Lasso",
+                    icon="ops.generic.select_lasso",
+                    widget=None,
+                    keymap=(
+                        ("view3d.select_lasso",
+                         dict(deselect=False),
+                         dict(type='EVT_TWEAK_A', value='ANY')),
+                        ("view3d.select_lasso",
+                         dict(deselect=True),
+                         dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
+                    ),
+                ),
             ),
             # End group.
         ],
@@ -103,140 +163,260 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
         'PAINT_WEIGHT': [
             # TODO, override brush events
             (
-                ("Linear Gradient", None, None, (
-                    ("paint.weight_gradient", dict(type='LINEAR'),
-                     dict(type='EVT_TWEAK_A', value='ANY')),
-                )),
-                ("Radial Gradient", None, None, (
-                    ("paint.weight_gradient", dict(type='RADIAL'),
-                     dict(type='EVT_TWEAK_A', value='ANY')),
-                )),
+                dict(
+                    text="Linear Gradient",
+                    icon=None,
+                    widget=None,
+                    keymap=(
+                        ("paint.weight_gradient", dict(type='LINEAR'),
+                         dict(type='EVT_TWEAK_A', value='ANY')),
+                    ),
+                ),
+                dict(
+                    text="Radial Gradient",
+                    icon=None,
+                    widget=None,
+                    keymap=(
+                        ("paint.weight_gradient",
+                         dict(type='RADIAL'),
+                         dict(type='EVT_TWEAK_A', value='ANY')),
+                    ),
+                ),
             ),
         ],
         'EDIT_ARMATURE': [
             *_tools_transform,
-            ("Roll", None, None, (
-                ("transform.transform",
-                 dict(release_confirm=True, mode='BONE_ROLL'),
-                 dict(type='EVT_TWEAK_A', value='ANY')),
-            )),
+            dict(
+                text="Roll",
+                icon=None,
+                wi

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list