0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-13 11:11:49 +02:00
Files

1.7 KiB

(developer.concepts)=

Concepts

This section provides an overview of the core concepts of BEC Widgets, which are based on the single-responsibility principle and modular design.

Moduler Design

We develop widgets with the single-responsibility principle in mind, meaning each widget is designed for a specific task. Our goal is to keep widgets simple, using them primarily for visualization or to initiate actions within BEC. Following these ideas, widgets should be designed to be reusable in various applications, making them versatile building blocks for larger GUIs.

We offer up to three different options for composing larger GUIs from these modular widgets: BEC Designer, DockArea widget, or scripting from the command line interface. More information about these options can be found in the user sections on applications.

Client-Server Architecture

BEC Widgets is built on top of the BEC package, which provides the backend for beamline experiment control. BEC Widgets is a client of BEC, meaning it can interact with the backend through a client-server architecture. To make full usage of the available features of BEC, we recommend to check the documentation about data access in which the messaging and event system of BEC is described. In the context of BEC Widgets, the BECDispatcher connects to this messaging and event system, allowing you to link your Qt Slots to messages and event received from BEC.