diff --git a/bec_widgets/examples/general_app/general_app.py b/bec_widgets/examples/general_app/general_app.py
index bc1970d6..167e4e4b 100644
--- a/bec_widgets/examples/general_app/general_app.py
+++ b/bec_widgets/examples/general_app/general_app.py
@@ -1,52 +1,48 @@
import sys
-from qtpy import PYSIDE6
-from qtpy.QtCore import QFile
-from qtpy.QtUiTools import QUiLoader
from qtpy.QtWidgets import QApplication, QMainWindow
-from bec_widgets.examples.plugin_example_pyside.tictactoe import TicTacToe
-from bec_widgets.widgets.bec_status_box.bec_status_box import BECStatusBox
-from bec_widgets.widgets.device_inputs import DeviceComboBox, DeviceLineEdit
-from bec_widgets.widgets.vscode.vscode import VSCodeEditor
+import webbrowser
+
+from bec_widgets.utils import UILoader
-class CustomUiLoader(QUiLoader):
- def __init__(self, baseinstance):
- super(CustomUiLoader, self).__init__(baseinstance)
- self.custom_widgets = {
- "TicTacToe": TicTacToe,
- "VSCodeEditor": VSCodeEditor,
- "BECStatusBox": BECStatusBox,
- "DeviceLineEdit": DeviceLineEdit,
- "DeviceComboBox": DeviceComboBox,
- }
+class BECWebLinksMixin:
+ @staticmethod
+ def open_bec_docs():
+ webbrowser.open("https://beamline-experiment-control.readthedocs.io/en/latest/")
- self.baseinstance = baseinstance
+ @staticmethod
+ def open_bec_widgets_docs():
+ webbrowser.open("https://bec.readthedocs.io/projects/bec-widgets/en/latest/")
- def createWidget(self, class_name, parent=None, name=""):
- if class_name in self.custom_widgets:
- widget = self.custom_widgets[class_name](parent)
- widget.setObjectName(name)
- return widget
- return super(CustomUiLoader, self).createWidget(class_name, parent, name)
+ @staticmethod
+ def open_bec_bug_report():
+ webbrowser.open("https://gitlab.psi.ch/groups/bec/-/issues/")
-class CustomMainWindow(QMainWindow):
- def __init__(self, ui_file, parent=None):
- super(CustomMainWindow, self).__init__(parent)
- self.load_ui(ui_file)
+class BECGeneralApp(QMainWindow):
+ def __init__(self, parent=None):
+ super(BECGeneralApp, self).__init__(parent)
+ self.load_ui("general_app.ui")
self.resize(1280, 720)
+ self.ini_ui()
+
+ def ini_ui(self):
+ self._hook_menubar()
+
def load_ui(self, ui_file):
- loader = CustomUiLoader(self)
- ui_file = QFile(ui_file)
- ui_file.open(QFile.ReadOnly)
- self.ui = loader.load(ui_file)
- ui_file.close()
+ loader = UILoader(self)
+ self.ui = loader.loader(ui_file)
self.setCentralWidget(self.ui)
+ def _hook_menubar(self):
+ self.ui.action_BEC_docs.triggered.connect(BECWebLinksMixin.open_bec_docs)
+ self.ui.action_BEC_widgets_docs.triggered.connect(BECWebLinksMixin.open_bec_widgets_docs)
+ self.ui.action_bug_report.triggered.connect(BECWebLinksMixin.open_bec_bug_report)
+
def main(): # pragma: no cover
from qtpy import PYSIDE6
@@ -58,7 +54,7 @@ def main(): # pragma: no cover
return
app = QApplication(sys.argv)
- main_window = CustomMainWindow("general_app.ui")
+ main_window = BECGeneralApp()
main_window.show()
sys.exit(app.exec_())
diff --git a/bec_widgets/examples/general_app/general_app.ui b/bec_widgets/examples/general_app/general_app.ui
index 5995a5d3..899929b8 100644
--- a/bec_widgets/examples/general_app/general_app.ui
+++ b/bec_widgets/examples/general_app/general_app.ui
@@ -55,9 +55,9 @@
Help
-
-
-
+
+
+
@@ -144,6 +144,83 @@
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
-
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
+ -
+
+ ItemIsSelectable|ItemIsDragEnabled|ItemIsDropEnabled|ItemIsUserCheckable
+
+
+
-
@@ -230,7 +307,7 @@
-
+
@@ -238,7 +315,7 @@
BEC Docs
-
+
@@ -246,7 +323,7 @@
BEC Widgets Docs
-
+