0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

fix: transitioning to material icons

This commit is contained in:
2024-08-23 22:40:21 +02:00
parent 88a2f66758
commit 2a82032644
7 changed files with 47 additions and 55 deletions

View File

@ -76,7 +76,7 @@ class MaterialIconAction:
Action with a Material icon for the toolbar.
Args:
icon_path (str, optional): The name of the icon file from `assets/toolbar_icons`. Defaults to None.
icon_path (str, optional): The name of the Material icon. Defaults to None.
tooltip (bool, optional): The tooltip for the action. Defaults to None.
checkable (bool, optional): Whether the action is checkable. Defaults to False.
filled (bool, optional): Whether the icon is filled. Defaults to False.

View File

@ -389,7 +389,7 @@ if __name__ == "__main__":
from bec_widgets.utils.colors import set_theme
app = QApplication([])
set_theme("light")
set_theme("auto")
dock_area = BECDockArea()
dock_area.show()
app.exec_()

View File

@ -10,7 +10,7 @@ from bec_widgets.qt_utils.error_popups import SafeSlot, WarningPopupUtility
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
from bec_widgets.qt_utils.toolbar import (
DeviceSelectionAction,
IconAction,
MaterialIconAction,
ModularToolBar,
SeparatorAction,
)
@ -66,45 +66,45 @@ class BECImageWidget(BECWidget, QWidget):
"monitor": DeviceSelectionAction(
"Monitor:", DeviceComboBox(device_filter="Device")
),
"connect": IconAction(icon_path="connection.svg", tooltip="Connect Device"),
"connect": MaterialIconAction(icon_name="link", tooltip="Connect Device"),
"separator_0": SeparatorAction(),
"save": IconAction(icon_path="save.svg", tooltip="Open Export Dialog"),
"save": MaterialIconAction(icon_name="save", tooltip="Open Export Dialog"),
"separator_1": SeparatorAction(),
"drag_mode": IconAction(
icon_path="drag_pan_mode.svg", tooltip="Drag Mouse Mode", checkable=True
"drag_mode": MaterialIconAction(
icon_name="open_with", tooltip="Drag Mouse Mode", checkable=True
),
"rectangle_mode": IconAction(
icon_path="rectangle_mode.svg", tooltip="Rectangle Zoom Mode", checkable=True
"rectangle_mode": MaterialIconAction(
icon_name="frame_inspect", tooltip="Rectangle Zoom Mode", checkable=True
),
"auto_range": IconAction(icon_path="auto_range.svg", tooltip="Autorange Plot"),
"auto_range_image": IconAction(
icon_path="image_autorange.svg",
tooltip="Autorange Image Intensity",
checkable=True,
"auto_range": MaterialIconAction(
icon_name="open_in_full", tooltip="Autorange Plot"
),
"aspect_ratio": IconAction(
icon_path="lock_aspect_ratio.svg",
tooltip="Lock image aspect ratio",
checkable=True,
"auto_range_image": MaterialIconAction(
icon_name="hdr_auto", tooltip="Autorange Image Intensity", checkable=True
),
"aspect_ratio": MaterialIconAction(
icon_name="aspect_ratio", tooltip="Lock image aspect ratio", checkable=True
),
"separator_2": SeparatorAction(),
"FFT": IconAction(icon_path="fft.svg", tooltip="Toggle FFT", checkable=True),
"log": IconAction(
icon_path="log_scale.png", tooltip="Toggle log scale", checkable=True
"FFT": MaterialIconAction(icon_name="fft", tooltip="Toggle FFT", checkable=True),
"log": MaterialIconAction(
icon_name="log_scale", tooltip="Toggle log scale", checkable=True
),
"transpose": IconAction(
icon_path="transform.svg", tooltip="Transpose Image", checkable=True
"transpose": MaterialIconAction(
icon_name="transform", tooltip="Transpose Image", checkable=True
),
"rotate_right": IconAction(
icon_path="rotate_right.svg", tooltip="Rotate image clockwise by 90 deg"
"rotate_right": MaterialIconAction(
icon_name="rotate_right", tooltip="Rotate image clockwise by 90 deg"
),
"rotate_left": IconAction(
icon_path="rotate_left.svg", tooltip="Rotate image counterclockwise by 90 deg"
"rotate_left": MaterialIconAction(
icon_name="rotate_left", tooltip="Rotate image counterclockwise by 90 deg"
),
"reset": MaterialIconAction(
icon_name="reset_settings", tooltip="Reset Image Settings"
),
"reset": IconAction(icon_path="reset_settings.svg", tooltip="Reset Image Settings"),
"separator_3": SeparatorAction(),
"axis_settings": IconAction(
icon_path="settings.svg", tooltip="Open Configuration Dialog"
"axis_settings": MaterialIconAction(
icon_name="settings", tooltip="Open Configuration Dialog"
),
},
target_widget=self,

View File

@ -5,7 +5,7 @@ import sys
from qtpy.QtWidgets import QVBoxLayout, QWidget
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
from bec_widgets.qt_utils.toolbar import DeviceSelectionAction, IconAction, ModularToolBar
from bec_widgets.qt_utils.toolbar import DeviceSelectionAction, MaterialIconAction, ModularToolBar
from bec_widgets.utils.bec_widget import BECWidget
from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox
from bec_widgets.widgets.figure import BECFigure
@ -54,9 +54,11 @@ class BECMotorMapWidget(BECWidget, QWidget):
"motor_y": DeviceSelectionAction(
"Motor Y:", DeviceComboBox(device_filter="Positioner")
),
"connect": IconAction(icon_path="connection.svg", tooltip="Connect Motors"),
"history": IconAction(icon_path="history.svg", tooltip="Reset Trace History"),
"config": IconAction(icon_path="settings.svg", tooltip="Open Configuration Dialog"),
"connect": MaterialIconAction(icon_name="link", tooltip="Connect Motors"),
"history": MaterialIconAction(icon_name="history", tooltip="Reset Trace History"),
"config": MaterialIconAction(
icon_name="settings", tooltip="Open Configuration Dialog"
),
},
target_widget=self,
)

View File

@ -7,13 +7,14 @@ from bec_lib.device import Positioner
from bec_lib.endpoints import MessageEndpoints
from bec_lib.logger import bec_logger
from bec_lib.messages import ScanQueueMessage
from qtpy.QtCore import Property, QSize, Signal, Slot
from qtpy.QtGui import QDoubleValidator, QIcon
from bec_qthemes import material_icon
from qtpy.QtCore import Property, Signal, Slot
from qtpy.QtGui import QDoubleValidator
from qtpy.QtWidgets import QDialog, QDoubleSpinBox, QPushButton, QVBoxLayout, QWidget
from bec_widgets.utils import UILoader
from bec_widgets.utils.bec_widget import BECWidget
from bec_widgets.utils.colors import apply_theme
from bec_widgets.utils.colors import set_theme
from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit
logger = bec_logger.logger
@ -78,11 +79,7 @@ class PositionerBox(BECWidget, QWidget):
self.ui.setpoint.setValidator(self.setpoint_validator)
self.ui.spinner_widget.start()
self.ui.tool_button.clicked.connect(self._open_dialog_selection)
icon = QIcon()
icon.addFile(
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "device_line_edit.svg"),
size=QSize(16, 16),
)
icon = material_icon(icon_name="edit_note", size=(16, 16), convert_to_pixmap=False)
self.ui.tool_button.setIcon(icon)
def _open_dialog_selection(self):
@ -303,7 +300,7 @@ if __name__ == "__main__": # pragma: no cover
from qtpy.QtWidgets import QApplication
app = QApplication(sys.argv)
apply_theme("dark")
set_theme("dark")
widget = PositionerBox(device="bpm4i")
widget.show()

View File

@ -3,6 +3,7 @@ from __future__ import annotations
import os
from typing import Literal
from bec_qthemes import material_icon
from pydantic import BaseModel
from qtpy.QtCore import QObject, QSize, Slot
from qtpy.QtGui import QIcon
@ -38,10 +39,7 @@ class CurveSettings(SettingWidget):
self.ui.normalize_colors_dap.clicked.connect(lambda: self.change_colormap("dap"))
def _setup_icons(self):
add_icon = QIcon()
add_icon.addFile(
os.path.join(MODULE_PATH, "assets", "toolbar_icons", "add.svg"), size=QSize(20, 20)
)
add_icon = material_icon(icon_name="add", size=(20, 20), convert_to_pixmap=False)
self.ui.add_dap.setIcon(add_icon)
self.ui.add_dap.setToolTip("Add DAP Curve")
self.ui.add_curve.setIcon(add_icon)
@ -339,5 +337,5 @@ class StyleComboBox(QComboBox):
class RemoveButton(QPushButton):
def __init__(self, parent=None):
super().__init__(parent)
icon_path = os.path.join(MODULE_PATH, "assets", "toolbar_icons", "remove.svg")
self.setIcon(QIcon(icon_path))
icon = material_icon("disabled_by_default", size=(20, 20), convert_to_pixmap=False)
self.setIcon(icon)

View File

@ -10,12 +10,7 @@ from qtpy.QtWidgets import QVBoxLayout, QWidget
from bec_widgets.qt_utils.error_popups import SafeSlot, WarningPopupUtility
from bec_widgets.qt_utils.settings_dialog import SettingsDialog
from bec_widgets.qt_utils.toolbar import (
IconAction,
MaterialIconAction,
ModularToolBar,
SeparatorAction,
)
from bec_widgets.qt_utils.toolbar import MaterialIconAction, ModularToolBar, SeparatorAction
from bec_widgets.utils.bec_widget import BECWidget
from bec_widgets.widgets.figure import BECFigure
from bec_widgets.widgets.figure.plots.axis_settings import AxisSettings