229 KiB
CHANGELOG
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_dictas 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
BECConnectorto 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)