284 KiB
CHANGELOG
v2.9.1 (2025-05-30)
Bug Fixes
- Make registry update log message debug level
(
12f8c82
)
v2.9.0 (2025-05-30)
Bug Fixes
- DeviceSignalInput: Improve robustness
(
91195ae
)
use set for storing filter properties to allow multiple set to true or false
Code Style
- Typing in bec_dispatcher
(
a6c5c21
)
Documentation
- Add usage docs for signal label widget
(
2b9919b
)
Features
- (#569) add signal label widget
(
822e7d0
)
add a widget which shows the current value of a signal from BEC. configurable with many properties in designer. intended for use mainly in static GUIs.
v2.8.4 (2025-05-30)
Bug Fixes
- crosshair: Label decimal precision is dynamically scaled with the plot zoom; API of all
affected widgets adjusted; option added to PlotBase; closes #637
(
c8128fa
)
v2.8.3 (2025-05-30)
Bug Fixes
- Guard plugin repo import in e2e test
(
bf172b8
)
Refactoring
- Store modules with widget search
(
b225a7c
)
Testing
- e2e: Add tests involving plugin repo
(
05329ab
)
v2.8.2 (2025-05-27)
Bug Fixes
- image_roi: Rois are invertible by default, fixes resizing bug when adding from ROI manager
(
0bdd4e8
)
v2.8.1 (2025-05-27)
Bug Fixes
- launch_window: Font and tile size fixed across OSs, closes #607
(
ada0977
)
v2.8.0 (2025-05-26)
Bug Fixes
- ImageProcessing: Use target widget as parent
(
d8547c7
)
Features
- plot_base: Add option to specify units
(
3484507
)
Refactoring
-
server: Minor cleanup of imports (
8abebb7
) -
toolbar: Add warning if no parent is provided as it may lead to segfaults (
4f69f5d
)
v2.7.1 (2025-05-26)
Bug Fixes
-
signal-combobox: Bug fix in signal combobox that crashed upon switching from device to signal input (
1a4eb1d
) -
signal-line-edit: Fix signal_line_edit validity check; closes #610 (
ec740d3
)
Refactoring
- Add rpc interface to signal_line_edit/combobox; add user access methods
(
a8811c9
)
Testing
- input-widgets: Add e2e tests to test widget inputs with demo config of bec.
(
f57950c
)
v2.7.0 (2025-05-26)
Bug Fixes
-
image/image_selecetion: Toolbar selection tool size adjusted (
e12e9e5
) -
plot_base/mouse_interactions.py: Fixed parent (
66e9445
)
Features
- image: Roi plots with crosshair cuts added
(
ce88787
)
v2.6.0 (2025-05-26)
Bug Fixes
- image_roi: Position can be set from rpc
(
41b7ca8
)
Chores
- Migrate issue template to github form syntax
(
05489a1
)
Continuous Integration
- Add pr issue sync
(
53377d2
)
Features
-
image_roi_tree: Gui roi manager for image widget (
a939c3b
) -
waveform: Lmfitdialog cleanup after close (
a020f2d
)
Refactoring
- image_roi: Glowing handles for Rectangle roi
(
7a531c1
)
v2.5.4 (2025-05-22)
Bug Fixes
- dock_area: Menu to add LogPanel into DockArea is temporary disabled
(
d4def09
)
v2.5.3 (2025-05-22)
Bug Fixes
- server: Simplefilelikefromlogoutputfunc added encoding for stdout
(
bcab66b
)
Continuous Integration
- Reusable actions for installing bec widgets
(
a345253
)
v2.5.2 (2025-05-22)
Bug Fixes
- Update gitignore
(
f8276f0
)
Documentation
- Fix build process for sphinx
(
8227c44
)
v2.5.1 (2025-05-21)
Bug Fixes
- ui loader: Fix loader for widget plugins
(
a7ae856
)
Documentation
v2.5.0 (2025-05-20)
Continuous Integration
- Try uv for test env setup
(
6ee0f50
)
Features
- image_rois: Image rois with RPC can be added to Image widget
(
1d018e8
)
v2.4.3 (2025-05-19)
Bug Fixes
- Twine upload key
(
f064baa
)
v2.4.2 (2025-05-19)
Bug Fixes
- Push release using GH_token
(
1e344ea
)
v2.4.1 (2025-05-19)
Bug Fixes
- Skip actions on new tags
(
a00d510
)
v2.4.0 (2025-05-19)
Bug Fixes
- (#572) signal input base filter
(
7d7a886
)
use name attribute rather than value from Kind, to compare with kind_str
- (#612) fix additional MD form
(
d915d2f
)
makes sure the form is validated on any changes of the additional metadata table model so that they are propagated to the scan control widget even when nothing is entered in the standard form
-
device_input: Remove unnecessary lowercase conversion for device selection (
abbf7a7
) -
entry_validator: Device signals retrieved from ._info instead of .describe(), close #570 (
a42dcec
) -
layout_manager: Adding relative widget is shifting whole column to not destroy previous layout (
88a17a5
) -
side_panel: Side panel can be open without icon; toolbar can be hidden if not needed (
aed450e
) -
workflows: Update ophyd_devices clone URL to use GitHub (
dbb3a1c
)
Chores
Continuous Integration
and remove other coverage solution
-
Add coverage report (
16e1670
) -
Add deploy ssh key to release job (
a17e7a0
) -
Add generate-cli test (
e60d0cb
) -
Add github workflows (
8345dac
) -
Add known hosts (
94bcfff
) -
Add links to badges (
507ac10
)
Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
-
Add semantic-release job (
8eee92e
) -
Build with ssh key (
52d8e4b
) -
Coverage (
a301d37
) -
Don't duplicate push & PR (
7584af4
) -
Exclude test dir from coverage report (
8cf1f09
) -
Fix job permissions for release (
dea2b44
) -
Fix missing build dependencies (
dc70ea6
) -
Fix missing build dependencies (
133ddda
) -
Fix upload to codecov (
e3205d6
) -
No cov report with failed tests (
59d87e1
) -
Only run tests if formatter passes (
42502f6
) -
Tidy workflow names (
4838864
) -
Use custom semver action (
d7bd61f
) -
Use ssh key for push (
7f67d28
) -
workflows: Update git clone URL for BEC repository to use GitHub (
ca82115
)
Documentation
-
Add badge for code style, version and license (
aee83e1
) -
Badges extravaganza (
d712944
) -
Fix license reference (
d9b60c6
)
Features
Refactoring
- color_button_native: Color button with OS native dialog separated from the curve tree
(
bf3746d
)
Testing
- Coverage report settings
(
01870f9
)
v2.3.0 (2025-05-09)
Features
- bec_connector: Ability to change object name during runtime
(
dc151cd
)
v2.2.0 (2025-05-09)
Features
- launcher: Add support for launching plugin widget
(
1fb680a
)
Refactoring
- launch_window: Widget tile added
(
b9e56c9
)
v2.1.3 (2025-05-07)
Bug Fixes
- bec-dispatcher: Fix reference to boundmethods to avoid duplicated subscriptions
(
cf59d31
)
v2.1.2 (2025-05-06)
Bug Fixes
- waveform: Ignore callbacks for on_async_readback from QtSender objects that are already
destroyed; closes #497
(
64a4824
)
Build System
- Remove flush-redis from ci job
(
a6c479e
)
Refactoring
-
bec-progressbar: Add private method for bec_progressbar, udate client file (
37f0024
) -
bec-status-box: Add get_server_state user_access method to BECStatusBox (
1619446
)
v2.1.1 (2025-05-06)
Bug Fixes
- Import add operator in client
(
55f7efc
)
Refactoring
- Supply bec designer filename to function
(
be72c9f
)
v2.1.0 (2025-05-05)
Bug Fixes
- Ensure rpc object do not collide with protected names
(
94463af
)
Chores
- formatter: Upgrade to black v25
(
452124b
)
Continuous Integration
- Install dev dependencies for formatter
(
fff4af2
)
Features
- SafeSlot: Slot parameters can be overridden with kwarg; add option to raise
(
9387275
)
Refactoring
- colormap_widget: Widget is rounded
(
02563b1
)
Testing
- Dock: Add validation for new dock creation with invalid name
(
c16b9dc
)
v2.0.3 (2025-05-02)
Bug Fixes
-
generate_cli: Apply isort config (
770dbd4
) -
image_item: Wrong user access name for rotation (
58a0bc7
)
Continuous Integration
- Add job to test that the generated client is up to date
(
d22035f
)
v2.0.2 (2025-05-01)
Bug Fixes
- plot_base: No content margin for plot_widget window
(
1b78840
)
v2.0.1 (2025-04-30)
Bug Fixes
- dock_area: Restore state safeguard to not pass none to pyqtgraph restoreState
(
9079ddd
)
v2.0.0 (2025-04-29)
Bug Fixes
-
Add designer plugin for ScanMetadata (
43e1aa9
) -
Add support for 'add_slice', add downsampling for performance improvements. add tests (
7f7891d
) -
Broadcast context manager to emit registry changes just once (
a5f06c8
) -
Bugfix in cleanup of ScatterWaveform ScatterCurve; closes #520 (
1d09107
) -
Change default colormap to plasma (
074bbbc
) -
Create widget enum programatically (
7726d83
) -
Ensure provided dock and dock_area names are valid and defaults are snake_case (
0ac14a7
) -
Expose common classes from bec_widgets package (
28ae0d2
) -
Forward parent to children (
1fc6125
) -
Import from qtpy instead of PySide6 (
fef07ac
) -
Proper cleanup of progressbar (
8ff2063
) -
Rpc access enabled for certain widgets. (
ef4a52c
) -
Server shutdown widgets (
75b2446
) -
Support auto_range_x/y for viewAll during measurement (
af28e2e
) -
Unique name for widgets, fix new method for docks; closes #534 (
77f9d42
) -
Warning in logpanel (
1d7b423
) -
chain a signal to the child BecLogsQueue rather than passing the signal instance in
-
Wrap fetching plugin widgets in case of errors (
ef14831
) -
auto_updates: Fix condition to skip auto update (
18e4ba6
) -
bec_connector: Add assertion to ensure BECConnector is used with a QObject; closes #475 (
1921444
) -
bec_connector: Add setObjectName method to update object name and broadcast if registered; closes #472 (
064343a
) -
bec_connector: Call cleanup on widgets if the parent was deleted (
fc1cdc8
) -
bec_connector: Improve cleanup handling on deleted parent to prevent errors (
3709cdc
) -
bec_connector: Move RPC registration into single shot method to ensure the rpc name is in sync (
3b16c9f
) -
bec_queue: Set parent for toolbar buttons (
cdc613b
) -
becconnector: Widgets can be flagged as root widget, skipping the BECMainWindow in CLI usage (
061f348
) -
becconnector,widgets: Parent_id is always fetched from the real bec widget parent; all widgets adjusted; hardcoded parent_ids removed (
f35f4c4
) -
BECGuiClient: Add launch_script parameter to dock area creation (
06a4954
) -
cleanup: Prevent double cleanup by tracking object destruction state (
fde9120
) -
cli: Add type ignore comment to generated files (
d171255
) -
client: Import reduce (
8cca510
) -
client: Regenerated client (
c97db6a
) -
client: Rpc API adjusted for DockArea, ImageItem and Waveform (
6ca4aa0
) -
client_utils: Simplify RPC client instantiation in BECGuiClient (
96b31a4
) -
colormap_widget: Size policy fixed (
1cc2a98
) -
compact_popup: Forward close event (
e0f146b
) -
crosshair: Adapted for 2D image (
a85402d
) -
curve: Fix unique names for custom curves (
8e846d4
) -
dark-mode-button: Fix parent passed to QObjects in various classes (
a06f060
) -
designer: Avoid touching deleted widgets during init as QtDesigner will segfault (
4381fcc
) -
designer-plugin-generator: Enhance super constructor validation for new style classes (
6318b2d
) -
device_input_base: Removed enums from Pydantic models to make them serialisable (
43b747e
) -
dock_area: Close BECMainWindow if dock area is central widget (
e725de3
) -
docs: Update copyright year to be dynamic (
f2d5b57
) -
entry_validator: Validator reports list of signal if user chooses the wrong one (
da05877
) -
image: Imageitem remove adjusted to disconnect and remove current displayed image (
98f159b
) -
launch_window: Redesign (
7e65d4f
) -
launch_window: Return None when cancelling the ui file launcher (
b3dbe92
) -
launch_window: Update LaunchTile icon to use new UI loader tile image (
3cd6e05
) -
launcher: Hide launcher when launcher is closed even though it is not the last widget (
6e7920c
) -
lmfit_dialog_vertical: Vertical sizePolicy fixed (
584b945
) -
main_window: Connected to theme change (
11feeff
) -
main_window: Show app id only when connected to redis (
be72268
) -
moduar-toolbar: Fix cleanup of modular toolbar and dock_area (
c70cd9d
) -
motor_map: Limit map creating optimized (
9f2a083
) -
plot_base: Ability to set y label suffix (
890b501
) -
plot_base: Aspect ratio removed from the PlotBase (
19d8aeb
) -
plot_base: Axis setting filter for relevant properties (
0204d9c
) -
plot_base: Do not enable inner axes when label is changed (
98eda03
) -
plot_base: Enable popup property fixed (
30db183
) -
plot_base: Fix cleanup of popups if popups are still open when PlotBase is closed (
39cf4dd
) -
plot_base: Improved handling of matplotlib exporter errors (
4f9514f
) -
plot_base: Inner and outer axis setting in popup mode (
055b968
) -
plot_base: Update mouse mode state on mode change (
fc24c8b
) -
plot_framework: All widgets, popups and side menus cleanups adjusted (
337a332
) -
plot_indicators: Cleanup adjusted (
4865341
) -
plot_indicators: Plot indicators added to the PlotBase (
42e3b9c
) -
positioner-indicator: Fix property setters for position indicator (
1910993
) -
progress-ring-bar: Fix parent inheritance and cleanup of ring objects; closes #496 (
b460ea9
) -
ring-progress-bar: Fix bug in disconnect slot of rings, enable 'scan' mode as default for init with first ring (
7c303d0
) -
ring_progress_bar: Replaced hard-coded endpoints by MessageEndpoints (
e4e9feb
) -
round_frame: Orientation can be vertical (
c1bbb16
) -
round_frame: Roundframe removed from BECWidget inheritance (
b58a098
) -
rpc: Call close on container widget if needed (
a13de45
) -
rpc-base: Deprecate widget_name in favor of object_name; closes #499 (
86647b9
) -
rpc_base: Ensure message wait event is set after processing RPC response (
4dc59aa
) -
rpc_base: Timeout run_rpc 3s (
8558b46
) -
rpc_register: _lock and _skip_broad_cast moved to instance attributes (
8d17f7e
) -
rpc_register: Change add_rpc parameter type to BECConnector and add object_is_registered method (
82b8265
) -
rpc_register: Lock changed to RLock (
6c90ca3
) -
rpc_server: Broadcasted data check (
c36852b
) -
rpc_server: Enhance serialization logic for BECConnector objects and fix return types (
125afc8
) -
rpc_server: Update _serialize_bec_connector to include wait parameter for registration check (
d6fccd1
) -
RPCReference: Setattr added (
a2128ad
) -
scan_control: Restore scan parameters always regenerate the arg box, preventing infinite loop (
1f2db92
) -
scan_matadata: Parent passing (
4eaadd1
) -
scatter_waveform,waveform: Added QTimer to fetch the last data points after 500ms (
e6795dd
) -
serialization: Add serialization for qpointf (
3ddfeaa
) -
server: Becdockarea type added (
4a74891
) -
server: Remove window.hide() since widgets will be teared down on kill_server before siginit signals is sent (
58b0c7d
) -
server: Turn_off_the_lights cleanup fixed for parent_id widgets (
20a86ad
) -
setting_widget: Added parent kwarg into all settings widgets in plotting framework (
94c2e2d
) -
side_panel: Side panel menu can be initialized without a title (
112eed6
) -
toolbar: Update action check handling logic for SwitchableToolBarAction (
ac08bdf
) -
type hints: Add future import to prevent sphinx from crashing (
aff5a51
) -
waveform: Dap curve flickering (
b03d2ea
) -
waveform: Error where scan history is empty (
288ea4d
) -
waveform: Fix dap curve categorization logic (
b91f1fe
) -
waveform: Legend is correctly updated when changed from curve dialog (
c2d2c48
) -
waveform: Signals for x device can be defined from gui (
39164fe
) -
waveform, rpc_reference: getitem removed form waveform and rpc_reference (
3a82c95
) -
website-widget: Add super().cleanup() in website widget (
8fbd54c
) -
widgets: Becconnector resolves hierarchy including objectName, parent, parent_id upon init; all widgets adjusted (
a1bec75
)
Build System
-
Pyside6 capped to 6.9 (
9dabf2c
) -
bec_lib: Raised required version to 3.28.1 (
a5f1f47
) -
dependencies: Update min bec_lib version to 3.29 (
eb0323b
)
Continuous Integration
- e2e: E2e tests are saving logs
(
d4106c5
)
Documentation
-
Add docs on widget plugins (
52a9f29
) -
Add missing class doc strings for rpc-enabled widgets (
cfc8272
) -
Better document logpanel code (
d2c9075
) -
Grammar improvement (
1fe052e
) -
Remove BECFigure (
75cc45d
) -
Remove BECFigure from docs, fix wrong api for docs of plotting widgets (
a1c859c
) -
Replaces instances of QtDesigner with BEC Designer for improved clarity (
60852e2
) -
Review quick_start (
4acf5be
) -
Update docs for v2 (
25bd905
) -
Update docs for various widgets (
b6695b4
) -
Update quick_start (
afc818b
) -
auto_updates: Update documentation for auto updates functionality and add launcher image (
6630ba1
) -
lmfit: Fix links (
5e4965f
) -
plot_base: Update docstrings for properties and setters (
b085ef6
) -
position-indicator: Update docs for positioner indicator (
2f0d213
)
Features
-
Add loader/helper for widget plugins (
ca2bb4f
) -
Add rpc broadcast (
2ba9b4c
) -
Add support for auto updates (
2511056
) -
Delete bec_app (
8e64b65
) -
Deprecated and delete alignment_1d gui (
27ea92d
) -
Namespace update for gui, dock_area and docks. (
ac3c5a3
) -
auto_update: Add GUI highlight management for auto updates status (
5f272a6
) -
auto_updates: Enforce rpc widget class for subclasses of auto updates (
778230b
) -
image: New Image widget based on new PlotBase (
cb39ff3
) -
launch_window: Add custom UI file launching functionality and UI tile (
3089ca1
) -
launch_window: Add user access permissions (
8efa93d
) -
launch_window: Enhance auto update functionality with selector and dynamic loading (
2965323
) -
launcher: Add option for launching with auto updates (
20a1c5d
) -
main_window: Add launcher menu and functionality to show launcher (
55baa84
) -
motor_map: New MotorMap widget based on PlotBase (
fec26d7
) -
multi_waveform: Multi-waveform widget based on new PlotBase (
77f9616
) -
plugin_utils: Add functionality to retrieve auto update classes from plugins (
c434af9
) -
positioner_box: Add units QLabel to device UI components and update visibility logic (
f653fc5
) -
scatter_waveform: Scatter waveform widget based on new Plotbase (
95fcf01
) -
server,launcher: Rpc server separated with the launcher window introduced (
5f27a90
) -
slot: Add 'verify_sender' argument to SafeSlot for sender verification (
8eef425
) -
ui_launch_window: Add UILaunchWindow class (
45cd82e
) -
waveform: New Waveform widget based on NextGen PlotBase (
4bec181
) -
widget_io: Added handler for Sliders (
1a0097e
)
Refactoring
-
Add fallback to 'index' plotting in case of missmatch in length (
515d7ad
) -
Add pragma no cover to various TYPE_CHECKING (
f88dfc8
) -
Add support to plot against x_data (
0e276d4
) -
Add template for debugging the cli generator (
f89e74b
) -
Autoupdate disabled (
4e29291
) -
Cleanup MR (
0b00cd2
) -
Cleanup rpc reference tracking, fix appquit, fix namespace updates edge cases (
7ba93ce
) -
Cleanup, fix tests and _top_level dict/windows (
5872253
) -
Fix cleanup bug for BECConnector items, renamed _registry_state to _server_registry (
be83c7d
) -
Fix cleanup for various widgets, including RoundedFrame (
d05179a
) -
Improve plotting behaviour from history (
ed2d958
) -
Rearrange base of metadata forms for generic use (
d04770f
) -
Set downsampling to auto=True, method 'peak', activate clipToView for (Async)-Curves and fix ViewAll hook from pg.view_box menu (
25820a1
) -
Tidy client generation and add options (
b492591
) -
assets: New icon for ui loader (
e5b5322
) -
auto_update: Auto_update changed to be BECMainWindow; removed auto update logic from BECDockArea (
56c2827
) -
auto_updates: Move cleanup method from user section to internal section (
ac9224e
) -
bec_connector: Replace pyqtSlot with SafeSlot for consistency (
9d6d0b4
) -
bec_figure: Becfigure removed (
f76d931
) -
client_utils: Remove unused auto update attributes from BECGuiClient (
b7795b4
) -
image_widget: Old BECImageWidget removed (
de10609
) -
launch_window: Remove cleanup method (
9a940bb
) -
launcher,main_window: Launcher window moved to inherit from BECMainWindow (
99383b7
) -
motor_map_widget: Becmotormapwidget removed (
f878e87
) -
multi_waveform_widget: Becmultiwaveformwidget removed (
7c31bbd
) -
plots: Plot_next_gen module renamed to plots (
9fb9a1c
) -
plots: Waveform and image rpc api review (
a3de1f0
) -
rpc_reference: Refactor rpc reference tracking (
bd5e251
) -
rpc_server: Add type hint for _get_becwidget_ancestor method parameter; minor cleanup of imports (
cb91ebc
) -
rpc_server: Add type hints and docstrings for heartbeat and registry update methods (
08168f2
) -
rpc_server: Cli_server renamed to rpc_server (
6082e7a
) -
tests: Create dummy scan item moved to client_mocks.py (
0dd9617
) -
ui_loader: Remove unnecessary parent_id handling (
d60cf6c
) -
ui_loader: Remove unused import (
a6ce312
) -
utils: Qt_utils moved to utils (
be552d3
) -
waveform_widget: Removed and replaced by Waveform (
96cff49
)
Testing
-
Add function scoped rpc_widgets e2e test; closes #510 (
36dc174
) -
Add IPython client GUI object test module with tab completion (
e3d0d55
) -
Add tests for name creation of custom curves, and object name handling (
99d7623
) -
Disable test_bec_dock_rpc_e2e module, issue to fix this created #450 (
17f2dda
) -
Fix rpc widgets e2e test (
113938e
) -
Fix tests for launcher close / hide behavior (
23fee22
) -
Fix tests for namespace updates (
f3d3c94
) -
Qapp must shutdown cli server before checking for leaked QTimer (
d066051
) -
bec_connector: Becconnector requires a QObject (
23bdd95
) -
device_signal_input: Fix init of device input widget (
31c3b64
) -
e2e: E2e tests adjusted for new plotting framework (
378398a
) -
generate_cli: Fix reference output (
a8adb06
) -
launch_window: Add test for launching UI file that raises ValueError for QMainWindow (
33a8a76
) -
launch_window: Add unit tests for LaunchWindow initialization and custom UI file launching (
d5e422c
) -
launch_window: Tests for default and plugin auto updates (
e10f5ec
) -
plot_base: Test for plot base re-enabled (
b51d637
) -
plot_indicators: Tests adapted to not be dependent on BECWaveformWidget (
360fe4c
) -
setting_dialog: Test that settings reject calls cleanup (
8914f1d
) -
unit_tests: Unit tests adjusted to use a modern plotting framework instead of BECFigure (
6ade934
)
v1.25.1 (2025-03-24)
Bug Fixes
-
positioner_box: Fixed motor moving flags for spinner (
be274a1
) -
positioner_box: If possible tweak should use the current setpoint instead of the readback (
e5c9dd2
)
Continuous Integration
v1.25.0 (2025-03-07)
Features
- waveform: Add slice handling and reset functionality for async updates
(
7cbebbb
)
v1.24.5 (2025-03-06)
Bug Fixes
- Add support for additional keyword arguments in widget constructors
(
66c6c7f
)
v1.24.4 (2025-03-05)
Bug Fixes
- cli/server: Handle RedisError during heartbeat emission to properly close the app even if the
Redis connection is lost
(
2c506ee
)
v1.24.3 (2025-03-05)
Bug Fixes
- multi_waveform: Update on_async_readback to use structured metadata for async updates with
"add" instead of "extend"
(
fa91366
)
v1.24.2 (2025-02-27)
Bug Fixes
- e2e: Added wait time to flaky e2e
(
46b1a22
)
v1.24.1 (2025-02-26)
Bug Fixes
-
plot_base: Ability to choose between popup or side panel gui mode (
3aa2f22
) -
toolbar: Switch Actions for default checked actions fixed (
6d1106e
)
Refactoring
-
axis_settings: Spinbox migrated to new BECSpinBoxes (
90a1846
) -
plot_base: Toolbar buttons adapted for the Switch actions from toolbar; plot export and mouse modes consolidated into one switch button (
6f2c240
)
Testing
- Extended test coverage for axis settings, plot base and qt toolbar action
(
8679b5f
)
v1.24.0 (2025-02-26)
Bug Fixes
Code Style
- Isort
(
d32952a
)
Features
v1.23.1 (2025-02-24)
Bug Fixes
- Update redis mock for changes in bec
(
6a43554
)
v1.23.0 (2025-02-24)
Features
- bec_spin_box: Double spin box with setting inside for defining decimals
(
f19d948
)
v1.22.0 (2025-02-19)
Bug Fixes
-
modular_toolbar: Add action to an already existing bundle (
4c4f159
) -
toolbar: Qmenu Icons are visible (
c2c0221
) -
toolbar: Update_separators logic updated, there cannot be two separators next to each other (
facb8c3
) -
toolbar: Widget actions are more compact (
ef36a71
)
Features
- toolbar: Switchabletoolbarbutton
(
333570b
)
Refactoring
- toolbar: Added dark mode button for testing appearance for the toolbar example
(
6b08f7c
)
Testing
- toolbar: Blocking tests fixed
(
6ae33a2
)
v1.21.4 (2025-02-19)
Bug Fixes
-
colors: Pyqtgraph styling updated on the app level (
ae18279
) -
plot_base: Mouse interactions default state fetch to toolbar (
97c0ed5
)
Refactoring
- plot_base: Change the PlotWidget to GraphicalLayoutWidget
(
ff8e282
)
v1.21.3 (2025-02-19)
Bug Fixes
- bec_signal_proxy: Unblock signal timer cleanup added
(
0addef5
)
v1.21.2 (2025-02-18)
Bug Fixes
- client_utils: Autoupdate has correct propagation of BECDockArea to plugin repos
(
056731c
)
v1.21.1 (2025-02-17)
Bug Fixes
- bec_connector: Workers stored in reference to not be cleaned up with garbage collector
(
383936f
)
v1.21.0 (2025-02-17)
Features
- Generated form for scan metadata
(
1708bd4
)
v1.20.0 (2025-02-06)
Features
- widget: Add LogPanel widget
(
b3217b7
)
hopefully without segfaults - compared to first implementation: - explicitly set parent of all dialog components - try/except and log for redis new message callback - pass in ServiceStatusMixin and explicitly clean it up
v1.19.2 (2025-02-06)
Bug Fixes
v1.19.1 (2025-02-05)
Bug Fixes
- macos: Suppress IMKClient warning on macos
(
5e3289f
)
v1.19.0 (2025-01-31)
Bug Fixes
- Enable type checking for BECDispatcher in BECConnector
(
50a572d
)
Documentation
- Add docs for LogPanel
(
f219c6f
)
Features
- widget: Add LogPanel widget
(
f048880
)
v1.18.1 (2025-01-30)
Bug Fixes
- signal_combo_box: Added missing plugin modules for signal line_edit/combobox
(
db70442
)
Documentation
- Add screenshots for device and signal input
(
f0c4efe
)
v1.18.0 (2025-01-30)
Bug Fixes
- generate_cli: Widgets can be tagged with RPC=False, then they are excluded from client.py for
RPC
(
48fc63d
)
Build System
- Pyqt6 support dropped
(
a20935e
)
Continuous Integration
- Fix formatter 2024 versions
(
4f8e683
)
Features
- plot_base_next_gen: New type of plot base inherited from QWidget
(
e7c9729
)
v1.17.2 (2025-01-28)
Bug Fixes
- widget_state_manager: Skip QLabel saving; skip_setting property widget excluded from INI;
stored=False property excluded from INI
(
b2b0450
)
v1.17.1 (2025-01-26)
Bug Fixes
- bec_signal_proxy: Timeout for blocking implemented
(
6f2f2aa
)
v1.17.0 (2025-01-23)
Bug Fixes
- Focus policy and tab order for positioner_box_2d
(
6df5710
)
Documentation
- Add documentation for 2D positioner box
(
9a8cc31
)
Features
- widget: Add 2d positioner box widget
(
d2ffddb
)
Refactoring
- Move positioner_box and line into submodule
(
2419521
)
PositionerBox and PositionerControlLine are now exported from from bec_widgets.widgets.control.device_control.positioner_box, removing one level of hierarchy
- Move positioner_box logic to base class
(
3770db5
)
v1.16.5 (2025-01-22)
Bug Fixes
-
cli: Server log level info and error (
df961a9
) -
error_popups: Errors in SafeProperty and in SafeSlot are always logged, even with error message popup enabled (
219d43d
)
v1.16.4 (2025-01-21)
Bug Fixes
- Make combo box plugin files conform to autogen name
(
141e1a3
)
v1.16.3 (2025-01-20)
Bug Fixes
- error_popups: Logger message in SafeSlot for errors; identification in error log from which
property or signal errors comes from
(
02a4862
)
Testing
- error_popups: Safeslot tests adjusted; tests extended to cover SafeProperty
(
dfa2908
)
v1.16.2 (2025-01-20)
Bug Fixes
- widget_io: Toggleswitchhandler added
(
889ea86
)
v1.16.1 (2025-01-16)
Bug Fixes
- error_popups: Safeproperty logger import fixed
(
b40d2c5
)
v1.16.0 (2025-01-14)
Bug Fixes
-
e2e: Num of elements to wait for scan fixed to steps requested in the scan (
0fd5dd5
) -
toolbar: Adjusted to future plot base (
508abfa
)
Features
- modular_toolbar: Context menu and action bundles
(
001e6fc
)
v1.15.1 (2025-01-13)
Bug Fixes
- error_popups: Safeproperty wrapper extended to catch more errors and not crash Designer
(
3b04b98
)
v1.15.0 (2025-01-10)
Features
-
widget_state_manager: Example app added (
a00d368
) -
widget_state_manager: State manager for single widget (
01b4608
)
v1.14.1 (2025-01-10)
Bug Fixes
- Cast spinner widget angle to int when using for arc
(
fa9ecaf
)
v1.14.0 (2025-01-09)
Documentation
- Add docs for games/minesweeper
(
e2c7dc9
)
Features
v1.13.0 (2025-01-09)
Bug Fixes
-
Add .windows property to keep track of top level windows, ensure all windows are shown/hidden (
48c140f
) -
Bec-gui-server script: fix logic with name == 'main' (
6f2eb6b
)
When started with "bec-gui-server" entry point, name is "bec_widgets.cli.server". When started with "python -m bec_widgets.cli.server", name is "main". So, better to not rely on name at all.
-
Determine default figure since the beginning (
271a4a2
) -
Do not display error popup if command is executed via RPC (
52c5286
) -
Prevent infinite recursion in show/hide methods (
1b03ded
) -
Prevent top-level dock areas to be destroyed with [X] button (
09cb08a
) -
Remove useless class member (
42fd78d
) -
Set minimum size hint on BECDockArea (
2742a3c
) -
Simplify AutoUpdate code thanks to threadpool executor in BEC Connector (
1b03825
) -
Tests: rename fixtures and add 'connected_client_gui_obj' (
955cc64
) -
Use generator exec feature of BEC Connector to remove the AutoUpdate thread+queue (
c405421
) -
Use specified timeout in _run_rpc (
bdb2520
)
Build System
- Fixed pytest bec dependency
(
bd54142
)
Continuous Integration
- Install pytest plugin from specified repo, not pypi
(
95f6a7c
)
Features
-
Add "new()" command to create new dock area windows from client (
bde5618
) -
Add '.delete()' method to BECDockArea, make main window undeletable (
92b8020
) -
Add test for BECGuiClient features .new, .delete, .show, .hide, .close (
0ff0c06
) -
widget_io: General change signal for supported widgets (
54e64c9
)
Refactoring
-
Becguiclientmixin -> BECGuiClient (
809e654
) -
Mixin class was only used with BECDockArea, now it is a class by itself which represents the client object connected to the GUI server ; ".main" is the dock area of the main window - Enhanced "wait_for_server" - ".selected_device" is stored in Redis, to allow server-side to know about the auto update configuration instead of keeping it on client
-
Move RPC-related classes and modules to 'rpc' directory (
5c83702
)
This allows to break circular import, too
- rpc,client_utils: Minor cleanup and type hint improvements
(
1c8b06c
)
v1.12.0 (2024-12-12)
Features
- safe_property: Added decorator to handle errors in Property decorator from qt to not crash
designer
(
e380489
)
v1.11.0 (2024-12-11)
Features
- collapsible_panel_manager: Panel manager to handle collapsing and expanding widgets from the
main widget added
(
a434d3e
)
Testing
- collapsible_panel_manager: Fixture changed to not use .show()
(
ff654b5
)
v1.10.0 (2024-12-10)
Features
- layout_manager: Grid layout manager widget
(
17a63e3
)
v1.9.1 (2024-12-10)
Bug Fixes
- designer: General way to find python lib on linux
(
6563abf
)
v1.9.0 (2024-12-10)
Features
- side_menu: Side menu with stack widget added
(
c7d7c6d
)
Testing
- side_panel: Tests added
(
9b95b5d
)
v1.8.0 (2024-12-10)
Features
-
modular_toolbar: Material icons can be added/removed/hide/show/update dynamically (
a55134c
) -
modular_toolbar: Orientation setting (
5fdb232
) -
round_frame: Rounded frame for plot widgets and contrast adjustments (
6a36ca5
)
Testing
- modular_toolbar: Tests added
(
9370351
)
v1.7.0 (2024-12-02)
Bug Fixes
- tests: Add test for Console widget
(
da579b6
)
Features
-
console: Add "prompt" signal to inform when shell is at prompt (
3aeb0b6
) -
console: Add 'terminate' and 'send_ctrl_c' methods to Console (
02086ae
)
.terminate() ends the started process, sending SIGTERM signal. If process is not dead after optional timeout, SIGKILL is sent. .send_ctrl_c() sends SIGINT to the child process, and waits for prompt until optional timeout is reached. Timeouts raise 'TimeoutError' exception.
v1.6.0 (2024-11-27)
Bug Fixes
-
Add back accidentally removed variables (
e998352
) -
Differentiate click and drag for DeviceItem, adapt tests accordingly (
cffcdf2
)
This fixes the blocking "QDrag.exec_()" on Linux, indeed before the drag'n'drop operation was started with a simple click and it was waiting for drop forever. Now there are 2 different cases, click or drag'n'drop - the drag'n'drop test actually moves the mouse and releases the button.
- Do not quit automatically when last window is "closed"
(
96e255e
)
Qt confuses closed and hidden
-
No need to call inspect.signature - it can fail on methods coming from C (like Qt methods) (
6029246
) -
rpc: Gui hide/show also hide/show all floating docks (
c27d058
) -
server: Use dock area by default (
2fe7f5e
) -
tests: Make use of BECDockArea with client mixin to start server and use it in tests (
da18c2c
)
Depending on the test, auto-updates are enabled or not.
Features
-
'._auto_updates_enabled' attribute can be used to activate auto updates installation in BECDockArea (
31d8703
) -
Add '--hide' argument to BEC GUI server (
1f60fec
) -
Add main window container widget (
f80ec33
) -
Add rpc_id member to client objects (
3ba0b1d
) -
Asynchronous .start() for GUI (
2047e48
) -
Do not take focus when GUI is loaded (
1f71d8e
) -
client: Add show()/hide() methods to "gui" object (
e68e2b5
) -
server: Add main window, with proper gui_id derived from given id (
daf6ea0
)
v1.5.3 (2024-11-21)
Bug Fixes
- alignment_1d: Fix imports after widget module refactor
(
e71e3b2
)
Continuous Integration
- Fix ci syntax for package-dep-job
(
6e39bdb
)
v1.5.2 (2024-11-18)
Bug Fixes
- Support for bec v3
(
746359b
)
v1.5.1 (2024-11-14)
Bug Fixes
- plugin_utils: Plugin utils are able to detect classes for plugin creation based on class
attribute rather than if it is top level widget
(
7a1b874
)
Refactoring
- widgets: Widget module structure reorganised
(
aab0229
)
v1.5.0 (2024-11-12)
Bug Fixes
- crosshair: Crosshair adapted for multi waveform widget
(
0cd85ed
)
Documentation
- multi_waveform: Docs added
(
42d4f18
)
Features
- multi-waveform: New widget added
(
f3a39a6
)
v1.4.1 (2024-11-12)
Bug Fixes
- positioner_box: Adjusted default signals
(
8e5c0ad
)
v1.4.0 (2024-11-11)
Bug Fixes
-
crosshair: Label of coordinates of TextItem displays numbers in general format (
11e5937
) -
crosshair: Label of coordinates of TextItem is updated according to the current theme of qapp (
4f31ea6
) -
crosshair: Log is separately scaled for backend logic and for signal emit (
b2eb71a
)
Features
- crosshair: Textitem to display crosshair coordinates
(
035136d
)
Testing
- crosshair: Tests extended
(
64df805
)
v1.3.3 (2024-11-07)
Bug Fixes
- scan_control: Devicelineedit kwargs readings changed to get name of the positioner
(
5fabd4b
)
Documentation
- Update outdated text in docs
(
4f0693c
)
v1.3.2 (2024-11-05)
Bug Fixes
- plot_base: Legend text color is changed when changing dark-light theme
(
2304c9f
)
Build System
- Pyside6 version fixed 6.7.2
(
c6e48ec
)
v1.3.1 (2024-10-31)
Bug Fixes
- ophyd_kind_util: Kind enums are imported from the bec widget util class
(
940ee65
)
v1.3.0 (2024-10-30)
Bug Fixes
- colors: Extend color map validation for matplotlib and colorcet maps (if available)
(
14dd8c5
)
Features
- colormap_button: Colormap button with menu to select colormap filtered by the colormap type
(
b039933
)
v1.2.0 (2024-10-25)
Features
- colors: Evenly spaced color generation + new golden ratio calculation
(
40c9fea
)
Refactoring
- Add bec_lib version to statusbox
(
5d4b86e
)
v1.1.0 (2024-10-25)
Features
- Add filter i/o utility class
(
0350833
)
Refactoring
-
Allow to set selection in DeviceInput; automatic update of selection on device config update; cleanup (
5eb15b7
) -
Cleanup, added device_signal for signal inputs (
6fb2055
) -
Do not flush selection upon receiving config update; allow widgetIO to receive kwargs to be able to use get_value to receive string instead of int for QComboBox (
91959e8
)
Testing
- scan_control: Tests added for grid_scan to ensure scan_args signal validity
(
acb7902
)
v1.0.2 (2024-10-22)
Bug Fixes
- scan_control: Scan args signal fixed to emit list instead of hardcoded structure
(
4f5448c
)
v1.0.1 (2024-10-22)
Bug Fixes
- waveform: Added support for live_data and data access
(
7469c89
)
v1.0.0 (2024-10-18)
Bug Fixes
- crosshair: Downsample clear markers
(
f9a889f
)
Features
- Ability to disable scatter from waveform & compatible crosshair with down sampling
(
2ab12ed
)
v0.119.0 (2024-10-17)
Bug Fixes
-
Alignment 1D update, make app window a main window (in .ui file) (
0015f0e
) -
Fix syntax due to change of api for simulated devices (
19f4e40
) -
Remove wrongly scoped test (
a23841b
) -
Rename 'compact' property -> 'compact_view' (
6982711
) -
Set (Minimum, Fixed) size policy on Stop button (
523cc43
)
Features
- Add 'expand_popup' property to CompactPopupWidget
(
e4121a0
)
This property tells if expand should show a popup (by default), or if the widget should expand in-place
-
Emit 'device_selected' and 'scan_axis' from scan control widget (
0b9b1a3
) -
New 'device_selected' signals to ScanControl, ScanGroupBox, DeviceLineEdit (
9801d27
) -
New PositionerGroup widget (
af9655d
) -
Positionerbox with a popup view (
2615787
)
Refactoring
-
Move add/remove bundle to scan group box (
e3d0a7b
) -
Redesign of scan selection and scan control boxes (
a69d287
)
v0.118.0 (2024-10-13)
Documentation
- sphinx-build: Adjusted pyside verion
(
b236951
)
Features
- image: Image widget can take data from monitor_1d endpoint
(
9ef1d1c
)
v0.117.1 (2024-10-11)
Bug Fixes
- FPS: Qtimer cleanup leaking
(
3a22392
)
v0.117.0 (2024-10-11)
Features
- utils: Fps counter utility based on the viewBox updates, integrated to waveform and image
widget
(
8c5ef26
)
v0.116.0 (2024-10-11)
Build System
- Fix PySide6 to 6.7.2
(
908dbc1
)
Features
-
Adapt BECQueue and BECStatusBox widgets to use CompactPopupWidget (
94ce92f
) -
Add 'CompactPopupWidget' container widget (
49268e3
)
Makes it easy to write widgets which can have a compact representation with LED-like global state indicator, with the possibility to display a popup dialog with more complete UI
- Ui changes to have top toolbar with compact popup widgets (fix issue #360)
(
499b6b9
)
v0.115.0 (2024-10-08)
Bug Fixes
-
Adjust bec_qthemes dependency (
b207e45
) -
Make Alignment1D a MainWindow as it is an application (
c5e9ed6
)
Features
- Add bec-app script to launch applications
(
8bf4842
)
v0.114.0 (2024-10-02)
Bug Fixes
-
Prevent exception when empty string updates are coming from widget (
04cfb1e
) -
Use new 'scan_axis' signal, to set_x and select x axis on waveform (
efa2763
)
Fixes #361, do not try to change x axis when not permitted
Features
- New 'scan_axis' signal
(
f084e25
)
Signal is emitted before "scan_started", to inform about scan positioner and (start, stop) positions. In case of multiple bundles, the signal is emitted multiple times.
v0.113.0 (2024-10-02)
Bug Fixes
- Add is_log checks and functionality to plot_indicator_items
(
0f9953e
)
Features
-
Add first draft for alignment_1d GUI (
63c24f9
) -
Add move to position button to lmfit dialog (
281cb27
)
Refactoring
-
Add proxy to waveform to limit the dap_request frequency (
5c74037
) -
Allow hiding of arg/kwarg boxes (
efe90eb
) -
Linear_region_selector accepts log_x data (
7cc0726
) -
Update dap_model also if x and y axis are selected (
28ee385
) -
Use accent colors for bec_status_box icons; closes #338 (
e039304
) -
Various minor improvements for the alignment gui (
f554f3c
)
Testing
- Add tests for scan_status_callback
(
dc0c825
)
v0.112.1 (2024-09-19)
Bug Fixes
- Test e2e dap wait_for_fit
(
b2f7d3c
)
Documentation
v0.112.0 (2024-09-17)
Features
- Console: various improvements, auto-adapt rows to widget size, Qt Designer plugin
(
286ad71
)
v0.111.0 (2024-09-17)
Bug Fixes
-
generate_cli: Fixed type annotations (
d3c1a1b
) -
palette viewer: Fixed background for tool tip (
9045323
) -
position_indicator: Fixed user access (
dd932dd
) -
positioner_box: Visual improvements to the positioner_box and positioner_control_line (
7ea4a48
)
Documentation
- position_indicator: Updated position indicator documentation and added designer properties
(
60f7d54
)
Features
- position_indicator: Improved design and added more customization options
(
d15b222
)
v0.110.0 (2024-09-12)
Features
- palette_viewer: Added widget to display the current palette and accent colors
(
a8576c1
)
v0.109.1 (2024-09-09)
Bug Fixes
- Refactor textbox widget, remove inheritance, adhere to bec style; closes #324
(
b0d786b
)
v0.109.0 (2024-09-06)
Bug Fixes
- theme: Fixed theme access for themecontainer
(
de303f0
)
Features
- accent colors: Added helper function to get all accent colors
(
84a59f7
)
v0.108.0 (2024-09-06)
Documentation
- progressbar: Added docs
(
7d07cea
)
Features
-
generate_cli: Added support for property and qproperty setter (
a52182d
) -
progressbar: Added bec progressbar (
f6d1d0b
)
v0.107.0 (2024-09-06)
Documentation
- Extend waveform docs
(
e6976dc
)
Features
- Add roi select for dap, allow automatic clear curves on plot request
(
7bdca84
)
Refactoring
- Change style to bec_accent_colors
(
bd126dd
)
Testing
- Add tests, including extension to end-2-end test
(
b1aff6d
)
v0.106.0 (2024-09-05)
Features
- plot_base: Toggle to switch outer axes for plotting widgets
(
06d7741
)
Refactoring
- Use DAPComboBox in curve_dialog selection
(
998a745
)
Testing
- Fix tests
(
6b15abc
)
v0.105.0 (2024-09-04)
Features
- Add dap_combobox
(
cc691d4
)
Refactoring
v0.104.0 (2024-09-04)
Bug Fixes
-
scan_control: Safeslot applied to run_scan to avoid faulty scan requests (
9047916
) -
scan_control: Scan parameters can be loaded from the last executed scan from redis (
ec3bc8b
) -
toggle: State can be determined with the widget initialisation (
2cd9c7f
)
Documentation
- scan_control: Docs extended
(
730e25f
)
Features
- scan_control: Scan control remember the previously set parameters and shares kwarg settings
across scans
(
d28f9b0
)
Refactoring
-
scan_control: Basic pydantic config added (
fe8dc55
) -
scan_control: Scan control layout adjusted (
85dcbda
)
Testing
-
conftest: Only run cleanup checks if test passed (
26920f8
) -
scan_control: Tests extended for getting kwargs between scan switching and getting parameters from redis (
b07e677
)
v0.103.0 (2024-09-04)
Bug Fixes
- theme: Fixed segfault for webengineview for auto updates
(
9866075
)
Continuous Integration
- Prefill variables for manual pipeline start
(
158c19e
)
Features
-
vscode: Open vscode on a free port (
52da835
) -
website: Added method to wait until the webpage is loaded (
9be19d4
)
Testing
-
vscode: Popen call does not have to be the only one (
39f98ec
) -
webview: Fixed tests after refactoring (
d5eb30c
)
v0.102.0 (2024-09-04)
Bug Fixes
- queue_reset_button: Queue reset has to be confirmed with msgBox
(
9dd43aa
)
Documentation
-
buttons: Buttons section of docs split to appearance and queue buttons (
047aa26
) -
tests: Added tests tutorial for widget (
18d8561
)
Features
- queue: Becqueue controls extended with Resume, Stop, Abort, Reset buttons
(
0d7c10e
)
Refactoring
- tests: Positioner box test changed to use create_widget fixture
(
df5eff3
)
v0.101.0 (2024-09-02)
Features
- Add Dap dialog widget
(
9781b77
)
Refactoring
- Add docs, cleanup
(
61ecf49
)
v0.100.0 (2024-09-01)
Bug Fixes
- pyqt slot: Removed slot decorator to avoid problems with pyqt6
(
6c1f89a
)
Documentation
- becwidget: Improvements to the bec widget base class docs; fixed type hint import for sphinx
(
99d5e8e
)
Features
- theme: Added theme handler to bec widget base class; added tests
(
7fb938a
)
v0.99.15 (2024-08-31)
Bug Fixes
-
positioner_box: Fixed positioner box dialog; added test; closes #332 (
0bf1cf9
) -
theme: Update pg axes on theme update (
af23e74
)
v0.99.14 (2024-08-30)
Bug Fixes
-
color_button: Inheritance changed to QWidget (
3c0e501
) -
color_button: Signal and slot added for selecting color and for emitting color after change (
99a98de
)
v0.99.13 (2024-08-30)
Bug Fixes
- dark mode button: Fixed dark mode button state for external updates, including auto
(
a3110d9
)
Documentation
v0.99.12 (2024-08-29)
Bug Fixes
-
abort_button: Abort button added; some minor fixes (
a568633
) -
reset_button: Reset button added (
6ed1efc
) -
toolbar: Widget action added (
2efd487
)
v0.99.11 (2024-08-29)
Bug Fixes
- resume_button: Resume button added
(
8be8295
)
Refactoring
-
Add option to select scan and hide arg bundle buttons (
7dadab1
) -
icons: General app icon changed; jupyter app icon changed to material icon (
5d73fe4
)
v0.99.10 (2024-08-29)
Bug Fixes
- stop_button: Queue logic scan changed to halt instead of abort and reset
(
4a89028
)
Refactoring
-
Added hide option for device selection button (
cdd1752
) -
stop_button: Stop button changed to QWidget and adapted for toolbar (
097946f
)
v0.99.9 (2024-08-28)
Bug Fixes
- Fixed build process and excluded docs and tests from tarballs and wheels
(
719254c
)
v0.99.8 (2024-08-28)
Bug Fixes
- website: Fixed designer integration for website widget
(
5f37e86
)
Refactoring
- website: Changed inheritance of website widget to simple qwidget; closes #325
(
9925bbd
)
v0.99.7 (2024-08-28)
Bug Fixes
- toolbar: Material icons can accept color as kwarg
(
ffc871e
)
v0.99.6 (2024-08-28)
Bug Fixes
- toolbar: Use of native qt separators
(
09c6c93
)
Documentation
- Various bugs fixed
(
c31e9a3
)
v0.99.5 (2024-08-28)
Bug Fixes
- dock_area: Dark button added
(
e6f204b
)
Documentation
- index: Index page is centered
(
02239de
)
v0.99.4 (2024-08-28)
Bug Fixes
- theme: Apply theme to all pyqtgraph widgets on manual updates
(
c550186
)
Documentation
-
buttons: Added missing buttons docs (
4e5520a
) -
developer: Tutorial for BECWidget base class (
ac2cb51
)
Refactoring
-
buttons: Changed grid and thumbnail fig in gallery (
4591ba8
) -
icons: Moved widget icons to class attribute ICON_NAME (
e890091
) -
icons: Removed toolbar icons from assets (
f335763
)
v0.99.3 (2024-08-27)
Bug Fixes
-
cmaps: Unified all defaults to magma cmap (
1ca9499
) -
color maps: Color maps should take the background color into account; fixed min colors to 10 (
060935f
)
Build System
- Updated min version of bec qthemes
(
d482434
)
v0.99.2 (2024-08-27)
Bug Fixes
- widgets: Fixed default theme for widgets
(
cf28730
)
If not theme is set, the init of the BECWidget base class sets the default theme to "dark"
Continuous Integration
- Additional tests are not allowed to fail
(
bb385f0
)
v0.99.1 (2024-08-27)
Bug Fixes
- crosshair: Emit all crosshair events, not just line coordinates
(
2265458
)
v0.99.0 (2024-08-25)
Bug Fixes
- toggle: Emit state change
(
c4f3308
)
Documentation
- darkmodebutton: Added dark mode button docs
(
406c263
)
Features
- darkmodebutton: Added button to toggle between dark and light mode
(
cc8c166
)
Refactoring
- darkmodebutton: Renamed set_dark_mode_enabled to toggle_dark_mode
(
c70724a
)
Testing
- dark_mode_button: Added tests for dark mode button
(
df35aab
)
v0.98.0 (2024-08-25)
Bug Fixes
-
Fix color palette if qtheme was not called (
3f3b207
) -
Transitioning to material icons (
2a82032
) -
Use globally set theme instead of the internal bec widgets theme (
77c5aa7
) -
dock_area: Transitioned to MaterialIconAction (
88a2f66
) -
figure: Removed theme from figure init (
e42b84c
) -
toolbar: Removed hardcoded color values (
afdf4e8
) -
waveform: Fixed icon appearance (
36ad464
)
Features
- themes: Added set_theme method
(
2b4449a
)
Refactoring
- waveform: Use set theme for demo
(
44cfda1
)
v0.97.0 (2024-08-23)
Bug Fixes
- toolbar icon: Fixed material icon toolbar for theme changes
(
3ecbd60
)
Features
- designer: Added designer icon factory
(
82a55dd
)
v0.96.3 (2024-08-23)
Bug Fixes
- Minor fixes for type annotations
(
8c2e7c8
)
Documentation
- dispatcher: Docs added
(
dd7c71b
)
v0.96.2 (2024-08-22)
Bug Fixes
-
waveform: Skip validation for curves that are not BECCurve instances (
617db36
) -
waveform: Validation of custom curves removed (
af28574
)
v0.96.1 (2024-08-22)
Bug Fixes
-
Bubble-up signals (
2fe72c9
) -
crosshair: Fixed crosshair for image and waveforms (
37835cb
) -
crosshair: Update markers if necessary (
4473805
) -
waveform_widget: Fixed icon appearance (
f98a9f9
)
Continuous Integration
- Fail pytest after 2 failed tests
(
f0203d9
)
v0.96.0 (2024-08-22)
Documentation
- scan_control: Added designer options
(
9d7718c
)
Features
- scan_control: Added the ability to configure the scan control widget from designer
(
9d8fb0b
)
v0.95.1 (2024-08-22)
Bug Fixes
- docs: Changed link to scan gui config in main docs
(
640464a
)
Documentation
- Links section added
(
2bf5c70
)
Refactoring
v0.95.0 (2024-08-21)
Bug Fixes
- device_browser: Fixed plugin assignment for designer
(
6500393
)
Documentation
-
Added sphinx-inline-tabs as sphinx dependency (
e9ecd26
) -
cards: Changed index cards to custom css class instead of overwriting the default sd-card theme (
91ba30e
) -
device_browser: Added user docs (
2c31cc9
) -
user: Widget gallery with documentation added (
7357f3d
)
Features
Refactoring
- docs: Review response
(
4790afd
)
Testing
- Added test for device browser
(
e870e5b
)
v0.94.7 (2024-08-20)
Bug Fixes
- Formatting of stdout, stderr captured text for logger
(
939f834
)
v0.94.6 (2024-08-14)
Bug Fixes
- server: Emit heartbeat with state
(
bc2abe9
)
v0.94.5 (2024-08-14)
Bug Fixes
-
Removed qcoreapplication for polling events (
4d02b42
) -
rpc: Use client singleton instead of dispatcher (
ea9240d
)
Build System
- Increased min version of bec to 2.21.4
(
4f96d0e
)
Since we now rely on reusing the BECClient singleton, we need the fix introduced with 2.21.4 in BEC.
v0.94.4 (2024-08-14)
Bug Fixes
- Do not shutdown client in "close"
(
198c1d1
)
Terminating client connections has to be done at the application level
Documentation
- Review developer section; add introduction
(
2af5c94
)
v0.94.3 (2024-08-13)
Bug Fixes
-
curve_dialog: Async curves are shown in curve dialog after addition. (
7aeb2b5
) -
waveform: Async device entry is correctly passed, updated and with new scan the previous data are cleared (
d56ea95
)
Testing
- waveform_widget: Added tests for axis setting and curve dialog
(
f285b35
)
v0.94.2 (2024-08-13)
Bug Fixes
- image: Image is single image mode do not raise popup error when connected twice with the same
monitor
(
98b79aa
)
v0.94.1 (2024-08-12)
Bug Fixes
- Issue #292, wrong key was used to clean _slots internal dictionary
(
93d3977
)
v0.94.0 (2024-08-08)
Features
- Add PositionerControlLine
(
c80a7cd
)
Refactoring
- Adjust dimensions
(
0273bf4
)
v0.93.5 (2024-08-08)
Bug Fixes
- positioner_box: Icons fixed
(
281633d
)
Refactoring
- Add button for positioner selection
(
0d190c5
)
Testing
v0.93.4 (2024-08-07)
Bug Fixes
-
Add validation for bec_lib.device.Positioner; closes #268 (
eb54e9f
) -
Rename DeviceBox to PositionerBox, fix test for validation (
37aa371
)
v0.93.3 (2024-08-07)
Bug Fixes
-
dock: Properly shut down docks and dock areas (
bc26497
) -
dock: Properly shut down docks and temp areas (
99ee545
) -
figure: Cleanup pyqtgraph (
ad07bbf
) -
settings: Shut down settings dialog (
b50b3a2
) -
website: Fixed teardown of website widgets (
a3d4f5a
)
Testing
-
Ensure all toplevelwidgets are closed (
f9e5897
) -
Removed explicit call to close the widget (
bf6294e
) -
Removed quit from teardown (
cf94599
) -
Use factory instead of fixture to properly cleanup widgets on teardown (
9856857
)
v0.93.2 (2024-08-07)
Bug Fixes
- scan_group_box: Scan Spinboxes limits increased to max allowed values; setting dialog for step
size and decimal precision for ScanDoubleSpinBox on right click
(
a372925
)
v0.93.1 (2024-08-06)
Bug Fixes
- dock: Docks have more recognizable red icon for closing docks
(
af86860
)
Documentation
- Added video tutorial section with BSEG YT video
(
302ae90
)
v0.93.0 (2024-08-05)
Features
- themes: Moved themes to bec_qthemes
(
5aad401
)
This reverts commit fd6ae91993
v0.92.5 (2024-08-05)
Bug Fixes
Refactoring
- queue: Refactored bec queue to inherit only from qwidget
(
7616ca0
)
Testing
- Register all widgets with qtbot and close them
(
73cd11e
)
v0.92.4 (2024-07-31)
Bug Fixes
- Fix missmatch of signal/slot in image and motormap
(
dcc5fd7
)
v0.92.3 (2024-07-28)
Bug Fixes
- docs: Moved to pyside6
(
71873dd
)
v0.92.2 (2024-07-28)
Bug Fixes
- widgets: Fixed import for tictactoe example
(
995a795
)
v0.92.1 (2024-07-28)
Bug Fixes
-
Add xvfb to draw offscreen (
3d681f7
) -
Always add a QApplication for tests (
61a4e32
) -
Linting (
a3fe205
) -
Metaclass + QObject segfaults PyQt(cpp bindings) (
fc57b7a
) -
Reset ErrorPopup singleton between tests (
5a9ccfd
) -
Use SafeSlot instead of Slot (
bc1e239
)
Build System
- ci: Install ophyd_devices in editable mode for pipelines
(
06205e0
)
Refactoring
v0.92.0 (2024-07-24)
Bug Fixes
-
device_combobox: Set minimum size to 125px (
1206e15
) -
dock: Custom label can be created closable (
4457ef2
)
Features
v0.91.0 (2024-07-23)
Bug Fixes
-
plugins: Qt Designer plugins icons adjusted (
f4844d2
) -
status_item: Icons changed to material design (
1b9c55a
)
Features
-
dock_area: Added toolbar to dock area to add widgets without CLI interactions (
cce1367
) -
dock_area: Plugin added (
a16b87a
) -
toolbar: Expandable menu actions (
28f26e9
)
Testing
- dock_area: Tests extended
(
06fab0e
)
v0.90.0 (2024-07-23)
Bug Fixes
-
axis_setting: Fix compatibility for issue with horizontal line for PyQt6 (
1cf6e32
) -
image: Only single monitor image is allowed (
fe7e542
) -
image: Raw data are saved in image item to always have precise processing (
c15035b
) -
image_widget: Image widget adjusted (
3d2ca48
) -
image_widget: Image_widget autorange fixed (
7f49893
)
Features
-
image_widget: All toolbar actions added (
501eb92
) -
image_widget: Image_widget added (
6a9317f
) -
image_widget: Plugin added (
4371168
)
Refactoring
- jupyter_console_example: Added examples of standalone widgets
(
ba0d1ea
)
Testing
- image_widget: Tests added
(
70fb276
)
v0.89.0 (2024-07-22)
Features
- themes: Moved themes to bec_qthemes
(
3798714
)
v0.88.1 (2024-07-22)
Bug Fixes
- plot_base: Set_xy autorange moved to plotbase from waveform
(
a3dff7d
)
Documentation
- Readthedocs icon path fixed
(
2bcaa42
)
Refactoring
- toolbar: Generalizations of the ToolBarAction
(
ad112d1
)
v0.88.0 (2024-07-19)
Bug Fixes
-
colormap_selector: Compatibility for PyQt6 when using designer fixed (
50135b5
) -
waveform: Colormaps of curves can be changed and normalised (
33495cf
)
feat(waveform): colormap can be changed from curve dialog
fix(curve_dialog): default dialog parameters fixed
curve Dialog colormap WIP
-
waveform_widget: Adapted for BECWidget base class (
6eb313f
) -
waveform_widget: Adapted for changes from improved scan logic from waveform widget (
8ac35d7
) -
waveform_widget: Plot API unified with BECFigure (
2c8764a
) -
waveform_widget: Temporary disabled save/load config (
7089cf3
) -
waveform_widget: Use @SafeSlot decorator for automatic error message (
8e588d7
)
Features
-
curve_dialog: Add DAP functionality (
e830565
) -
curve_dialog: Curves can be added (
c926a75
) -
figure: Export dialog can be launched from CLI and from toolbar (
6ff6111
) -
waveform: Export to matplotlib window of current scene (
8d93405
) -
waveform_widget: Added error handle utility (
a8ff1d4
) -
waveform_widget: Autorange button (
8df6b00
) -
waveform_widget: Becwaveformwidget added with toolbar (
755b394
) -
waveform_widget: Becwaveformwidget toolbar added import/export config (
fa9b171
) -
waveform_widget: Dap parameter window (
1e551d6
) -
waveform_widget: Designer plugin added (
1f8ef52
) -
waveform_widget: Switch between drag and rectangle mode (
2be009c
)
Refactoring
-
icons: Icons moved to the assets directory (
a8b6ef2
) -
waveform_widget: Removed PYSIDE6 check (
47fcb9e
)
Testing
- waveform_widget: Test added
(
8d764e2
)
v0.87.1 (2024-07-18)
Bug Fixes
-
Add exit handlers for BECConnection objects (
6202d22
) -
Add missing close() call, ensure jupyter console client.shutdown() is called in closeEvent (
e52ee26
) -
Becwidget checks if it is a widget, and implements closeEvent and cleanup (
d64758f
) -
dock: Added hasattr to cleanup method for widgets (
d75c55b
)
Refactoring
- Becwidget is a mixin based on BECConnector, for each QWidget in BEC
(
c7feb69
)
Handles closeEvent() and RPC registering/unregistering
v0.87.0 (2024-07-17)
Features
-
qt_utils: Added error handle utility with popup messageBoxes (
196ef7a
) -
qt_utils: Added warning utility with simple API to setup warning message (
787f749
)
v0.86.0 (2024-07-17)
Features
- toolbar: Added separator action
(
ba69e79
)
v0.85.1 (2024-07-17)
Bug Fixes
- waveform: Readout_priority dict fixed, not overwritten to 'baseline' key
(
b5b0aa4
)
v0.85.0 (2024-07-16)
Features
- color_map_selector: Added colormap selector with plugin
(
b98fd00
)
v0.84.0 (2024-07-15)
Bug Fixes
-
bec_dispatcher: Connect_slot can accept kwargs (
0aa317a
) -
waveform: Dap leaked RID for all daps in current process; dap RID is now f"{scan_id}-{gui_id}" to distinguish for each plot instance (
d23fd8b
) -
waveform: Data for axis are taken by separate method; validation consolidated (
fc5a8bd
) -
waveform: Only one type of x axis allowed; x mode validated (
9d6ae87
) -
waveform: Set_x method various bugs fixed (
8516a1d
) -
waveform: Timestamp are not converted to human readable format (
e495fd3
) -
waveform: X axis switching logic fixed when axis are not compatible (
e4e1a90
)
Features
-
waveform: Async readback update implemented for async devices (
0c6a9f2
) -
waveform: Data are taken directly from ScanItem which is defined from scan_status endpoint; scan update is triggered from scan_segment; plots can be added just specifying y_name -> best effort for setting x reported device (
b8717f1
)
Refactoring
-
jupyter_console_window: Added more examples of waveforms (
fc935d9
) -
waveform: Plot can be prompted without specifying kwargs (
48911e9
)
Testing
- waveform: Tests extended
(
006992e
)
v0.83.1 (2024-07-14)
Bug Fixes
-
Replace pyqtdarktheme by qdarkstyle, add 'apply_theme' function (in utils/colors.py) (
8308115
) -
Spinner: update reference image for widget test, use apply_theme (
63db135
) -
Use apply_theme (
2d4249e
) -
toolbar: Default transparent background (
eab7883
)
Testing
- toolbar: Added reference pngs for spinner for Darwin
(
11a7204
)
v0.83.0 (2024-07-08)
Bug Fixes
-
bec_widget: Added cleanup method to bec widget base class (
fd8766e
) -
terminal: Added default args to avoid designer crashes on startup (
360d171
) -
website: Fixed dummy input (
903ce7d
) -
widget: Fixed widget cleanup routine (
2b29e34
)
Features
-
Added reference utils to compare renderings of widgets (
2988fd3
) -
designer: Added option to skip the widget validation for DesignerPluginGenerator (
41bcb80
) -
widgets: Added device box with spinner (
1b017ed
)
Testing
v0.82.2 (2024-07-08)
Bug Fixes
- rpc_server: Pass cli config to server
(
90178e2
)
v0.82.1 (2024-07-07)
Bug Fixes
- motor_map: Bug where motors without limits were selected
(
c78cd89
)
Refactoring
-
setting_dialog: Moved to qt_utils (
3826bb3
) -
toolbar: Toolbar moved from widgets to qt_utils (
7ffc06f
)
Testing
- setting_dialog: Tests added
(
74a249b
)
v0.82.0 (2024-07-07)
Features
- toggle: Added angular component-like toggle
(
b9bff38
)
Refactoring
-
color_button: Colorbutton moved to top level of widgets (
fa1e86f
) -
device_input: Devicecombobox and DeviceLineEdit moved to top layer of widgets (
f048629
) -
motor_map_widget: Removed restriction of only PySide6 for widget (
db1cdf4
) -
stop_button: Moved to top layer, plugin added (
f5b8375
)
v0.81.2 (2024-07-07)
Bug Fixes
- waveform: Scan_history error check for IndexError
(
dd1875e
)
v0.81.1 (2024-07-07)
Bug Fixes
- motor_control: Temporary remove of motor control widgets
(
99114f1
)
v0.81.0 (2024-07-06)
Features
- color_button: Can get colors in RGBA or HEX
(
9594be2
)
v0.80.1 (2024-07-06)
Bug Fixes
- entry_validator: Check for entry == ""
(
61de7e9
)
v0.80.0 (2024-07-06)
Features
-
plugins: Added bec widgets base class (
1aa83e0
) -
plugins: Added support for pyqt6 ui files (
d6d0777
) -
plugins: Moved plugin dict to dataclass and container (
03819a3
) -
qt5: Dropped support for qt5; pyside2 and pyqt5 (
fadbf77
)
v0.79.3 (2024-07-05)
Bug Fixes
-
Add designer plugin classes (
1586ce2
) -
Changed inheritance to adress qt designer bug in rendering (
e403870
)
Refactoring
- Simplify logic in bec_status_box
(
576353c
)
v0.79.2 (2024-07-04)
Bug Fixes
- Overwrite closeEvent and call super class
(
bc0ef78
)
v0.79.1 (2024-07-03)
Bug Fixes
- Use libdir env var to preload Python library, also for Linux platform
(
d7718d4
)
v0.79.0 (2024-07-03)
Bug Fixes
-
motor_map: Fixed bug with residual trace after changing motors (
aaa0d10
) -
toolbar: Change default color to black to match BECFigure theme (
b8774e0
) -
widget_io: Widget handler adjusted for spinboxes and comboboxes (
3dc0532
)
Features
-
motor_map: Method to reset history trace (
5960918
) -
motor_map_widget: Standalone MotorMap Widget with toolbar + plugin (
6e75642
)
Refactoring
- toolbar: Cleanup and adjusted colors
(
96863ad
)
v0.78.1 (2024-07-02)
Bug Fixes
- ui_loader: Ui loader is compatible with bec plugins
(
b787759
)
v0.78.0 (2024-07-02)
Features
- color_button: Patched ColorButton from pyqtgraph to be able to be opened in another QDialog
(
c36bb80
)
v0.77.0 (2024-07-02)
Bug Fixes
-
bec_figure: Full reconstruction with config from other bec figure (
b6e1e20
) -
bec_figure: Waveforms can be initialised from the config; widgets are deleteLater after removal (
78673ea
) -
figure: Api cleanup (
008a33a
) -
figure: If/else logic corrected in subplot_factory (
3e78723
) -
figure: Subplot methods consolidated; added subplot factory (
4a97105
) -
image: Image add_custom_image fixed, closes #225 (
f0556e4
) -
image: Image can be fully reconstructed from config (
797f73c
) -
image: Processing of already displayed data; closes #106 (
1173510
) -
image_item: Vrange added int for pydantic model check (
b8f796f
) -
motor_map: Api changes updates current visualisation; motor_map can be initialised from config (
2e2d422
) -
waveform: Scatter 2D brush error (
215d59c
)
Features
-
bec_connector: Export config to yaml (
a391f30
) -
utils: Colors added convertor for rgba to hex (
572f2fb
)
v0.76.1 (2024-06-29)
Bug Fixes
- plugins: Fixes and tests for auto-gen plugins
(
c42511d
)
v0.76.0 (2024-06-28)
Bug Fixes
- Fixed qwidget inheritance for ring progress bar
(
0610d2f
)
Features
- designer: Added support for creating designer plugins automatically
(
c1dd0ee
)
v0.75.0 (2024-06-26)
Features
- widgets: Added simple bec queue widget
(
3faee98
)
Refactoring
- dispatcher: Cleanup
(
ca02132
)
v0.74.1 (2024-06-26)
Bug Fixes
-
motor_map: Motor map can be removed from BECFigure with .remove() (
6b25abf
) -
rings: Rings properties updated right after setting (
c8b7367
)
Build System
-
Added missing pytest-bec-e2e dependency; closes #219 (
56fdae4
) -
Fixed dependency ranges; closes #135 (
e6a06c9
)
Chores
- Sorted dependencies alphabetically
(
21c807f
)
Documentation
- Fixed doc string
(
f979a63
)
Testing
- bec_figure: Tests for removing widgets with rpc e2e
(
a268caa
)
v0.74.0 (2024-06-25)
Documentation
- becfigure: Docs added
(
a51b15d
)
Features
- waveform1d: Dap LMFit model can be added to plot
(
1866ba6
)
Testing
- waveform1d: Dap e2e test added
(
7271b42
)
v0.73.2 (2024-06-25)
Bug Fixes
-
rpc: Remove of calling "close" and waiting for gui_is_alive (
f75fc19
) -
rpc: Trigger shutdown of server when gui is terminated (
acc1318
) -
vscode: Only run terminate if the process is still alive (
7120f3e
)
v0.73.1 (2024-06-25)
Bug Fixes
- ringprogressbar: Removed hard-coded endpoint strings
(
1de3cbf
)
v0.73.0 (2024-06-25)
Features
- Add new default scaling of image_item
(
df812ea
)
Testing
- Add test for imageitem
(
88ecd05
)
v0.72.2 (2024-06-25)
Bug Fixes
- designer: Fixed designer for pyenv and venv; closes #237
(
e631fc1
)
v0.72.1 (2024-06-24)
Bug Fixes
- Renamed spiral progress bar to ring progress bar; closes #235
(
e5c0087
)
Testing
- Bugfix to prohibit leackage of mock
(
4348ed1
)
v0.72.0 (2024-06-24)
Features
- connector: Added threadpool wrapper
(
4ca1efe
)
v0.71.1 (2024-06-23)
Bug Fixes
- Don't print exception if the auto-update module cannot be found in plugins
(
860517a
)
v0.71.0 (2024-06-23)
Bug Fixes
-
cleanup: Cleanup added to device_input widgets and scan_control (
8badb6a
) -
scan_control: Adapted widget to scan BEC gui config (
8b822e0
) -
scan_control: Added default min limit for args bundle if specified (
ec4574e
) -
scan_control: Argbox delete later added to prevent overlapping gui if scan changed (
7ce3a83
) -
scan_control: Only scans with defined gui_config are allowed (
6dff187
) -
scan_control: Scan_control.py combatible with the newest BEC versions, test disabled (
67d398c
) -
scan_group_box: Added row counter based on widgets (
37682e7
) -
WidgetIO: Find handlers within base classes (
ca85638
)
Features
- scan_group_box: Scan box for args and kwargs separated from ScanControlGUI code
(
d8cf441
)
Refactoring
- device_line_edit: Renamed default_device to default
(
4e2c9df
)
Testing
- scan_control: Tests added
(
56e74a0
)
v0.70.0 (2024-06-21)
Bug Fixes
- bec-desiger+plugins: Imports fixed, PYSIDE6 check to not enable run plugins with pyqt6
(
50b3422
)
Documentation
- Fix typo in link
(
fdf11d8
)
Features
-
Added entry point for bec-designer (
36391db
) -
bec-designer: Automatic plugin discovery (
4639eee
) -
device_combobox: Plugin added to bec-designer (
e483b28
) -
device_line_edit: Plugin added to bec-designer (
b4b27ae
) -
utils/bec-designer: Added startup script to launched QtDesigner compatible with conda environments (
5362334
)
v0.69.0 (2024-06-21)
Bug Fixes
- generate_cli: Fixed rpc generate for classes without user access; closes #226
(
925c893
)
Features
- widgets: Added vscode widget
(
48ae950
)
v0.68.0 (2024-06-21)
Bug Fixes
-
Do not create 'BECClient' logger when instantiating BECDispatcher (
f7d0b07
) -
Ignore GUI server output (any output will go to log file) (
ce37416
)
If a logger is given to log _start_log_process
, the server stdout and stderr streams will be
redirected as log entries with levels DEBUG or ERROR in their parent process
Features
-
Add logger for BEC GUI server (
630616e
) -
Bec-gui-server: redirect stdout and stderr (if any) as proper debug and error log entries (
d1266a1
) -
Properly handle SIGINT (ctrl-c) in BEC GUI server -> calls qapplication.quit() (
3644f34
)
v0.67.0 (2024-06-21)
Documentation
- Add widget to documentation
(
6fa1c06
)
Features
- Introduce BECStatusBox Widget
(
443b6c1
)
Refactoring
- Change inheritance to QTreeWidget from QWidget
(
d2f2b20
)
Testing
- Add test suite for bec_status_box and status_item
(
5d4ca81
)
v0.66.1 (2024-06-20)
Bug Fixes
- Fixed shutdown for pyside
(
2718bc6
)
v0.66.0 (2024-06-20)
Features
- rpc: Discover widgets automatically
(
ef25f56
)
v0.65.2 (2024-06-20)
Bug Fixes
- pyqt: Webengine must be imported before qcoreapplication
(
cbbd23a
)
v0.65.1 (2024-06-20)
Bug Fixes
- Prevent segfault by closing the QCoreApplication, if any
(
fa344a5
)
v0.65.0 (2024-06-20)
Bug Fixes
- device_input_base: Bug with setting config and overwriting default device and filter
(
d79f7e9
)
Features
-
device_combobox: Deviceinputbase and DeviceComboBox added (
430b282
) -
device_input: Devicelineedit with QCompleter added (
50e41ff
)
Testing
- device_input: Tests added
(
1a0a98a
)
v0.64.2 (2024-06-19)
Bug Fixes
- client_utils: Added close rpc command to shutdown of gui from bec_ipython_client
(
e5a7d47
)
v0.64.1 (2024-06-19)
Bug Fixes
- widgets: Removed widget module import of sub widgets
(
216511b
)
Refactoring
- utils: Moved get_rpc_widgets to plugin_utils
(
6dabbf8
)
Testing
- Moved rpc_classes test
(
b3575eb
)
v0.64.0 (2024-06-19)
Bug Fixes
- plot_base: Font size is set with setScale which is scaling the whole legend window
(
5d66720
)
Continuous Integration
- Add job optional dependency check
(
27426ce
)
Documentation
Features
- Add option to change size of the fonts
(
ea805d1
)
Testing
- Add tests
(
140ad83
)
v0.63.2 (2024-06-14)
Bug Fixes
- Do not import "server" in client, prevents from having trouble with QApplication creation order
(
6f96498
)
Like with QtWebEngine
v0.63.1 (2024-06-13)
Bug Fixes
- Just terminate the remote process in close() instead of communicating
(
9263f8e
)
The proper finalization sequence will be executed by the remote process on SIGTERM
v0.63.0 (2024-06-13)
Documentation
- Add documentation
(
bc709c4
)
Features
- Add textbox widget
(
d9d4e3c
)
Refactoring
- Add pydantic config, add change_theme
(
6b8432f
)
Testing
- Add test for text box
(
b49462a
)
v0.62.0 (2024-06-12)
Features
- Implement non-polling, interruptible waiting of gui instruction response with timeout
(
abc6caa
)
v0.61.0 (2024-06-12)
Features
- widgets/stop_button: General stop button added
(
61ba08d
)
Refactoring
- Improve labe of auto_update script
(
40b5688
)
v0.60.0 (2024-06-08)
Bug Fixes
-
Added bec_ipython_client as dependency; needed for jupyter widget (
006a089
) -
Removed BECConnector from rpc client interface (
6428e38
) -
bec_connector: Field validator should be a classmethod (
867720a
) -
BECFigure: Removed duplicated user access for plot (
954c576
)
Continuous Integration
Features
-
Added entry point for bw-generate-cli (
1c7f491
) -
Added isort to bw-generate-cli (
f0391f5
) -
cli: Auto-discover rpc-enabled widgets (
df1be10
)
Refactoring
-
Disabled pylint for auto-gen client (
b15816c
) -
Minor cleanup (
3adf6cf
) -
dock: Parent_dock_area changed to orig_area (native for pyqtgraph) (
2b40602
) -
isort: Added bec_widgets as known first party package (
9c5a471
)
Testing
- Added missing pylint statement to header
(
f662985
)
v0.59.1 (2024-06-07)
Bug Fixes
- curve: Set_color_map_z typo fixed in user access
(
e7838b0
)
v0.59.0 (2024-06-07)
Build System
- Added webengine dependency
(
d56c549
)
Continuous Integration
Documentation
- Added website docs
(
cf6e5a4
)
Features
- widget: Added simple website widget with rpc
(
64abd67
)
v0.58.1 (2024-06-07)
Bug Fixes
- dock: New dock can be detached upon creation
(
02a2608
)
v0.58.0 (2024-06-07)
Bug Fixes
-
Bar colormap dynamic setting (
67fd5e8
) -
Formatting isort (
bf699ec
) -
curve: 2d scatter updated if color_map_z is changed (
6985ff0
) -
curve: Color_map_z setting works (
33f7be4
)
Features
- utils.colors: General color validators
(
3094632
)
Testing
- color: Validation tests added
(
c0ddece
)
v0.57.7 (2024-06-07)
Bug Fixes
- Add model_config to pydantic models to allow runtime checks after creation
(
ca5e8d2
)
Documentation
- Added schema of BECDockArea and BECFigure
(
828067f
)
v0.57.6 (2024-06-06)
Bug Fixes
- bar: Docstrings extended
(
edb1775
)
v0.57.5 (2024-06-06)
Bug Fixes
-
plot_base: .plot removed from plot_base.py, because there is no use case for it (
82e2c89
) -
waveform: Added .plot method with the same signature as BECFigure.plot (
8479caf
)
Documentation
- figure: Docs adjusted to be compatible with new signature
(
c037b87
)
Refactoring
- figure: Logic for .add_image and .image consolidated; logic for .add_plot and .plot
consolidated
(
52bc322
)
v0.57.4 (2024-06-06)
Bug Fixes
-
docks: Docks widget_list adn dockarea panels return values fixed (
ffae5ee
) -
docks: Set_title do update dock internal _name now (
15cbc21
)
v0.57.3 (2024-06-06)
Bug Fixes
-
ring: Automatic updates are disabled uf user specify updates manually with .set_update; 'scan_progres' do not reset number of rings (
e883dba
) -
ring: Enable_auto_updates(true) do not reset properties of already setup bars (
a2abad3
) -
ring: Set_min_max accepts floats (
d44b1cf
) -
ring: Set_update changed to Literals, no need to specify endpoint manually (
c5b6499
)
Documentation
-
Added auto update; closes #206 (
32da803
) -
Cleanup (
07d60cf
) -
Fixed syntax of add_widget (
a951ebf
) -
bar: Docs updated (
4be0d14
)
v0.57.2 (2024-06-06)
Bug Fixes
-
Accept scalars or numpy arrays of 1 element (
2a88e17
) -
Rpc_server_dock fixture now spawns the server process (
cd9fc46
) -
test/e2e: Autoupdate e2e rewritten (
e1af5ca
) -
test/e2e: Dockarea and dock e2e tests changed to check asserts against config_dict (
5c6ba65
) -
test/e2e: Spiral_progress_bar e2e tests rewritten to use config_dict (
7fb31fc
)
Refactoring
- Move _get_output and _start_plot_process at the module level
(
69f4371
)
v0.57.1 (2024-06-06)
Bug Fixes
-
Tests references to add_widget_bec refactored (
f51b25f
) -
dock: Add_widget and add_widget_bec consolidated (
8ae323f
)
Documentation
- Docs refactored from add_widget_bec to add_widget
(
c3f4845
)
v0.57.0 (2024-06-05)
Documentation
- Extend user documentation for BEC Widgets
(
4160f3d
)
Features
- widgets/console: Becjupyterconsole added
(
8c03034
)
v0.56.3 (2024-06-05)
Bug Fixes
- Fixed support for auto updates
(
131f49d
)
Continuous Integration
- Increased verbosity for e2e tests
(
4af1abe
)
v0.56.2 (2024-06-05)
Bug Fixes
-
bar: Ring saves current value in config (
9648e3e
) -
dock: Dock saves configs of all children widgets (
4be756a
) -
dock_area: Save/restore state is saved in config (
46face0
) -
figure: Added correct types of configs to subplot widgets (
6f3b1ea
)
Documentation
- Restructured docs layout
(
3c9181d
)
v0.56.1 (2024-06-04)
Bug Fixes
-
spiral_progress_bar: Endpoint is always stored as a string in the RingConnection Config (
d253991
) -
spiral_progress_bar/rings: Config min/max values added check for floats (
9d615c9
)
v0.56.0 (2024-05-29)
Bug Fixes
-
Compatibility adjustment to .ui loading and tests for PySide6 (
07b99d9
) -
examples: Outdated examples removed (mca_plot.py, stream_plot.py, motor_example.py) (
ddc9510
)
Build System
- Added pyside6 as dependency
(
db301b1
)
Continuous Integration
- Added tests for pyside6, pyqt6 and pyqt5, default test and e2e is python 3.11 and pyqt6
(
855be35
)
Documentation
- examples: Example apps section deleted
(
ad208a5
)
Features
- utils/ui_loader: Universal ui loader for pyside/pyqt
(
0fea8d6
)
v0.55.0 (2024-05-24)
Features
- widgets/progressbar: Spiralprogressbar added with rpc interface
(
76bd0d3
)
v0.54.0 (2024-05-24)
Build System
- Added pyqt6 as sphinx build dependency
(
a47a8ec
)
Features
- figure: Changes to support direct plot functionality
(
fc4d0f3
)
Refactoring
-
clean-up: 1st generation widgets are removed (
edc25fb
) -
reconstruction: Repository structure is changed to separate assets needed for each widget (
3455c60
)
v0.53.3 (2024-05-16)
Bug Fixes
- Removed apparently unnecessary sleep while waiting for an rpc response
(
7d64cac
)
v0.53.2 (2024-05-15)
Bug Fixes
-
Adapt to bec_lib changes (no more submodules in
__init__.py
) (5d09a13
) -
Check device class without importing to speed up initial import time (
9f8fbdd
) -
Speed up initial import times using lazy import (from bec_lib) (
d1e6cd3
)
Continuous Integration
- Added echo to highlight the current branch
(
0490e80
)
v0.53.1 (2024-05-09)
Bug Fixes
- Docs config
(
0f6a5e5
)
Continuous Integration
- Fixed rtd pages url
(
8ff3610
)
v0.53.0 (2024-05-09)
Bug Fixes
- Fixed semver job and upgraded to v9
(
32e1a9d
)
Continuous Integration
- Use formatter config of toml file
(
5cc816d
)
Documentation
- Update install instructions
(
57ee735
)
Features
- Moved to pyproject.toml; closes #162
(
c86ce30
)
Refactoring
- Applied formatter
(
4117fd7
)
v0.52.1 (2024-05-08)
Bug Fixes
- docstrings: Docstrings formating fixed for sphinx to properly format readdocs
(
7f2f7cd
)
v0.52.0 (2024-05-07)
Bug Fixes
- widgets/dock: Becdockarea close overwrites the default pyqtgraph Container close + minor
improvements
(
ceae979
)
Continuous Integration
- Fixed support for child pipelines
(
e65c7f3
)
Features
-
utils/layout_manager: Added GridLayoutManager to extend functionalities of native QGridLayout (
fcd6ef0
) -
widget/dock: Becdock and BECDock area for dockable windows (
d8ff8af
)
Refactoring
- widget/plots: Widgetconfig changed to SubplotConfig
(
03fa1f2
)
v0.51.0 (2024-05-07)
Build System
-
cli: Changed repo name to bec_widgets (
799ea55
) -
setup: Fakeredis added to dev env (
df32350
) -
setup: Pyqt6 version is set to 6.7 (
0ab8aa3
)
Continuous Integration
- Added rule for parent-child pipelines
(
e085125
)
Features
- utils: Added plugin helper to find and load
(
5ece269
)
v0.50.2 (2024-04-30)
Bug Fixes
- 'disconnect_slot' has to be symmetric with 'connect_slot' regarding QtThreadSafeCallback
(
0dfcaa4
)
v0.50.1 (2024-04-29)
Bug Fixes
- cli: Becfigure takes the port to connect to redis from the current BECClient, supporting
plugins
(
57cb136
)
v0.50.0 (2024-04-29)
Bug Fixes
-
plots: Cleanup policy reviewed for children items (
8f20a0b
) -
rpc/client_utils: Getoutput more transparent + error handling (
6b6a6b2
) -
rpc_register: Thread lock for listign all connections (
2ca3267
) -
widgets/figure: Access pattern changed for getting widgets by coordinates for rpc (
13c018a
)
Features
-
plots: Universal cleanup and remove also for children items (
381d713
) -
rpc/rpc_register: Singleton rpc register for all rpc connections for session (
a898e7e
)
Testing
v0.49.1 (2024-04-26)
Bug Fixes
- widgets/editor: Qscintilla editor removed
(
ab85374
)
Build System
- pyqt6: Fixing PyQt6-Qt6 package to 6.6.3
(
a222298
)
v0.49.0 (2024-04-24)
Bug Fixes
- rpc/client_utils: Close clean up policy for BECFigure
(
9602085
)
Features
- rpc/client_utils: Timeout for rpc response
(
6500a00
)
v0.48.0 (2024-04-24)
Features
- cli: Added auto updates plugin support
(
6238693
)
v0.47.0 (2024-04-23)
Features
- utils/thread_checker: Util class to check the thread leakage for closeEvent in qt
(
71cb80d
)
Refactoring
- utils/container_utils: Part of the logic regarding locating widgets moved from BECFigure to
utility class
(
77ff796
)
v0.46.7 (2024-04-21)
Bug Fixes
- plot/image: Monitors are now validated with current bec session
(
67a99a1
)
v0.46.6 (2024-04-19)
Bug Fixes
- cli: Fixed support for devices as cli input
(
1111610
)
Continuous Integration
- Changed ophyd default branch to main
(
81484e8
)
v0.46.5 (2024-04-19)
Bug Fixes
-
plots/waveform: Colormap is correctly passed from BECFigure (
026c079
) -
widgets/figure: Individual cleanup disabled, making stuck rpc (
ff52100
)
Refactoring
-
examples/jupyter_console_window: Jupyter console debugging window moved to examples (
b632ed1
) -
rpc/client_utils: Update script for grid_scan adds z axis device (
2955b5e
)
Testing
- rpc/bec_figure: Test_rpc_plotting_shortcuts_init_configs extended by testing scatter z
gradient for BECWaveform through RPC
(
a156803
)
v0.46.4 (2024-04-16)
Bug Fixes
-
Renaming of bec_client to bec_ipython_client (
4da625e
) -
plots/image: User can get data as np.ndarray from BECImageItem (
c2c583f
) -
plots/motor_map: User can get data as dict from BECMotorMap (
c12f2ce
) -
rpc/server: Server can accept client or dispatcher (
ecdf0f1
)
Continuous Integration
-
"master" renamed to "main" in semver and pages section (
05e268d
) -
Added workflow .gitlab-ci.yml (
42a9a0c
) -
Changed default BEC branch to main (
bd3b1ba
) -
Ci_merge_request_target_branch_name changed to main (
b6feb9a
) -
Fixed multi-project pipeline (
22fb5a5
) -
Merge AdditionalTests with test stage (
2e3f46e
) -
Pull images via gitlab dependency proxy (
df5234a
) -
Set branch name for semver (
4bcae0f
) -
tests: Unit tests ci path corrected (
66c0649
)
Refactoring
-
isort: Isort applied (
5600624
) -
plots/image: All rpc widgets can access
config_dict
as property (be9847e
) -
plots/image: Images are accessed as property .images -> returns list[BECImage] (
2f7317b
)
Testing
-
Unit tests moved to separate folder; scope of autouse bec_dispatcher fixture reduced only for unit tests; ci adjusted (
2446c40
) -
e2e/rpc: Rpc e2e tests extended (
1bc18a2
) -
end-2-end: Rpc end-2-end tests (
4d0df36
)
v0.46.3 (2024-04-11)
Bug Fixes
-
Producer->connector (
9def373
) -
cli/client_utils: Print_log is buffered; add output processing thread (
285bf01
) -
plots/motor_map: Removed single callback flag for connecting device_readback motors (
49327a8
) -
test_fake_redis: Testmessage fixed to pydantic BaseModel (
0b86a00
)
Refactoring
- bec_dispatcher: New BEC dispatcher - rebased
(
90907e0
)
Testing
- utils/bec_dispatcher: Tests fixed
(
301bb91
)
v0.46.2 (2024-04-10)
Bug Fixes
- widget/plots: Added "get_config" to all children of
BECConnector
to USER_ACCESS (ee617b7
)
Refactoring
- utils/bec_dispatcher: New singleton definition
(
92cea90
)
v0.46.1 (2024-04-10)
Bug Fixes
- rpc/client: Correct name for RPC class BECWaveform (instead of BECWaveform1D)
(
cf29035
)
v0.46.0 (2024-04-09)
Features
- plot/waveform1d: Becwaveform1d can show z data of scatter coded to different detector like
BECMonitor2DScatter; BECWaveform1D name changed to BECWaveform
(
3d399ba
)
Refactoring
- widget/monitor_scatter_2D: Deleted
(
fe101f9
)
Testing
-
Fixed default value for scan id (
6dc1000
) -
plot/figure: Test extended to check shortcuts for creating subplots (
754d81e
)
v0.45.0 (2024-03-26)
Documentation
- Added api reference; closes #123
(
88014d2
)
Features
-
plots/bec_figure: Motor Map integrated to BECFigure (
b8519e8
) -
plots/bec_motor_map: Becmotormap build on BECPlotBase (
0f69c34
)
Testing
v0.44.5 (2024-03-25)
Bug Fixes
- Circular imports
(
c5826f8
)
Refactoring
v0.44.4 (2024-03-22)
Bug Fixes
-
cli/server: Removed BECFigure.start(), the QApplication event loop is started by server.py (
f3a96de
) -
cli/server: Thread heartbeat replaced with QTimer (
e6b0657
)
v0.44.3 (2024-03-21)
Bug Fixes
v0.44.2 (2024-03-20)
Bug Fixes
-
utils/bec_dispatcher: Bec_dispatcher adjusted to the new BECClient; dropped support to inject bec_config.yaml, instead BECClient can be passed as arg (
86416d5
) -
utils/bec_dispatcher: Try/except to start client, to avoid crash when redis is not running (
9ccd4ea
)
Continuous Integration
- Now testing against master branches of bec_lib and ophyd_devices
(
1d5442a
)
v0.44.1 (2024-03-19)
Bug Fixes
- examples/motor_compilation: Motor_control_compilations.py do not have any hardcoded config
anymore
(
14f901f
)
v0.44.0 (2024-03-18)
Bug Fixes
Features
- cli: Added update script to BECFigure
(
9049e0d
)
v0.43.2 (2024-03-18)
Bug Fixes
- cli/server: Added QApplications to enter separate QT event loop ensuring that QT objects are
not deleted
(
d0f9bf1
)
v0.43.1 (2024-03-15)
Bug Fixes
-
plots/image: Same access pattern for image and image_item for setting up parameters, autorange of z scale disabled by default (
b8d4e69
) -
widget/various: Corrected USER_ACCESS methods for children widgets to include inherited methods to RPC (
4664661
) -
widgets/figure: Added widgets can be accessed as a list (fig.axes) or as a dictionary (fig.widgets) (
fcf918c
)
Refactoring
-
cli: Commented debug CLI messages (
32747ba
) -
widget/figure: Changed add_plot and add_image to specify what should be content of the widget, instead of widget id (
d99fd76
)
v0.43.0 (2024-03-14)
Bug Fixes
-
cli: Find_widget_by_id for BECImageShow changed to be compatible with RPC logic (
4ef6ae9
) -
cli: Fix cli connector.send to set_and_publish for gui_instruction_response (
4076698
) -
plots/image: Access pattern for ImageItems in BECImageShow (
3362fab
) -
plots/waveform1d: Curves_data access disabled (
598479b
)
Features
-
plots/image: Basic image visualisation, getting data are based on stream_connector (deprecated) (
9ad0055
) -
plots/image: Change stream processor to QThread with connector.get_last; cleanup method for BECFigure to kill all threads if App is closed during acquisition (
7ffedd9
) -
plots/image: Image processor can run in threaded or non-threaded version (
4865b10
)
Refactoring
-
plots/image: Image logic moved to BECImageItem, image updated from bec_dispatcher with register_stream fetching data from dispatcher (
a21bfec
) -
plots/plot_base: Becplotbase inherits from pg.GraphicalLayout instead of pg.PlotItem, this will allow us to add multiple plots into each coordinate of BECFigure. (
70c4e9b
)
v0.42.1 (2024-03-10)
Bug Fixes
- various: Repo cleanup, removed - [plot_app, one_plot, scan_plot, scan2d_plot,
crosshair_example, qtplugins], tests adjusted
(
f3b3c2f
)
v0.42.0 (2024-03-07)
Features
- utils/bec_dispatcher: Becdispatcher can register redis stream
(
4c0a7bb
)
v0.41.4 (2024-03-07)
Bug Fixes
- utils/bec_dispatcher: Becdispatcher can accept new EndpointInfo dataclass.
(
c319dac
)
Continuous Integration
- Drop python/3.9
(
8147685
)
v0.41.3 (2024-03-01)
Bug Fixes
-
cli/generate_cli: Added automatic black formatting; added black as a dependency (
d89f596
) -
cli/generate_cli: Typing.get_overloads are only used if the python version is higher than 3.11 (
f386563
)
Testing
v0.41.2 (2024-02-28)
Bug Fixes
- utils/bec_dispatcher: Msg is unp[acked from dict before accessing .content
(
bb1f066
)
v0.41.1 (2024-02-26)
Bug Fixes
-
bec_dispatcher: Adapt code to redis connector refactoring (
8127fc2
) -
bec_dispatcher: Handle redis connection errors more gracefully (
a2ed2eb
)
v0.41.0 (2024-02-26)
Bug Fixes
-
After removing plot from BECFigure, the coordinates are correctly resigned (
d678a85
) -
Removed DI references, fixed set when adding plot by fig (
7c15d75
) -
cli: Fixed property access, rebased (
f71dc5c
) -
cli: Fixed rpc construction of nested widgets (
da640e8
) -
cli/client_utils: "rpc" pop from msg_results (
ebb36f6
) -
cli/rpc: Rpc client can return any type of object + config dict of the widgets (
fd711b4
) -
cli/rpc: Server access children widget.find_widget_by_id(gui_id) (
57132a4
) -
plots/waveform1d: Pandas import clean up, export curves with none skipped (
35cd4fd
) -
rpc: Added annotations to pass py3.9 tests (
c6bdf0b
) -
rpc: Connection to on_rpc_update done through bec_dispatcher (
1c2fb8b
) -
rpc_server: Fixed gui_id lookup (
4630d78
) -
tests: Becdispatcher fixture putted back (
644f103
) -
widget/figure: Add cleanup method to disconnect all slots before removing Waveform1D from layout (
a28b9c8
) -
widgets/plots: Added placeholder for cleanup method to BECPlotBase (
24c7737
)
Features
-
Added @user_access from bec_lib.utils (
b827e9e
) -
Becconnector -> mixin class for all BEC Widget to hook them to BEC client (
91447a2
) -
Becfigure and BECPlotBase created (
9ef331c
) -
Curve can be modified after adding to the plot (
684592a
) -
Figure.py create widget factory (
c781b1b
) -
Plot can be removed from BECFigure (
60d150a
) -
Rpc decorator to add methods to USER_ACCESS (
b676877
) -
Start method for BECFigure, jupyter console .ui added to git (
1d26b23
) -
Waveform1d.py curves can be removed by identifier by order(int) or by curve_id(str) (
f0ed243
) -
Waveform1d.py curves can be stylised; access scan history by index or scanID (
cba3863
) -
Waveform1d.py draft (
565e475
) -
cli: Added cli interface, rebased (
a61bf36
) -
utils/entry_validator: Possibility to validate add_scan_curve with current BEC session (
1db77b9
) -
widgets/figure: Clear_all method for BECFigure (
0363fd5
) -
widgets/figure.py: Dark/light theme changer (
08534a4
) -
widgets/waveform1d: Data can be exported from rendered curve (
5fc8047
) -
widgets/Waveform1D: Waveform1d can be fully constructed by config (
9a5c86e
)
Refactoring
-
Becconnector changed config structure (
4a1792c
) -
Becfigure, BECPlotBase changed back to pyqtgraph classes inheritance (
7768e59
) -
plot/Waveform1D,plot/BECCurve: Beccurve inherits from BECConnector and can refer to parent_id (Waveform1D) and has its own gui_id (
99dce07
) -
rpc/client: Changed path to client.py to relative one (
402adc4
) -
widgets/BECCurve: Set kwargs for curve style while adding curve (
5964778
)
Testing
-
plots/waveform1d: Tests added (
f06e652
) -
test_bec_figure: Tests for BECFigure added (
f668eb8
) -
test_plot_base: Becplotbase tests added (
826a5e9
) -
tests/client_mocks: Added general mock_client with container for fake devices for testing (
4051902
) -
tests/test_bec_connector: Test_bec_connector.py added (
8135f68
)
v0.40.1 (2024-02-23)
Bug Fixes
- utils/bec_dispatcher: _do_disconnect_slot will shutdown consumer of slots/signals which were
already disconnected
(
feca7a3
)
v0.40.0 (2024-02-16)
Features
- utils.colors: Golden_angle_color utility can return colors as a list of QColor, RGB or HEC
(
5125909
)
v0.39.0 (2024-02-12)
Build System
- Added all .ui and .yaml files to pypi install; removed gauss_bpm from default config from
monitor.py
(
968da6f
)
Features
-
Active motors from motor_map.py can be changed by slot without changing the whole config (
17f1458
) -
Added full app with all motor movement related widgets into motor_control_compilations.py (
fa4ca93
) -
Comboboxes of motor selection are changed to orange if the motors are not connected yet (
0b9927f
) -
Control panels compilations (
8361736
) -
Motor_control.py MotorControl widgets - Absolute + Relative movement, MotorSelection, ErrorMessage popups (
6fe08e6
) -
Motor_control.py MotorCoordinateTable added basic version to store coordinates and show them in motor_map.py (
031cb09
) -
Motorcoordinatetable mode_switch added for "Individual" and "Start/Stop" modes (
2f96e10
)
Refactoring
-
Base class for motor_control.py widgets (
8139e27
) -
Motor_control.py clean up (
b52e22d
) -
Motor_control_compilations.py moved to example part of repository (
8afc5f0
) -
Pylint ignore for tests (
4b0542a
)
Testing
- Motor_control_compilations.py and motor_control.py tests added
(
bf04a4e
)
v0.38.2 (2024-02-07)
Bug Fixes
- Adapt code to BEC 1.0
(
b36131e
)
Testing
- Fixed import in test_validator_errors.py
(
5ebfd2a
)
v0.38.1 (2024-01-26)
Bug Fixes
- Monitor.py replots last scan after changing config with new signals; config_dialog.py checks if
the new config is valid with BEC
(
ab275b8
)
Documentation
-
2d waveform scatter plot changed to 2D scatter plot (
812ffaf
) -
Documentation for example apps and widgets updated (
f7a4967
)
Refactoring
- Black v24 formatting
(
d211b47
)
v0.38.0 (2024-01-23)
Bug Fixes
- Monitor_scatter_2d.py changed to new BECDispatcher definition
(
747e97e
)
Features
- Becmonitor2dscatter for plotting x/y/z signal as a mesh of scatter plot
(
75090b8
)
Refactoring
- Monitor_scatter_2d.py _init_database replaced with defaultdict
(
3c14327
)
Testing
-
Fix test_bec_monitor_scatter2D.py database init test change to check defaultdict (
8d0083c
) -
Test_bec_monitor_scatter2d.py added (
c6fe9d2
)
v0.37.1 (2024-01-23)
Bug Fixes
-
tests: Ensure BEC service is shutdown after bec dispatcher test (
4664568
) -
tests: Ensure threads started during plot tests are properly stopped (
3fb6644
)
Refactoring
- tests: Ensure BEC dispatcher singleton object is renewed at each test
(
d909673
)
v0.37.0 (2024-01-17)
Features
- Independent motor_map widget
(
1a429b3
)
Refactoring
Testing
- Test_motor_map.py added
(
1cd273c
)
v0.36.2 (2024-01-17)
Bug Fixes
-
Bec_dispatcher.py can connect multiple topics to one callback slot (
e51be04
) -
Bec_dispatcher.py can partially disconnect topics from slot (
7607d7a
)
v0.36.1 (2024-01-15)
Bug Fixes
- Motor_example.py fix to the new .read() structure from bec_lib
(
f9c5c82
)
Refactoring
-
Motor_example.py get coordinates by .readback.get() method (
bf819bc
) -
Using motor.readback.read() to access motor coordinates (
6f26e5c
)
v0.36.0 (2024-01-12)
Features
- Bec_dispatcher can link multiple endpoints topics for one qt slot
(
58721be
)
v0.35.0 (2024-01-12)
Bug Fixes
-
Monitor.py change import of ConfigDialog from relative to absolute in order to make BECPlotter be able to open it (
6061b31
) -
Monitor.py clear command from BECPlotter CLI clear now flush database and clear the plots (
ebd4fcc
) -
Monitor.py crosshair enabled by default (
97dcc5a
) -
Monitor.py fixed not updating config changes after receiving refresh from BECPlotter (
00ef3ae
) -
Monitor.py fixed scan mode (
a706da2
) -
Monitor_config_validator.py changed to check .describe() instead of signals (
5ab82bc
) -
Monitor_config_validator.py valid color is Literal['black','white'] (
86c5f25
) -
Motor_config_validation changed to new monitor config structure (
d67bdd2
)
Continuous Integration
- Fix cobertura for gitlab/16
(
9c7a189
)
Features
-
Monitor.py access data directly from scan storage (
26c07c3
) -
Monitor.py can access custom data send through redis (
6e4775a
)
Refactoring
-
Config_dialog.py refactored to accept new config formatting (
3982c5d
) -
Modular_app.py configs changed to new format (
404ca49
) -
Monitor.py clean up (
1128ca5
) -
Monitor.py config hierarchy refactor for source (can be 'scan_segment','history', 'redis') (
c995e0d
) -
Monitor.py data for scan segment are only accessed through queue.scan_storage (
c3f2ad4
) -
Monitor.py on_scan_segment old logic separated from on_scan_segment function (
463a60a
) -
Review response for MR !31 (
eb529d2
)
Testing
v0.34.1 (2023-12-12)
Bug Fixes
- Formatter and tests fixed
(
186c42d
)
Build System
- Fix python requirement
(
3ec9caa
)
Continuous Integration
- Added rtd update job
(
11281fe
)
Documentation
-
Gitlab templates for issues and merge requests from main bec repo (
831eddc
) -
Readdocs updated (
af995a7
) -
Readme.md updated (
cba8131
)
Refactoring
- Replace deprecated imports from typing
(
9e852d1
)
https://peps.python.org/pep-0585/#implementation
v0.34.0 (2023-12-08)
Bug Fixes
-
Monitor_config_validator.py - Signal validation changed from field_validator to model_validator to check first name and then entry (
0868047
) -
Monitor_config_validator.py fix entry validation executed only if name validator is successful (
af71e35
)
Features
- Monitor.py error message popup
(
a3b24f9
)
Refactoring
- Monitor.py pylint improvement
(
731fba5
)
Testing
- Validation errors tests
(
2a33415
)
v0.33.0 (2023-12-07)
Bug Fixes
-
Added hooks to react to incoming config messages and instructions (
1084bc0
) -
Fixed default config options (
03bdf98
)
Features
- Added axis_width and axis_color as optional plot settings
(
504944f
)
v0.32.2 (2023-12-06)
Bug Fixes
-
Changed exec_ to exec for all apps (
080c258
) -
Yaml_dialog.py changed to use native solution of OS -> should prevent crashing on py3.11 (
5adde23
)
Testing
-
Additional tests for error handling for yaml_dialog.py (
f5d1127
) -
Removed captured code for Permission tests (
aad754f
)
v0.32.1 (2023-12-06)
Bug Fixes
-
Widget_io print_widget_hierarchy fix comboboxes (
d1f9979
) -
Widgetio combobox fixed for qt6 distributions (
4f70097
)
Refactoring
- Improve pylint for WidgetIO
(
bcc47f3
)
v0.32.0 (2023-11-30)
Bug Fixes
-
Added missing dependency jedi (
d978740
) -
Editor.py compact signature on tooltip (
f96cacc
) -
Editor.py removed automatic background behind edited text (
d865e2f
) -
Editor.py switch to disable docstring (
3cc05cd
) -
Terminal output as QThread (
a0d172e
) -
Toolbar.py automatic initialisation works (
8ad3059
)
Build System
-
Added option to add PyQt6/PyQt5/PySide2/PySide6 as qt distribution with PyQt6 as default (
b14d95a
) -
Added qtconsole to dependency (
e5010c7
) -
Disabled support to PySide2/PySide6, due to no QScintilla support; added pyqtdarktheme (
c174326
)
Continuous Integration
-
Added libdbus (
65cbd6e
) -
Added libegl1-mesa to the apt-get install command in tests (
bb64088
) -
Added pylint to ci (
745aa6e
)
Features
-
Basic text editor + running terminal output (
9487844
) -
Editor.py added splitter between editor and terminal (
c70ddb3
) -
Editor.py basic signature calltip (
045b1ba
) -
Editor.py jedi autocomplete hooked (
fb555b2
) -
Jupyter rich console added as alternative to default QTextEdit terminal output (
016b26f
) -
Toolbar.py proof-of-concept (
286e62d
)
Refactoring
-
Change from QMainWindow to QWidget (
10dfe9f
) -
Changed dependency to CAPS (
7d15397
) -
Editor.py migration to qtpy (
b07bb3d
) -
Editor.py open/save file refactored to not use native window (
d967faf
) -
Editor.py signature tooltip process moved to AutoCompleter; simpler logic for signature tooltip (
d7a2c68
) -
Improve pylint score (
a4d9713
) -
Migration to qtpy (
b6f6bc5
) -
Toolbar.py migration to native qt QToolBar (
ee3b616
)
Testing
- Test_editor.py tests added
(
b21c1db
)
v0.31.0 (2023-11-13)
Documentation
- Pydantic validation module docs
(
92a5325
)
Features
- Pydantic validation module for monitor.py
(
7fec0c7
)
Refactoring
-
Becmonitor cleanup for validation in on_scan_segment; dropped support for multiple entries for single device (
cd9cd9e
) -
Clean up (
6b114c2
) -
Configs for BECMonitor are validated by pydantic outside the main widget (
37278e3
) -
Fix bec_lib imports (
5ec2b08
) -
Fix bec_lib imports in tests (
cae4f8b
) -
Monitor.py update_config renamed to on_config_update; gui_id added (
59bc404
) -
Monitor_config_validator.py device_manager renamed to devices (
53494c7
) -
Monitor_config_validator.py name validation logic (
84ef7e5
)
Testing
- Tests fixed; test_bec_monitor.py extended for FakeDevice class
(
05c8226
)
v0.30.0 (2023-11-10)
Bug Fixes
-
Added imports to init.py in widget for ScanControl class (
b85cc89
) -
Scan_control.py all kwargs are rendered (
4b7592c
) -
Scan_control.py args_size_max fixed (
da9025e
) -
Scan_control.py default spinBox limits increases (
5c67026
) -
Scan_control.py kwargs and args are added to the correct layouts (
b311069
) -
Scan_control.py scan can be executed from GUI (
2e42ba1
) -
Scan_control.py supports minimum and maximum number of args (
ee2f36f
) -
Scan_control.py wipe table and reinitialise devices when scan is changed (
5ac3526
) -
Widget_io.py added handler for QCheckBox (
18a7025
)
Features
-
Scan_control.py a general widget which can generate GUI for scan input (
088fa51
) -
Scan_control.py added option to limit scan selection from list of strings as init parameter (
0fe06ad
) -
Widgetio support for QLabel (
aa4c7c3
)
Refactoring
-
Changed buttons name to be consistent with other projects (
43777f5
) -
Changed widget_IO.py to widget_io.py for consistency; widget_io.py example excluded from coverage (
975aadb
) -
Clean up (
1f01034
) -
Scan_control.py clean up (
27f6a89
) -
Scan_control.py extraction of args separated (
63f23cf
) -
Scan_control.py generate_input_field refactored into smaller functions (
26c6e1f
) -
Scan_control.py kwargs and args layouts changed to QGridLayouts (
f5ff15f
) -
Scan_control.py kwargs are in grid layout, args in table widget (
8bc88ca
) -
Scan_control.py refactor to use WidgetIO (
3be9c97
) -
Widget_hierarchy.py changed into general purpose modul to extract values from widgets using handlers (
9308f60
) -
Widget_hierarchy.py renamed to widgets_io.py (
3c28cf0
)
Testing
v0.29.0 (2023-10-31)
Bug Fixes
-
Config_dialog.py can load the current configuration of the plot (
f94a29b
) -
Config_dialog.py config from default mode can be exported to dict (
55b5ca7
) -
Config_dialog.py export to .yaml fixed (
7e99920
) -
Config_dialog.py prevents to add one scan twice (
12469c8
) -
Config_dialog.py scan_type structure implemented (
e41d81c
) -
Config_dialog.py tabs for scans and plots are closable now (
ec88564
) -
Device_monitor.py BECDeviceMonitor can be promoted in the QtDesigner and then setup in the modular app (
afab283
) -
Device_monitor.py crosshairs can be attached again (
644a97a
) -
Modular_app.py configs are linked to the actual version of the state of the device monitor (
d78940d
) -
Test_bec_monitor.py config loaded fresh in the test function to avoid parameter leak (
3866d7c
) -
Test_bec_monitor.py QApplication instance removed (
77e1d09
) -
Test_bec_monitor.py setup_monitor help function changed to pytest.fixture (
989cd51
) -
Test_config_dialog.py - QApplication removed (
1cdd760
) -
Test_config_dialog.py - test_add_new_plot_and_modify qtbot action .click() changed -> function called directly (
1333e6c
) -
Test_config_dialog.py disabled (
4e710dd
) -
Test_config_dialog.py QApplication instance added (
60e864b
) -
Wrong init.py in modular_app (
d52aa15
) -
Yaml_dialog.py added return None if no file path is specified (
ff1d918
) -
Yaml_dialog.py added support for .yml files (
10539f0
)
Documentation
-
Added sphinx base structure (
9d36b96
) -
Config_dialog.py comments added to example cases (
4a6e73f
) -
Device_monitor.py update docstrings (
a785bca
)
Features
-
Config_dialog.py interactive editor of plot settings (
c9e5dd5
) -
Modular_app.py, device_monitor.py, config_dialog.py linked together, plot configuration can be done through GUI (
bf2a09e
) -
Qt_utils custom class for class where one can delete the row with backspace or delete (
a6616f5
) -
Widget_hierarchy.py tool to inspect hierarchy of the widget (
cda8dae
) -
Yaml_dialog.py interactive QFileDialog window to load/save .yaml files to/from dict (
2b29b6c
)
Refactoring
-
Becdevicemonitor changed to BECMonitor (
cb6fb9d
) -
Config_dialog.py add_new_plot_tab and add_new_scan_tab changed names (
fd49f1b
) -
Config_dialog.py clean up (
93db0c2
) -
Config_dialog.py hook_plot_tab_signals refactored (
fbb7a91
) -
Config_dialog.py load dict without scan mode (
7d5429a
) -
Config_dialog.py simpler add_new_scan and add_new_plot (
8ffb7d8
) -
Dialogconfig implemented directly to the BECDeviceMonitor (
f1d7abe
) -
Qt_utils/hierarchy function refactored to use widget handler allowing to add more widget support in the future (
de23c28
) -
Test configs are saved as yaml and shared for similar tests (
5ad19b4
) -
Test_bec_monitor.py and test_config_dialog.py cleaned up (
3a4cbb1
) -
Test_bec_monitor.py widget name changed (
a3a72b9
) -
Test_config_dialog.py and test_bec_monitor.py clean up (
1fd0185
) -
Yaml_dialog.py save/load logic changed (
42fe859
)
Testing
-
Becdevicemonitor tests (
e4336cc
) -
Test_config_dialog.py added (
6a5e0ad
) -
Test_hierarchy.py added (
f396f98
) -
Test_yaml_dialog.py tests for loading/saving dialog for .yaml export (
850f023
)
v0.28.1 (2023-10-19)
Bug Fixes
- Stream_plot.py on_dap_update data dict opened correctly
(
28908dd
)
Refactoring
-
Bec_dispatcher.py changed to Ivan's version (
6d6b1e9
) -
Duplicate scripts of BasicPlot removed, BasicPlot renamed to StreamPlot (
144e56c
) -
Placeholders for stream plot (
f022153
) -
Stream_plot.py changed client initialization (
17ea7ab
) -
Stream_plot.py color static methods removed (
ad2b798
)
Testing
-
Add bec_dispatcher tests (
7152c5b
) -
Test_basic_plot.py deactivated due to non-existing method on_scan_segment (
8f83115
) -
Test_stream_plot.py basic tests for stream_plot.py, test_basic_plot.py removed (
2925a5f
)
v0.28.0 (2023-10-13)
Bug Fixes
- Scan_mode for BECDeviceMonitor fixed init_ui
(
59bba14
)
Features
-
Becdevicemonitor modular class which can be used to replace placeholder in .ui file. (
f3f55a7
) -
Placeholders initialised (
75af040
)
v0.27.2 (2023-10-12)
Bug Fixes
- Scan_plot tests
(
f7cbdbc
)
Add scanID key to scan_segment in tests
Refactoring
-
Emit content and metadata from messages in connect_slot (
78b666f
) -
Remove all custom topic connection methods (
f01078f
) -
Replace connect with connect_slot (
7335aa9
) -
Switch to generic connect_slot method in plots (
616de26
)
v0.27.1 (2023-10-10)
Bug Fixes
-
Extreme.py advanced error handling with possibility to reload different config (
d623cf9
) -
Extreme.py advanced error handling with possibility to reload different config (
51c3a9e
) -
Extreme.py client and device manager initialisation (
cf15163
) -
Extreme.py client and device manager initialisation (
ae79faa
) -
Extreme.py default config file changed to the config_example.yaml (
d356cf7
) -
Extreme.py default config file changed to the config_example.yaml (
5814113
) -
Extreme.py error in configuration are displayed as messagebox (
89a52a0
) -
Extreme.py error in configuration are displayed as messagebox (
9750039
) -
Extreme.py improved error handling for scan types mode (
ece1859
) -
Extreme.py improved error handling for scan types mode (
fbd299c
) -
Extreme.py init_plot_background error handling (
dafb6fa
) -
Extreme.py init_plot_background error handling (
c525eba
) -
Extreme.py init_ui changed > to >= for setting number of columns (
a0a89fe
) -
Extreme.py init_ui changed > to >= for setting number of columns (
6c773c7
) -
Extreme.py retry action fixed in ErrorHandler (
b76df1b
) -
Extreme.py retry action fixed in ErrorHandler (
5162270
) -
Extreme.py ui is initialised for the first scan of config in scan mode (
82bebe6
) -
Extreme.py ui is initialised for the first scan of config in scan mode (
fc60984
) -
Extreme.py validation function to check config key component structure (
5a7ac86
) -
Extreme.py validation function to check config key component structure (
824ce82
) -
Formatter fixed (
153c5f4
)
Refactoring
-
Added init.py to all example folders (
4772c24
) -
Added init.py to all example folders (
f74a6a0
) -
Extreme.py error messages for config file moved to ErrorHandler class (
8050bdf
) -
Extreme.py error messages for config file moved to ErrorHandler class (
d2c12a9
) -
Extreme.py ErrorHandler fixed, new configs are correctly loaded (
aed65b4
) -
Extreme.py ErrorHandler fixed, new configs are correctly loaded (
5637c93
) -
Fixed formatting for mca plot (
977ce3a
) -
Test_extreme.py corrected typos (
9e7224e
) -
Test_extreme.py corrected typos (
eb1f1d4
)
Testing
-
Added initial tests for extreme.py (
80190cc
) -
Added initial tests for extreme.py (
779f34f
) -
Added test_on_image_update for eiger_plot.py (
ad1d69f
) -
Added test_on_image_update for eiger_plot.py (
70684d1
) -
Added test_start_zmq_consumer for eiger_plot.py (
7485aa9
) -
Added test_start_zmq_consumer for eiger_plot.py (
0a0d51d
) -
Added test_zmq_consumer for eiger_plot.py (
abd3ebe
) -
Added test_zmq_consumer for eiger_plot.py (
c827a25
) -
Test_eiger_plot.py added qtbot.waitExposed(widget) (
8b3a0ba
) -
Test_eiger_plot.py added qtbot.waitExposed(widget) (
6322c47
) -
Test_eiger_plot.py optimised imports (
5e9deae
) -
Test_eiger_plot.py optimised imports (
08d9569
) -
Test_extreme.py error handling tested (
fc31960
) -
Test_extreme.py error handling tested (
90f22c2
) -
Test_extreme.py ErrorHandler tested separately (
835bda0
) -
Test_extreme.py ErrorHandler tested separately (
ac2a41d
) -
Test_extreme.py init_ui more edge cases (
7b3a873
) -
Test_extreme.py init_ui more edge cases (
36942b3
) -
Test_extreme.py MessageBox buttons Cancel and Retry tested (
2faeb63
) -
Test_extreme.py MessageBox buttons Cancel and Retry tested (
6c3dfdd
) -
Test_extreme.py on_scan_segment tested with all entries correctly defined (
126451a
) -
Test_extreme.py on_scan_segment tested with all entries correctly defined (
0ec65a0
) -
Test_extreme.py test_init_config fixed for scan_config (
69aaea2
) -
Test_extreme.py test_init_config fixed for scan_config (
0338462
) -
Test_extreme.py test_init_config new config tested (
f8d30c9
) -
Test_extreme.py test_init_config new config tested (
daf4ee1
)
v0.27.0 (2023-09-25)
Bug Fixes
-
Epics removed from requirements (
44cc881
) -
Extreme.py formatting fixed (
63f52fc
) -
Line_plot.py ROI interactions fixed (
e4f23f5
) -
Motor_example.py - new more robust logic for getting coordinates for table go buttons (
08f508f
) -
Motor_example.py duplicate table fixed (
401fec8
) -
Motor_example.py export .csv logic fixed (
85841cd
) -
Motor_example.py load .csv logic fixed (
b78152b
) -
Motor_example.py manual changing coordinates in start/stop works again (
b13509e
) -
Motor_example.py new independent mapping relying on the table (
673ed32
) -
Motor_example.py precision in duplicate table fixed (
05f48de
) -
Motor_example.py replot points logic simplified (
a15860a
) -
Motor_example.py user is blocked to duplicate last entry in start/end mode if end coordinate was not defined (
418480f
) -
Online changes e21543 (
b41d63e
)
Features
- Motor_example.py in start/end mode new button allowing user to go to end position
(
65b045e
)
Performance Improvements
- Motor_example.py replot logic optimizes
(
a4fb6bd
)
Refactoring
-
Motor_example.py - function to connect buttons in the table (
6124eab
) -
Motor_example.py removed old table related functions (
ed3f656
)
v0.26.7 (2023-09-19)
Bug Fixes
- Eiger_plot_hist.py removed
(
abe35bf
)
v0.26.6 (2023-09-19)
Bug Fixes
-
Extreme.py fixed logic of loading new config.yaml during app operation (
4287ac8
) -
Extreme.py saved to .yaml works correctly for different scans configurations (
cb144c7
)
Documentation
- Extreme.py updated documentation
(
7ff72b4
)
Refactoring
-
Extreme.py changed initialisation of config (
a694023
) -
Extreme.py plot init moved to config_init (
5f3d55b
)
v0.26.5 (2023-09-13)
Bug Fixes
- Motor_example.py help extended
(
a5c6ffa
)
Refactoring
- Extreme config example
(
34c785b
)
v0.26.4 (2023-09-12)
Bug Fixes
- Logic fixed
(
7cb56e9
)
v0.26.3 (2023-09-12)
v0.26.2 (2023-09-12)
Bug Fixes
v0.26.1 (2023-09-12)
v0.26.0 (2023-09-12)
Bug Fixes
- Removed scipy from eiger_plot.py
(
0e634ee
)
Features
- Plot different signals and plot configurations based on different scans
(
57e6990
)
Refactoring
- Config_example.yaml
(
7235038
)
v0.25.1 (2023-09-12)
Bug Fixes
-
Mode lock in config to disable changing the mode for users (
10ccf0c
) -
Specific config for csaxs (
8ff983f
)
v0.25.0 (2023-09-12)
Bug Fixes
Features
- Combobox to switch between entries mode
(
f2fde2c
)
Refactoring
v0.24.2 (2023-09-12)
Bug Fixes
- Changes e20643
(
2657440
)
v0.24.1 (2023-09-08)
v0.24.0 (2023-09-08)
Bug Fixes
- Typo fixed in mca_plot.py
(
3b12f1b
)
Features
- Histogramlut for mca_plot
(
ae04072
)
v0.23.0 (2023-09-08)
Features
- Added key bindings and help dialog
(
ade893d
)
v0.22.0 (2023-09-08)
v0.21.2 (2023-09-08)
Bug Fixes
- Moved mask as a last step of image processing
(
87d5467
)
Features
- Added FFT
(
b984f0f
)
v0.21.1 (2023-09-08)
Bug Fixes
- Update_signal typo fixed
(
43f03b5
)
v0.21.0 (2023-09-08)
v0.20.0 (2023-09-08)
Bug Fixes
Features
v0.19.2 (2023-09-08)
v0.19.1 (2023-09-08)
Bug Fixes
- Rotation logic fixed
(
6733371
)
v0.19.0 (2023-09-08)
Bug Fixes
- Rotation always counter-clockwise
(
00385ab
)
v0.18.1 (2023-09-08)
Bug Fixes
- Online changes
(
29c983f
)
Features
-
Eiger_plot.py in example folder with new GUI (
5cbedec
) -
Rotation of the image to the left/right by 90, 180, 270 degree (
327f6b3
) -
Simulation stream with Gaussian peak in 1st quadrant (
4fa8d46
)
v0.18.0 (2023-09-08)
v0.17.1 (2023-09-08)
Bug Fixes
- Start_device_consumer changed from EP device_status to scan_status
(
46a3981
)
v0.17.0 (2023-09-07)
Features
-
Console arguments added for Redis port, device, and sub_device tag (
fb52b2a
) -
Device_consumer is getting scanID and initialise stream_consumer (
9271b91
) -
Eigerplot added (
70d74c7
) -
Plot flips every second row (
c368871
) -
Simulation and simple 2D plot for mca card stream (
bfef713
)
Refactoring
v0.16.4 (2023-09-06)
Bug Fixes
- Self.limit_map_data fixed to be initialised only with integers from limits
(
b62509a
)
v0.16.3 (2023-09-06)
Bug Fixes
- Limit spinBoxes morphed to doubleSpinBoxes
(
a1264fe
)
Documentation
- Pyqtgraph controls in help
(
2397af1
)
Refactoring
- Code cleaned up
(
63744b0
)
v0.16.2 (2023-09-06)
Bug Fixes
- X and y motor can be linked again
(
f45512e
)
Refactoring
- Code cleaned up
(
197ebad
)
v0.16.1 (2023-09-06)
Bug Fixes
- Default values fixed from .yaml
(
8a6e2da
)
v0.16.0 (2023-09-06)
Bug Fixes
-
Content always aligned to centre (
74884a3
) -
Help extended (
9fba033
) -
Table loads number of columns correctly (
bf12963
)
Features
-
Added help button (
2087d19
) -
Additional columns can be added through .yaml (
fa76acb
) -
Additional extra rows takes values from previous row (
1235294
) -
Table can be exported to csv (
772f18f
) -
Table can be loaded from .csv (
15d995f
)
Refactoring
- Change order of columns
(
3132b4f
)
v0.15.0 (2023-09-06)
Bug Fixes
-
Added float validator to the table (
be1bd81
) -
Coordinates markers are updated on the map, if X, Y in table manually is changed (
0aa667b
) -
Partial fix to table checkBox (
75f5c8f
) -
Table bug, when deleted multiple rows (
9d83a45
) -
Table bug, when user deleted row and wanted to go to the previous position (
63e6d61
) -
Table checkbox fixed (
7e6244c
)
Features
-
Step for x and y can be linked or separated (
16ab746
) -
User can choose if to save coordinates when moving to absolute coordinates (
6324199
)
Refactoring
-
Change_step_size generalised to one function (
aede198
) -
Code cleaned up (
1241fc7
) -
Doublevalidationdelegate moved to qt_utils (
ca099ec
) -
Init_ui separated into multiple sections for each ui functionality (
b9920f3
) -
Sync_step_sizes generalised to one function (
9beaa8f
)
v0.14.2 (2023-09-05)
Bug Fixes
- Bec_config initialisation by command line argument
(
b7a1b8b
)
v0.14.1 (2023-09-05)
v0.14.0 (2023-09-05)
Bug Fixes
-
Checkbox visibility toggle is working. (
a178c43
) -
Gui default tab changed to coordinates table (
3c74fa5
) -
Highlight disapear with new motor (
3fb8651
) -
Motor position points can be switched on/off if points were deleted (
5b30dfd
) -
New points do not make invisible points visible again (
fb10551
) -
Saved coordinates can be removed from table and from the map again (
c32e95a
)
Features
-
Enable gui button, in the case that motor movement is not finished (
84155d2
) -
Saved coordinates are shown on the map (
0ca665a
)
v0.13.0 (2023-09-05)
Bug Fixes
Features
-
Crosshair highlight at motor position (
9228e5a
) -
Go, set, save current coordinates and keyboard shortcuts (
5d6a328
) -
Increase step size double with key bindings (
e9ef1e3
)
v0.12.0 (2023-09-04)
Bug Fixes
- Error message if motor do not have limits attribute
(
bf93b02
)
Documentation
- Added documentation to all classes and methods
(
4afaa1b
)
Features
v0.11.0 (2023-09-04)
Bug Fixes
-
Colorbutton change now symbols as well (
6d2e1c9
) -
User selected colors are preserved with the new scan (
8e7885f
)
Features
- Colorbutton next to each curve in the table to be able to set up colors
(
2c6719c
)
v0.10.0 (2023-09-01)
Bug Fixes
-
Add max number of columns according to the number of plots (
fbd71c1
) -
Bec_dispatcher.py can take multiple workers as a list (
7bcf88d
) -
Check if num_columns is not higher that actual number of plots (
aac6e17
) -
Columns span generalised for any number of columns (
2d851b6
) -
Config.yaml can be passed as a console argument to extreme.py (
b8aa373
) -
More specific error messages (
583e643
)
Documentation
Features
-
Error messages if name or entry is wrong (
415c4ee
) -
Load and export configuration into .yaml from GUI (
e527353
) -
Multi window interface created for extreme BL (
69c38d6
) -
Number of columns can be dynamically changed (
65bfccc
)
Refactoring
-
Changed the .yaml structure and the logic of the whole app how to access (
96a88d2
) -
Moved colormap related static methods to qt_utils colors.py (
1a06dd7
)
v0.9.0 (2023-08-29)
Features
Refactoring
- X_value and y_values arguments separately
(
abd88f7
)
v0.8.1 (2023-08-29)
Bug Fixes
- Added missing local .ui file
(
f0589b7
)
v0.8.0 (2023-08-29)
Bug Fixes
-
Crosshair snaps correctly to x dataset (
2ed5d72
) -
User can disable dap_worker and just choose signals to plot (
cab5354
)
Features
-
Crosshair snapped to x, y data automatically, clicked coordinates glows (
49ba6fe
) -
Crosshair snaps to data, but it is activated with button due to debug (
223f102
) -
Dap fit plotted as curve, data as scatter (
118f6af
) -
Fit table hardcode to "gaussian_fit_worker_3" (
3af57ab
) -
Oneplot can receive one motor and one monitor signal (
ff545bf
) -
Oneplot initialized as an example app for plotting motor vs monitor signals + dispatcher loop over msg (
98c0c64
) -
User can specify tuple of (x,y) devices which wants to plot (
3344f1b
)
Refactoring
- Plot update via proxy
(
fc4b542
)
v0.7.0 (2023-08-28)
Bug Fixes
-
Init_motor_map receive motor position from motor_thread (
95ead71
) -
Line_plot.py default changed back to "gauss_bpm" (
64708bc
) -
Motor movement absolute fixed - movement by thread (
11aa15f
) -
Motor selection is disabled while motor is moving (
c7e35d7
)
Features
-
Ability to choose how many points should be dimmed before reaching the threshold + total number of point which should be stored. (
9eae697
) -
Controls are disabled while motor is moving and enabled when motor movement is finished (
ed84293
) -
Delete coordinate table row by DELETE or BACKSPACE key (
5dd0af6
) -
Going to absolute coordinates saves coordinate in the table for later use with tag (
8be98c9
) -
Keyboard shortcut to go to coordinates (
3c0e595
) -
Labels of current motors are shown in motors limits (
413e435
) -
Map of motor position (
e6952a6
) -
Motor coordinates are now scatter instead of image (
3f6d5c6
) -
Motor limits can be changed by spinBoxes (
2d1665c
) -
Motor move to absolute (X,Y) coordinates (
cbe27e4
) -
Motor selection (
cab32be
) -
Motor_example.py created, motor samx and samy can be moved by buttons (
947ba9f
) -
New GUI (
0226188
) -
Setting map according to motor limits (
512e698
) -
Speed and frequency can be updated from GUI (
f391a2f
) -
Speed and frequency is retrieved from devices (
ce98164
) -
Stop movement function, one callback function for 2 motors, move_finished is emitted in move_motor function not in callback (
187c748
) -
Switch for keyboard shortcuts for motor movement (
cac4562
) -
Table with coordinates getting initial coordinates of motor (
92388c3
) -
Total number of points, scatter size and number of point to dim after last position can be changed from GUI (
e0b52fc
)
Refactoring
-
Folder organization changed (
a2f7aa5
) -
Getting motor limits and coordinates moved to MotorControl(QThread) (
349c06b
) -
Introduced MotorActions enum to replace hardcoded strings + project cleanup (
7575c91
) -
Migrate to use just np.array for tracking position, only latest N points are being dimmed. (
3e408b3
) -
Motor movement as a QThread (
af2fcff
)
v0.6.3 (2023-08-17)
Bug Fixes
- Crosshair handles dynamic changes of number of curves in 1D plot
(
242737b
)
Documentation
- Crosshair class documentation
(
8a60cad
)
Testing
- Crosshair mouse_moved signals for 1D and 2D
(
2fa1755
)
v0.6.2 (2023-08-17)
Bug Fixes
- Correct coordinates for cursor table
(
ce54daf
)
v0.6.1 (2023-08-14)
Bug Fixes
- Crosshair snaps to correct coordinates also with logx and logy
(
167a891
)
v0.6.0 (2023-08-11)
Features
- New GUI for line_plot.py
(
b57b3bb
)
Refactoring
v0.5.0 (2023-08-11)
Bug Fixes
Features
-
Add generic connect function for slots (
6a3df34
) -
Add possibility to provide service config (
8c9a9c9
)
Refactoring
- Register scan_segment callback directly
(
dfce55b
)
- this allows to skip client.start() setup
v0.4.0 (2023-08-11)
Bug Fixes
-
Fix examples when run directly as a script (
cd11ee5
) -
Fixed logic in data subscription (
c2d469b
) -
Module paths (
e7f644c
) -
Plotting latest 1d curves (
378be81
) -
Q selection for gui_event signal (
0bf452a
) -
Scan_plot to accept metadata from dap signal (
7bec0b5
)
- as a consequence of
18b5d46678
- Testing the data structure of plotting
(
4fb0a3b
)
Features
-
2d plot updating (
d32088b
) -
Add BECScanPlot2D (
67905e8
) -
Add disconnect_dap_slot (
1325704
) -
Add display_ui_file.py (
91d8ffa
) -
Added Legend to plot (
0feca4b
) -
Added qt_utils package with general Crosshair function (
5353fed
) -
Changed from PlotItem to GraphicsLayoutWidget, added LabelItem (
075cc79
) -
Cursor coordinate as a QTable (
a999f76
) -
Cursor universal for 1D and 2D (
f75554b
) -
Cursor universal signals (
20e9516
) -
Emit the full bec message to slots (
1bb3020
)
- some widgets will require metadata for their operation
-
Inherit from GraphicsView for consistency with 2D plot (
d8c101c
) -
Metadata available on_dap_update (
18b5d46
) -
Plotting from streamer (
bb806c1
)
Refactoring
-
Changed from bec client to dispatcher (
14e92e8
) -
Made client a module import (
dc5fd99
) -
Move plugins into a separate folder (
b16406a
) -
Use BECClient for cb on scan_segment (
ff534ad
) -
Widgets setup their own connections (
87163fd
)
v0.3.0 (2023-07-19)
Bug Fixes
Build System
- Fixed setup.cfg metadata
(
65b94ec
)
Continuous Integration
-
Added security tests (
81b6355
) -
Fixed python-semantic-release version to 7.* (
cc69cf9
) -
Fixed stage name (
004faec
)
Documentation
Features
-
Add auto-computed color_list from colormaps (
3e1708b
) -
Add functionality for plotting multiple signals (
10e2906
) -
Added ctrl_c from grum (
8fee13a
) -
Added lineplot widget (
989a3f0
)
Refactoring
- Added pylintrc file; cleanup
(
5e5c0ed
)
Testing
-
Add test for line_plot (
d37fbf5
) -
Fixed client mock (
9883caa
) -
Removed deprecated waitforwindowshown method of qtbot (
b790dd2
)
v0.2.1 (2023-07-13)
Bug Fixes
Build System
- Added black as dev dependency
(
b5f7b4f
)
Refactoring
- Added example usage within main statement
(
4ee18ac
)
Testing
- Added tests for scan plot
(
f10de38
)
v0.2.0 (2023-07-13)
Features
- Move ivan's qtwidgets to bec-widgets
(
34e5ed2
)
Refactoring
- Added .git_hook
(
550c368
)
v0.1.0 (2023-07-11)
Build System
- Setting up repo
(
88f5aca
)
Continuous Integration
-
Added ci file (
fc6382b
) -
Testing ci (
b089903
) -
Testing ci (
52f26d1
) -
Testing ci (
e924337
) -
Testing ci (
14c59f7
) -
Testing ci (
8be84a7
) -
Testing ci (
185fbe6
) -
Testing ci (
78fd26a
) -
Testing ci (
0b7a659
) -
Testing ci (
4250d47
)
Features
- Added config plotter
(
db274c6
)