mirror of
https://github.com/bec-project/bec_widgets.git
synced 2026-03-05 00:12:49 +01:00
3518 lines
78 KiB
Python
3518 lines
78 KiB
Python
# This file was automatically generated by generate_cli.py
|
|
# type: ignore
|
|
|
|
from __future__ import annotations
|
|
|
|
import enum
|
|
import inspect
|
|
from typing import Literal, Optional
|
|
|
|
from bec_lib.logger import bec_logger
|
|
|
|
from bec_widgets.cli.rpc.rpc_base import RPCBase, rpc_call
|
|
from bec_widgets.utils.bec_plugin_helper import get_all_plugin_widgets, get_plugin_client_module
|
|
|
|
logger = bec_logger.logger
|
|
|
|
# pylint: skip-file
|
|
|
|
|
|
class _WidgetsEnumType(str, enum.Enum):
|
|
"""Enum for the available widgets, to be generated programatically"""
|
|
|
|
...
|
|
|
|
|
|
_Widgets = {
|
|
"AbortButton": "AbortButton",
|
|
"BECDockArea": "BECDockArea",
|
|
"BECProgressBar": "BECProgressBar",
|
|
"BECQueue": "BECQueue",
|
|
"BECStatusBox": "BECStatusBox",
|
|
"DapComboBox": "DapComboBox",
|
|
"DarkModeButton": "DarkModeButton",
|
|
"DeviceBrowser": "DeviceBrowser",
|
|
"DeviceComboBox": "DeviceComboBox",
|
|
"DeviceLineEdit": "DeviceLineEdit",
|
|
"Image": "Image",
|
|
"LogPanel": "LogPanel",
|
|
"Minesweeper": "Minesweeper",
|
|
"MotorMap": "MotorMap",
|
|
"MultiWaveform": "MultiWaveform",
|
|
"PositionIndicator": "PositionIndicator",
|
|
"PositionerBox": "PositionerBox",
|
|
"PositionerBox2D": "PositionerBox2D",
|
|
"PositionerControlLine": "PositionerControlLine",
|
|
"ResetButton": "ResetButton",
|
|
"ResumeButton": "ResumeButton",
|
|
"RingProgressBar": "RingProgressBar",
|
|
"ScanControl": "ScanControl",
|
|
"ScatterWaveform": "ScatterWaveform",
|
|
"StopButton": "StopButton",
|
|
"TextBox": "TextBox",
|
|
"VSCodeEditor": "VSCodeEditor",
|
|
"Waveform": "Waveform",
|
|
"WebsiteWidget": "WebsiteWidget",
|
|
}
|
|
|
|
|
|
_plugin_widgets = get_all_plugin_widgets()
|
|
plugin_client = get_plugin_client_module()
|
|
Widgets = _WidgetsEnumType("Widgets", {name: name for name in _plugin_widgets} | _Widgets)
|
|
|
|
if (_overlap := _Widgets.keys() & _plugin_widgets.keys()) != set():
|
|
for _widget in _overlap:
|
|
logger.warning(
|
|
f"Detected duplicate widget {_widget} in plugin repo file: {inspect.getfile(_plugin_widgets[_widget])} !"
|
|
)
|
|
for plugin_name, plugin_class in inspect.getmembers(plugin_client, inspect.isclass):
|
|
if issubclass(plugin_class, RPCBase) and plugin_class is not RPCBase:
|
|
if plugin_name in globals():
|
|
conflicting_file = (
|
|
inspect.getfile(_plugin_widgets[plugin_name])
|
|
if plugin_name in _plugin_widgets
|
|
else f"{plugin_client}"
|
|
)
|
|
logger.warning(
|
|
f"Plugin widget {plugin_name} from {conflicting_file} conflicts with a built-in class!"
|
|
)
|
|
continue
|
|
if plugin_name not in _overlap:
|
|
globals()[plugin_name] = plugin_class
|
|
|
|
|
|
class AbortButton(RPCBase):
|
|
"""A button that abort the scan."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class AutoUpdates(RPCBase):
|
|
@property
|
|
@rpc_call
|
|
def enabled(self) -> "bool":
|
|
"""
|
|
Get the enabled status of the auto updates.
|
|
"""
|
|
|
|
@enabled.setter
|
|
@rpc_call
|
|
def enabled(self) -> "bool":
|
|
"""
|
|
Get the enabled status of the auto updates.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def selected_device(self) -> "str | None":
|
|
"""
|
|
Get the selected device from the auto update config.
|
|
|
|
Returns:
|
|
str: The selected device. If no device is selected, None is returned.
|
|
"""
|
|
|
|
@selected_device.setter
|
|
@rpc_call
|
|
def selected_device(self) -> "str | None":
|
|
"""
|
|
Get the selected device from the auto update config.
|
|
|
|
Returns:
|
|
str: The selected device. If no device is selected, None is returned.
|
|
"""
|
|
|
|
|
|
class BECDock(RPCBase):
|
|
@property
|
|
@rpc_call
|
|
def _config_dict(self) -> "dict":
|
|
"""
|
|
Get the configuration of the widget.
|
|
|
|
Returns:
|
|
dict: The configuration of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def element_list(self) -> "list[BECWidget]":
|
|
"""
|
|
Get the widgets in the dock.
|
|
|
|
Returns:
|
|
widgets(list): The widgets in the dock.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def elements(self) -> "dict[str, BECWidget]":
|
|
"""
|
|
Get the widgets in the dock.
|
|
|
|
Returns:
|
|
widgets(dict): The widgets in the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def new(
|
|
self,
|
|
widget: "BECWidget | str",
|
|
name: "str | None" = None,
|
|
row: "int | None" = None,
|
|
col: "int" = 0,
|
|
rowspan: "int" = 1,
|
|
colspan: "int" = 1,
|
|
shift: "Literal['down', 'up', 'left', 'right']" = "down",
|
|
) -> "BECWidget":
|
|
"""
|
|
Add a widget to the dock.
|
|
|
|
Args:
|
|
widget(QWidget): The widget to add. It can not be BECDock or BECDockArea.
|
|
name(str): The name of the widget.
|
|
row(int): The row to add the widget to. If None, the widget will be added to the next available row.
|
|
col(int): The column to add the widget to.
|
|
rowspan(int): The number of rows the widget should span.
|
|
colspan(int): The number of columns the widget should span.
|
|
shift(Literal["down", "up", "left", "right"]): The direction to shift the widgets if the position is occupied.
|
|
"""
|
|
|
|
@rpc_call
|
|
def show(self):
|
|
"""
|
|
Show the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def hide(self):
|
|
"""
|
|
Hide the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def show_title_bar(self):
|
|
"""
|
|
Hide the title bar of the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_title(self, title: "str"):
|
|
"""
|
|
Set the title of the dock.
|
|
|
|
Args:
|
|
title(str): The title of the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def hide_title_bar(self):
|
|
"""
|
|
Hide the title bar of the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def available_widgets(self) -> "list":
|
|
"""
|
|
List all widgets that can be added to the dock.
|
|
|
|
Returns:
|
|
list: The list of eligible widgets.
|
|
"""
|
|
|
|
@rpc_call
|
|
def delete(self, widget_name: "str") -> "None":
|
|
"""
|
|
Remove a widget from the dock.
|
|
|
|
Args:
|
|
widget_name(str): Delete the widget with the given name.
|
|
"""
|
|
|
|
@rpc_call
|
|
def delete_all(self):
|
|
"""
|
|
Remove all widgets from the dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Remove the dock from the parent dock area.
|
|
"""
|
|
|
|
@rpc_call
|
|
def attach(self):
|
|
"""
|
|
Attach the dock to the parent dock area.
|
|
"""
|
|
|
|
@rpc_call
|
|
def detach(self):
|
|
"""
|
|
Detach the dock from the parent dock area.
|
|
"""
|
|
|
|
|
|
class BECDockArea(RPCBase):
|
|
"""Container for other widgets. Widgets can be added to the dock area and arranged in a grid layout."""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _rpc_id(self) -> "str":
|
|
"""
|
|
Get the RPC ID of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _config_dict(self) -> "dict":
|
|
"""
|
|
Get the configuration of the widget.
|
|
|
|
Returns:
|
|
dict: The configuration of the widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def _get_all_rpc(self) -> "dict":
|
|
"""
|
|
Get all registered RPC objects.
|
|
"""
|
|
|
|
@rpc_call
|
|
def new(
|
|
self,
|
|
name: "str | None" = None,
|
|
widget: "str | QWidget | None" = None,
|
|
widget_name: "str | None" = None,
|
|
position: "Literal['bottom', 'top', 'left', 'right', 'above', 'below']" = "bottom",
|
|
relative_to: "BECDock | None" = None,
|
|
closable: "bool" = True,
|
|
floating: "bool" = False,
|
|
row: "int | None" = None,
|
|
col: "int" = 0,
|
|
rowspan: "int" = 1,
|
|
colspan: "int" = 1,
|
|
) -> "BECDock":
|
|
"""
|
|
Add a dock to the dock area. Dock has QGridLayout as layout manager by default.
|
|
|
|
Args:
|
|
name(str): The name of the dock to be displayed and for further references. Has to be unique.
|
|
widget(str|QWidget|None): The widget to be added to the dock. While using RPC, only BEC RPC widgets from RPCWidgetHandler are allowed.
|
|
position(Literal["bottom", "top", "left", "right", "above", "below"]): The position of the dock.
|
|
relative_to(BECDock): The dock to which the new dock should be added relative to.
|
|
closable(bool): Whether the dock is closable.
|
|
floating(bool): Whether the dock is detached after creating.
|
|
row(int): The row of the added widget.
|
|
col(int): The column of the added widget.
|
|
rowspan(int): The rowspan of the added widget.
|
|
colspan(int): The colspan of the added widget.
|
|
|
|
Returns:
|
|
BECDock: The created dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def show(self):
|
|
"""
|
|
Show all windows including floating docks.
|
|
"""
|
|
|
|
@rpc_call
|
|
def hide(self):
|
|
"""
|
|
Hide all windows including floating docks.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def panels(self) -> "dict[str, BECDock]":
|
|
"""
|
|
Get the docks in the dock area.
|
|
Returns:
|
|
dock_dict(dict): The docks in the dock area.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def panel_list(self) -> "list[BECDock]":
|
|
"""
|
|
Get the docks in the dock area.
|
|
|
|
Returns:
|
|
list: The docks in the dock area.
|
|
"""
|
|
|
|
@rpc_call
|
|
def delete(self, dock_name: "str"):
|
|
"""
|
|
Delete a dock by name.
|
|
|
|
Args:
|
|
dock_name(str): The name of the dock to delete.
|
|
"""
|
|
|
|
@rpc_call
|
|
def delete_all(self) -> "None":
|
|
"""
|
|
Delete all docks.
|
|
"""
|
|
|
|
@rpc_call
|
|
def remove(self) -> "None":
|
|
"""
|
|
Remove the dock area. If the dock area is embedded in a BECMainWindow and
|
|
is set as the central widget, the main window will be closed.
|
|
"""
|
|
|
|
@rpc_call
|
|
def detach_dock(self, dock_name: "str") -> "BECDock":
|
|
"""
|
|
Undock a dock from the dock area.
|
|
|
|
Args:
|
|
dock_name(str): The dock to undock.
|
|
|
|
Returns:
|
|
BECDock: The undocked dock.
|
|
"""
|
|
|
|
@rpc_call
|
|
def attach_all(self):
|
|
"""
|
|
Return all floating docks to the dock area.
|
|
"""
|
|
|
|
@rpc_call
|
|
def save_state(self) -> "dict":
|
|
"""
|
|
Save the state of the dock area.
|
|
|
|
Returns:
|
|
dict: The state of the dock area.
|
|
"""
|
|
|
|
@rpc_call
|
|
def restore_state(
|
|
self, state: "dict" = None, missing: "Literal['ignore', 'error']" = "ignore", extra="bottom"
|
|
):
|
|
"""
|
|
Restore the state of the dock area. If no state is provided, the last state is restored.
|
|
|
|
Args:
|
|
state(dict): The state to restore.
|
|
missing(Literal['ignore','error']): What to do if a dock is missing.
|
|
extra(str): Extra docks that are in the dockarea but that are not mentioned in state will be added to the bottom of the dockarea, unless otherwise specified by the extra argument.
|
|
"""
|
|
|
|
|
|
class BECProgressBar(RPCBase):
|
|
"""A custom progress bar with smooth transitions. The displayed text can be customized using a template."""
|
|
|
|
@rpc_call
|
|
def set_value(self, value):
|
|
"""
|
|
Set the value of the progress bar.
|
|
|
|
Args:
|
|
value (float): The value to set.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_maximum(self, maximum: float):
|
|
"""
|
|
Set the maximum value of the progress bar.
|
|
|
|
Args:
|
|
maximum (float): The maximum value.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_minimum(self, minimum: float):
|
|
"""
|
|
Set the minimum value of the progress bar.
|
|
|
|
Args:
|
|
minimum (float): The minimum value.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def label_template(self):
|
|
"""
|
|
The template for the center label. Use $value, $maximum, and $percentage to insert the values.
|
|
|
|
Examples:
|
|
>>> progressbar.label_template = "$value / $maximum - $percentage %"
|
|
>>> progressbar.label_template = "$value / $percentage %"
|
|
"""
|
|
|
|
@label_template.setter
|
|
@rpc_call
|
|
def label_template(self):
|
|
"""
|
|
The template for the center label. Use $value, $maximum, and $percentage to insert the values.
|
|
|
|
Examples:
|
|
>>> progressbar.label_template = "$value / $maximum - $percentage %"
|
|
>>> progressbar.label_template = "$value / $percentage %"
|
|
"""
|
|
|
|
@rpc_call
|
|
def _get_label(self) -> str:
|
|
"""
|
|
Return the label text. mostly used for testing rpc.
|
|
"""
|
|
|
|
|
|
class BECQueue(RPCBase):
|
|
"""Widget to display the BEC queue."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class BECStatusBox(RPCBase):
|
|
"""An autonomous widget to display the status of BEC services."""
|
|
|
|
@rpc_call
|
|
def get_server_state(self) -> "str":
|
|
"""
|
|
Get the state ("RUNNING", "BUSY", "IDLE", "ERROR") of the BEC server
|
|
"""
|
|
|
|
|
|
class Curve(RPCBase):
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Remove the curve from the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _rpc_id(self) -> "str":
|
|
"""
|
|
Get the RPC ID of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _config_dict(self) -> "dict":
|
|
"""
|
|
Get the configuration of the widget.
|
|
|
|
Returns:
|
|
dict: The configuration of the widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def _get_displayed_data(self) -> "tuple[np.ndarray, np.ndarray]":
|
|
"""
|
|
Get the displayed data of the curve.
|
|
|
|
Returns:
|
|
tuple[np.ndarray, np.ndarray]: The x and y data of the curve.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set(self, **kwargs):
|
|
"""
|
|
Set the properties of the curve.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the properties to be set.
|
|
|
|
Possible properties:
|
|
- color: str
|
|
- symbol: str
|
|
- symbol_color: str
|
|
- symbol_size: int
|
|
- pen_width: int
|
|
- pen_style: Literal["solid", "dash", "dot", "dashdot"]
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_data(self, x: "list | np.ndarray", y: "list | np.ndarray"):
|
|
"""
|
|
Set the data of the curve.
|
|
|
|
Args:
|
|
x(list|np.ndarray): The x data.
|
|
y(list|np.ndarray): The y data.
|
|
|
|
Raises:
|
|
ValueError: If the source is not custom.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_color(self, color: "str", symbol_color: "str | None" = None):
|
|
"""
|
|
Change the color of the curve.
|
|
|
|
Args:
|
|
color(str): Color of the curve.
|
|
symbol_color(str, optional): Color of the symbol. Defaults to None.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_color_map_z(self, colormap: "str"):
|
|
"""
|
|
Set the colormap for the scatter plot z gradient.
|
|
|
|
Args:
|
|
colormap(str): Colormap for the scatter plot.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_symbol(self, symbol: "str"):
|
|
"""
|
|
Change the symbol of the curve.
|
|
|
|
Args:
|
|
symbol(str): Symbol of the curve.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_symbol_color(self, symbol_color: "str"):
|
|
"""
|
|
Change the symbol color of the curve.
|
|
|
|
Args:
|
|
symbol_color(str): Color of the symbol.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_symbol_size(self, symbol_size: "int"):
|
|
"""
|
|
Change the symbol size of the curve.
|
|
|
|
Args:
|
|
symbol_size(int): Size of the symbol.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_pen_width(self, pen_width: "int"):
|
|
"""
|
|
Change the pen width of the curve.
|
|
|
|
Args:
|
|
pen_width(int): Width of the pen.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_pen_style(self, pen_style: "Literal['solid', 'dash', 'dot', 'dashdot']"):
|
|
"""
|
|
Change the pen style of the curve.
|
|
|
|
Args:
|
|
pen_style(Literal["solid", "dash", "dot", "dashdot"]): Style of the pen.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_data(self) -> "tuple[np.ndarray | None, np.ndarray | None]":
|
|
"""
|
|
Get the data of the curve.
|
|
Returns:
|
|
tuple[np.ndarray,np.ndarray]: X and Y data of the curve.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def dap_params(self):
|
|
"""
|
|
Get the dap parameters.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def dap_summary(self):
|
|
"""
|
|
Get the dap summary.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def dap_oversample(self):
|
|
"""
|
|
Get the dap oversample.
|
|
"""
|
|
|
|
@dap_oversample.setter
|
|
@rpc_call
|
|
def dap_oversample(self):
|
|
"""
|
|
Get the dap oversample.
|
|
"""
|
|
|
|
|
|
class DapComboBox(RPCBase):
|
|
"""The DAPComboBox widget is an extension to the QComboBox with all avaialble DAP model from BEC."""
|
|
|
|
@rpc_call
|
|
def select_y_axis(self, y_axis: str):
|
|
"""
|
|
Slot to update the y axis.
|
|
|
|
Args:
|
|
y_axis(str): Y axis.
|
|
"""
|
|
|
|
@rpc_call
|
|
def select_x_axis(self, x_axis: str):
|
|
"""
|
|
Slot to update the x axis.
|
|
|
|
Args:
|
|
x_axis(str): X axis.
|
|
"""
|
|
|
|
@rpc_call
|
|
def select_fit_model(self, fit_name: str | None):
|
|
"""
|
|
Slot to update the fit model.
|
|
|
|
Args:
|
|
default_device(str): Default device name.
|
|
"""
|
|
|
|
|
|
class DarkModeButton(RPCBase):
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class DeviceBrowser(RPCBase):
|
|
"""DeviceBrowser is a widget that displays all available devices in the current BEC session."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class DeviceComboBox(RPCBase):
|
|
"""Combobox widget for device input with autocomplete for device names."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class DeviceInputBase(RPCBase):
|
|
"""Mixin base class for device input widgets."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class DeviceLineEdit(RPCBase):
|
|
"""Line edit widget for device input with autocomplete for device names."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class Image(RPCBase):
|
|
"""Image widget for displaying 2D data."""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@enable_toolbar.setter
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@enable_side_panel.setter
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@enable_fps_monitor.setter
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set(self, **kwargs):
|
|
"""
|
|
Set the properties of the plot widget.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the properties to be set.
|
|
|
|
Possible properties:
|
|
- title: str
|
|
- x_label: str
|
|
- y_label: str
|
|
- x_scale: Literal["linear", "log"]
|
|
- y_scale: Literal["linear", "log"]
|
|
- x_lim: tuple
|
|
- y_lim: tuple
|
|
- legend_label_size: int
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@title.setter
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@x_label.setter
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@y_label.setter
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@x_limits.setter
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@y_limits.setter
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@x_grid.setter
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@y_grid.setter
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@inner_axes.setter
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@outer_axes.setter
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@auto_range_x.setter
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@auto_range_y.setter
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@x_log.setter
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@y_log.setter
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@legend_label_size.setter
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
Set the color map of the image.
|
|
"""
|
|
|
|
@color_map.setter
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
Set the color map of the image.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def vrange(self) -> "tuple":
|
|
"""
|
|
Get the vrange of the image.
|
|
"""
|
|
|
|
@vrange.setter
|
|
@rpc_call
|
|
def vrange(self) -> "tuple":
|
|
"""
|
|
Get the vrange of the image.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def v_min(self) -> "float":
|
|
"""
|
|
Get the minimum value of the v_range.
|
|
"""
|
|
|
|
@v_min.setter
|
|
@rpc_call
|
|
def v_min(self) -> "float":
|
|
"""
|
|
Get the minimum value of the v_range.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def v_max(self) -> "float":
|
|
"""
|
|
Get the maximum value of the v_range.
|
|
"""
|
|
|
|
@v_max.setter
|
|
@rpc_call
|
|
def v_max(self) -> "float":
|
|
"""
|
|
Get the maximum value of the v_range.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Whether the aspect ratio is locked.
|
|
"""
|
|
|
|
@lock_aspect_ratio.setter
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Whether the aspect ratio is locked.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def autorange(self) -> "bool":
|
|
"""
|
|
Whether autorange is enabled.
|
|
"""
|
|
|
|
@autorange.setter
|
|
@rpc_call
|
|
def autorange(self) -> "bool":
|
|
"""
|
|
Whether autorange is enabled.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def autorange_mode(self) -> "str":
|
|
"""
|
|
Autorange mode.
|
|
|
|
Options:
|
|
- "max": Use the maximum value of the image for autoranging.
|
|
- "mean": Use the mean value of the image for autoranging.
|
|
"""
|
|
|
|
@autorange_mode.setter
|
|
@rpc_call
|
|
def autorange_mode(self) -> "str":
|
|
"""
|
|
Autorange mode.
|
|
|
|
Options:
|
|
- "max": Use the maximum value of the image for autoranging.
|
|
- "mean": Use the mean value of the image for autoranging.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def monitor(self) -> "str":
|
|
"""
|
|
The name of the monitor to use for the image.
|
|
"""
|
|
|
|
@monitor.setter
|
|
@rpc_call
|
|
def monitor(self) -> "str":
|
|
"""
|
|
The name of the monitor to use for the image.
|
|
"""
|
|
|
|
@rpc_call
|
|
def enable_colorbar(
|
|
self,
|
|
enabled: "bool",
|
|
style: "Literal['full', 'simple']" = "full",
|
|
vrange: "tuple[int, int] | None" = None,
|
|
):
|
|
"""
|
|
Enable the colorbar and switch types of colorbars.
|
|
|
|
Args:
|
|
enabled(bool): Whether to enable the colorbar.
|
|
style(Literal["full", "simple"]): The type of colorbar to enable.
|
|
vrange(tuple): The range of values to use for the colorbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_simple_colorbar(self) -> "bool":
|
|
"""
|
|
Enable the simple colorbar.
|
|
"""
|
|
|
|
@enable_simple_colorbar.setter
|
|
@rpc_call
|
|
def enable_simple_colorbar(self) -> "bool":
|
|
"""
|
|
Enable the simple colorbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_full_colorbar(self) -> "bool":
|
|
"""
|
|
Enable the full colorbar.
|
|
"""
|
|
|
|
@enable_full_colorbar.setter
|
|
@rpc_call
|
|
def enable_full_colorbar(self) -> "bool":
|
|
"""
|
|
Enable the full colorbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def fft(self) -> "bool":
|
|
"""
|
|
Whether FFT postprocessing is enabled.
|
|
"""
|
|
|
|
@fft.setter
|
|
@rpc_call
|
|
def fft(self) -> "bool":
|
|
"""
|
|
Whether FFT postprocessing is enabled.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def log(self) -> "bool":
|
|
"""
|
|
Whether logarithmic scaling is applied.
|
|
"""
|
|
|
|
@log.setter
|
|
@rpc_call
|
|
def log(self) -> "bool":
|
|
"""
|
|
Whether logarithmic scaling is applied.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def rotation(self) -> "int":
|
|
"""
|
|
The number of 90° rotations to apply.
|
|
"""
|
|
|
|
@rotation.setter
|
|
@rpc_call
|
|
def rotation(self) -> "int":
|
|
"""
|
|
The number of 90° rotations to apply.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def transpose(self) -> "bool":
|
|
"""
|
|
Whether the image is transposed.
|
|
"""
|
|
|
|
@transpose.setter
|
|
@rpc_call
|
|
def transpose(self) -> "bool":
|
|
"""
|
|
Whether the image is transposed.
|
|
"""
|
|
|
|
@rpc_call
|
|
def image(
|
|
self,
|
|
monitor: "str | None" = None,
|
|
monitor_type: "Literal['auto', '1d', '2d']" = "auto",
|
|
color_map: "str | None" = None,
|
|
color_bar: "Literal['simple', 'full'] | None" = None,
|
|
vrange: "tuple[int, int] | None" = None,
|
|
) -> "ImageItem":
|
|
"""
|
|
Set the image source and update the image.
|
|
|
|
Args:
|
|
monitor(str): The name of the monitor to use for the image.
|
|
monitor_type(str): The type of monitor to use. Options are "1d", "2d", or "auto".
|
|
color_map(str): The color map to use for the image.
|
|
color_bar(str): The type of color bar to use. Options are "simple" or "full".
|
|
vrange(tuple): The range of values to use for the color map.
|
|
|
|
Returns:
|
|
ImageItem: The image object.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def main_image(self) -> "ImageItem":
|
|
"""
|
|
Access the main image item.
|
|
"""
|
|
|
|
|
|
class ImageItem(RPCBase):
|
|
@property
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
Get the current color map.
|
|
"""
|
|
|
|
@color_map.setter
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
Get the current color map.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def v_range(self) -> "tuple[float, float]":
|
|
"""
|
|
Get the color intensity range of the image.
|
|
"""
|
|
|
|
@v_range.setter
|
|
@rpc_call
|
|
def v_range(self) -> "tuple[float, float]":
|
|
"""
|
|
Get the color intensity range of the image.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def v_min(self) -> "float":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@v_min.setter
|
|
@rpc_call
|
|
def v_min(self) -> "float":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def v_max(self) -> "float":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@v_max.setter
|
|
@rpc_call
|
|
def v_max(self) -> "float":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def autorange(self) -> "bool":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@autorange.setter
|
|
@rpc_call
|
|
def autorange(self) -> "bool":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def autorange_mode(self) -> "str":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@autorange_mode.setter
|
|
@rpc_call
|
|
def autorange_mode(self) -> "str":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def fft(self) -> "bool":
|
|
"""
|
|
Get or set whether FFT postprocessing is enabled.
|
|
"""
|
|
|
|
@fft.setter
|
|
@rpc_call
|
|
def fft(self) -> "bool":
|
|
"""
|
|
Get or set whether FFT postprocessing is enabled.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def log(self) -> "bool":
|
|
"""
|
|
Get or set whether logarithmic scaling is applied.
|
|
"""
|
|
|
|
@log.setter
|
|
@rpc_call
|
|
def log(self) -> "bool":
|
|
"""
|
|
Get or set whether logarithmic scaling is applied.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def rotation(self) -> "Optional[int]":
|
|
"""
|
|
Get or set the number of 90° rotations to apply.
|
|
"""
|
|
|
|
@rotation.setter
|
|
@rpc_call
|
|
def rotation(self) -> "Optional[int]":
|
|
"""
|
|
Get or set the number of 90° rotations to apply.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def transpose(self) -> "bool":
|
|
"""
|
|
Get or set whether the image is transposed.
|
|
"""
|
|
|
|
@transpose.setter
|
|
@rpc_call
|
|
def transpose(self) -> "bool":
|
|
"""
|
|
Get or set whether the image is transposed.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_data(self) -> "np.ndarray":
|
|
"""
|
|
Get the data of the image.
|
|
Returns:
|
|
np.ndarray: The data of the image.
|
|
"""
|
|
|
|
|
|
class LogPanel(RPCBase):
|
|
"""Displays a log panel"""
|
|
|
|
...
|
|
|
|
|
|
class Minesweeper(RPCBase): ...
|
|
|
|
|
|
class MotorMap(RPCBase):
|
|
"""Motor map widget for plotting motor positions in 2D including a trace of the last points."""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@enable_toolbar.setter
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@enable_side_panel.setter
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@enable_fps_monitor.setter
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set(self, **kwargs):
|
|
"""
|
|
Set the properties of the plot widget.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the properties to be set.
|
|
|
|
Possible properties:
|
|
- title: str
|
|
- x_label: str
|
|
- y_label: str
|
|
- x_scale: Literal["linear", "log"]
|
|
- y_scale: Literal["linear", "log"]
|
|
- x_lim: tuple
|
|
- y_lim: tuple
|
|
- legend_label_size: int
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@title.setter
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@x_label.setter
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@y_label.setter
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@x_limits.setter
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@y_limits.setter
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@x_grid.setter
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@y_grid.setter
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@inner_axes.setter
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@outer_axes.setter
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@lock_aspect_ratio.setter
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@auto_range_x.setter
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@auto_range_y.setter
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@x_log.setter
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@y_log.setter
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@legend_label_size.setter
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def color(self) -> "tuple":
|
|
"""
|
|
Get the color of the motor trace.
|
|
|
|
Returns:
|
|
tuple: Color of the motor trace.
|
|
"""
|
|
|
|
@color.setter
|
|
@rpc_call
|
|
def color(self) -> "tuple":
|
|
"""
|
|
Get the color of the motor trace.
|
|
|
|
Returns:
|
|
tuple: Color of the motor trace.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def max_points(self) -> "int":
|
|
"""
|
|
Get the maximum number of points to display.
|
|
"""
|
|
|
|
@max_points.setter
|
|
@rpc_call
|
|
def max_points(self) -> "int":
|
|
"""
|
|
Get the maximum number of points to display.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def precision(self) -> "int":
|
|
"""
|
|
Set the decimal precision of the motor position.
|
|
"""
|
|
|
|
@precision.setter
|
|
@rpc_call
|
|
def precision(self) -> "int":
|
|
"""
|
|
Set the decimal precision of the motor position.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def num_dim_points(self) -> "int":
|
|
"""
|
|
Get the number of dim points for the motor map.
|
|
"""
|
|
|
|
@num_dim_points.setter
|
|
@rpc_call
|
|
def num_dim_points(self) -> "int":
|
|
"""
|
|
Get the number of dim points for the motor map.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def background_value(self) -> "int":
|
|
"""
|
|
Get the background value of the motor map.
|
|
"""
|
|
|
|
@background_value.setter
|
|
@rpc_call
|
|
def background_value(self) -> "int":
|
|
"""
|
|
Get the background value of the motor map.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def scatter_size(self) -> "int":
|
|
"""
|
|
Get the scatter size of the motor map plot.
|
|
"""
|
|
|
|
@scatter_size.setter
|
|
@rpc_call
|
|
def scatter_size(self) -> "int":
|
|
"""
|
|
Get the scatter size of the motor map plot.
|
|
"""
|
|
|
|
@rpc_call
|
|
def map(self, x_name: "str", y_name: "str", validate_bec: "bool" = True) -> "None":
|
|
"""
|
|
Set the x and y motor names.
|
|
|
|
Args:
|
|
x_name(str): The name of the x motor.
|
|
y_name(str): The name of the y motor.
|
|
validate_bec(bool, optional): If True, validate the signal with BEC. Defaults to True.
|
|
"""
|
|
|
|
@rpc_call
|
|
def reset_history(self):
|
|
"""
|
|
Reset the history of the motor map.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_data(self) -> "dict":
|
|
"""
|
|
Get the data of the motor map.
|
|
|
|
Returns:
|
|
dict: Data of the motor map.
|
|
"""
|
|
|
|
|
|
class MultiWaveform(RPCBase):
|
|
"""MultiWaveform widget for displaying multiple waveforms emitted by a single signal."""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@enable_toolbar.setter
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@enable_side_panel.setter
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@enable_fps_monitor.setter
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set(self, **kwargs):
|
|
"""
|
|
Set the properties of the plot widget.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the properties to be set.
|
|
|
|
Possible properties:
|
|
- title: str
|
|
- x_label: str
|
|
- y_label: str
|
|
- x_scale: Literal["linear", "log"]
|
|
- y_scale: Literal["linear", "log"]
|
|
- x_lim: tuple
|
|
- y_lim: tuple
|
|
- legend_label_size: int
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@title.setter
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@x_label.setter
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@y_label.setter
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@x_limits.setter
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@y_limits.setter
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@x_grid.setter
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@y_grid.setter
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@inner_axes.setter
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@outer_axes.setter
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@lock_aspect_ratio.setter
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@auto_range_x.setter
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@auto_range_y.setter
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@x_log.setter
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@y_log.setter
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@legend_label_size.setter
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def highlighted_index(self):
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@highlighted_index.setter
|
|
@rpc_call
|
|
def highlighted_index(self):
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def highlight_last_curve(self) -> "bool":
|
|
"""
|
|
Get the highlight_last_curve property.
|
|
Returns:
|
|
bool: The highlight_last_curve property.
|
|
"""
|
|
|
|
@highlight_last_curve.setter
|
|
@rpc_call
|
|
def highlight_last_curve(self) -> "bool":
|
|
"""
|
|
Get the highlight_last_curve property.
|
|
Returns:
|
|
bool: The highlight_last_curve property.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def color_palette(self) -> "str":
|
|
"""
|
|
The color palette of the figure widget.
|
|
"""
|
|
|
|
@color_palette.setter
|
|
@rpc_call
|
|
def color_palette(self) -> "str":
|
|
"""
|
|
The color palette of the figure widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def opacity(self) -> "int":
|
|
"""
|
|
The opacity of the figure widget.
|
|
"""
|
|
|
|
@opacity.setter
|
|
@rpc_call
|
|
def opacity(self) -> "int":
|
|
"""
|
|
The opacity of the figure widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def flush_buffer(self) -> "bool":
|
|
"""
|
|
The flush_buffer property.
|
|
"""
|
|
|
|
@flush_buffer.setter
|
|
@rpc_call
|
|
def flush_buffer(self) -> "bool":
|
|
"""
|
|
The flush_buffer property.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def max_trace(self) -> "int":
|
|
"""
|
|
The maximum number of traces to display on the plot.
|
|
"""
|
|
|
|
@max_trace.setter
|
|
@rpc_call
|
|
def max_trace(self) -> "int":
|
|
"""
|
|
The maximum number of traces to display on the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def monitor(self) -> "str":
|
|
"""
|
|
The monitor of the figure widget.
|
|
"""
|
|
|
|
@monitor.setter
|
|
@rpc_call
|
|
def monitor(self) -> "str":
|
|
"""
|
|
The monitor of the figure widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_curve_limit(self, max_trace: "int", flush_buffer: "bool"):
|
|
"""
|
|
Set the maximum number of traces to display on the plot.
|
|
|
|
Args:
|
|
max_trace (int): The maximum number of traces to display.
|
|
flush_buffer (bool): Flush the buffer.
|
|
"""
|
|
|
|
@rpc_call
|
|
def plot(self, monitor: "str", color_palette: "str | None" = "magma"):
|
|
"""
|
|
Create a plot for the given monitor.
|
|
Args:
|
|
monitor (str): The monitor to set.
|
|
color_palette (str|None): The color palette to use for the plot.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_curve_highlight(self, index: "int"):
|
|
"""
|
|
Set the curve highlight based on visible curves.
|
|
|
|
Args:
|
|
index (int): The index of the curve to highlight among visible curves.
|
|
"""
|
|
|
|
@rpc_call
|
|
def clear_curves(self):
|
|
"""
|
|
Remove all curves from the plot, excluding crosshair items.
|
|
"""
|
|
|
|
|
|
class PositionIndicator(RPCBase):
|
|
"""Display a position within a defined range, e.g. motor limits."""
|
|
|
|
@rpc_call
|
|
def set_value(self, position: float):
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_range(self, min_value: float, max_value: float):
|
|
"""
|
|
Set the range of the position indicator
|
|
|
|
Args:
|
|
min_value(float): Minimum value of the range
|
|
max_value(float): Maximum value of the range
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def vertical(self):
|
|
"""
|
|
Property to determine the orientation of the position indicator
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def indicator_width(self):
|
|
"""
|
|
Property to get the width of the indicator
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def rounded_corners(self):
|
|
"""
|
|
Property to get the rounded corners of the position indicator
|
|
"""
|
|
|
|
|
|
class PositionerBox(RPCBase):
|
|
"""Simple Widget to control a positioner in box form"""
|
|
|
|
@rpc_call
|
|
def set_positioner(self, positioner: "str | Positioner"):
|
|
"""
|
|
Set the device
|
|
|
|
Args:
|
|
positioner (Positioner | str) : Positioner to set, accepts str or the device
|
|
"""
|
|
|
|
|
|
class PositionerBox2D(RPCBase):
|
|
"""Simple Widget to control two positioners in box form"""
|
|
|
|
@rpc_call
|
|
def set_positioner_hor(self, positioner: "str | Positioner"):
|
|
"""
|
|
Set the device
|
|
|
|
Args:
|
|
positioner (Positioner | str) : Positioner to set, accepts str or the device
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_positioner_ver(self, positioner: "str | Positioner"):
|
|
"""
|
|
Set the device
|
|
|
|
Args:
|
|
positioner (Positioner | str) : Positioner to set, accepts str or the device
|
|
"""
|
|
|
|
|
|
class PositionerControlLine(RPCBase):
|
|
"""A widget that controls a single device."""
|
|
|
|
@rpc_call
|
|
def set_positioner(self, positioner: "str | Positioner"):
|
|
"""
|
|
Set the device
|
|
|
|
Args:
|
|
positioner (Positioner | str) : Positioner to set, accepts str or the device
|
|
"""
|
|
|
|
|
|
class PositionerGroup(RPCBase):
|
|
"""Simple Widget to control a positioner in box form"""
|
|
|
|
@rpc_call
|
|
def set_positioners(self, device_names: "str"):
|
|
"""
|
|
Redraw grid with positioners from device_names string
|
|
|
|
Device names must be separated by space
|
|
"""
|
|
|
|
|
|
class ResetButton(RPCBase):
|
|
"""A button that resets the scan queue."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class ResumeButton(RPCBase):
|
|
"""A button that continue scan queue."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class Ring(RPCBase):
|
|
@rpc_call
|
|
def _get_all_rpc(self) -> "dict":
|
|
"""
|
|
Get all registered RPC objects.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _rpc_id(self) -> "str":
|
|
"""
|
|
Get the RPC ID of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _config_dict(self) -> "dict":
|
|
"""
|
|
Get the configuration of the widget.
|
|
|
|
Returns:
|
|
dict: The configuration of the widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_value(self, value: "int | float"):
|
|
"""
|
|
Set the value for the ring widget
|
|
|
|
Args:
|
|
value(int | float): Value for the ring widget
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_color(self, color: "str | tuple"):
|
|
"""
|
|
Set the color for the ring widget
|
|
|
|
Args:
|
|
color(str | tuple): Color for the ring widget. Can be HEX code or tuple (R, G, B, A).
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_background(self, color: "str | tuple"):
|
|
"""
|
|
Set the background color for the ring widget
|
|
|
|
Args:
|
|
color(str | tuple): Background color for the ring widget. Can be HEX code or tuple (R, G, B, A).
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_line_width(self, width: "int"):
|
|
"""
|
|
Set the line width for the ring widget
|
|
|
|
Args:
|
|
width(int): Line width for the ring widget
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_min_max_values(self, min_value: "int | float", max_value: "int | float"):
|
|
"""
|
|
Set the min and max values for the ring widget.
|
|
|
|
Args:
|
|
min_value(int | float): Minimum value for the ring widget
|
|
max_value(int | float): Maximum value for the ring widget
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_start_angle(self, start_angle: "int"):
|
|
"""
|
|
Set the start angle for the ring widget
|
|
|
|
Args:
|
|
start_angle(int): Start angle for the ring widget in degrees
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_update(self, mode: "Literal['manual', 'scan', 'device']", device: "str" = None):
|
|
"""
|
|
Set the update mode for the ring widget.
|
|
Modes:
|
|
- "manual": Manual update mode, the value is set by the user.
|
|
- "scan": Update mode for the scan progress. The value is updated by the current scan progress.
|
|
- "device": Update mode for the device readback. The value is updated by the device readback. Take into account that user has to set the device name and limits.
|
|
|
|
Args:
|
|
mode(str): Update mode for the ring widget. Can be "manual", "scan" or "device"
|
|
device(str): Device name for the device readback mode, only used when mode is "device"
|
|
"""
|
|
|
|
@rpc_call
|
|
def reset_connection(self):
|
|
"""
|
|
Reset the connections for the ring widget. Disconnect the current slot and endpoint.
|
|
"""
|
|
|
|
|
|
class RingProgressBar(RPCBase):
|
|
"""Show the progress of devices, scans or custom values in the form of ring progress bars."""
|
|
|
|
@rpc_call
|
|
def _get_all_rpc(self) -> "dict":
|
|
"""
|
|
Get all registered RPC objects.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _rpc_id(self) -> "str":
|
|
"""
|
|
Get the RPC ID of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _config_dict(self) -> "dict":
|
|
"""
|
|
Get the configuration of the widget.
|
|
|
|
Returns:
|
|
dict: The configuration of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def rings(self):
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@rpc_call
|
|
def update_config(self, config: "RingProgressBarConfig | dict"):
|
|
"""
|
|
Update the configuration of the widget.
|
|
|
|
Args:
|
|
config(SpiralProgressBarConfig|dict): Configuration to update.
|
|
"""
|
|
|
|
@rpc_call
|
|
def add_ring(self, **kwargs) -> "Ring":
|
|
"""
|
|
Add a new progress bar.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the new progress bar.
|
|
|
|
Returns:
|
|
Ring: Ring object.
|
|
"""
|
|
|
|
@rpc_call
|
|
def remove_ring(self, index: "int"):
|
|
"""
|
|
Remove a progress bar by index.
|
|
|
|
Args:
|
|
index(int): Index of the progress bar to remove.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_precision(self, precision: "int", bar_index: "int" = None):
|
|
"""
|
|
Set the precision for the progress bars. If bar_index is not provide, the precision will be set for all progress bars.
|
|
|
|
Args:
|
|
precision(int): Precision for the progress bars.
|
|
bar_index(int): Index of the progress bar to set the precision for. If provided, only a single precision can be set.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_min_max_values(
|
|
self,
|
|
min_values: "int | float | list[int | float]",
|
|
max_values: "int | float | list[int | float]",
|
|
):
|
|
"""
|
|
Set the minimum and maximum values for the progress bars.
|
|
|
|
Args:
|
|
min_values(int|float | list[float]): Minimum value(s) for the progress bars. If multiple progress bars are displayed, provide a list of minimum values for each progress bar.
|
|
max_values(int|float | list[float]): Maximum value(s) for the progress bars. If multiple progress bars are displayed, provide a list of maximum values for each progress bar.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_number_of_bars(self, num_bars: "int"):
|
|
"""
|
|
Set the number of progress bars to display.
|
|
|
|
Args:
|
|
num_bars(int): Number of progress bars to display.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_value(self, values: "int | list", ring_index: "int" = None):
|
|
"""
|
|
Set the values for the progress bars.
|
|
|
|
Args:
|
|
values(int | tuple): Value(s) for the progress bars. If multiple progress bars are displayed, provide a tuple of values for each progress bar.
|
|
ring_index(int): Index of the progress bar to set the value for. If provided, only a single value can be set.
|
|
|
|
Examples:
|
|
>>> SpiralProgressBar.set_value(50)
|
|
>>> SpiralProgressBar.set_value([30, 40, 50]) # (outer, middle, inner)
|
|
>>> SpiralProgressBar.set_value(60, bar_index=1) # Set the value for the middle progress bar.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_colors_from_map(self, colormap, color_format: "Literal['RGB', 'HEX']" = "RGB"):
|
|
"""
|
|
Set the colors for the progress bars from a colormap.
|
|
|
|
Args:
|
|
colormap(str): Name of the colormap.
|
|
color_format(Literal["RGB","HEX"]): Format of the returned colors ('RGB', 'HEX').
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_colors_directly(
|
|
self, colors: "list[str | tuple] | str | tuple", bar_index: "int" = None
|
|
):
|
|
"""
|
|
Set the colors for the progress bars directly.
|
|
|
|
Args:
|
|
colors(list[str | tuple] | str | tuple): Color(s) for the progress bars. If multiple progress bars are displayed, provide a list of colors for each progress bar.
|
|
bar_index(int): Index of the progress bar to set the color for. If provided, only a single color can be set.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_line_widths(self, widths: "int | list[int]", bar_index: "int" = None):
|
|
"""
|
|
Set the line widths for the progress bars.
|
|
|
|
Args:
|
|
widths(int | list[int]): Line width(s) for the progress bars. If multiple progress bars are displayed, provide a list of line widths for each progress bar.
|
|
bar_index(int): Index of the progress bar to set the line width for. If provided, only a single line width can be set.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_gap(self, gap: "int"):
|
|
"""
|
|
Set the gap between the progress bars.
|
|
|
|
Args:
|
|
gap(int): Gap between the progress bars.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_diameter(self, diameter: "int"):
|
|
"""
|
|
Set the diameter of the widget.
|
|
|
|
Args:
|
|
diameter(int): Diameter of the widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def reset_diameter(self):
|
|
"""
|
|
Reset the fixed size of the widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def enable_auto_updates(self, enable: "bool" = True):
|
|
"""
|
|
Enable or disable updates based on scan status. Overrides manual updates.
|
|
The behaviour of the whole progress bar widget will be driven by the scan queue status.
|
|
|
|
Args:
|
|
enable(bool): True or False.
|
|
|
|
Returns:
|
|
bool: True if scan segment updates are enabled.
|
|
"""
|
|
|
|
|
|
class ScanControl(RPCBase):
|
|
"""Widget to submit new scans to the queue."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class ScatterCurve(RPCBase):
|
|
"""Scatter curve item for the scatter waveform widget."""
|
|
|
|
@property
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
The color map of the scatter curve.
|
|
"""
|
|
|
|
|
|
class ScatterWaveform(RPCBase):
|
|
@property
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@enable_toolbar.setter
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@enable_side_panel.setter
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@enable_fps_monitor.setter
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set(self, **kwargs):
|
|
"""
|
|
Set the properties of the plot widget.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the properties to be set.
|
|
|
|
Possible properties:
|
|
- title: str
|
|
- x_label: str
|
|
- y_label: str
|
|
- x_scale: Literal["linear", "log"]
|
|
- y_scale: Literal["linear", "log"]
|
|
- x_lim: tuple
|
|
- y_lim: tuple
|
|
- legend_label_size: int
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@title.setter
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@x_label.setter
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@y_label.setter
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@x_limits.setter
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@y_limits.setter
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@x_grid.setter
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@y_grid.setter
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@inner_axes.setter
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@outer_axes.setter
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@lock_aspect_ratio.setter
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@auto_range_x.setter
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@auto_range_y.setter
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@x_log.setter
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@y_log.setter
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@legend_label_size.setter
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def main_curve(self) -> "ScatterCurve":
|
|
"""
|
|
The main scatter curve item.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
The color map of the scatter waveform.
|
|
"""
|
|
|
|
@color_map.setter
|
|
@rpc_call
|
|
def color_map(self) -> "str":
|
|
"""
|
|
The color map of the scatter waveform.
|
|
"""
|
|
|
|
@rpc_call
|
|
def plot(
|
|
self,
|
|
x_name: "str",
|
|
y_name: "str",
|
|
z_name: "str",
|
|
x_entry: "None | str" = None,
|
|
y_entry: "None | str" = None,
|
|
z_entry: "None | str" = None,
|
|
color_map: "str | None" = "magma",
|
|
label: "str | None" = None,
|
|
validate_bec: "bool" = True,
|
|
) -> "ScatterCurve":
|
|
"""
|
|
Plot the data from the device signals.
|
|
|
|
Args:
|
|
x_name (str): The name of the x device signal.
|
|
y_name (str): The name of the y device signal.
|
|
z_name (str): The name of the z device signal.
|
|
x_entry (None | str): The x entry of the device signal.
|
|
y_entry (None | str): The y entry of the device signal.
|
|
z_entry (None | str): The z entry of the device signal.
|
|
color_map (str | None): The color map of the scatter waveform.
|
|
label (str | None): The label of the curve.
|
|
validate_bec (bool): Whether to validate the device signals with current BEC instance.
|
|
|
|
Returns:
|
|
ScatterCurve: The scatter curve object.
|
|
"""
|
|
|
|
@rpc_call
|
|
def update_with_scan_history(self, scan_index: "int" = None, scan_id: "str" = None):
|
|
"""
|
|
Update the scan curves with the data from the scan storage.
|
|
Provide only one of scan_id or scan_index.
|
|
|
|
Args:
|
|
scan_id(str, optional): ScanID of the scan to be updated. Defaults to None.
|
|
scan_index(int, optional): Index of the scan to be updated. Defaults to None.
|
|
"""
|
|
|
|
@rpc_call
|
|
def clear_all(self):
|
|
"""
|
|
Clear all the curves from the plot.
|
|
"""
|
|
|
|
|
|
class StopButton(RPCBase):
|
|
"""A button that stops the current scan."""
|
|
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class TextBox(RPCBase):
|
|
"""A widget that displays text in plain and HTML format"""
|
|
|
|
@rpc_call
|
|
def set_plain_text(self, text: str) -> None:
|
|
"""
|
|
Set the plain text of the widget.
|
|
|
|
Args:
|
|
text (str): The text to set.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set_html_text(self, text: str) -> None:
|
|
"""
|
|
Set the HTML text of the widget.
|
|
|
|
Args:
|
|
text (str): The text to set.
|
|
"""
|
|
|
|
|
|
class UILaunchWindow(RPCBase):
|
|
@rpc_call
|
|
def remove(self):
|
|
"""
|
|
Cleanup the BECConnector
|
|
"""
|
|
|
|
|
|
class VSCodeEditor(RPCBase):
|
|
"""A widget to display the VSCode editor."""
|
|
|
|
...
|
|
|
|
|
|
class Waveform(RPCBase):
|
|
"""Widget for plotting waveforms."""
|
|
|
|
@property
|
|
@rpc_call
|
|
def _config_dict(self) -> "dict":
|
|
"""
|
|
Get the configuration of the widget.
|
|
|
|
Returns:
|
|
dict: The configuration of the widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@enable_toolbar.setter
|
|
@rpc_call
|
|
def enable_toolbar(self) -> "bool":
|
|
"""
|
|
Show Toolbar.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@enable_side_panel.setter
|
|
@rpc_call
|
|
def enable_side_panel(self) -> "bool":
|
|
"""
|
|
Show Side Panel
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@enable_fps_monitor.setter
|
|
@rpc_call
|
|
def enable_fps_monitor(self) -> "bool":
|
|
"""
|
|
Enable the FPS monitor.
|
|
"""
|
|
|
|
@rpc_call
|
|
def set(self, **kwargs):
|
|
"""
|
|
Set the properties of the plot widget.
|
|
|
|
Args:
|
|
**kwargs: Keyword arguments for the properties to be set.
|
|
|
|
Possible properties:
|
|
- title: str
|
|
- x_label: str
|
|
- y_label: str
|
|
- x_scale: Literal["linear", "log"]
|
|
- y_scale: Literal["linear", "log"]
|
|
- x_lim: tuple
|
|
- y_lim: tuple
|
|
- legend_label_size: int
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@title.setter
|
|
@rpc_call
|
|
def title(self) -> "str":
|
|
"""
|
|
Set title of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@x_label.setter
|
|
@rpc_call
|
|
def x_label(self) -> "str":
|
|
"""
|
|
The set label for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@y_label.setter
|
|
@rpc_call
|
|
def y_label(self) -> "str":
|
|
"""
|
|
The set label for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@x_limits.setter
|
|
@rpc_call
|
|
def x_limits(self) -> "QPointF":
|
|
"""
|
|
Get the x limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@y_limits.setter
|
|
@rpc_call
|
|
def y_limits(self) -> "QPointF":
|
|
"""
|
|
Get the y limits of the plot.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@x_grid.setter
|
|
@rpc_call
|
|
def x_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@y_grid.setter
|
|
@rpc_call
|
|
def y_grid(self) -> "bool":
|
|
"""
|
|
Show grid on the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@inner_axes.setter
|
|
@rpc_call
|
|
def inner_axes(self) -> "bool":
|
|
"""
|
|
Show inner axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@outer_axes.setter
|
|
@rpc_call
|
|
def outer_axes(self) -> "bool":
|
|
"""
|
|
Show the outer axes of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@lock_aspect_ratio.setter
|
|
@rpc_call
|
|
def lock_aspect_ratio(self) -> "bool":
|
|
"""
|
|
Lock aspect ratio of the plot widget.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@auto_range_x.setter
|
|
@rpc_call
|
|
def auto_range_x(self) -> "bool":
|
|
"""
|
|
Set auto range for the x-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@auto_range_y.setter
|
|
@rpc_call
|
|
def auto_range_y(self) -> "bool":
|
|
"""
|
|
Set auto range for the y-axis.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@x_log.setter
|
|
@rpc_call
|
|
def x_log(self) -> "bool":
|
|
"""
|
|
Set X-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@y_log.setter
|
|
@rpc_call
|
|
def y_log(self) -> "bool":
|
|
"""
|
|
Set Y-axis to log scale if True, linear if False.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@legend_label_size.setter
|
|
@rpc_call
|
|
def legend_label_size(self) -> "int":
|
|
"""
|
|
The font size of the legend font.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def curves(self) -> "list[Curve]":
|
|
"""
|
|
Get the curves of the plot widget as a list.
|
|
|
|
Returns:
|
|
list: List of curves.
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def x_mode(self) -> "str":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@x_mode.setter
|
|
@rpc_call
|
|
def x_mode(self) -> "str":
|
|
"""
|
|
None
|
|
"""
|
|
|
|
@property
|
|
@rpc_call
|
|
def color_palette(self) -> "str":
|
|
"""
|
|
The color palette of the figure widget.
|
|
"""
|
|
|
|
@color_palette.setter
|
|
@rpc_call
|
|
def color_palette(self) -> "str":
|
|
"""
|
|
The color palette of the figure widget.
|
|
"""
|
|
|
|
@rpc_call
|
|
def plot(
|
|
self,
|
|
arg1: "list | np.ndarray | str | None" = None,
|
|
y: "list | np.ndarray | None" = None,
|
|
x: "list | np.ndarray | None" = None,
|
|
x_name: "str | None" = None,
|
|
y_name: "str | None" = None,
|
|
x_entry: "str | None" = None,
|
|
y_entry: "str | None" = None,
|
|
color: "str | None" = None,
|
|
label: "str | None" = None,
|
|
dap: "str | None" = None,
|
|
**kwargs,
|
|
) -> "Curve":
|
|
"""
|
|
Plot a curve to the plot widget.
|
|
|
|
Args:
|
|
arg1(list | np.ndarray | str | None): First argument, which can be x data, y data, or y_name.
|
|
y(list | np.ndarray): Custom y data to plot.
|
|
x(list | np.ndarray): Custom y data to plot.
|
|
x_name(str): Name of the x signal.
|
|
- "auto": Use the best effort signal.
|
|
- "timestamp": Use the timestamp signal.
|
|
- "index": Use the index signal.
|
|
- Custom signal name of a device from BEC.
|
|
y_name(str): The name of the device for the y-axis.
|
|
x_entry(str): The name of the entry for the x-axis.
|
|
y_entry(str): The name of the entry for the y-axis.
|
|
color(str): The color of the curve.
|
|
label(str): The label of the curve.
|
|
dap(str): The dap model to use for the curve, only available for sync devices.
|
|
If not specified, none will be added.
|
|
Use the same string as is the name of the LMFit model.
|
|
|
|
Returns:
|
|
Curve: The curve object.
|
|
"""
|
|
|
|
@rpc_call
|
|
def add_dap_curve(
|
|
self,
|
|
device_label: "str",
|
|
dap_name: "str",
|
|
color: "str | None" = None,
|
|
dap_oversample: "int" = 1,
|
|
**kwargs,
|
|
) -> "Curve":
|
|
"""
|
|
Create a new DAP curve referencing the existing device curve `device_label`,
|
|
with the data processing model `dap_name`.
|
|
|
|
Args:
|
|
device_label(str): The label of the device curve to add DAP to.
|
|
dap_name(str): The name of the DAP model to use.
|
|
color(str): The color of the curve.
|
|
dap_oversample(int): The oversampling factor for the DAP curve.
|
|
**kwargs
|
|
|
|
Returns:
|
|
Curve: The new DAP curve.
|
|
"""
|
|
|
|
@rpc_call
|
|
def remove_curve(self, curve: "int | str"):
|
|
"""
|
|
Remove a curve from the plot widget.
|
|
|
|
Args:
|
|
curve(int|str): The curve to remove. It Can be the order of the curve or the name of the curve.
|
|
"""
|
|
|
|
@rpc_call
|
|
def update_with_scan_history(self, scan_index: "int" = None, scan_id: "str" = None):
|
|
"""
|
|
Update the scan curves with the data from the scan storage.
|
|
Provide only one of scan_id or scan_index.
|
|
|
|
Args:
|
|
scan_id(str, optional): ScanID of the scan to be updated. Defaults to None.
|
|
scan_index(int, optional): Index of the scan to be updated. Defaults to None.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_dap_params(self) -> "dict[str, dict]":
|
|
"""
|
|
Get the DAP parameters of all DAP curves.
|
|
|
|
Returns:
|
|
dict[str, dict]: DAP parameters of all DAP curves.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_dap_summary(self) -> "dict[str, dict]":
|
|
"""
|
|
Get the DAP summary of all DAP curves.
|
|
|
|
Returns:
|
|
dict[str, dict]: DAP summary of all DAP curves.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_all_data(self, output: "Literal['dict', 'pandas']" = "dict") -> "dict":
|
|
"""
|
|
Extract all curve data into a dictionary or a pandas DataFrame.
|
|
|
|
Args:
|
|
output (Literal["dict", "pandas"]): Format of the output data.
|
|
|
|
Returns:
|
|
dict | pd.DataFrame: Data of all curves in the specified format.
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_curve(self, curve: "int | str") -> "Curve | None":
|
|
"""
|
|
Get a curve from the plot widget.
|
|
|
|
Args:
|
|
curve(int|str): The curve to get. It Can be the order of the curve or the name of the curve.
|
|
|
|
Return(Curve|None): The curve object if found, None otherwise.
|
|
"""
|
|
|
|
@rpc_call
|
|
def select_roi(self, region: "tuple[float, float]"):
|
|
"""
|
|
Public method if you want the old `select_roi` style.
|
|
"""
|
|
|
|
@rpc_call
|
|
def clear_all(self):
|
|
"""
|
|
Clear all curves from the plot widget.
|
|
"""
|
|
|
|
|
|
class WebsiteWidget(RPCBase):
|
|
"""A simple widget to display a website"""
|
|
|
|
@rpc_call
|
|
def set_url(self, url: str) -> None:
|
|
"""
|
|
Set the url of the website widget
|
|
|
|
Args:
|
|
url (str): The url to set
|
|
"""
|
|
|
|
@rpc_call
|
|
def get_url(self) -> str:
|
|
"""
|
|
Get the current url of the website widget
|
|
|
|
Returns:
|
|
str: The current url
|
|
"""
|
|
|
|
@rpc_call
|
|
def reload(self):
|
|
"""
|
|
Reload the website
|
|
"""
|
|
|
|
@rpc_call
|
|
def back(self):
|
|
"""
|
|
Go back in the history
|
|
"""
|
|
|
|
@rpc_call
|
|
def forward(self):
|
|
"""
|
|
Go forward in the history
|
|
"""
|