Skip to content

4 add logic to enabledisable controls#29

Merged
rodolakis merged 10 commits into
mainfrom
4-add-logic-to-enabledisable-controls
Dec 8, 2025
Merged

4 add logic to enabledisable controls#29
rodolakis merged 10 commits into
mainfrom
4-add-logic-to-enabledisable-controls

Conversation

@rodolakis

@rodolakis rodolakis commented Dec 5, 2025

Copy link
Copy Markdown
Contributor
  • close Add Update environment button #13
  • close Add logic to enable/disable controls based on queue and plan states #4
    • Environment Open button enabled only when environment is closed
    • Environment Close/Destroy/Update buttons enabled only when environment is open
    • Queue Start button disabled when queue is running
    • Queue Stop button enabled only when queue is running
    • Pause buttons enabled only when plan is running
    • Resume, Stop, Abort, Halt buttons enabled only when plan is paused
    • History Copy to Queue button enabled only when plans are selected
    • Queue Duplicate/Delete buttons enabled only when plans are selected
    • Queue Top/Up/Down/Bottom buttons enabled only when plans are selected
    • Show error dialog when connection is lost after successful connection
    • Show error dialogs for API errors in queue and RE control methods
  • close grid_scan not displaying arguments in tableviews #30

…ement buttons enabled only when plans are selected)
- Show error dialog when connection is lost after successful connection
- Skip dialog on startup if auto-connect fails (expected behavior)
- Use QTimer to show dialog asynchronously to avoid blocking event loop
- Track connection state to distinguish startup failures from runtime disconnections
- Connect runEngineUpdateButton to do_RE_update method
- Implement do_RE_update
- Add context-aware enable/disable for update button (enabled when connected and worker exists)
- Add critical error dialogs for API errors in queue and RE control methods
@rodolakis rodolakis linked an issue Dec 5, 2025 that may be closed by this pull request
Uses bind_plan_arguments() from bluesky-queueserver to convert
positional arguments back to keyword arguments based on plan
signatures. This enables proper parameter name extraction for
display in table models.
- history_model.py: Use get_bound_item_arguments() to properly extract
  parameters. Put args into kwargs as 'args' when binding fails.
- history_model_dynamic.py: Extract VAR_POSITIONAL from kwargs when binding succeeds to display in 'args' column. Put args into kwargs as 'args'
  when binding fails.
- history.py: Added re-render logic in onStatusChanged() to fix
  first-load issue when plans aren't loaded yet. Re-renders dynamic
  model once when plans become available.
- queue_model.py: Use get_bound_item_arguments() to properly extract
  parameters. Put args into kwargs as 'args' when binding fails.
- queue_model_dynamic.py: Extract VAR_POSITIONAL from kwargs when binding succeeds to display in 'args' column. Put args into kwargs as 'args'
  when binding fails.
- queue_editor.py: Added re-render logic in onStatusChanged() to fix
  first-load issue when plans aren't loaded yet. Re-renders dynamic
  model once when plans become available.
@rodolakis rodolakis requested a review from prjemian December 8, 2025 19:24
@rodolakis rodolakis self-assigned this Dec 8, 2025
@rodolakis rodolakis marked this pull request as ready for review December 8, 2025 19:24
@rodolakis

rodolakis commented Dec 8, 2025

Copy link
Copy Markdown
Contributor Author

#30 fixed for both queue table views as well as plan editor (load parameters properly when using edit button):

image image image

@prjemian

prjemian commented Dec 8, 2025

Copy link
Copy Markdown
Collaborator

I noticed in the plan editor, when updating an existing task, I clicked on the detectors value cell to edit it (was a list containing ['noisy', 'sim4c'] and all the existing text was cleared. Expected the xisting text to be available for editing.

All other button disable/enable, color changes, etc. look great.

@prjemian prjemian left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, with one comment for the plan editor.

@rodolakis

Copy link
Copy Markdown
Contributor Author

LGTM, with one comment for the plan editor.

I created a separate issue #31

@rodolakis rodolakis merged commit daa091e into main Dec 8, 2025
1 check passed
@rodolakis rodolakis deleted the 4-add-logic-to-enabledisable-controls branch December 8, 2025 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

grid_scan not displaying arguments in tableviews Add Update environment button Add logic to enable/disable controls based on queue and plan states

2 participants