From 8fc0d7a8081315347b62ab265058c0b54385fe83 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 30 Dec 2024 17:23:56 +0500 Subject: [PATCH] Polyline tool - use Blender icons for status bar text To make it similar to default Blender operators. Example - https://i.imgur.com/wUEQeQL.png --- src/bonsai/bonsai/bim/module/model/polyline.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/bim/module/model/polyline.py b/src/bonsai/bonsai/bim/module/model/polyline.py index b21fd7b99a..62c155ba98 100644 --- a/src/bonsai/bonsai/bim/module/model/polyline.py +++ b/src/bonsai/bonsai/bim/module/model/polyline.py @@ -173,7 +173,19 @@ class PolylineOperator: Plane: {self.tool_state.plane_method} Snap: {self.snapping_points[0][1]} """ - context.workspace.status_text_set(self.instructions + custom_instructions + self.snap_info) + instructions = self.instructions + custom_instructions + self.snap_info + + def draw_instructions(self: bpy.types.Header, context: bpy.types.Context) -> None: + for line in instructions.splitlines(): + line = line.strip() + split = line.split(":", 1) + if (key := split[0]) not in ("TAB", "D", "A", "M", "C", "E", "BACKSPACE"): + self.layout.label(text=line) + continue + + self.layout.label(text=split[1], icon=f"EVENT_{key}") + + context.workspace.status_text_set(draw_instructions) def handle_lock_axis(self, context: bpy.types.Context, event: bpy.types.Event) -> None: if event.value == "PRESS" and event.type == "A":