From 053095415a4a1aab543b706cdc16492b4e67c03e Mon Sep 17 00:00:00 2001 From: Artem30801 Date: Mon, 17 Aug 2020 15:58:53 +0300 Subject: [PATCH] Addon: Added args for custom commands --- blender-addon/clever-show-addon-src/__init__.py | 1 + .../clever-show-addon-src/operators/drone_props.py | 2 +- .../clever-show-addon-src/ui/drone_panel.py | 14 +++++++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/blender-addon/clever-show-addon-src/__init__.py b/blender-addon/clever-show-addon-src/__init__.py index 67ae5bf..3459fe9 100644 --- a/blender-addon/clever-show-addon-src/__init__.py +++ b/blender-addon/clever-show-addon-src/__init__.py @@ -121,6 +121,7 @@ class CustomDroneProperties(PropertyGroup): default=False, ) args: StringProperty( + name="Command arguments", default="{}", ) diff --git a/blender-addon/clever-show-addon-src/operators/drone_props.py b/blender-addon/clever-show-addon-src/operators/drone_props.py index 97bb127..9ff89b3 100644 --- a/blender-addon/clever-show-addon-src/operators/drone_props.py +++ b/blender-addon/clever-show-addon-src/operators/drone_props.py @@ -21,7 +21,7 @@ class DroneCustomPropsActions(Operator): drone = context.object.drone item = drone.custom_props.add() - item.name = f"empty_action {len(drone.custom_props)}" + item.name = f"action_{len(drone.custom_props)}" drone.active_index = len(drone.custom_props) - 1 self.report({'INFO'}, f"Item '{item.name}' added to {context.object.name}") diff --git a/blender-addon/clever-show-addon-src/ui/drone_panel.py b/blender-addon/clever-show-addon-src/ui/drone_panel.py index 53ec4fc..53bb402 100644 --- a/blender-addon/clever-show-addon-src/ui/drone_panel.py +++ b/blender-addon/clever-show-addon-src/ui/drone_panel.py @@ -6,7 +6,7 @@ class CustomDroneItems(UIList): split = layout.split(factor=0.66, align=True) split.prop(item, "name", text="", emboss=False) row = split.row(align=True) - row.label(text="Active: ") + row.label(text="Active ") checkbox = "CHECKBOX_HLT" if item.active else "CHECKBOX_DEHLT" row.prop(item, "active", text="", emboss=False, icon=checkbox) @@ -27,9 +27,9 @@ class DronePanel(Panel): layout.use_property_split = True layout.use_property_decorate = True - layout.enabled = context.object.drone.is_drone + layout.enabled = drone.is_drone - layout.prop(context.object.drone, "armed") + layout.prop(drone, "armed") items = len(drone.custom_props) rows = 3 @@ -52,3 +52,11 @@ class DronePanel(Panel): sub.operator("clever_show.list_action", icon='TRIA_DOWN', text="").action = 'DOWN' sub.enabled = items > 1 + + try: + item = drone.custom_props[drone.active_index] + except IndexError: + return + + layout.prop(item, "args") +