265 KiB
CHANGELOG
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
)