-```
-
-## Example 3 - Detaching and Attaching Docks in BECDockArea
-
-Docks in `BECDockArea` can be detached (floated) or reattached to the main dock area. This is useful when you want to temporarily undock a widget for better visibility or organization.
-
-```python
-# Detach the dock named "Waveform Dock"
-dock_area.detach_dock("waveform_dock")
-# Alternatively, you can use the dock object to detach the dock
-dock1 = dock_area.waveform_dock
-dock1.detach()
-
-# Docks can be individually reattached to the main dock area
-dock2.attach()
-
-# Reattach all floating docks to the main dock area
-gui.attach_all()
-```
-
-```{note}
-Floating docks are always returned to the original dock area if they are closed manually. Docks can also be detached by double-clicking on the dock title.
-```
-
-## Example 4 - Removing Docks from BECDockArea
-
-Docks can be removed from the dock area by their name or by the dock object. The dock object can be used to remove the dock from the dock area.
-
-```python
-# Removing docks by their name
-dock_area.delete("waveform_dock")
-# Alternatively, you can use the dock object to remove the dock
-dock1 = dock_area.motor_dock
-dock1.remove()
-
-# Removing all docks from the dock area
-gui.delete_all()
-```
-
-```{warning}
-When removing a dock, all widgets within the dock will be removed as well. This action cannot be undone, and all references to the dock and its widgets will be lost.
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.BECDockArea
- :members:
- :show-inheritance:
-```
-````
-
diff --git a/docs/user/widgets/games/games.md b/docs/user/widgets/games/games.md
deleted file mode 100644
index 1608ba71..00000000
--- a/docs/user/widgets/games/games.md
+++ /dev/null
@@ -1,11 +0,0 @@
-(user.widgets.games)=
-
-# Game widgets
-
-To provide some entertainment during long nights at the beamline, there are game widgets available. Well, only one, so far.
-
-## Minesweeper
-
-
-
-The classic game Minesweeper. You may select from three different levels. The game can be ended or reset by clicking on the icon in the top-centre (the robot in the screenshot).
diff --git a/docs/user/widgets/games/minesweeper.png b/docs/user/widgets/games/minesweeper.png
deleted file mode 100644
index f1839569..00000000
Binary files a/docs/user/widgets/games/minesweeper.png and /dev/null differ
diff --git a/docs/user/widgets/heatmap/heatmap_fermat_scan.gif b/docs/user/widgets/heatmap/heatmap_fermat_scan.gif
deleted file mode 100644
index 779ba237..00000000
Binary files a/docs/user/widgets/heatmap/heatmap_fermat_scan.gif and /dev/null differ
diff --git a/docs/user/widgets/heatmap/heatmap_grid_scan.gif b/docs/user/widgets/heatmap/heatmap_grid_scan.gif
deleted file mode 100644
index fbea6de2..00000000
Binary files a/docs/user/widgets/heatmap/heatmap_grid_scan.gif and /dev/null differ
diff --git a/docs/user/widgets/heatmap/heatmap_widget.md b/docs/user/widgets/heatmap/heatmap_widget.md
deleted file mode 100644
index d019f995..00000000
--- a/docs/user/widgets/heatmap/heatmap_widget.md
+++ /dev/null
@@ -1,108 +0,0 @@
-(user.widgets.heatmap_widget)=
-
-# Heatmap widget
-
-````{tab} Overview
-
-The Heatmap widget is a specialized plotting tool designed for visualizing 2D grid data with color mapping for the z-axis. It excels at displaying data from grid scans or arbitrary step scans, automatically interpolating scattered data points into a coherent 2D image. Directly integrated with the `BEC` framework, it can display live data streams from scanning experiments within the current `BEC` session.
-
-## Key Features:
-- **Flexible Integration**: The widget can be integrated into [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-- **Live Grid Scan Visualization**: Real-time plotting of grid scan data with automatic positioning and color mapping based on scan parameters.
-- **Dual Scan Support**: Handles both structured grid scans (with pre-allocated grids) and unstructured step scans (with interpolation).
-- **Intelligent Data Interpolation**: For arbitrary step scans, the widget automatically interpolates scattered (x, y, z) data points into a smooth 2D heatmap using various interpolation methods.
-- **Oversampling**: Supports oversampling to enhance the appearance of the heatmap, allowing for smoother transitions and better visual representation of data. Especially useful the for nearest-neighbor interpolation.
-- **Customizable Color Maps**: Wide variety of color maps available for data visualization, with support for both simple and full color bars.
-- **Real-time Image Processing**: Apply real-time processing techniques such as FFT and logarithmic scaling to enhance data visualization.
-- **Interactive Controls**: Comprehensive toolbar with settings for heatmap configuration, crosshair tools, mouse interaction, and data export capabilities.
-
-
-```{figure} ./heatmap_grid_scan.gif
-:width: 60%
-
-Real-time heatmap visualization of a 2D grid scan showing motor positions and detector intensity
-```
-
-```{figure} ./heatmap_fermat_scan.gif
-:width: 80%
-
-Real-time heatmap visualization of an (not path-optimized) scan following Fermat's spiral pattern. On the left, the heatmap widget is shown with the oversampling option set to 10 and the interpolation method set to nearest neighbor. On the right, the scatter waveform widget is shown with the same data.
-```
-
-
-````
-
-````{tab} Examples - CLI
-
-`HeatmapWidget` can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. The command-line API is the same for all cases.
-
-## Example 1 - Visualizing Grid Scan Data
-
-In this example, we demonstrate how to add a `HeatmapWidget` to visualize live data from a 2D grid scan with motor positions and detector readout.
-
-```python
-# Add a new dock with HeatmapWidget
-dock_area = gui.new()
-heatmap_widget = dock_area.new().new(gui.available_widgets.Heatmap)
-
-# Plot a heatmap with x and y motor positions and z detector signal
-heatmap_widget.plot(
- device_x='samx', # X-axis motor
- device_y='samy', # Y-axis motor
- device_z='bpm4i', # Z-axis detector signal
- color_map='plasma'
-)
-heatmap_widget.title = "Grid Scan - Sample Position vs BPM Intensity"
-```
-
-## Example 2 - Step Scan with Custom Entries
-
-This example shows how to visualize data from an arbitrary step scan by specifying custom data entries for each axis.
-
-```python
-# Add a new dock with HeatmapWidget
-dock_area = gui.new()
-heatmap_widget = dock_area.new().new(gui.available_widgets.Heatmap)
-
-# Plot heatmap with specific data entries
-heatmap_widget.plot(
- device_x='motor1',
- device_y='motor2',
- device_z='detector1',
- signal_x='RBV', # Use readback value for x
- signal_y='RBV', # Use readback value for y
- signal_z='value', # Use main value for z
- color_map='viridis',
- reload=True # Force reload of data
-)
-```
-
-## Example 3 - Real-time Processing and Customization
-
-The `Heatmap` widget provides real-time processing capabilities and extensive customization options for enhanced data visualization.
-
-```python
-# Configure heatmap appearance and processing
-heatmap_widget.color_map = 'plasma'
-heatmap_widget.lock_aspect_ratio = True
-
-# Apply real-time processing
-heatmap_widget.fft = True # Apply FFT to the data
-heatmap_widget.log = True # Use logarithmic scaling
-
-# Configure color bar and range
-heatmap_widget.enable_full_colorbar = True
-heatmap_widget.v_min = 0
-heatmap_widget.v_max = 1000
-
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.widgets.plots.heatmap.heatmap.Heatmap
- :members:
- :show-inheritance:
-```
-````
diff --git a/docs/user/widgets/image/image.gif b/docs/user/widgets/image/image.gif
deleted file mode 100644
index 1e352597..00000000
Binary files a/docs/user/widgets/image/image.gif and /dev/null differ
diff --git a/docs/user/widgets/image/image_widget.md b/docs/user/widgets/image/image_widget.md
deleted file mode 100644
index 52e6a0ff..00000000
--- a/docs/user/widgets/image/image_widget.md
+++ /dev/null
@@ -1,112 +0,0 @@
-(user.widgets.image_widget)=
-
-# Image widget
-
-````{tab} Overview
-
-The Image widget is a versatile tool designed for visualizing both 1D and 2D data, such as camera images or waveform data, in real-time. Directly integrated with the `BEC` framework, it can display live data streams from connected detectors or other data sources within the current `BEC` session. The widget provides advanced customization options for color maps and scale bars, allowing users to tailor the visualization to their specific needs.
-
-## Key Features:
-- **Flexible Integration**: The widget can be integrated into [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-- **Live Data Visualization**: Real-time plotting of both 1D and 2D data from detectors or other data sources, provided that a data stream is available in the BEC session.
-- **Support for Multiple Monitor Types**: The Image widget supports different monitor types (`'1d'` and `'2d'`), allowing visualization of various data dimensions. It can automatically determine the best way to visualise the data based on the shape of the data source.
-- **Customizable Color Maps and Scale Bars**: Users can customize the appearance of images with various color maps and adjust scale bars to better interpret the visualized data.
-- **Real-time Image Processing**: Apply real-time image processing techniques directly within the widget to enhance the quality or analyze specific aspects of the data, such as rotation, logarithmic scaling, and Fast Fourier Transform (FFT).
-- **Data Export**: Export visualized data to various formats such as PNG, TIFF, or H5 for further analysis or reporting.
-- **Interactive Controls**: Offers interactive controls for zooming, panning, and adjusting the visual properties of the images on the fly.
-
-
-````
-
-````{tab} Examples - CLI
-
-`ImageWidget` can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. The command-line API is the same for all cases.
-
-## Example 1 - Visualizing 2D Image Data from a Detector
-
-In this example, we demonstrate how to add an `ImageWidget` to a [`BECDockArea`](user.widgets.bec_dock_area) to visualize live 2D image data from a connected camera detector.
-
-```python
-# Add a new dock with BECFigure widget
-dock_area = gui.new()
-img_widget = dock_area.new().new(gui.available_widgets.Image)
-
-# Add an ImageWidget to the BECFigure for a 2D detector
-img_widget.image(device='eiger', signal='preview')
-img_widget.title = "Camera Image - Eiger Detector"
-```
-
-## Example 2 - Visualizing 1D Waveform Data from a Detector
-
-This example demonstrates how to set up the Image widget to visualize 1D waveform data from a detector, such as a line detector or a spectrometer. The widget will stack incoming 1D data arrays to construct a 2D image.
-
-```python
-# Add a new dock with BECFigure widget
-dock_area = gui.new()
-img_widget = dock_area.new().new(gui.available_widgets.Image)
-
-# Add an ImageWidget to the BECFigure for a 2D detector
-img_widget.image(device='waveform', signal='data')
-img_widget.title = "Line Detector Data"
-
-# Optional: Set the color map and value range
-img_widget.colormap = "plasma"
-img_widget.vrange= [0, 100]
-```
-
-## Example 3 - Real-time Image Processing
-
-The `Image` provides real-time image processing capabilities, such as rotating, scaling, applying logarithmic scaling, and performing FFT on the displayed images. The following example demonstrates how to apply these transformations to an image.
-
-```python
-# Rotate the image by 90 degrees (1,2,3,4 are multiplied by 90 degrees)
-img_widget.num_rotation_90 = 1
-
-# Transpose the image
-img_widget.transpose = True
-
-# Apply FFT to the image
-img_widget.fft = True
-
-# Set logarithmic scaling for the image display
-img_widget.log = True
-
-# Set autorange for the image color map
-img_widget.autorange = True
-img_widget.autorange_mode = 'mean'# or 'max'
-```
-
-
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.Image
- :members:
- :show-inheritance:
-```
-````
diff --git a/docs/user/widgets/lmfit_dialog/lmfit_dialog.md b/docs/user/widgets/lmfit_dialog/lmfit_dialog.md
deleted file mode 100644
index 1baa244e..00000000
--- a/docs/user/widgets/lmfit_dialog/lmfit_dialog.md
+++ /dev/null
@@ -1,46 +0,0 @@
-(user.widgets.lmfit_dialog)=
-
-# LMFit Dialog
-
-````{tab} Overview
-
-The `LMFitDialog` is a widget that is developed to be used together with the `Waveform` widget. The `Waveform` widget allows user to submit a fit request to BEC's [DAP server](https://bec.readthedocs.io/en/latest/developer/getting_started/architecture.html) choosing from a selection of [LMFit models](https://lmfit.github.io/lmfit-py/builtin_models.html#) to fit monitored data sources. The `LMFit Dialog` provides an interface to monitor these fits, including statistics and fit parameters in real time.
-Within the `Waveform` widget, the dialog is accessible via the toolbar and will be automatically linked to the current waveform widget. For a more customised use, we can embed the `LMFit Dialog` in a larger GUI using the *BEC Designer*. In this case, one has to connect the `update_summary_tree` slot of the LMFit Dialog to the `dap_summary_update` signal of the Waveform widget to ensure its functionality.
-
-
-## Key Features:
-- **Fit Summary**: Display updates on LMFit DAP processes and fit statistics.
-- **Fit Parameter**: Display current fit parameter.
-- **`Waveform` Widget Integration**: Directly connect to `Waveform` widget to display fit statistics and parameters.
-```{figure} /assets/widget_screenshots/lmfit_dialog.png
----
-name: lmfit_dialog
----
-LMFit Dialog
-```
-````
-````{tab} Connect in BEC Designer
-The `LMFit Dialog` widget can be connected to a `Waveform` widget to display fit statistics and parameters from the LMFit DAP process hooked up to the waveform widget. You can use the signal/slot editor from the BEC Designer to connect the `dap_summary_update` signal of the `Waveform` widget to the `update_summary_tree` slot of the LMFit Dialog.
-
-```{figure} /assets/widget_screenshots/lmfit_dialog_connect.png
-````
-````{tab} Connect in Python
-It is also possible to directly connect the `dap_summary_update` signal of the `Waveform` widget to the `update_summary_tree` slot of the LMFit Dialog in Python.
-
-```python
-waveform = Waveform(...)
-lmfit_dialog = LMFitDialog(...)
-waveform.dap_summary_update.connect(lmfit_dialog.update_summary_tree)
-
-```
-````
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/user/widgets/log_panel/log_panel.md b/docs/user/widgets/log_panel/log_panel.md
deleted file mode 100644
index 75bda1dd..00000000
--- a/docs/user/widgets/log_panel/log_panel.md
+++ /dev/null
@@ -1,39 +0,0 @@
-(user.widgets.log_panel)=
-
-# LogPanel widget
-
-The LogPanel widget can be used to view logs:
-
-
-
-It automatically subscribes to log updates. You can fetch the log history with the "Fetch history" button.
-
-## Filtering based on log level
-
-If you select a dropdown box, only logs of that priority level or higher will be displayed:
-
-
-
-
-## Filtering based on a search string
-
-If you type in a search string into the box in the toolbar, and hit enter or press the update button, that filter will be applied:
-
-
-
-This search uses the [Python regular expression syntax](https://docs.python.org/3/library/re.html) if the checkbox for this option is selected:
-
-
-
-
-## Filtering based on time range
-
-You may filter the logs to those occurring within a given time range.
-
-
-
-## Filtering based on service
-
-You can select which services to show logs from.
-
-
\ No newline at end of file
diff --git a/docs/user/widgets/log_panel/logpanel.png b/docs/user/widgets/log_panel/logpanel.png
deleted file mode 100644
index d964d3c8..00000000
Binary files a/docs/user/widgets/log_panel/logpanel.png and /dev/null differ
diff --git a/docs/user/widgets/log_panel/logpanel_level.png b/docs/user/widgets/log_panel/logpanel_level.png
deleted file mode 100644
index 706220a8..00000000
Binary files a/docs/user/widgets/log_panel/logpanel_level.png and /dev/null differ
diff --git a/docs/user/widgets/log_panel/logpanel_regex.png b/docs/user/widgets/log_panel/logpanel_regex.png
deleted file mode 100644
index 3f6a3023..00000000
Binary files a/docs/user/widgets/log_panel/logpanel_regex.png and /dev/null differ
diff --git a/docs/user/widgets/log_panel/logpanel_services.png b/docs/user/widgets/log_panel/logpanel_services.png
deleted file mode 100644
index b65294c1..00000000
Binary files a/docs/user/widgets/log_panel/logpanel_services.png and /dev/null differ
diff --git a/docs/user/widgets/log_panel/logpanel_text.png b/docs/user/widgets/log_panel/logpanel_text.png
deleted file mode 100644
index 7d817175..00000000
Binary files a/docs/user/widgets/log_panel/logpanel_text.png and /dev/null differ
diff --git a/docs/user/widgets/log_panel/logpanel_timerange.png b/docs/user/widgets/log_panel/logpanel_timerange.png
deleted file mode 100644
index 43db92b1..00000000
Binary files a/docs/user/widgets/log_panel/logpanel_timerange.png and /dev/null differ
diff --git a/docs/user/widgets/motor_map/motor.gif b/docs/user/widgets/motor_map/motor.gif
deleted file mode 100644
index daccbeb9..00000000
Binary files a/docs/user/widgets/motor_map/motor.gif and /dev/null differ
diff --git a/docs/user/widgets/motor_map/motor_map.md b/docs/user/widgets/motor_map/motor_map.md
deleted file mode 100644
index 09e51a7f..00000000
--- a/docs/user/widgets/motor_map/motor_map.md
+++ /dev/null
@@ -1,70 +0,0 @@
-(user.widgets.motor_map)=
-
-# Motor Map Widget
-
-````{tab} Overview
-
-The Motor Map Widget is a specialized tool for tracking and visualizing the positions of motors in real-time. This widget is crucial for applications requiring precise alignment and movement tracking during scans. It provides an intuitive way to monitor motor trajectories, ensuring accurate positioning throughout the scanning process.
-
-## Key Features:
-- **Flexible Integration**: The widget can be integrated into a [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-- **Real-time Motor Position Visualization**: Tracks motor positions in real-time and visually represents motor trajectories.
-- **Customizable Visual Elements**: The appearance of all widget components is fully customizable, including scatter size and background values.
-- **Interactive Controls**: Interactive controls for zooming, panning, and adjusting the visual properties of motor trajectories on the fly.
-
-
-````
-
-````{tab} Examples CLI
-`MotorMapWidget` can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. However, the command-line API is the same for all cases.
-
-## Example 1 - Adding Motor Map Widget as a Dock in BECDockArea
-
-Adding `MotorMapWidget` into a [`BECDockArea`](user.widgets.bec_dock_area) is similar to adding any other widget.
-
-```python
-# Add new MotorMaps to the BECDockArea
-dock_area = gui.new()
-mm1 = dock_area.new().new(gui.available_widgets.MotorMap)
-mm2 = dock_area.new().new(gui.available_widgets.MotorMap)
-
-# Add signals to the MotorMaps
-mm1.map(device_x='samx', device_y='samy')
-mm2.map(device_x='aptrx', device_y='aptry')
-```
-
-## Example 2 - Customizing Motor Map Display
-
-The `MotorMapWidget` allows customization of its visual elements to better suit the needs of your application. Below is an example of how to adjust the scatter size, set background values, and limit the number of points displayed from the position buffer.
-
-```python
-# Set scatter size
-mm1.scatter_size = 10
-
-# Set background value (between 0 and 100)
-mm1.background_value = 0
-
-# Limit the number of points displayed and saved in the position buffer
-mm1.max_points = 500
-```
-
-## Example 3 - Changing Motors and Resetting History
-
-You can dynamically change the motors being tracked and reset the history of the motor trajectories during the session.
-
-```python
-# Reset the history of motor movements
-mm1.reset_history()
-
-# Change the motors being tracked
-mm1.map(device_x='aptrx', device_y='aptry')
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.MotorMap
- :members:
- :show-inheritance:
-```
-````
diff --git a/docs/user/widgets/multi_waveform/multi_waveform.md b/docs/user/widgets/multi_waveform/multi_waveform.md
deleted file mode 100644
index 827df866..00000000
--- a/docs/user/widgets/multi_waveform/multi_waveform.md
+++ /dev/null
@@ -1,96 +0,0 @@
-(user.widgets.multi_waveform_widget)=
-
-# Multi Waveform Widget
-
-````{tab} Overview
-The Multi Waveform Widget is designed to display multiple 1D detector signals over time. It is ideal for visualizing real-time streaming data from a monitor in the BEC framework, where each new data set is added as a new curve on the plot. This allows users to observe historical changes and trends in the signal.
-
-## Key Features:
-- **Real-Time Data Visualization**: Display multiple 1D signals from a monitor in real-time, with each new data set represented as a new curve.
-- **Curve Management**: Control the number of curves displayed, set limits on the number of curves, and manage the buffer with options to flush old data.
-- **Interactive Controls**: Highlight specific curves, adjust opacity, and interact with the plot using zoom and pan tools.
-- **Customizable Appearance**: Customize the colormap, curve opacity, and highlight settings to enhance data visualization.
-- **Data Export**: Export the displayed data for further analysis, including exporting to Matplotlib for advanced plotting.
-- **Flexible Integration**: Can be integrated into [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-
-````
-
-````{tab} Examples - CLI
-
-`BECMultiWaveform` can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. The command-line API is consistent across these contexts.
-
-## Example 1 - Using BECMultiWaveformWidget in BECDockArea
-
-You can add `BECMultiWaveformWidget` directly to a `BECDockArea`. This widget includes its own toolbar and controls for interacting with the multi waveform plot.
-
-```python
-# Add a new MultiWaveform to the BECDockArea
-dock_area = gui.new()
-multi_waveform_widget = dock_area.new().new(gui.available_widgets.MultiWaveform)
-
-# Set the monitor from the command line
-multi_waveform_widget.plot('waveform')
-
-# Optionally, adjust settings
-multi_waveform_widget.opacity = 60
-```
-
-## Example 2 - Customizing the Multi Waveform Plot
-
-You can customize various aspects of the plot, such as the colormap, opacity, and curve limit.
-
-```python
-# Change the colormap to 'viridis'
-multi_waveform_widget.color_palette = 'viridis'
-
-# Adjust the opacity of the curves to 70%
-multi_waveform_widget.opacity = 60
-
-# Limit the number of curves displayed to 50
-multi_waveform_widget.max_trace = 10
-
-# Enable buffer flush when the curve limit is reached
-multi_waveform_widget.flush_buffer = True
-```
-
-## Example 3 - Highlighting Curves
-
-You can highlight specific curves to emphasize important data.
-
-```python
-# Disable automatic highlighting of the last curve
-multi_waveform.highlight_last_curve = False
-
-# Highlight the third curve (indexing starts from 0)
-multi_waveform.highlighted_index = 2
-
-# Re-enable automatic highlighting of the last curve
-multi_waveform.highlight_last_curve = True
-```
-
-
-````
-
-````{tab} API
-
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.MultiWaveform
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/pdf_viewer/pdf_viewer_widget.md b/docs/user/widgets/pdf_viewer/pdf_viewer_widget.md
deleted file mode 100644
index 6f8dfc31..00000000
--- a/docs/user/widgets/pdf_viewer/pdf_viewer_widget.md
+++ /dev/null
@@ -1,119 +0,0 @@
-(user.widgets.pdf_viewer_widget)=
-
-# PDF Viewer Widget
-
-````{tab} Overview
-
-The PDF Viewer Widget is a versatile tool designed for displaying and navigating PDF documents within your BEC applications. Directly integrated with the `BEC` framework, it provides a full-featured PDF viewing experience with zoom controls, page navigation, and customizable display options.
-
-## Key Features:
-- **Flexible Integration**: The widget can be integrated into [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-- **Full PDF Support**: Display any PDF document with full rendering support through Qt's PDF rendering engine.
-- **Navigation Controls**: Built-in toolbar with page navigation, zoom controls, and document status indicators.
-- **Customizable Display**: Adjustable page spacing, margins, and zoom levels for optimal viewing experience.
-- **Document Management**: Load different PDF files dynamically during runtime with proper error handling.
-
-## User Interface Components:
-- **Toolbar**: Contains all navigation and zoom controls
- - Previous/Next page buttons
- - Page number input field with total page count
- - First/Last page navigation buttons
- - Zoom in/out buttons
- - Fit to width/page buttons
- - Reset zoom button
-- **PDF View Area**: Main display area for the PDF content
-
-````
-
-````{tab} Examples - CLI
-
-`PdfViewerWidget` can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. The command-line API is the same for all cases.
-
-## Example 1 - Basic PDF Loading
-
-In this example, we demonstrate how to add a `PdfViewerWidget` to a [`BECDockArea`](user.widgets.bec_dock_area) and load a PDF document.
-
-```python
-# Add a new dock with PDF viewer widget
-dock_area = gui.new()
-pdf_viewer = dock_area.new().new(gui.available_widgets.PdfViewerWidget)
-
-# Load a PDF file
-pdf_viewer.load_pdf("/path/to/your/document.pdf")
-```
-
-## Example 2 - Customizing Display Properties
-
-This example shows how to customize the display properties of the PDF viewer for better presentation.
-
-```python
-# Create PDF viewer
-pdf_viewer = gui.new().new().new(gui.available_widgets.PdfViewerWidget)
-
-# Load PDF document
-pdf_viewer.load_pdf("/path/to/report.pdf")
-pdf_viewer.toggle_continuous_scroll(True) # Enable continuous scroll mode
-
-# Customize display properties
-pdf_viewer.page_spacing = 20 # Increase spacing between pages
-pdf_viewer.side_margins = 50 # Add horizontal margins
-
-# Navigate to specific page
-pdf_viewer.jump_to_page(5) # Go to page 5
-```
-
-## Example 3 - Navigation and Zoom Controls
-
-The PDF viewer provides programmatic access to all navigation and zoom functionality.
-
-```python
-# Create and load PDF
-pdf_viewer = gui.new().new().new(gui.available_widgets.PdfViewerWidget)
-pdf_viewer.load_pdf("/path/to/manual.pdf")
-
-# Navigation examples
-pdf_viewer.go_to_first_page() # Go to first page
-pdf_viewer.go_to_last_page() # Go to last page
-pdf_viewer.jump_to_page(10) # Jump to specific page
-
-# Zoom controls
-pdf_viewer.zoom_in() # Increase zoom
-pdf_viewer.zoom_out() # Decrease zoom
-pdf_viewer.fit_to_width() # Fit document to window width
-pdf_viewer.fit_to_page() # Fit entire page to window
-pdf_viewer.reset_zoom() # Reset to 100% zoom
-
-# Check current status
-current_page = pdf_viewer.current_page
-print(f"Currently viewing page {current_page}")
-```
-
-## Example 4 - Dynamic Document Loading
-
-This example demonstrates how to switch between different PDF documents dynamically.
-
-```python
-# Create PDF viewer
-pdf_viewer = gui.new().new().new(gui.available_widgets.PdfViewerWidget)
-
-# Load first document
-pdf_viewer.load_pdf("/path/to/document1.pdf")
-
-# Or simply set the current file path
-pdf_viewer.current_file_path = "/path/to/document2.pdf"
-# This automatically loads the new document
-
-# Check which file is currently loaded
-current_file = pdf_viewer.current_file_path
-print(f"Currently viewing: {current_file}")
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.PdfViewerWidget
- :members:
- :show-inheritance:
-```
-````
diff --git a/docs/user/widgets/position_indicator/position_indicator.md b/docs/user/widgets/position_indicator/position_indicator.md
deleted file mode 100644
index aa07b639..00000000
--- a/docs/user/widgets/position_indicator/position_indicator.md
+++ /dev/null
@@ -1,102 +0,0 @@
-(user.widgets.position_indicator)=
-
-# Position Indicator Widget
-
-````{tab} Overview
-
-The `PositionIndicator` widget is a simple yet effective tool for visually indicating the position of a motor within its set limits. This widget is particularly useful in applications where it is important to provide a visual clue of the motor's current position relative to its minimum and maximum values. The `PositionIndicator` can be easily integrated into your GUI application either through direct code instantiation or by using `BEC Designer`.
-
-## Key Features:
-- **Position Visualization**: Displays the current position of a motor on a linear scale, showing its location relative to the defined limits.
-- **Customizable Range**: The widget allows you to set the minimum and maximum range, adapting to different motor configurations.
-- **Real-Time Updates**: Responds to real-time updates, allowing the position indicator to move dynamically as the motor's position changes.
-- **Compact Design**: The widget is designed to be compact and visually appealing, making it suitable for various GUI applications.
-- **Customizable Appearance**: The appearance of the position indicator can be customized to match the overall design of your application, including colors, orientation, and size.
-- **BEC Designer Integration**: Can be added directly in code or through `BEC Designer`, making it adaptable to various use cases.
-
-
-## BEC Designer Customization
-Within the BEC Designer's [property editor](https://doc.qt.io/qt-6/designer-widget-mode.html#the-property-editor/), the `PositionIndicator` widget can be customized to suit your application's requirements. The widget provides the following customization options:
-- **minimum**: The minimum value of the position indicator.
-- **maximum**: The maximum value of the position indicator.
-- **value**: The current value of the position indicator.
-- **vertical**: A boolean value indicating whether the position indicator is oriented vertically or horizontally.
-- **indicator_width**: The width of the position indicator.
-- **rounded_corners**: The radius of the rounded corners of the position indicator.
-- **indicator_color**: The color of the position indicator.
-- **background_color**: The color of the background of the position indicator.
-- **use_color_palette**: A boolean value indicating whether to use the color palette for the position indicator or the custom colors.
-
-**BEC Designer properties:**
-```{figure} ./position_indicator_designer_props.png
-```
-
-
-````
-
-````{tab} Examples
-
-The `PositionIndicator` widget can be embedded in a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BEC Designer`. Below are examples demonstrating how to create and use the `PositionIndicator` from the CLI and also directly within Code.
-
-## Example 1 - Creating a Position Indicator in Code
-
-In this example, we demonstrate how to create a `PositionIndicator` widget in code and connect it to a slider to simulate position updates.
-
-```python
-from qtpy.QtCore import Qt
-from qtpy.QtWidgets import QApplication, QSlider, QVBoxLayout, QWidget
-from bec_widgets.widgets.control.device_control.position_indicator.position_indicator import PositionIndicator
-
-app = QApplication([])
-
-# Create the PositionIndicator widget
-position_indicator = PositionIndicator()
-
-# Create a slider to simulate position changes
-slider = QSlider(Qt.Horizontal)
-slider.valueChanged.connect(lambda value: position_indicator.set_value(value))
-
-# Create a layout and add the widgets
-layout = QVBoxLayout()
-layout.addWidget(position_indicator)
-layout.addWidget(slider)
-
-# Set up the main widget
-widget = QWidget()
-widget.setLayout(layout)
-widget.show()
-
-app.exec_()
-```
-
-## Example 2 - CLI Example, illustrating how to use the position_indicator API
-
-You can set the minimum and maximum range for the position indicator to reflect the actual limits of the motor.
-
-```python
-# Create a new PositionIndicator widget
-dock_area = gui.new()
-position_indicator = dock_area.new("position_indicator").new(gui.available_widgets.PositionIndicator)
-
-# Set the range for the position indicator
-position_indicator.set_range(min_value=0, max_value=200)
-```
-
-## Example 3 - Integrating the Position Indicator in BEC Designer
-
-The `PositionIndicator` can be added to your GUI layout using `BEC Designer`. Once added, you can connect it to the motor's position updates using the `on_position_update` slot.
-
-```python
-# Example: Updating the position in a BEC Designer-based application
-self.position_indicator.set_value(new_position_value)
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.PositionIndicator
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/position_indicator/position_indicator_designer_props.png b/docs/user/widgets/position_indicator/position_indicator_designer_props.png
deleted file mode 100644
index 8e73280f..00000000
Binary files a/docs/user/widgets/position_indicator/position_indicator_designer_props.png and /dev/null differ
diff --git a/docs/user/widgets/positioner_box/positioner_box.md b/docs/user/widgets/positioner_box/positioner_box.md
deleted file mode 100644
index 3d203256..00000000
--- a/docs/user/widgets/positioner_box/positioner_box.md
+++ /dev/null
@@ -1,65 +0,0 @@
-(user.widgets.positioner_box)=
-
-# Positioner Box Widget
-
-````{tab} Overview
-
-The `PositionerBox` widget provides a graphical user interface to control a positioner device within the BEC environment. This widget allows users to interact with a positioner by setting setpoints, tweaking the motor position, and stopping motion. The device selection can be done via a small button under the device label, through `BEC Designer`, or by using the command line interface (CLI). This flexibility makes the `PositionerBox` an essential tool for tasks involving precise position control.
-
-## Key Features:
-- **Device Selection**: Easily select a positioner device by clicking the button under the device label or by configuring the widget in `BEC Designer`.
-- **Setpoint Control**: Directly set the positioner’s target setpoint and issue movement commands.
-- **Tweak Controls**: Adjust the motor position incrementally using the tweak left/right buttons.
-- **Real-Time Feedback**: Monitor the device’s current position and status, with live updates on whether the device is moving or idle.
-- **Flexible Integration**: Can be integrated into a GUI through `BECDockArea` or used as a standalone component in `BEC Designer`.
-````
-
-````{tab} Examples
-
-The `PositionerBox` widget can be integrated within a GUI application either through direct code instantiation or by using `BEC Designer`. Below are examples demonstrating how to create and use the `PositionerBox` widget.
-
-## Example 1 - Creating a PositionerBox in Code
-
-In this example, we demonstrate how to create a `PositionerBox` widget in code and configure it for a specific device.
-
-```python
-from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
-from bec_widgets.widgets.positioner_box import PositionerBox
-
-class MyGui(QWidget):
- def __init__(self, parent=None):
- super().__init__(parent=parent)
- self.setLayout(QVBoxLayout(self)) # Initialize the layout for the widget
-
- # Create and add the PositionerBox to the layout
- self.positioner_box = PositionerBox(parent=self, device="motor1")
- self.layout().addWidget(self.positioner_box)
-
-# Example of how this custom GUI might be used:
-app = QApplication([])
-my_gui = MyGui()
-my_gui.show()
-app.exec_()
-```
-
-## Example 2 - Selecting a Device via GUI
-
-Users can select the positioner device by clicking the button under the device label, which opens a dialog for device selection.
-
-## Example 3 - Customizing PositionerBox in BEC Designer
-
-The `PositionerBox` widget can be added to a GUI through `BEC Designer`. Once integrated, you can configure the default device and customize the widget’s appearance and behavior directly within the designer.
-
-```python
-# After adding the widget to a form in BEC Designer, you can configure the device:
-self.positioner_box.set_positioner("motor2")
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.PositionerBox
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/positioner_box/positioner_box_2d.md b/docs/user/widgets/positioner_box/positioner_box_2d.md
deleted file mode 100644
index 1d817dd2..00000000
--- a/docs/user/widgets/positioner_box/positioner_box_2d.md
+++ /dev/null
@@ -1,62 +0,0 @@
-(user.widgets.positioner_box_2d)=
-
-# Positioner Box 2D Widget
-
-````{tab} Overview
-
-The `PositionerBox2D` widget is very similar to the `PositionerBox` but allows controlling two positioners at the same time, in a horizontal and vertical orientation respectively. It is intended primarily for controlling axes which have a perpendicular relationship like that. In other cases, it may be better to use a `PositionerGroup` instead.
-
-The `PositionerBox2D` has the same features as the standard `PositionerBox`, but additionally, step buttons which move the positioner by the selected step size, and tweak buttons which move by a tenth of the selected step size.
-
-````
-
-````{tab} Examples
-
-The `PositionerBox2D` widget can be integrated within a GUI application either through direct code instantiation or by using `BEC Designer`. Below are examples demonstrating how to create and use the `PositionerBox2D` widget.
-
-## Example 1 - Creating a PositionerBox in Code
-
-In this example, we demonstrate how to create a `PositionerBox2D` widget in code and configure it for a specific device.
-
-```python
-from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
-from bec_widgets.widgets.positioner_box import PositionerBox2D
-
-class MyGui(QWidget):
- def __init__(self, parent=None):
- super().__init__(parent=parent)
- self.setLayout(QVBoxLayout(self)) # Initialize the layout for the widget
-
- # Create and add the PositionerBox to the layout
- self.positioner_box_2d = PositionerBox(parent=self, device_hor="horizontal_motor", device_ver="vertical_motor")
- self.layout().addWidget(self.positioner_box_2d)
-
-# Example of how this custom GUI might be used:
-app = QApplication([])
-my_gui = MyGui()
-my_gui.show()
-app.exec_()
-```
-
-## Example 2 - Selecting a Device via GUI
-
-Users can select the positioner device by clicking the button under the device label, which opens a dialog for device selection.
-
-## Example 3 - Customizing PositionerBox in BEC Designer
-
-The `PositionerBox2D` widget can be added to a GUI through `BEC Designer`. Once integrated, you can configure the default device and customize the widget’s appearance and behavior directly within the designer.
-
-```python
-# After adding the widget to a form in BEC Designer, you can configure the device:
-self.positioner_box.set_positioner_hor("samx")
-self.positioner_box.set_positioner_verr("samy")
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.PositionerBox2D
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/progress_bar/progress_bar.gif b/docs/user/widgets/progress_bar/progress_bar.gif
deleted file mode 100644
index b9291f39..00000000
Binary files a/docs/user/widgets/progress_bar/progress_bar.gif and /dev/null differ
diff --git a/docs/user/widgets/progress_bar/ring_progress_bar.md b/docs/user/widgets/progress_bar/ring_progress_bar.md
deleted file mode 100644
index 1617e66a..00000000
--- a/docs/user/widgets/progress_bar/ring_progress_bar.md
+++ /dev/null
@@ -1,69 +0,0 @@
-(user.widgets.ring_progress_bar)=
-
-# Ring Progress Bar
-
-````{tab} Overview
-
-The `RingProgressBar` widget is a circular progress bar designed to visualize the progress of tasks in a clear and intuitive manner. This widget is particularly useful in applications where task progress needs to be represented as a percentage. The `Ring Progress Bar` can be controlled directly via its API or can be hooked up to track the progress of a device readback or scan, providing real-time visual feedback.
-
-## Key Features:
-- **Circular Progress Visualization**: Displays a circular progress bar to represent task completion.
-- **Device and Scan Integration**: Hooks into device readbacks or scans to automatically update the progress bar based on real-time data.
-- **Multiple Rings**: Supports multiple progress rings within the same widget to track different tasks in parallel.
-- **Customizable Visual Elements**: Allows customization of colors, line widths, and other visual elements for each progress ring.
-
-
-
-````
-
-````{tab} Example
-
-## Example 1 - Adding Ring Progress Bar to BECDockArea
-
-In this example, we demonstrate how to add a `RingProgressBar` widget to a `BECDockArea` to visualize the progress of a task.
-
-```python
-# Add a new dock with a RingProgressBar widget
-dock_area = gui.new() # Create a new dock area
-progress = dock_area.new(gui.available_widgets.RingProgressBar)
-
-# Add a ring to the RingProgressBar
-progress.add_ring()
-ring = progress.rings[0]
-ring.set_value(50) # Set the progress value to 50
-```
-
-## Example 2 - Adding Multiple Rings to Track Parallel Tasks
-
-By default, the `RingProgressBar` widget displays a single ring. You can add additional rings to track multiple tasks simultaneously.
-
-```python
-# Add a second ring to the RingProgressBar
-progress.add_ring()
-
-# Customize the rings
-progress.rings[1].set_value(30) # Set the second ring to 30
-```
-
-## Example 3 - Integrating with Device Readback and Scans
-
-The `RingProgressBar` can automatically update based on the progress of scans or device readbacks. This example shows how to set up the progress rings to reflect these updates.
-
-```python
-# Set the first ring to update based on scan progress
-progress.rings[0].set_update("scan")
-
-# Set the second ring to update based on a device readback (e.g., samx)
-progress.rings[1].set_update("device", "samx")
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.RingProgressBar
- :members:
- :show-inheritance:
-```
-````
-
diff --git a/docs/user/widgets/queue/queue.md b/docs/user/widgets/queue/queue.md
deleted file mode 100644
index 340f8044..00000000
--- a/docs/user/widgets/queue/queue.md
+++ /dev/null
@@ -1,46 +0,0 @@
-(user.widgets.bec_queue)=
-
-# BEC Queue Widget
-
-````{tab} Overview
-
-The `BECQueue` widget provides a real-time display and control of the BEC scan queue, allowing users to monitor, manage, and control the status of ongoing and pending scans. The widget automatically updates to reflect the current state of the scan queue, displaying critical information such as scan numbers, types, and statuses. Additionally, it provides control options to stop individual scans, stop the entire queue, resume, and reset the queue, making it a powerful tool for managing scan operations in the BEC environment.
-
-## Key Features:
-- **Real-Time Queue Monitoring**: Displays the current state of the BEC scan queue, with automatic updates as the queue changes.
-- **Detailed Scan Information**: Provides a clear view of scan numbers, types, and statuses, helping users track the progress and state of each scan.
-- **Queue Control**: Allows users to stop specific scans, stop the entire queue, resume paused scans, and reset the queue.
-- **Interactive Table Layout**: The queue is presented in a table format, with customizable columns that stretch to fit the available space.
-- **Flexible Integration**: The widget can be integrated into both [`BECDockArea`](user.widgets.bec_dock_area) and used as an individual component in your application through `BEC Designer`.
-
-````
-
-````{tab} Examples
-
-The `BEC Queue Widget` can be embedded within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BEC Designer`. Below are examples demonstrating how to create and use the `BEC Queue Widget`.
-
-## Example 1 - Adding BEC Queue Widget to BECDockArea
-
-In this example, we demonstrate how to add a `BECQueue` widget to a `BECDockArea`, allowing users to monitor the BEC scan queue directly from the GUI.
-
-```python
-# Add a new dock with a BECQueue widget
-dock_area = gui.new()
-dock_area.new("queue").new(gui.available_widgets.BECQueue)
-queue = dock_area.queue.BECQueue
-```
-
-```{hint}
-The `BECQueue` widget automatically updates as the scan queue changes, providing real-time feedback on the status of each scan.
-Once the widget is added, it will automatically display the current scan queue
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.BECQueue
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/scan_control/hide_scan_control.png b/docs/user/widgets/scan_control/hide_scan_control.png
deleted file mode 100644
index a6c83bb0..00000000
Binary files a/docs/user/widgets/scan_control/hide_scan_control.png and /dev/null differ
diff --git a/docs/user/widgets/scan_control/scan_control.gif b/docs/user/widgets/scan_control/scan_control.gif
deleted file mode 100644
index 449b4d92..00000000
Binary files a/docs/user/widgets/scan_control/scan_control.gif and /dev/null differ
diff --git a/docs/user/widgets/scan_control/scan_control.md b/docs/user/widgets/scan_control/scan_control.md
deleted file mode 100644
index c72f787e..00000000
--- a/docs/user/widgets/scan_control/scan_control.md
+++ /dev/null
@@ -1,66 +0,0 @@
-(user.widgets.scan_control)=
-
-# Scan Control Widget
-
-````{tab} Overview
-
-The `ScanControl` widget provides a graphical user interface (GUI) to manage various scan operations in a BEC environment. It is designed to interact with the BEC server, enabling users to start and stop scans. The widget automatically creates the necessary input form based on the scan's signature and gui_config, making it highly adaptable to different scanning processes.
-
-## Key Features:
-- **Automatic Interface Generation**: Automatically generates a control interface based on scan signatures and `gui_config`.
-- **Dynamic Argument Bundling**: Supports the dynamic addition and removal of argument bundles such as positioner controls.
-- **Visual Parameter Grouping**: Provides a visual representation of scan parameters, grouped by their functionality.
-- **Integrated Scan Controls**: Includes start and stop controls for managing scan execution.
-- **Persistent Scan Parameters**: Remembers scan parameters when switching between scans. If you configure scan 1 and switch to scan 2, scan 2 will inherit the same parameters if it has never been selected before.
-- **Toggle to Reload Parameters from Last Executed Scan**: Includes a toggle to load scan parameters from the last executed scan from the BEC server, ensuring the user can quickly revert to previous configurations.
-
-```{note}
-By default, this widget supports scans that are derived from the following base classes and have a defined `gui_config`:
-- [ScanBase](https://beamline-experiment-control.readthedocs.io/en/latest/api_reference/_autosummary/bec_server.scan_server.scans.ScanBase.html)
-- [SyncFlyScanBase](https://beamline-experiment-control.readthedocs.io/en/latest/api_reference/_autosummary/bec_server.scan_server.scans.SyncFlyScanBase.html)
-- [AsyncFlyScanBase](https://beamline-experiment-control.readthedocs.io/en/latest/api_reference/_autosummary/bec_server.scan_server.scans.AsyncFlyScanBase.html)
-```
-
-```{hint}
-The full procedure how to design `gui_config` for your custom scan class is described in the [Scan GUI Configuration](https://bec.readthedocs.io/en/latest/developer/scans/tutorials/scan_gui_config.html) tutorial.
-```
-
-## BEC Designer Customization
-Within the BEC Designer's [property editor](https://doc.qt.io/qt-6/designer-widget-mode.html#the-property-editor/), the `ScanControl` widget can be customized to suit your application's requirements. The widget provides the following customization options:
-- **Hide Scan Control**: Allows you to hide the scan control buttons from the widget interface. This is useful when you want to place the control buttons in a different location.
-- **Hide Scan Selection**: Allows you to hide the scan selection combobox from the widget interface. This is useful when you want to restrict the user to a specific scan type or implement a custom scan selection mechanism.
-- **Hide Scan Remember Toggle**: Allows you to hide the toggle button that reloads scan parameters from the last executed scan. This is useful if you want to disable or restrict this functionality in specific scenarios.
-- **Hide Bundle Buttons**: Allows you to hide the buttons that add or remove argument bundles from the widget interface. This is useful when you want to restrict the user from adding additional motor bundles to the scan by accident.
-
-**BEC Designer properties:**
-```{figure} ./hide_scan_control.png
-```
-
-**Example of usage:**
-```{figure} ./scan_control.gif
-```
-
-````
-
-````{tab} Examples
-
-The `ScanControl` widget can be integrated within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BEC Designer`. Below are examples demonstrating how to create and use the `ScanControl` widget.
-
-## Example 1 - Adding Scan Control Widget to BECDockArea
-
-In this example, we demonstrate how to add a `ScanControl` widget to a `BECDockArea`, enabling the user to control scan operations directly from the GUI.
-
-```python
-# Add a new dock with a ScanControl widget
-dock_area = gui.new()
-scan_control = dock_area.new().new(gui.available_widgets.ScanControl)
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.ScanControl
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/scatter_waveform/scatter_2D.gif b/docs/user/widgets/scatter_waveform/scatter_2D.gif
deleted file mode 100644
index 2bd0a8e5..00000000
Binary files a/docs/user/widgets/scatter_waveform/scatter_2D.gif and /dev/null differ
diff --git a/docs/user/widgets/scatter_waveform/scatter_waveform.md b/docs/user/widgets/scatter_waveform/scatter_waveform.md
deleted file mode 100644
index 10426cda..00000000
--- a/docs/user/widgets/scatter_waveform/scatter_waveform.md
+++ /dev/null
@@ -1,41 +0,0 @@
-(user.widgets.scatter_waveform_widget)=
-
-# Scatter Waveform Widget
-
-````{tab} Overview
-The 2D scatter plot widget is designed for more complex data visualization. It employs a false color map to represent a third dimension (z-axis), making it an ideal tool for visualizing multidimensional data sets.
-
-## Key Features:
-- **Real-Time Data Visualization**: Display 2D scatter plots with a third dimension represented by color.
-- **Flexible Integration**: Can be integrated into [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-
-````
-
-````{tab} Examples - CLI
-
-`ScatterWaveform` widget can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. The command-line API is consistent across these contexts.
-
-## Example
-
-```python
-# Add a new dock_area, a new dock and a BECWaveForm to the dock
-plt = gui.new().new().new(gui.available_widgets.ScatterWaveform)
-plt.plot(device_x='samx', device_y='samy', device_z='bpm4i')
-
-```
-
-
-
-
-```{note}
-The ScatterWaveform widget only plots the data points if both x and y axis motors are moving. Or more generally, if all signals are of readout type *monitored*.
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.ScatterWaveform
- :members:
- :show-inheritance:
-```
-````
diff --git a/docs/user/widgets/signal_input/signal_input.md b/docs/user/widgets/signal_input/signal_input.md
deleted file mode 100644
index 0f8c4734..00000000
--- a/docs/user/widgets/signal_input/signal_input.md
+++ /dev/null
@@ -1,109 +0,0 @@
-(user.widgets.signal_input)=
-
-# Signal Input Widgets
-
-````{tab} Overview
-The `Signal Input Widgets` consist of two primary widgets: `SignalLineEdit` and `SignalComboBox`. Both widgets are designed to facilitate the selection of the available signals for a selected device within the current BEC session. These widgets allow users to filter, search, and select signals dynamically. The widgets can either be integrated into a GUI through direct code instantiation or by using `BEC Designer`.
-
-## SignalLineEdit
-The `SignalLineEdit` widget provides a line edit interface with autocomplete functionality for the available of signals associated with the selected device. This widget is ideal for users who prefer to type in the signal name directly. If no device is selected, the autocomplete will be empty. In addition, the widget will display a red border around the line edit if the input signal is invalid.
-
-## SignalComboBox
-The `SignalComboBox` widget offers a dropdown interface for choosing a signal from the available signals of a device. It will further categorise the signals according to its `kind`: `hinted`, `normal` and `config`. For more information about `kind`, please check the [ophyd documentation](https://nsls-ii.github.io/ophyd/signals.html#kind). This widget is ideal for users who prefer to select signals from a list.
-
-## Key Features:
-- **Signal Filtering**: Both widgets allow users to filter devices by signal types(`kind`). No selected filter will show all signals.
-- **Real-Time Autocomplete (LineEdit)**: The `SignalLineEdit` widget supports real-time autocomplete, helping users find devices faster.
-- **Real-Time Input Validation (LineEdit)**: User input is validated in real-time with a red border around the `SignalLineEdit` indicating an invalid input.
-- **Dropdown Selection (SignalComboBox)**: The `SignalComboBox` widget displays the sorted signals of the device
-- **BEC Designer Integration**: Both widgets can be added as custom widgets in `BEC Designer` or instantiated directly in code.
-
-## Screenshot
-
-```{figure} /assets/widget_screenshots/signal_inputs.png
-```
-
-````
-
-````{tab} Examples
-
-Both `SignalLineEdit` and `SignalComboBox` can be integrated within a GUI application through direct code instantiation or by using `BEC Designer`. Below are examples demonstrating how to create and use these widgets.
-
-
-## Example 1 - Creating a SignalLineEdit in Code
-
-In this example, we demonstrate how to create a `SignalLineEdit` widget in code and customize its behavior.
-We will select `samx`, which is a motor in the BEC simulation device config, and filter the signals to `normal` and `hinted`.
-Note, not specifying signal_filter will include all signals.
-
-```python
-from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
-from bec_widgets.widgets.control.device_input.signal_line_edit.signal_line_edit import SignalLineEdit
-from ophyd import Kind
-
-class MyGui(QWidget):
- def __init__(self):
- super().__init__()
- self.setLayout(QVBoxLayout(self)) # Initialize the layout for the widget
- # Create and add the SignalLineEdit to the layout
- self.signal_line_edit = SignalLineEdit(device="samx", signal_filter=[Kind.normal, Kind.hinted])
- self.layout().addWidget(self.signal_line_edit)
-
-# Example of how this custom GUI might be used:
-app = QApplication([])
-my_gui = MyGui()
-my_gui.show()
-app.exec_()
-```
-
-## Example 2 - Creating a SignalComboBox in Code
-
-A
-
-```python
-from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
-from bec_widgets.widgets.control.device_input.signal_combobox.signal_combobox import SignalComboBox
-from ophyd import Kind
-
-class MyGui(QWidget):
- def __init__(self):
- super().__init__()
- self.setLayout(QVBoxLayout(self)) # Initialize the layout for the widget
- # Create and add the SignalComboBox to the layout
- self.signal_combobox = SignalComboBox(device="samx", signal_filter=[Kind.normal, Kind.hinted])
- self.layout().addWidget(self.signal_combobox)
-
-# Example of how this custom GUI might be used:
-app = QApplication([])
-my_gui = MyGui()
-my_gui.show()
-app.exec_()
-```
-
-## Example 3 - Setting Default Device
-
-Both `SignalLineEdit` and `SignalComboBox` allow you to set a default device that will be selected when the widget is initialized.
-
-```python
-# Set default device for DeviceLineEdit
-self.signal_line_edit.set_device("motor1")
-
-# Set default device for DeviceComboBox
-self.signal_combobox.set_device("motor2")
-```
-````
-````{tab} BEC Designer
-Both widgets are also available as plugins for the BEC Designer. We have included Qt properties for both widgets, allowing customization of filtering and default device settings directly from the designer. In addition to the common signals and slots for `SignalLineEdit` and `SignalComboBox`, the following slots are available:
-- `set_device(str)` to set the default device
-- `set_signal(str)` to set the default signal
-- `update_signals_from_filters()` to refresh the devices list based on the current filters
-
-The following Qt properties are also included:
-```{figure} ./signal_input_qproperties.png
-```
-
-````
-
-
-
-
diff --git a/docs/user/widgets/signal_input/signal_input_qproperties.png b/docs/user/widgets/signal_input/signal_input_qproperties.png
deleted file mode 100644
index ae86d8e7..00000000
Binary files a/docs/user/widgets/signal_input/signal_input_qproperties.png and /dev/null differ
diff --git a/docs/user/widgets/signal_label/designer_screenshot.png b/docs/user/widgets/signal_label/designer_screenshot.png
deleted file mode 100644
index b9119ee0..00000000
Binary files a/docs/user/widgets/signal_label/designer_screenshot.png and /dev/null differ
diff --git a/docs/user/widgets/signal_label/signal_label.md b/docs/user/widgets/signal_label/signal_label.md
deleted file mode 100644
index 9117c9be..00000000
--- a/docs/user/widgets/signal_label/signal_label.md
+++ /dev/null
@@ -1,104 +0,0 @@
-(user.widgets.signal_label)=
-
-# Signal Label widget
-
-````{tab} Overview
-
-The `SignalLabel` displays the value of a signal from a device, with optional customization for labels, units, decimal formatting, and signal selection. It is designed for use in BEC (Beamline Experiment Control) GUIs to monitor values which beamline operators might want to keep an eye on, e.g. sample position, flux, hutch state...
-
-## Key Features:
-- Display: Shows the current value of a device signal.
-- Custom Label/Units: Optionally override the default label and units.
-- Decimal Formatting: Control the number of decimal places shown.
-- Signal Selection: (Optional) Button to open a dialog for selecting a device and signal.
-- Live Updates: Subscribes to device updates and refreshes the display automatically.
-
-
-````
-
-````{tab} Examples - python
-
-The `SignalLabel` widget can be used inside another widget to build an overall GUI display. For example, to create a display
-for the sample position like this:
-
-
-```{figure} ./test_screenshot.png
-```
-
-You can simply add three of these signal displays as done here:
-
-```python
-import sys
-
-from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
-
-from bec_widgets.utils.bec_widget import BECWidget
-from bec_widgets.widgets.utility.signal_label.signal_label import SignalLabel
-
-
-class SamplePositionWidget(BECWidget, QWidget):
- def __init__(self, parent=None):
- super().__init__(parent=parent)
- self.setLayout(QVBoxLayout())
- self.samx_readback = SignalLabel(
- device="samx",
- signal="readback",
- custom_label="Sample X:",
- custom_units="mm",
- show_select_button=False,
- show_default_units=False,
- )
- self.samy_readback = SignalLabel(
- device="samy",
- signal="readback",
- custom_label="Sample Y:",
- custom_units="mm",
- show_select_button=False,
- show_default_units=False,
- )
- self.samz_readback = SignalLabel(
- device="samz",
- signal="readback",
- custom_label="Sample Z:",
- custom_units="mm",
- show_select_button=False,
- show_default_units=False,
- )
- self.layout().addWidget(self.samx_readback)
- self.layout().addWidget(self.samy_readback)
- self.layout().addWidget(self.samz_readback)
-
-
-if __name__ == "__main__":
- app = QApplication()
- w = SamplePositionWidget()
- w.show()
- sys.exit(app.exec_())
-
-```
-
-````
-
-````{tab} Examples - BEC designer
-The various properties can also be set when the SignalLabel widget is added to a UI in BEC designer:
-
-```{figure} ./designer_screenshot.png
-```
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.TextBox
- :members:
- :show-inheritance:
-```
-````
-
-
-
-
-
-
-
-
-
diff --git a/docs/user/widgets/signal_label/test_screenshot.png b/docs/user/widgets/signal_label/test_screenshot.png
deleted file mode 100644
index b96e48d7..00000000
Binary files a/docs/user/widgets/signal_label/test_screenshot.png and /dev/null differ
diff --git a/docs/user/widgets/spinner/spinner.md b/docs/user/widgets/spinner/spinner.md
deleted file mode 100644
index e4d4209f..00000000
--- a/docs/user/widgets/spinner/spinner.md
+++ /dev/null
@@ -1,68 +0,0 @@
-(user.widgets.spinner)=
-
-# Spinner Widget
-
-````{tab} Overview
-
-The `SpinnerWidget` is a simple and versatile widget designed to indicate loading or movement within an application. It is commonly used to show that a device is in motion or that an operation is ongoing. The `SpinnerWidget` can be easily integrated into your GUI application either through direct code instantiation or by using `BEC Designer`.
-
-## Key Features:
-- **Loading Indicator**: Provides a visual indication of ongoing operations or device movement.
-- **Smooth Animation**: Features a smooth, continuous spinning animation to catch the user's attention.
-- **Easy Integration**: Can be added directly in code or through `BEC Designer`, making it adaptable to various use cases.
-- **Customizable Appearance**: Automatically adapts to the application's theme, ensuring visual consistency.
-
-````
-
-````{tab} Examples
-
-The `SpinnerWidget` can be embedded within a GUI application through direct code instantiation or by using `BEC Designer`. Below are examples demonstrating how to create and use the `SpinnerWidget`.
-
-## Example 1 - Creating a Spinner Widget in Code
-
-In this example, we demonstrate how to create a `SpinnerWidget` in code and start the spinner to indicate an ongoing operation.
-
-```python
-from qtpy.QtWidgets import QApplication, QMainWindow
-from bec_widgets.widgets.utility.spinner.spinner import SpinnerWidget
-
-app = QApplication([])
-
-# Create a main window
-window = QMainWindow()
-
-# Create a SpinnerWidget instance
-spinner = SpinnerWidget()
-
-# Start the spinner
-spinner.start()
-
-# Set the spinner as the central widget
-window.setCentralWidget(spinner)
-window.show()
-
-app.exec_()
-```
-
-## Example 2 - Stopping the Spinner
-
-You can stop the spinner to indicate that an operation has completed.
-
-```python
-# Stop the spinner
-spinner.stop()
-```
-
-## Example 3 - Integrating the Spinner Widget in BEC Designer
-
-The `SpinnerWidget` can be added to your GUI layout using `BEC Designer`. Once added, you can assign the spinner to an attribute of your application, and then control the spinner using the `start` and `stop` methods, similar to the code examples above.
-
-```python
-# Example: Start the spinner in a BEC Designer-based application
-self.spinner_widget.start()
-
-# Example: Stop the spinner in a BEC Designer-based application
-self.spinner_widget.stop()
-```
-
-````
\ No newline at end of file
diff --git a/docs/user/widgets/text_box/text_box.md b/docs/user/widgets/text_box/text_box.md
deleted file mode 100644
index 5e7b5573..00000000
--- a/docs/user/widgets/text_box/text_box.md
+++ /dev/null
@@ -1,61 +0,0 @@
-(user.widgets.text_box)=
-
-# Text Box Widget
-
-````{tab} Overview
-
-The {py:class}`~bec_widgets.cli.client.TextBox` is a versatile widget that allows users to display text within the BEC GUI. It supports both plain text and HTML, making it useful for displaying simple messages or more complex formatted content. This widget is particularly suited for integrating textual content directly into the user interface, whether as a standalone message box or as part of a larger application interface.
-
-## Key Features:
-- **Text Display**: Display either plain text or HTML content, with automatic detection of the format.
-- **Automatic styling**: The widget automatically adheres to BEC's style guides. No need to worry about background colors, font sizes, or other appearance settings.
-
-## BEC Designer Properties
-```{figure} ../../../assets/widget_screenshots/text_box_properties.png
-```
-
-````
-
-````{tab} Examples - CLI
-
-The `TextBox` widget can be integrated within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BEC Designer`. The following examples demonstrate how to create and customize the `TextBox` widget in various scenarios.
-
-## Example 1 - Adding Text Box Widget to BECDockArea
-
-In this example, we demonstrate how to add a `TextBox` widget to a `BECDockArea` and set the text to be displayed.
-
-```python
-# Add a new dock with a TextBox widget
-text_box = gui.bec.new().new(widget=gui.available_widgets.TextBox)
-
-# Set the text to display
-text_box.set_plain_text("Hello, World!")
-```
-
-## Example 2 - Displaying HTML Content
-
-The `TextBox` widget can also render HTML content. This example shows how to display formatted HTML text.
-
-```python
-# Set the text to display as HTML
-text_box.set_html_text("Welcome to BEC Widgets
This is an example of displaying HTML text.
")
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.TextBox
- :members:
- :show-inheritance:
-```
-````
-
-
-
-
-
-
-
-
-
diff --git a/docs/user/widgets/toggle/toggle.md b/docs/user/widgets/toggle/toggle.md
deleted file mode 100644
index dd074f22..00000000
--- a/docs/user/widgets/toggle/toggle.md
+++ /dev/null
@@ -1,66 +0,0 @@
-(user.widgets.toggle)=
-
-# Toggle Switch Widget
-
-````{tab} Overview
-
-The {py:class}`~bec_widgets.cli.client.ToggleSwitch` widget provides a simple, customizable toggle switch that can be used to represent binary states (e.g., on/off, true/false) within a GUI. This widget is designed to be used directly in code or added through `BEC Designer`, making it versatile for various applications where a user-friendly switch is needed.
-
-## Key Features:
-- **Binary State Representation**: Represents a simple on/off state with a smooth toggle animation.
-- **Customizable Appearance**: Allows customization of track and thumb colors for both active and inactive states.
-- **Smooth Animation**: Includes a smooth animation when toggling between states, enhancing user interaction.
-- **BEC Designer Integration**: Can be added directly through `BEC Designer` or instantiated in code.
-
-````
-
-````{tab} Examples
-
-The `Toggle Switch` widget can be integrated within a GUI application either through direct code instantiation or by using `BEC Designer`. Below are examples demonstrating how to create and customize the `Toggle Switch` widget.
-
-## Example 1 - Creating a Toggle Switch in Code
-
-In this example, we demonstrate how to create a `ToggleSwitch` widget in code and customize its appearance.
-
-```python
-from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
-from bec_widgets.widgets.toggle_switch import ToggleSwitch
-
-class MyGui(QWidget):
- def __init__(self, parent=None):
- super().__init__(parent=parent)
- self.setLayout(QVBoxLayout(self)) # Initialize the layout for the widget
-
- # Create and add the ToggleSwitch to the layout
- self.toggle_switch = ToggleSwitch(parent=self)
- self.layout().addWidget(self.toggle_switch)
-
-# Example of how this custom GUI might be used:
-app = QApplication([])
-my_gui = MyGui()
-my_gui.show()
-app.exec_()
-```
-
-## Example 2 - Customizing the Toggle Switch Appearance
-
-The `ToggleSwitch` widget allows you to customize its appearance by changing the track and thumb colors for both active and inactive states. Below is an example of how to set these properties.
-
-```python
-# Set the active and inactive track and thumb colors
-self.toggle_switch.active_track_color = QColor(0, 122, 204) # Active state track color (blue)
-self.toggle_switch.inactive_track_color = QColor(200, 200, 200) # Inactive state track color (grey)
-self.toggle_switch.active_thumb_color = QColor(255, 255, 255) # Active state thumb color (white)
-self.toggle_switch.inactive_thumb_color = QColor(255, 255, 255) # Inactive state thumb color (white)
-```
-
-## Example 3 - Integrating the Toggle Switch in BEC Designer
-
-The `ToggleSwitch` can be added as a custom widget in `BEC Designer`. Once integrated, you can configure its properties through the designer's property editor. After adding the widget to a form in BEC Designer, you can manipulate it in your PyQt/PySide application:
-
-```python
-# For instance:
-self.toggle_switch.setChecked(True)
-```
-
-````
\ No newline at end of file
diff --git a/docs/user/widgets/waveform/bec_figure_dap.gif b/docs/user/widgets/waveform/bec_figure_dap.gif
deleted file mode 100644
index 3905b0a1..00000000
Binary files a/docs/user/widgets/waveform/bec_figure_dap.gif and /dev/null differ
diff --git a/docs/user/widgets/waveform/w1D.gif b/docs/user/widgets/waveform/w1D.gif
deleted file mode 100644
index 247d2b99..00000000
Binary files a/docs/user/widgets/waveform/w1D.gif and /dev/null differ
diff --git a/docs/user/widgets/waveform/waveform_widget.md b/docs/user/widgets/waveform/waveform_widget.md
deleted file mode 100644
index c1d68e96..00000000
--- a/docs/user/widgets/waveform/waveform_widget.md
+++ /dev/null
@@ -1,108 +0,0 @@
-(user.widgets.waveform_widget)=
-
-# Waveform Widget
-
-````{tab} Overview
-
-The Waveform Widget is used to display 1D detector signals. The widget is directly integrated with the `BEC` framework and can display real-time data from detectors loaded in the current `BEC` session as well as custom data from users.
-
-## Key Features:
-- **Flexible Integration**: The widget can be integrated into [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`.
-- **Data Visualization**: Real-time plotting of positioner versus detector values from the BEC session, as well as static plotting of custom data.
-- **Real-time Data Processing**: Add real-time Data Processing Pipeline (DAP) to the real-time acquisition.
-- **Data Export**: Export data to CSV, H5, and other formats.
-- **Customizable Visual Elements**: Customize visual elements such as line color and style.
-- **Interactive Controls**: Interactive controls for zooming and panning through the data.
-
-
-````
-
-````{tab} Examples - CLI
-
-`WaveformWidget` can be embedded in [`BECDockArea`](user.widgets.bec_dock_area), or used as an individual component in your application through `BEC Designer`. However, the command-line API is the same for all cases.
-
-## Example 1 - Adding Waveform Widget as a dock with BECDockArea
-
-Adding `Waveform` into a [`BECDockArea`](user.widgets.bec_dock_area) is similar to adding any other widget.
-
-```python
-# Add new WaveformWidgets to the BECDockArea
-dock_area = gui.new('my_new_dock_area') # Create a new dock area
-plt1 = dock_area.new().new('Waveform')
-plt2 = gui.my_new_dock_area.new().new(gui.available_widgets.Waveform) # as an alternative example via dynamic name space
-
-# Add signals to the WaveformWidget
-plt1.plot(device_x='samx', device_y='bpm4i')
-plt2.plot(device_x='samx', device_y='bpm3i')
-
-# set axis labels
-plt1.title = "Gauss plots vs. samx"
-plt1.x_label = "Motor X"
-plt1.y_label = "Gauss Signal (A.U.)"
-
-```
-
-```{note}
-The return value of the simulated devices *bpm4i* and *bpm3i* may not be Gaussian signals, but they can be easily configured with the code snippet below. For more details, please check the documentation for the [simulation](https://bec.readthedocs.io/en/latest/developer/devices/bec_sim.html).
-```
-
-```python
-# bpm4i uses GaussianModel and samx as a reference; default settings
-dev.bpm4i.sim.select_sim_model("GaussianModel")
-
-# bpm3i uses StepModel and samx as a reference; default settings
-dev.bpm3i.sim.select_sim_model("StepModel")
-```
-## Example 2- Adding Data Processing Pipeline Curve with LMFit Models
-
-In addition to the scan curve, you can also add a second curve that fits the signal using a specified model from [LMFit](https://lmfit.github.io/lmfit-py/builtin_models.html). The following code snippet demonstrates how to create a 1D waveform curve with an attached DAP process, or how to add a DAP process to an existing curve using the BEC CLI. Please note that for this example, both devices were set as Gaussian signals. You can also add a region of interest (roi) to the plot which will respected by all running DAP processes.
-
-```python
-# Add a new dock_area, dock and Waveform and plot bpm4i vs samx with a GaussianModel DAP
-plt = gui.new().new().new('Waveform')
-plt.plot(device_x='samx', device_y='bpm4i', dap="GaussianModel")
-
-# Add a second curve to the same plot without DAP
-plt.plot(device_x='samx', device_y='bpm3a')
-
-# Add DAP to the second curve
-plt.add_dap_curve(device_label='bpm3a-bpm3a', dap_name='GaussianModel')
-
-# Add ROI to the plot, this limits the DAP fit to the selected region x_min=-1, x_max=1
-# The fit will automatically update
-plt.select_roi(region=(-1, 1))
-
-```
-
-To get the parameters of the fit, you need to retrieve the curve objects and call the `dap_params` property.
-
-```python
-# Get the curve object by name from the legend
-dap_bpm4i = plt.get_curve("bpm4i-bpm4i-GaussianModel")
-dap_bpm3a = plt.get_curve("bpm3a-bpm3a-GaussianModel")
-
-# Get the parameters of the fit
-print(dap_bpm4i.dap_params)
-# Output
-{'amplitude': 197.399639720862,
- 'center': 5.013486095404885,
- 'sigma': 0.9820868875739888}
-
-print(dap_bpm3a.dap_params)
-# Output
-{'amplitude': 698.3072786185278,
- 'center': 0.9702840866173836,
- 'sigma': 1.97139754785518}
-```
-
-
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.Waveform
- :members:
- :show-inheritance:
-```
-````
\ No newline at end of file
diff --git a/docs/user/widgets/website/website.md b/docs/user/widgets/website/website.md
deleted file mode 100644
index 25ca4322..00000000
--- a/docs/user/widgets/website/website.md
+++ /dev/null
@@ -1,73 +0,0 @@
-(user.widgets.website)=
-
-# Website Widget
-
-````{tab} Overview
-
-The {py:class}`~bec_widgets.cli.client.WebsiteWidget` is a versatile tool that allows users to display websites directly within the BEC GUI. This widget is useful for embedding documentation, dashboards, or any web-based tools within the application interface. It is designed to be integrated within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BEC Designer`.
-
-## Key Features:
-- **URL Display**: Set and display any website URL within the widget.
-- **Navigation Controls**: Navigate through the website’s history with back and forward controls.
-- **Reload Functionality**: Reload the currently displayed website to ensure up-to-date content.
-
-````
-
-````{tab} Examples - CLI
-
-The `WebsiteWidget` can be embedded within a [`BECDockArea`](user.widgets.bec_dock_area) or used as an individual component in your application through `BEC Designer`. The following examples demonstrate how to create and use the `WebsiteWidget` in different scenarios.
-
-## Example 1 - Adding Website Widget to BECDockArea
-
-In this example, we demonstrate how to add a `WebsiteWidget` to a `BECDockArea` and set the URL of the website to be displayed.
-
-```python
-# Add a new dock with a WebsiteWidget
-dock_area = gui.new()
-web = dock_area.new().new(gui.available_widgets.WebsiteWidget)
-
-# Set the URL of the website to display
-web.set_url("https://bec.readthedocs.io/en/latest/")
-```
-
-## Example 2 - Navigating within the Website Widget
-
-The `WebsiteWidget` allows users to navigate back and forward through the website’s history. This example shows how to implement these navigation controls.
-If you click on a link in the website, you can use the back and forward buttons to navigate through the history.
-
-```python
-# Go back in the website history
-web.back()
-
-# Go forward in the website history
-web.forward()
-```
-
-## Example 3 - Reloading the Website
-
-To ensure that the displayed website content is up-to-date, you can use the reload functionality.
-
-```python
-# Reload the current website
-web.reload()
-```
-
-## Example 4 - Retrieving the Current URL
-
-You may want to retrieve the current URL being displayed in the `WebsiteWidget`. The following example demonstrates how to access the current URL.
-
-```python
-# Get the current URL of the WebsiteWidget
-current_url = web.get_url()
-print(f"The current URL is: {current_url}")
-```
-
-````
-
-````{tab} API
-```{eval-rst}
-.. autoclass:: bec_widgets.cli.client.WebsiteWidget
- :members:
- :show-inheritance:
-```
-````
diff --git a/docs/user/widgets/widgets.md b/docs/user/widgets/widgets.md
deleted file mode 100644
index 8f16f711..00000000
--- a/docs/user/widgets/widgets.md
+++ /dev/null
@@ -1,321 +0,0 @@
-(user.widgets)=
-# Widgets
-
-BEC Widgets offers a range of tools designed to make data visualization in beamline experiments easier and more
-interactive. These widgets help users better understand their data by providing clear, intuitive displays that enhance
-the overall experience.
-
-## Widget Containers
-
-Serves as containers to organise and display other widgets.
-
-````{grid} 3
-:gutter: 2
-
-```{grid-item-card} BEC Dock Area
-:link: user.widgets.bec_dock_area
-:link-type: ref
-:img-top: /assets/widget_screenshots/dock_area.png
-
-Quickly build dynamic GUI.
-
-```
-````
-
-## Plotting Widgets
-
-Plotting widgets are used to display data in a graphical format.
-
-````{grid} 3
-:gutter: 2
-
-```{grid-item-card} Waveform Widget
-:link: user.widgets.waveform_widget
-:link-type: ref
-:img-top: /assets/widget_screenshots/waveform_widget.png
-
-Display 1D detector signals.
-```
-
-```{grid-item-card} Multi Waveform Widget
-:link: user.widgets.multi_waveform_widget
-:link-type: ref
-:img-top: /assets/widget_screenshots/multi_waveform.png
-
-Display multiple 1D waveforms.
-```
-
-```{grid-item-card} Scatter Waveform Widget
-:link: user.widgets.scatter_waveform_widget
-:link-type: ref
-:img-top: /assets/widget_screenshots/scatter_waveform.png
-
-Display a 1D waveforms with a third device on the z-axis.
-```
-
-```{grid-item-card} Image Widget
-:link: user.widgets.image_widget
-:link-type: ref
-:img-top: /assets/widget_screenshots/image_widget.png
-
-Display signal from 2D detector.
-```
-
-```{grid-item-card} Heatmap Widget
-:link: user.widgets.heatmap_widget
-:link-type: ref
-:img-top: /assets/widget_screenshots/heatmap_widget.png
-
-Display 2D grid data with color mapping.
-```
-
-```{grid-item-card} Motor Map Widget
-:link: user.widgets.motor_map
-:link-type: ref
-:img-top: /assets/widget_screenshots/motor_map_widget.png
-
-Track position for motors.
-```
-
-````
-
-## Device Control Widgets
-
-Control and monitor devices/scan in the BEC environment.
-
-````{grid} 3
-:gutter: 2
-
-```{grid-item-card} Scan Control Widget
-:link: user.widgets.scan_control
-:link-type: ref
-:img-top: /assets/widget_screenshots/scan_controller.png
-
-Launch scans.
-```
-
-```{grid-item-card} Device Browser
-:link: user.widgets.device_browser
-:link-type: ref
-:img-top: /assets/widget_screenshots/device_browser.png
-
-Find and drag devices.
-```
-
-```{grid-item-card} Positioner Box
-:link: user.widgets.positioner_box
-:link-type: ref
-:img-top: /assets/widget_screenshots/device_box.png
-
-Control individual device.
-```
-
-```{grid-item-card} Positioner Box 2D
-:link: user.widgets.positioner_box_2d
-:link-type: ref
-:img-top: /assets/widget_screenshots/positioner_box_2d.png
-
-Control two individual devices on perpendicular axes.
-```
-
-```{grid-item-card} Ring Progress Bar
-:link: user.widgets.ring_progress_bar
-:link-type: ref
-:img-top: /assets/widget_screenshots/ring_progress_bar.png
-
-Nested progress bar.
-```
-
-````
-
-## BEC Service Widgets
-
-Visualise the status of BEC services.
-
-````{grid} 3
-:gutter: 2
-
-```{grid-item-card} BEC Status Box
-:link: user.widgets.bec_status_box
-:link-type: ref
-:img-top: /assets/widget_screenshots/status_box.png
-
-Display status of BEC services.
-```
-
-```{grid-item-card} BEC Queue Table
-:link: user.widgets.bec_queue
-:link-type: ref
-:img-top: /assets/widget_screenshots/queue.png
-
-Display current scan queue.
-```
-````
-
-## BEC Utility Widgets
-
-Various utility widgets to enhance user experience.
-
-````{grid} 3
-:gutter: 2
-
-```{grid-item-card} Buttons Appearance
-:link: user.widgets.buttons_appearance
-:link-type: ref
-:img-top: /assets/widget_screenshots/buttons.png
-
-Various buttons which manage the appearance of the BEC GUI.
-```
-
-```{grid-item-card} Buttons Queue
-:link: user.widgets.buttons_queue
-:link-type: ref
-:img-top: /assets/widget_screenshots/buttons_queue.png
-
-Various buttons which manage the control of the BEC Queue.
-```
-
-```{grid-item-card} Device Input Widgets
-:link: user.widgets.device_input
-:link-type: ref
-:img-top: /assets/widget_screenshots/device_inputs.png
-
-Choose individual device from current session.
-```
-
-```{grid-item-card} Signal Label
-:link: user.widgets.signal_label
-:link-type: ref
-:img-top: ./signal_label/test_screenshot.png
-
-Display the live value of a signal.
-```
-
-```{grid-item-card} Signal Input Widgets
-:link: user.widgets.signal_input
-:link-type: ref
-:img-top: /assets/widget_screenshots/signal_inputs.png
-
-Choose individual signals available for a selected device.
-```
-
-```{grid-item-card} Text Box Widget
-:link: user.widgets.text_box
-:link-type: ref
-:img-top: /assets/widget_screenshots/text_box.png
-
-Display custom text or HTML content.
-```
-
-```{grid-item-card} Website Widget
-:link: user.widgets.website
-:link-type: ref
-:img-top: /assets/widget_screenshots/website.png
-
-Display website content.
-```
-
-```{grid-item-card} Toggle Widget
-:link: user.widgets.toggle
-:link-type: ref
-:img-top: /assets/widget_screenshots/toggle.png
-
-Angular like toggle switch.
-```
-
-```{grid-item-card} Spinner
-:link: user.widgets.spinner
-:link-type: ref
-:img-top: /assets/widget_screenshots/spinner.gif
-
-Display spinner widget for loading or device movement.
-```
-
-```{grid-item-card} BEC Progressbar
-:link: user.widgets.bec_progressbar
-:link-type: ref
-:img-top: /assets/widget_screenshots/bec_progressbar.png
-
-Modern progress bar for BEC.
-```
-
-```{grid-item-card} Position Indicator
-:link: user.widgets.position_indicator
-:link-type: ref
-:img-top: /assets/widget_screenshots/position_indicator.png
-
-Display position of motor within its limits.
-```
-
-```{grid-item-card} LMFit Dialog
-:link: user.widgets.lmfit_dialog
-:link-type: ref
-:img-top: /assets/widget_screenshots/lmfit_dialog.png
-
-Display DAP summaries of LMFit models in a window.
-```
-
-```{grid-item-card} DAP ComboBox
-:link: user.widgets.dap_combo_box
-:link-type: ref
-:img-top: /assets/widget_screenshots/dap_combo_box.png
-
-Select DAP model from a list of DAP processes.
-```
-
-```{grid-item-card} Log panel widget
-:link: user.widgets.log_panel
-:link-type: ref
-:img-top: /user/widgets/log_panel/logpanel.png
-
-Show and filter logs from the BEC Redis server.
-```
-
-```{grid-item-card} PDF Viewer Widget
-:link: user.widgets.pdf_viewer_widget
-:link-type: ref
-:img-top: /assets/widget_screenshots/pdf_viewer.png
-
-Display and navigate PDF documents.
-```
-````
-
-```{toctree}
----
-maxdepth: 1
-hidden: true
----
-
-dock_area/bec_dock_area.md
-waveform/waveform_widget.md
-scatter_waveform/scatter_waveform.md
-multi_waveform/multi_waveform.md
-image/image_widget.md
-heatmap/heatmap_widget.md
-motor_map/motor_map.md
-scan_control/scan_control.md
-progress_bar/ring_progress_bar.md
-bec_status_box/bec_status_box.md
-queue/queue.md
-buttons_appearance/buttons_appearance.md
-buttons_queue/button_queue.md
-device_browser/device_browser.md
-positioner_box/positioner_box.md
-positioner_box/positioner_box_2d.md
-text_box/text_box.md
-website/website.md
-toggle/toggle.md
-spinner/spinner.md
-bec_progressbar/bec_progressbar.md
-device_input/device_input.md
-signal_input/signal_input.md
-position_indicator/position_indicator.md
-lmfit_dialog/lmfit_dialog.md
-dap_combo_box/dap_combo_box.md
-games/games.md
-log_panel/log_panel.md
-signal_label/signal_label.md
-pdf_viewer/pdf_viewer_widget.md
-
-
-```
\ No newline at end of file