Skip to content

fix/dap-combobox#1109

Merged
wyzula-jan merged 2 commits intomainfrom
fix/dap-combobox
Mar 20, 2026
Merged

fix/dap-combobox#1109
wyzula-jan merged 2 commits intomainfrom
fix/dap-combobox

Conversation

@wyzula-jan
Copy link
Contributor

@wyzula-jan wyzula-jan commented Mar 20, 2026

Description

DAP combobox rewritten as inheritance from QComboBox and follow the same logic as device comboboxes with editable True and visual validation indication with red outline if invalid model is choosen.

Copilot AI review requested due to automatic review settings March 20, 2026 13:18
@wyzula-jan wyzula-jan self-assigned this Mar 20, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR expands the UI/widget set by (1) rewriting the DAP model combobox to behave like other editable comboboxes with validity highlighting, and (2) introducing a new BEC Atlas “Admin View” with an HTTP service and experiment-selection UI (plus tests), alongside a small toolbar utility tweak and shared fuzzy-search helper.

Changes:

  • Rewrite DapComboBox to inherit from QComboBox, be editable, and visually indicate invalid entries.
  • Add BEC Atlas Admin View (HTTP service + experiment selection/card widgets) with comprehensive unit tests.
  • Centralize fuzzy-search matching into bec_widgets.utils.fuzzy_search and reuse it across widgets; add PyJWT dependency.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/unit_tests/test_dap_combobox.py Extends coverage for editable DAP combobox behavior and validity highlighting.
tests/unit_tests/test_atlas_admin_view.py Adds unit tests for the new Atlas HTTP service and Admin View UI logic.
pyproject.toml Adds PyJWT runtime dependency for JWT decoding in the Atlas HTTP service.
bec_widgets/widgets/services/bec_atlas_admin_view/experiment_selection/utils.py Adds formatting/parsing helpers for experiment name and schedule display.
bec_widgets/widgets/services/bec_atlas_admin_view/experiment_selection/experiment_selection.py New experiment selection widget (card + table + filters + fuzzy/exact match).
bec_widgets/widgets/services/bec_atlas_admin_view/experiment_selection/experiment_mat_card.py New “mat-card” style experiment detail widget with activate/change action.
bec_widgets/widgets/services/bec_atlas_admin_view/experiment_selection/init.py Package init for experiment selection submodule.
bec_widgets/widgets/services/bec_atlas_admin_view/bec_atlas_http_service.py New Qt QNetworkAccessManager-based HTTP service for Atlas login/auth + API calls.
bec_widgets/widgets/services/bec_atlas_admin_view/bec_atlas_admin_view.py New Admin View widget integrating toolbar, login/overview, experiment selection.
bec_widgets/widgets/services/bec_atlas_admin_view/init.py Package init for Atlas admin view module.
bec_widgets/widgets/dap/dap_combo_box/dap_combo_box.py Rewrites DAP combobox implementation as an editable QComboBox with validation styling.
bec_widgets/widgets/control/device_manager/components/device_table/device_table.py Replaces duplicated fuzzy matching logic with shared utils.fuzzy_search.is_match.
bec_widgets/utils/toolbars/actions.py Extends create_action_with_text() with optional min_size.
bec_widgets/utils/fuzzy_search.py New shared fuzzy/exact matching helper (is_match).
bec_widgets/cli/client.py Adds RPC stub class for AdminView.
bec_widgets/applications/views/admin_view/admin_view.py Adds application view wrapper around BECAtlasAdminView.
bec_widgets/applications/views/admin_view/init.py Package init for Admin View.
bec_widgets/applications/main_app.py Registers Admin View in the main application sidebar/stack and hardens view switching.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Mar 20, 2026

Codecov Report

❌ Patch coverage is 94.44444% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...widgets/widgets/dap/dap_combo_box/dap_combo_box.py 94.44% 1 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Member

@wakonig wakonig left a comment

Choose a reason for hiding this comment

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

lgtm otherwise...

@wyzula-jan wyzula-jan requested a review from wakonig March 20, 2026 13:50
@wyzula-jan wyzula-jan enabled auto-merge (rebase) March 20, 2026 13:51
@wyzula-jan wyzula-jan merged commit 90222f3 into main Mar 20, 2026
37 of 38 checks passed
@wyzula-jan wyzula-jan deleted the fix/dap-combobox branch March 20, 2026 14:00
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.

3 participants