|
31 | 31 |
|
32 | 32 |
|
33 | 33 | class ViewCore(QMainWindow): |
34 | | - def __init__(self, parent: QWidget | None) -> None: |
| 34 | + def __init__(self, parent: QWidget | None = None) -> None: |
35 | 35 | super().__init__(parent) |
36 | 36 |
|
| 37 | + logger.info(f'PyQt {PYQT_VERSION_STR}') |
| 38 | + logger.info(f'Qt {QT_VERSION_STR}') |
| 39 | + |
37 | 40 | self.navigationToolBar = QToolBar() |
38 | 41 | self.navigationActionGroup = QActionGroup(self.navigationToolBar) |
39 | 42 |
|
40 | 43 | self.splitter = QSplitter(Qt.Orientation.Horizontal) |
41 | | - self.parametersWidget = QStackedWidget() |
42 | | - self.contentsWidget = QStackedWidget() |
43 | | - self.memoryProgressBar = QProgressBar() |
| 44 | + self.left_panel = QStackedWidget() |
| 45 | + self.right_panel = QStackedWidget() |
| 46 | + self.memory_progress_bar = QProgressBar() |
44 | 47 |
|
45 | 48 | self.settingsAction = self.navigationToolBar.addAction( |
46 | 49 | QIcon(':/icons/settings'), 'Settings' |
@@ -88,68 +91,51 @@ def __init__(self, parent: QWidget | None) -> None: |
88 | 91 | self.automationView = AutomationView.createInstance() |
89 | 92 | self.automationWidget = QWidget() |
90 | 93 |
|
91 | | - @classmethod |
92 | | - def createInstance( |
93 | | - cls, isDeveloperModeEnabled: bool, parent: QWidget | None = None |
94 | | - ) -> ViewCore: |
95 | | - logger.info(f'PyQt {PYQT_VERSION_STR}') |
96 | | - logger.info(f'Qt {QT_VERSION_STR}') |
| 94 | + ##### |
97 | 95 |
|
98 | | - view = cls(parent) |
99 | | - view.setWindowIcon(QIcon(':/icons/ptychodus')) |
| 96 | + self.setWindowIcon(QIcon(':/icons/ptychodus')) |
100 | 97 |
|
101 | | - view.navigationToolBar.setContextMenuPolicy(Qt.ContextMenuPolicy.PreventContextMenu) |
102 | | - view.addToolBar(Qt.ToolBarArea.LeftToolBarArea, view.navigationToolBar) |
103 | | - view.navigationToolBar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextUnderIcon) |
104 | | - view.navigationToolBar.setIconSize(QSize(32, 32)) |
| 98 | + self.navigationToolBar.setContextMenuPolicy(Qt.ContextMenuPolicy.PreventContextMenu) |
| 99 | + self.navigationToolBar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextUnderIcon) |
| 100 | + self.navigationToolBar.setIconSize(QSize(32, 32)) |
| 101 | + self.addToolBar(Qt.ToolBarArea.LeftToolBarArea, self.navigationToolBar) |
105 | 102 |
|
106 | | - for index, action in enumerate(view.navigationToolBar.actions()): |
| 103 | + for index, action in enumerate(self.navigationToolBar.actions()): |
107 | 104 | action.setCheckable(True) |
108 | 105 | action.setData(index) |
109 | | - view.navigationActionGroup.addAction(action) |
| 106 | + self.navigationActionGroup.addAction(action) |
110 | 107 |
|
111 | 108 | # maintain same order as navigationToolBar buttons |
112 | | - view.parametersWidget.addWidget(view.settingsView) |
113 | | - view.parametersWidget.addWidget(view.patternsView) |
114 | | - view.parametersWidget.addWidget(view.productView) |
115 | | - view.parametersWidget.addWidget(view.scanView) |
116 | | - view.parametersWidget.addWidget(view.probeView) |
117 | | - view.parametersWidget.addWidget(view.objectView) |
118 | | - view.parametersWidget.addWidget(view.reconstructorView) |
119 | | - view.parametersWidget.addWidget(view.workflowParametersView) |
120 | | - view.parametersWidget.addWidget(view.automationView) |
121 | | - view.parametersWidget.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) |
122 | | - view.splitter.addWidget(view.parametersWidget) |
| 109 | + self.left_panel.addWidget(self.settingsView) |
| 110 | + self.left_panel.addWidget(self.patternsView) |
| 111 | + self.left_panel.addWidget(self.productView) |
| 112 | + self.left_panel.addWidget(self.scanView) |
| 113 | + self.left_panel.addWidget(self.probeView) |
| 114 | + self.left_panel.addWidget(self.objectView) |
| 115 | + self.left_panel.addWidget(self.reconstructorView) |
| 116 | + self.left_panel.addWidget(self.workflowParametersView) |
| 117 | + self.left_panel.addWidget(self.automationView) |
| 118 | + self.left_panel.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) |
| 119 | + self.splitter.addWidget(self.left_panel) |
123 | 120 |
|
124 | 121 | # maintain same order as navigationToolBar buttons |
125 | | - view.contentsWidget.addWidget(view.settingsTableView) |
126 | | - view.contentsWidget.addWidget(view.patternsImageView) |
127 | | - view.contentsWidget.addWidget(view.productDiagramView) |
128 | | - view.contentsWidget.addWidget(view.scanPlotView) |
129 | | - view.contentsWidget.addWidget(view.probeImageView) |
130 | | - view.contentsWidget.addWidget(view.objectImageView) |
131 | | - view.contentsWidget.addWidget(view.reconstructorPlotView) |
132 | | - view.contentsWidget.addWidget(view.workflowTableView) |
133 | | - view.contentsWidget.addWidget(view.automationWidget) |
134 | | - view.contentsWidget.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) |
135 | | - view.splitter.addWidget(view.contentsWidget) |
136 | | - |
137 | | - view.setCentralWidget(view.splitter) |
138 | | - |
139 | | - # TODO make visible when complete |
140 | | - view.scanView.buttonBox.analyzeButton.setVisible(isDeveloperModeEnabled) |
141 | | - view.probeView.buttonBox.analyzeButton.setVisible(isDeveloperModeEnabled) |
142 | | - view.objectView.buttonBox.analyzeButton.setVisible(isDeveloperModeEnabled) |
143 | | - |
144 | | - desktopSize = QApplication.desktop().availableGeometry().size() |
145 | | - preferredHeight = desktopSize.height() * 2 // 3 |
146 | | - preferredWidth = min(desktopSize.width() * 2 // 3, 2 * preferredHeight) |
147 | | - view.resize(preferredWidth, preferredHeight) |
148 | | - |
149 | | - view.memoryProgressBar.setSizePolicy( |
150 | | - QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred |
151 | | - ) |
152 | | - view.statusBar().addPermanentWidget(view.memoryProgressBar) |
153 | | - view.statusBar().showMessage('Ready') |
154 | | - |
155 | | - return view |
| 122 | + self.right_panel.addWidget(self.settingsTableView) |
| 123 | + self.right_panel.addWidget(self.patternsImageView) |
| 124 | + self.right_panel.addWidget(self.productDiagramView) |
| 125 | + self.right_panel.addWidget(self.scanPlotView) |
| 126 | + self.right_panel.addWidget(self.probeImageView) |
| 127 | + self.right_panel.addWidget(self.objectImageView) |
| 128 | + self.right_panel.addWidget(self.reconstructorPlotView) |
| 129 | + self.right_panel.addWidget(self.workflowTableView) |
| 130 | + self.right_panel.addWidget(self.automationWidget) |
| 131 | + self.right_panel.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) |
| 132 | + self.splitter.addWidget(self.right_panel) |
| 133 | + |
| 134 | + self.setCentralWidget(self.splitter) |
| 135 | + |
| 136 | + desktop_size = QApplication.desktop().availableGeometry().size() |
| 137 | + preferred_height = desktop_size.height() * 2 // 3 |
| 138 | + preferred_width = min(desktop_size.width() * 2 // 3, 2 * preferred_height) |
| 139 | + self.resize(preferred_width, preferred_height) |
| 140 | + |
| 141 | + self.statusBar().addPermanentWidget(self.memory_progress_bar) |
0 commit comments