CLI server refactor
Description
This merge request introduces several key changes and improvements:
- The RPC server is now separated from the main application.
- The
parent_id
is automatically resolved by examining the Qt parent-child hierarchy. - The property previously named
name
has been renamed toobject_name
to avoid conflicts with pyqtgraph’sname
and_name
attribute. - The
object_name
is now linked to the QtObjectName
, and it is ensured to be unique among sibling widgets sharing the same parent. - The
__init__
method for all widgets has been updated to align with the new constructors inBECWidget
andBECConnector
.BECConnector
now always starts with at least aQObject
to guarantee the correct parent and objectName assignment. - All widgets have been adjusted to accommodate these initialization changes.
- The cleanup process for plotting widgets and their associated popups and settings menus has been reviewed and updated.
- The setter for RPC has been fixed.
- Autoupdate functionality has been reintroduced and adjusted to work with the new plotting framework in one of the BECDocks within BECDockArea.
- A simple launcher menu has been introduced with launcher scripts and a basic
BECMainWindow
. This window currently provides a link to the documentation and a theme changer and will be extended with an improved design in the future. - Cleanup of RPC-enabled widgets has been performed. Some widgets (such as ResumeButton and DarkModeButton) have been removed from the RPC interface as they were not suitable for RPC.
Related Issues
closes #444 (closed), #447 (closed), #356 (closed) #307 (closed), #297 (closed), #467 (closed), #471 (closed)
relates to #463 (closed),
Potential side effects
The new framework should be used and tested to find edge cases. This is one of the main breaking changes for V2!
Screenshots / GIFs (if applicable)
[Include any relevant screenshots or GIFs to showcase the changes made.]
Additional Comments
None.
Definition of Done
-
Documentation is up-to-date.
Edited by wyzula_j