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")