From f07f9102f655e73539ae9e0898e94bdb89f6cd2a Mon Sep 17 00:00:00 2001
From: rob
Date: Sat, 17 Jan 2026 14:44:00 -0400
Subject: [PATCH] Move tooltips to title labels instead of group boxes
Tooltips now only appear when hovering over the title text:
- "Input Variables"
- "Assertions (Optional)"
- "Output"
Rather than triggering anywhere in the group box area.
Co-Authored-By: Claude Opus 4.5
---
src/cmdforge/gui/dialogs/test_step_dialog.py | 30 ++++++++++++++------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/src/cmdforge/gui/dialogs/test_step_dialog.py b/src/cmdforge/gui/dialogs/test_step_dialog.py
index 3738197..f1beae2 100644
--- a/src/cmdforge/gui/dialogs/test_step_dialog.py
+++ b/src/cmdforge/gui/dialogs/test_step_dialog.py
@@ -136,8 +136,12 @@ class TestStepDialog(QDialog):
top_layout.setContentsMargins(0, 0, 0, 0)
# Left: Variables input
- vars_group = QGroupBox("Input Variables")
- vars_group.setToolTip(
+ vars_group = QGroupBox()
+ vars_layout = QVBoxLayout(vars_group)
+
+ vars_title = QLabel("Input Variables")
+ vars_title.setStyleSheet("font-weight: bold; font-size: 13px;")
+ vars_title.setToolTip(
"Input Variables
"
"These are the variables referenced by this step using {variable} syntax.
"
"Enter test values to simulate what the step would receive during actual execution.
"
@@ -145,7 +149,7 @@ class TestStepDialog(QDialog):
"{argname} - Values from tool arguments
"
"{prev_output} - Output from previous steps
"
)
- vars_layout = QVBoxLayout(vars_group)
+ vars_layout.addWidget(vars_title)
vars_help = QLabel("Provide test values for variables used in this step:")
vars_help.setStyleSheet("color: #718096; font-size: 11px;")
@@ -161,8 +165,12 @@ class TestStepDialog(QDialog):
top_layout.addWidget(vars_group, 1)
# Right: Assertions
- assert_group = QGroupBox("Assertions (Optional)")
- assert_group.setToolTip(
+ assert_group = QGroupBox()
+ assert_layout = QVBoxLayout(assert_group)
+
+ assert_title = QLabel("Assertions (Optional)")
+ assert_title.setStyleSheet("font-weight: bold; font-size: 13px;")
+ assert_title.setToolTip(
"Assertions
"
"Define checks to automatically validate the step output.
"
"Available assertion types:
"
@@ -175,7 +183,7 @@ class TestStepDialog(QDialog):
"• Matches Regex - Output must match a pattern
"
"• Min/Max Length - Output length constraints
"
)
- assert_layout = QVBoxLayout(assert_group)
+ assert_layout.addWidget(assert_title)
assert_help = QLabel("Define checks to validate the step output:")
assert_help.setStyleSheet("color: #718096; font-size: 11px;")
@@ -250,8 +258,12 @@ class TestStepDialog(QDialog):
bottom_layout.addLayout(controls_layout)
# Output section
- output_group = QGroupBox("Output")
- output_group.setToolTip(
+ output_group = QGroupBox()
+ output_layout = QVBoxLayout(output_group)
+
+ output_title = QLabel("Output")
+ output_title.setStyleSheet("font-weight: bold; font-size: 13px;")
+ output_title.setToolTip(
"Output
"
"Shows the results after running the step:
"
"• Status - Success/failure and execution time
"
@@ -259,7 +271,7 @@ class TestStepDialog(QDialog):
"• Output variables - Variables that would be available to subsequent steps
"
"• Assertion results - Pass/fail status for each assertion
"
)
- output_layout = QVBoxLayout(output_group)
+ output_layout.addWidget(output_title)
# Status line
self.status_label = QLabel("Click 'Run Step' to test this step")