pyobs-gui 2.0.0.dev3__py3-none-any.whl → 2.0.0.dev4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyobs_gui/camerawidget.py +121 -41
- pyobs_gui/qt/camerawidget.ui +28 -43
- pyobs_gui/qt/camerawidget_ui.py +61 -128
- {pyobs_gui-2.0.0.dev3.dist-info → pyobs_gui-2.0.0.dev4.dist-info}/METADATA +2 -2
- {pyobs_gui-2.0.0.dev3.dist-info → pyobs_gui-2.0.0.dev4.dist-info}/RECORD +7 -7
- {pyobs_gui-2.0.0.dev3.dist-info → pyobs_gui-2.0.0.dev4.dist-info}/WHEEL +0 -0
- {pyobs_gui-2.0.0.dev3.dist-info → pyobs_gui-2.0.0.dev4.dist-info}/licenses/LICENSE +0 -0
pyobs_gui/camerawidget.py
CHANGED
|
@@ -17,7 +17,6 @@ from pyobs.interfaces import (
|
|
|
17
17
|
IBinning,
|
|
18
18
|
BinningState,
|
|
19
19
|
IWindow,
|
|
20
|
-
WindowState,
|
|
21
20
|
IFilters,
|
|
22
21
|
ICooling,
|
|
23
22
|
ITemperatures,
|
|
@@ -58,13 +57,6 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
58
57
|
self.exposure_time_left = 0.0
|
|
59
58
|
self.exposure_progress = 0.0
|
|
60
59
|
|
|
61
|
-
self.spinWindowLeft.init_modified(self.labelWindowLeft).committed.connect(self._window_changed)
|
|
62
|
-
self.spinWindowTop.init_modified(self.labelWindowTop).committed.connect(self._window_changed)
|
|
63
|
-
self.spinWindowWidth.init_modified(self.labelWindowWidth).committed.connect(self._window_changed)
|
|
64
|
-
self.spinWindowHeight.init_modified(self.labelWindowHeight).committed.connect(self._window_changed)
|
|
65
|
-
self.spinGain.init_modified(self.labelGain).committed.connect(self._gain_changed)
|
|
66
|
-
self.spinGainOffset.init_modified(self.labelGain).committed.connect(self._gain_changed)
|
|
67
|
-
|
|
68
60
|
async def open(
|
|
69
61
|
self,
|
|
70
62
|
modules: list[str] | None = None,
|
|
@@ -80,7 +72,7 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
80
72
|
image_types = sorted([it.name for it in ImageType])
|
|
81
73
|
self.comboImageType.addItems(image_types)
|
|
82
74
|
|
|
83
|
-
# before first update, disable
|
|
75
|
+
# before first update, disable myself
|
|
84
76
|
self.setEnabled(False)
|
|
85
77
|
|
|
86
78
|
# hide groups, if necessary
|
|
@@ -118,10 +110,25 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
118
110
|
|
|
119
111
|
async def _init(self) -> None:
|
|
120
112
|
# window
|
|
113
|
+
window_caps = await self.comm.get_capabilities(self.module, IWindow)
|
|
114
|
+
if window_caps is not None:
|
|
115
|
+
self.spinWindowLeft.setMaximum(int(window_caps.full_frame_width))
|
|
116
|
+
self.spinWindowTop.setMaximum(int(window_caps.full_frame_height))
|
|
117
|
+
self.spinWindowWidth.setMaximum(int(window_caps.full_frame_width))
|
|
118
|
+
self.spinWindowHeight.setMaximum(int(window_caps.full_frame_height))
|
|
121
119
|
async with self.comm.safe_proxy(self.module, IWindow) as proxy:
|
|
122
120
|
if proxy is not None:
|
|
123
|
-
await
|
|
124
|
-
|
|
121
|
+
state = await proxy.wait_for_state(IWindow)
|
|
122
|
+
if state is not None:
|
|
123
|
+
self.spinWindowLeft.setValue(state.x)
|
|
124
|
+
self.spinWindowTop.setValue(state.y)
|
|
125
|
+
self.spinWindowWidth.setValue(state.width)
|
|
126
|
+
self.spinWindowHeight.setValue(state.height)
|
|
127
|
+
elif window_caps is not None:
|
|
128
|
+
self.spinWindowLeft.setValue(window_caps.full_frame_x)
|
|
129
|
+
self.spinWindowTop.setValue(window_caps.full_frame_y)
|
|
130
|
+
self.spinWindowWidth.setValue(window_caps.full_frame_width)
|
|
131
|
+
self.spinWindowHeight.setValue(window_caps.full_frame_height)
|
|
125
132
|
|
|
126
133
|
# binning
|
|
127
134
|
binning_caps = await self.comm.get_capabilities(self.module, IBinning)
|
|
@@ -129,11 +136,21 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
129
136
|
binnings = [f"{b.x}x{b.y}" for b in binning_caps.binnings]
|
|
130
137
|
self.comboBinning.clear()
|
|
131
138
|
self.comboBinning.addItems(binnings)
|
|
132
|
-
|
|
139
|
+
async with self.comm.safe_proxy(self.module, IBinning) as proxy:
|
|
140
|
+
if proxy is not None:
|
|
141
|
+
state = await proxy.wait_for_state(IBinning)
|
|
142
|
+
if state is not None:
|
|
143
|
+
self.comboBinning.setCurrentText(f"{state.x}x{state.y}")
|
|
144
|
+
await self.comm.subscribe_state(self.module, IBinning, self._update_binning)
|
|
133
145
|
|
|
134
|
-
# gain
|
|
135
|
-
|
|
136
|
-
|
|
146
|
+
# gain
|
|
147
|
+
async with self.comm.safe_proxy(self.module, IGain) as proxy:
|
|
148
|
+
if proxy is not None:
|
|
149
|
+
state = await proxy.wait_for_state(IGain)
|
|
150
|
+
if state is not None:
|
|
151
|
+
self.spinGain.setValue(state.gain)
|
|
152
|
+
self.spinGainOffset.setValue(state.offset)
|
|
153
|
+
await self.comm.subscribe_state(self.module, IGain, self._update_gain)
|
|
137
154
|
|
|
138
155
|
# image format
|
|
139
156
|
image_format_caps = await self.comm.get_capabilities(self.module, IImageFormat)
|
|
@@ -141,38 +158,52 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
141
158
|
image_formats = [ImageFormat(f) for f in image_format_caps.image_formats]
|
|
142
159
|
self.comboImageFormat.clear()
|
|
143
160
|
self.comboImageFormat.addItems([f.name for f in image_formats])
|
|
144
|
-
|
|
161
|
+
async with self.comm.safe_proxy(self.module, IImageFormat) as proxy:
|
|
162
|
+
if proxy is not None:
|
|
163
|
+
state = await proxy.wait_for_state(IImageFormat)
|
|
164
|
+
if state is not None:
|
|
165
|
+
self.comboImageFormat.setCurrentText(state.image_format.name)
|
|
166
|
+
await self.comm.subscribe_state(self.module, IImageFormat, self._update_image_format)
|
|
145
167
|
|
|
168
|
+
# image type
|
|
146
169
|
async with self.comm.safe_proxy(self.module, IImageType) as proxy:
|
|
147
170
|
if proxy is not None:
|
|
148
|
-
await
|
|
171
|
+
state = await proxy.wait_for_state(IImageType)
|
|
172
|
+
if state is not None:
|
|
173
|
+
self.comboImageType.setCurrentText(state.image_type.name)
|
|
174
|
+
await self.comm.subscribe_state(self.module, IImageType, self._update_image_type)
|
|
149
175
|
|
|
176
|
+
# exposure (status, progress, time left)
|
|
150
177
|
async with self.comm.safe_proxy(self.module, IExposure) as proxy:
|
|
151
178
|
if proxy is not None:
|
|
152
|
-
await
|
|
153
|
-
|
|
179
|
+
state = await proxy.wait_for_state(IExposure)
|
|
180
|
+
if state is not None:
|
|
181
|
+
self.exposure_status = state.status
|
|
182
|
+
self.exposure_progress = state.progress
|
|
183
|
+
self.exposure_time_left = state.exposure_time_left
|
|
184
|
+
await self.comm.subscribe_state(self.module, IExposure, self._update_exposure)
|
|
185
|
+
|
|
186
|
+
# exposure time
|
|
154
187
|
async with self.comm.safe_proxy(self.module, IExposureTime) as proxy:
|
|
155
188
|
if proxy is not None:
|
|
156
|
-
await
|
|
189
|
+
state = await proxy.wait_for_state(IExposureTime)
|
|
190
|
+
if state is not None:
|
|
191
|
+
self.spinExpTime.setValue(state.exposure_time)
|
|
192
|
+
await self.comm.subscribe_state(self.module, IExposureTime, self._update_exposure_time)
|
|
157
193
|
|
|
194
|
+
# data sequence
|
|
158
195
|
if await self.comm.has_proxy(self.module, IDataSequence):
|
|
159
196
|
await self.comm.subscribe_state(self.module, IDataSequence, self._update_sequence)
|
|
160
197
|
|
|
161
198
|
# update GUI
|
|
162
199
|
self.signal_update_gui.emit()
|
|
163
200
|
|
|
164
|
-
def _update_window(self, state: WindowState):
|
|
165
|
-
self.labelWindowLeft.setText(str(state.x))
|
|
166
|
-
self.labelWindowTop.setText(str(state.y))
|
|
167
|
-
self.labelWindowWidth.setText(str(state.width))
|
|
168
|
-
self.labelWindowHeight.setText(str(state.height))
|
|
169
|
-
|
|
170
201
|
def _update_binning(self, state: BinningState):
|
|
171
202
|
self.comboBinning.setCurrentText(f"{state.x}x{state.y}")
|
|
172
203
|
|
|
173
204
|
def _update_gain(self, state: GainState):
|
|
174
|
-
self.
|
|
175
|
-
self.
|
|
205
|
+
self.spinGain.setValue(state.gain)
|
|
206
|
+
self.spinGainOffset.setValue(state.offset)
|
|
176
207
|
|
|
177
208
|
def _update_image_format(self, state: ImageFormatState):
|
|
178
209
|
self.comboImageFormat.setCurrentText(state.image_format.name)
|
|
@@ -194,14 +225,6 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
194
225
|
self.exposures_left = state.count_left
|
|
195
226
|
self.update_gui()
|
|
196
227
|
|
|
197
|
-
@qasync.asyncSlot()
|
|
198
|
-
async def _window_changed(self):
|
|
199
|
-
print("ok")
|
|
200
|
-
|
|
201
|
-
@qasync.asyncSlot()
|
|
202
|
-
async def _gain_changed(self):
|
|
203
|
-
print("ok")
|
|
204
|
-
|
|
205
228
|
@qasync.asyncSlot() # type: ignore
|
|
206
229
|
async def set_full_frame(self) -> None:
|
|
207
230
|
caps = await self.comm.get_capabilities(self.module, IWindow)
|
|
@@ -247,18 +270,75 @@ class CameraWidget(BaseWidget, Ui_CameraWidget):
|
|
|
247
270
|
|
|
248
271
|
@qasync.asyncSlot() # type: ignore
|
|
249
272
|
async def expose(self) -> None:
|
|
273
|
+
# set binning
|
|
274
|
+
async with self.comm.safe_proxy(self.module, IBinning) as proxy:
|
|
275
|
+
if proxy is not None:
|
|
276
|
+
binning = int(self.comboBinning.currentText()[0])
|
|
277
|
+
try:
|
|
278
|
+
await proxy.set_binning(binning, binning)
|
|
279
|
+
except Exception:
|
|
280
|
+
log.exception("bla")
|
|
281
|
+
QtWidgets.QMessageBox.information(self, "Error", "Could not set binning.")
|
|
282
|
+
return
|
|
283
|
+
else:
|
|
284
|
+
binning = 1
|
|
285
|
+
|
|
286
|
+
# set window
|
|
287
|
+
async with self.comm.safe_proxy(self.module, IWindow) as proxy:
|
|
288
|
+
if proxy is not None:
|
|
289
|
+
left, top = self.spinWindowLeft.value(), self.spinWindowTop.value()
|
|
290
|
+
width, height = self.spinWindowWidth.value(), self.spinWindowHeight.value()
|
|
291
|
+
try:
|
|
292
|
+
await proxy.set_window(left, top, width * binning, height * binning)
|
|
293
|
+
except Exception:
|
|
294
|
+
QtWidgets.QMessageBox.information(self, "Error", "Could not set window.")
|
|
295
|
+
return
|
|
296
|
+
|
|
297
|
+
# set image format
|
|
298
|
+
async with self.comm.safe_proxy(self.module, IImageFormat) as proxy:
|
|
299
|
+
if proxy is not None:
|
|
300
|
+
image_format = ImageFormat[self.comboImageFormat.currentText()]
|
|
301
|
+
await proxy.set_image_format(image_format)
|
|
302
|
+
|
|
303
|
+
# set exposure time
|
|
304
|
+
async with self.comm.safe_proxy(self.module, IExposureTime) as proxy:
|
|
305
|
+
if proxy is not None:
|
|
306
|
+
# get exp_time
|
|
307
|
+
exp_time = self.spinExpTime.value()
|
|
308
|
+
|
|
309
|
+
# unit
|
|
310
|
+
if self.comboExpTimeUnit.currentText() == "ms":
|
|
311
|
+
exp_time /= 1e3
|
|
312
|
+
elif self.comboExpTimeUnit.currentText() == "µs":
|
|
313
|
+
exp_time /= 1e6
|
|
314
|
+
|
|
315
|
+
# set it
|
|
316
|
+
await proxy.set_exposure_time(exp_time)
|
|
317
|
+
|
|
318
|
+
# set gain and offset
|
|
319
|
+
async with self.comm.safe_proxy(self.module, IGain) as proxy:
|
|
320
|
+
if proxy is not None:
|
|
321
|
+
await proxy.set_gain(self.spinGain.value())
|
|
322
|
+
await proxy.set_offset(self.spinGainOffset.value())
|
|
323
|
+
|
|
324
|
+
# set image type
|
|
325
|
+
image_type = ImageType.OBJECT
|
|
326
|
+
async with self.comm.safe_proxy(self.module, IImageType) as proxy:
|
|
327
|
+
if proxy is not None:
|
|
328
|
+
image_type = ImageType(self.comboImageType.currentText().lower())
|
|
329
|
+
await proxy.set_image_type(image_type)
|
|
330
|
+
|
|
331
|
+
# set initial image count
|
|
332
|
+
self.exposures_left = self.spinCount.value()
|
|
250
333
|
broadcast = self.checkBroadcast.isChecked()
|
|
251
|
-
count = self.spinCount.value()
|
|
252
334
|
|
|
253
|
-
# if the module can grab a counted sequence server-side, let it
|
|
254
|
-
# back via the DataSequenceState subscription
|
|
335
|
+
# if the module can grab a counted sequence server-side, let it
|
|
255
336
|
async with self.comm.safe_proxy(self.module, IDataSequence) as proxy:
|
|
256
337
|
if proxy is not None:
|
|
257
|
-
await proxy.grab_sequence(
|
|
338
|
+
await proxy.grab_sequence(self.exposures_left, broadcast)
|
|
258
339
|
return
|
|
259
340
|
|
|
260
341
|
# fall back to a client-side loop for modules that don't support IDataSequence
|
|
261
|
-
self.exposures_left = count
|
|
262
342
|
while self.exposures_left > 0:
|
|
263
343
|
await self.datadisplay.grab_data(broadcast)
|
|
264
344
|
self.exposures_left -= 1
|
pyobs_gui/qt/camerawidget.ui
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<rect>
|
|
34
34
|
<x>0</x>
|
|
35
35
|
<y>0</y>
|
|
36
|
-
<width>
|
|
36
|
+
<width>239</width>
|
|
37
37
|
<height>748</height>
|
|
38
38
|
</rect>
|
|
39
39
|
</property>
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
</widget>
|
|
65
65
|
</item>
|
|
66
66
|
<item row="2" column="2">
|
|
67
|
-
<widget class="
|
|
67
|
+
<widget class="QSpinBox" name="spinWindowWidth">
|
|
68
68
|
<property name="minimum">
|
|
69
69
|
<number>1</number>
|
|
70
70
|
</property>
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
</widget>
|
|
75
75
|
</item>
|
|
76
76
|
<item row="0" column="2">
|
|
77
|
-
<widget class="
|
|
77
|
+
<widget class="QSpinBox" name="spinWindowLeft">
|
|
78
78
|
<property name="maximum">
|
|
79
79
|
<number>9999</number>
|
|
80
80
|
</property>
|
|
@@ -109,14 +109,14 @@
|
|
|
109
109
|
</widget>
|
|
110
110
|
</item>
|
|
111
111
|
<item row="1" column="2">
|
|
112
|
-
<widget class="
|
|
112
|
+
<widget class="QSpinBox" name="spinWindowTop">
|
|
113
113
|
<property name="maximum">
|
|
114
114
|
<number>9999</number>
|
|
115
115
|
</property>
|
|
116
116
|
</widget>
|
|
117
117
|
</item>
|
|
118
118
|
<item row="3" column="2">
|
|
119
|
-
<widget class="
|
|
119
|
+
<widget class="QSpinBox" name="spinWindowHeight">
|
|
120
120
|
<property name="minimum">
|
|
121
121
|
<number>1</number>
|
|
122
122
|
</property>
|
|
@@ -126,54 +126,54 @@
|
|
|
126
126
|
</widget>
|
|
127
127
|
</item>
|
|
128
128
|
<item row="0" column="1">
|
|
129
|
-
<widget class="
|
|
129
|
+
<widget class="QLabel" name="labelWindowLeft">
|
|
130
130
|
<property name="frameShape">
|
|
131
|
-
<enum>QFrame::Shape::
|
|
131
|
+
<enum>QFrame::Shape::Box</enum>
|
|
132
132
|
</property>
|
|
133
133
|
<property name="text">
|
|
134
134
|
<string>-</string>
|
|
135
135
|
</property>
|
|
136
136
|
<property name="alignment">
|
|
137
|
-
<set>Qt::AlignmentFlag::
|
|
137
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
138
138
|
</property>
|
|
139
139
|
</widget>
|
|
140
140
|
</item>
|
|
141
141
|
<item row="1" column="1">
|
|
142
|
-
<widget class="
|
|
142
|
+
<widget class="QLabel" name="labelWindowTop">
|
|
143
143
|
<property name="frameShape">
|
|
144
|
-
<enum>QFrame::Shape::
|
|
144
|
+
<enum>QFrame::Shape::Box</enum>
|
|
145
145
|
</property>
|
|
146
146
|
<property name="text">
|
|
147
147
|
<string>-</string>
|
|
148
148
|
</property>
|
|
149
149
|
<property name="alignment">
|
|
150
|
-
<set>Qt::AlignmentFlag::
|
|
150
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
151
151
|
</property>
|
|
152
152
|
</widget>
|
|
153
153
|
</item>
|
|
154
154
|
<item row="2" column="1">
|
|
155
|
-
<widget class="
|
|
155
|
+
<widget class="QLabel" name="labelWindowWidth">
|
|
156
156
|
<property name="frameShape">
|
|
157
|
-
<enum>QFrame::Shape::
|
|
157
|
+
<enum>QFrame::Shape::Box</enum>
|
|
158
158
|
</property>
|
|
159
159
|
<property name="text">
|
|
160
160
|
<string>-</string>
|
|
161
161
|
</property>
|
|
162
162
|
<property name="alignment">
|
|
163
|
-
<set>Qt::AlignmentFlag::
|
|
163
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
164
164
|
</property>
|
|
165
165
|
</widget>
|
|
166
166
|
</item>
|
|
167
167
|
<item row="3" column="1">
|
|
168
|
-
<widget class="
|
|
168
|
+
<widget class="QLabel" name="labelWindowHeight">
|
|
169
169
|
<property name="frameShape">
|
|
170
|
-
<enum>QFrame::Shape::
|
|
170
|
+
<enum>QFrame::Shape::Box</enum>
|
|
171
171
|
</property>
|
|
172
172
|
<property name="text">
|
|
173
173
|
<string>-</string>
|
|
174
174
|
</property>
|
|
175
175
|
<property name="alignment">
|
|
176
|
-
<set>Qt::AlignmentFlag::
|
|
176
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
177
177
|
</property>
|
|
178
178
|
</widget>
|
|
179
179
|
</item>
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
</widget>
|
|
249
249
|
</item>
|
|
250
250
|
<item row="0" column="2">
|
|
251
|
-
<widget class="
|
|
251
|
+
<widget class="QSpinBox" name="spinGain">
|
|
252
252
|
<property name="minimum">
|
|
253
253
|
<number>1</number>
|
|
254
254
|
</property>
|
|
@@ -258,9 +258,9 @@
|
|
|
258
258
|
</widget>
|
|
259
259
|
</item>
|
|
260
260
|
<item row="1" column="2">
|
|
261
|
-
<widget class="
|
|
261
|
+
<widget class="QSpinBox" name="spinGainOffset">
|
|
262
262
|
<property name="minimum">
|
|
263
|
-
<number>
|
|
263
|
+
<number>1</number>
|
|
264
264
|
</property>
|
|
265
265
|
<property name="maximum">
|
|
266
266
|
<number>9999</number>
|
|
@@ -268,28 +268,28 @@
|
|
|
268
268
|
</widget>
|
|
269
269
|
</item>
|
|
270
270
|
<item row="0" column="1">
|
|
271
|
-
<widget class="
|
|
271
|
+
<widget class="QLabel" name="labelGain">
|
|
272
272
|
<property name="frameShape">
|
|
273
|
-
<enum>QFrame::Shape::
|
|
273
|
+
<enum>QFrame::Shape::Box</enum>
|
|
274
274
|
</property>
|
|
275
275
|
<property name="text">
|
|
276
276
|
<string>-</string>
|
|
277
277
|
</property>
|
|
278
278
|
<property name="alignment">
|
|
279
|
-
<set>Qt::AlignmentFlag::
|
|
279
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
280
280
|
</property>
|
|
281
281
|
</widget>
|
|
282
282
|
</item>
|
|
283
283
|
<item row="1" column="1">
|
|
284
|
-
<widget class="
|
|
284
|
+
<widget class="QLabel" name="labelGainOffset">
|
|
285
285
|
<property name="frameShape">
|
|
286
|
-
<enum>QFrame::Shape::
|
|
286
|
+
<enum>QFrame::Shape::Box</enum>
|
|
287
287
|
</property>
|
|
288
288
|
<property name="text">
|
|
289
289
|
<string>-</string>
|
|
290
290
|
</property>
|
|
291
291
|
<property name="alignment">
|
|
292
|
-
<set>Qt::AlignmentFlag::
|
|
292
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
293
293
|
</property>
|
|
294
294
|
</widget>
|
|
295
295
|
</item>
|
|
@@ -312,7 +312,7 @@
|
|
|
312
312
|
<item row="0" column="2">
|
|
313
313
|
<layout class="QHBoxLayout" name="layoutExpTime" stretch="1,0">
|
|
314
314
|
<item>
|
|
315
|
-
<widget class="
|
|
315
|
+
<widget class="QDoubleSpinBox" name="spinExpTime">
|
|
316
316
|
<property name="suffix">
|
|
317
317
|
<string/>
|
|
318
318
|
</property>
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
</layout>
|
|
353
353
|
</item>
|
|
354
354
|
<item row="0" column="1">
|
|
355
|
-
<widget class="
|
|
355
|
+
<widget class="QLabel" name="labelExpTime">
|
|
356
356
|
<property name="frameShape">
|
|
357
357
|
<enum>QFrame::Shape::Box</enum>
|
|
358
358
|
</property>
|
|
@@ -1378,21 +1378,6 @@
|
|
|
1378
1378
|
<extends>QWidget</extends>
|
|
1379
1379
|
<header>..datadisplaywidget</header>
|
|
1380
1380
|
</customwidget>
|
|
1381
|
-
<customwidget>
|
|
1382
|
-
<class>WatchedLabel</class>
|
|
1383
|
-
<extends>QLabel</extends>
|
|
1384
|
-
<header>..watchedlabel</header>
|
|
1385
|
-
</customwidget>
|
|
1386
|
-
<customwidget>
|
|
1387
|
-
<class>ModifiedSpinBox</class>
|
|
1388
|
-
<extends>QSpinBox</extends>
|
|
1389
|
-
<header>..modifiedmixin</header>
|
|
1390
|
-
</customwidget>
|
|
1391
|
-
<customwidget>
|
|
1392
|
-
<class>ModifiedDoubleSpinBox</class>
|
|
1393
|
-
<extends>QDoubleSpinBox</extends>
|
|
1394
|
-
<header>..modifiedmixin</header>
|
|
1395
|
-
</customwidget>
|
|
1396
1381
|
</customwidgets>
|
|
1397
1382
|
<tabstops>
|
|
1398
1383
|
<tabstop>scrollArea</tabstop>
|
pyobs_gui/qt/camerawidget_ui.py
CHANGED
|
@@ -15,14 +15,12 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
|
|
15
15
|
QFont, QFontDatabase, QGradient, QIcon,
|
|
16
16
|
QImage, QKeySequence, QLinearGradient, QPainter,
|
|
17
17
|
QPalette, QPixmap, QRadialGradient, QTransform)
|
|
18
|
-
from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox,
|
|
18
|
+
from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDoubleSpinBox,
|
|
19
19
|
QGridLayout, QGroupBox, QHBoxLayout, QLabel,
|
|
20
20
|
QProgressBar, QPushButton, QScrollArea, QSizePolicy,
|
|
21
21
|
QSpacerItem, QSpinBox, QVBoxLayout, QWidget)
|
|
22
22
|
|
|
23
23
|
from ..datadisplaywidget import DataDisplayWidget
|
|
24
|
-
from ..modifiedmixin import (ModifiedDoubleSpinBox, ModifiedSpinBox)
|
|
25
|
-
from ..watchedlabel import WatchedLabel
|
|
26
24
|
from . import resources_rc
|
|
27
25
|
|
|
28
26
|
class Ui_CameraWidget(object):
|
|
@@ -43,7 +41,7 @@ class Ui_CameraWidget(object):
|
|
|
43
41
|
self.scrollArea.setWidgetResizable(True)
|
|
44
42
|
self.scrollAreaWidgetContents = QWidget()
|
|
45
43
|
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
|
|
46
|
-
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0,
|
|
44
|
+
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 295, 748))
|
|
47
45
|
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
|
48
46
|
sizePolicy1.setHorizontalStretch(0)
|
|
49
47
|
sizePolicy1.setVerticalStretch(0)
|
|
@@ -57,88 +55,57 @@ class Ui_CameraWidget(object):
|
|
|
57
55
|
self.gridLayout_2 = QGridLayout(self.groupWindowing)
|
|
58
56
|
self.gridLayout_2.setSpacing(0)
|
|
59
57
|
self.gridLayout_2.setObjectName(u"gridLayout_2")
|
|
60
|
-
self.
|
|
61
|
-
self.
|
|
58
|
+
self.label = QLabel(self.groupWindowing)
|
|
59
|
+
self.label.setObjectName(u"label")
|
|
62
60
|
|
|
63
|
-
self.gridLayout_2.addWidget(self.
|
|
61
|
+
self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
|
|
64
62
|
|
|
65
|
-
self.
|
|
63
|
+
self.label_2 = QLabel(self.groupWindowing)
|
|
64
|
+
self.label_2.setObjectName(u"label_2")
|
|
65
|
+
|
|
66
|
+
self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
|
|
67
|
+
|
|
68
|
+
self.spinWindowWidth = QSpinBox(self.groupWindowing)
|
|
66
69
|
self.spinWindowWidth.setObjectName(u"spinWindowWidth")
|
|
67
70
|
self.spinWindowWidth.setMinimum(1)
|
|
68
71
|
self.spinWindowWidth.setMaximum(9999)
|
|
69
72
|
|
|
70
|
-
self.gridLayout_2.addWidget(self.spinWindowWidth, 2,
|
|
71
|
-
|
|
72
|
-
self.spinWindowLeft = ModifiedSpinBox(self.groupWindowing)
|
|
73
|
-
self.spinWindowLeft.setObjectName(u"spinWindowLeft")
|
|
74
|
-
self.spinWindowLeft.setMaximum(9999)
|
|
75
|
-
|
|
76
|
-
self.gridLayout_2.addWidget(self.spinWindowLeft, 0, 2, 1, 1)
|
|
73
|
+
self.gridLayout_2.addWidget(self.spinWindowWidth, 2, 1, 1, 1)
|
|
77
74
|
|
|
78
75
|
self.butFullFrame = QPushButton(self.groupWindowing)
|
|
79
76
|
self.butFullFrame.setObjectName(u"butFullFrame")
|
|
80
77
|
|
|
81
|
-
self.gridLayout_2.addWidget(self.butFullFrame, 4, 0, 1,
|
|
78
|
+
self.gridLayout_2.addWidget(self.butFullFrame, 4, 0, 1, 2)
|
|
79
|
+
|
|
80
|
+
self.label_3 = QLabel(self.groupWindowing)
|
|
81
|
+
self.label_3.setObjectName(u"label_3")
|
|
82
|
+
|
|
83
|
+
self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1)
|
|
82
84
|
|
|
83
85
|
self.label_4 = QLabel(self.groupWindowing)
|
|
84
86
|
self.label_4.setObjectName(u"label_4")
|
|
85
87
|
|
|
86
88
|
self.gridLayout_2.addWidget(self.label_4, 3, 0, 1, 1)
|
|
87
89
|
|
|
88
|
-
self.
|
|
89
|
-
self.label_2.setObjectName(u"label_2")
|
|
90
|
-
|
|
91
|
-
self.gridLayout_2.addWidget(self.label_2, 1, 0, 1, 1)
|
|
92
|
-
|
|
93
|
-
self.label = QLabel(self.groupWindowing)
|
|
94
|
-
self.label.setObjectName(u"label")
|
|
95
|
-
|
|
96
|
-
self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
|
|
97
|
-
|
|
98
|
-
self.spinWindowTop = ModifiedSpinBox(self.groupWindowing)
|
|
99
|
-
self.spinWindowTop.setObjectName(u"spinWindowTop")
|
|
100
|
-
self.spinWindowTop.setMaximum(9999)
|
|
101
|
-
|
|
102
|
-
self.gridLayout_2.addWidget(self.spinWindowTop, 1, 2, 1, 1)
|
|
103
|
-
|
|
104
|
-
self.spinWindowHeight = ModifiedSpinBox(self.groupWindowing)
|
|
90
|
+
self.spinWindowHeight = QSpinBox(self.groupWindowing)
|
|
105
91
|
self.spinWindowHeight.setObjectName(u"spinWindowHeight")
|
|
106
92
|
self.spinWindowHeight.setMinimum(1)
|
|
107
93
|
self.spinWindowHeight.setMaximum(9999)
|
|
108
94
|
|
|
109
|
-
self.gridLayout_2.addWidget(self.spinWindowHeight, 3,
|
|
110
|
-
|
|
111
|
-
self.labelWindowLeft = WatchedLabel(self.groupWindowing)
|
|
112
|
-
self.labelWindowLeft.setObjectName(u"labelWindowLeft")
|
|
113
|
-
self.labelWindowLeft.setFrameShape(QFrame.Shape.NoFrame)
|
|
114
|
-
self.labelWindowLeft.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
115
|
-
|
|
116
|
-
self.gridLayout_2.addWidget(self.labelWindowLeft, 0, 1, 1, 1)
|
|
117
|
-
|
|
118
|
-
self.labelWindowTop = WatchedLabel(self.groupWindowing)
|
|
119
|
-
self.labelWindowTop.setObjectName(u"labelWindowTop")
|
|
120
|
-
self.labelWindowTop.setFrameShape(QFrame.Shape.NoFrame)
|
|
121
|
-
self.labelWindowTop.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
95
|
+
self.gridLayout_2.addWidget(self.spinWindowHeight, 3, 1, 1, 1)
|
|
122
96
|
|
|
123
|
-
self.
|
|
124
|
-
|
|
125
|
-
self.
|
|
126
|
-
self.labelWindowWidth.setObjectName(u"labelWindowWidth")
|
|
127
|
-
self.labelWindowWidth.setFrameShape(QFrame.Shape.NoFrame)
|
|
128
|
-
self.labelWindowWidth.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
97
|
+
self.spinWindowLeft = QSpinBox(self.groupWindowing)
|
|
98
|
+
self.spinWindowLeft.setObjectName(u"spinWindowLeft")
|
|
99
|
+
self.spinWindowLeft.setMaximum(9999)
|
|
129
100
|
|
|
130
|
-
self.gridLayout_2.addWidget(self.
|
|
101
|
+
self.gridLayout_2.addWidget(self.spinWindowLeft, 0, 1, 1, 1)
|
|
131
102
|
|
|
132
|
-
self.
|
|
133
|
-
self.
|
|
134
|
-
self.
|
|
135
|
-
self.labelWindowHeight.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
103
|
+
self.spinWindowTop = QSpinBox(self.groupWindowing)
|
|
104
|
+
self.spinWindowTop.setObjectName(u"spinWindowTop")
|
|
105
|
+
self.spinWindowTop.setMaximum(9999)
|
|
136
106
|
|
|
137
|
-
self.gridLayout_2.addWidget(self.
|
|
107
|
+
self.gridLayout_2.addWidget(self.spinWindowTop, 1, 1, 1, 1)
|
|
138
108
|
|
|
139
|
-
self.gridLayout_2.setColumnStretch(0, 2)
|
|
140
|
-
self.gridLayout_2.setColumnStretch(1, 1)
|
|
141
|
-
self.gridLayout_2.setColumnStretch(2, 2)
|
|
142
109
|
|
|
143
110
|
self.verticalLayout.addWidget(self.groupWindowing)
|
|
144
111
|
|
|
@@ -183,47 +150,30 @@ class Ui_CameraWidget(object):
|
|
|
183
150
|
self.gridLayout = QGridLayout(self.groupGain)
|
|
184
151
|
self.gridLayout.setSpacing(0)
|
|
185
152
|
self.gridLayout.setObjectName(u"gridLayout")
|
|
186
|
-
self.label_11 = QLabel(self.groupGain)
|
|
187
|
-
self.label_11.setObjectName(u"label_11")
|
|
188
|
-
|
|
189
|
-
self.gridLayout.addWidget(self.label_11, 0, 0, 1, 1)
|
|
190
|
-
|
|
191
153
|
self.label_13 = QLabel(self.groupGain)
|
|
192
154
|
self.label_13.setObjectName(u"label_13")
|
|
193
155
|
|
|
194
156
|
self.gridLayout.addWidget(self.label_13, 1, 0, 1, 1)
|
|
195
157
|
|
|
196
|
-
self.
|
|
158
|
+
self.label_11 = QLabel(self.groupGain)
|
|
159
|
+
self.label_11.setObjectName(u"label_11")
|
|
160
|
+
|
|
161
|
+
self.gridLayout.addWidget(self.label_11, 0, 0, 1, 1)
|
|
162
|
+
|
|
163
|
+
self.spinGain = QSpinBox(self.groupGain)
|
|
197
164
|
self.spinGain.setObjectName(u"spinGain")
|
|
198
165
|
self.spinGain.setMinimum(1)
|
|
199
166
|
self.spinGain.setMaximum(9999)
|
|
200
167
|
|
|
201
|
-
self.gridLayout.addWidget(self.spinGain, 0,
|
|
168
|
+
self.gridLayout.addWidget(self.spinGain, 0, 1, 1, 1)
|
|
202
169
|
|
|
203
|
-
self.spinGainOffset =
|
|
170
|
+
self.spinGainOffset = QSpinBox(self.groupGain)
|
|
204
171
|
self.spinGainOffset.setObjectName(u"spinGainOffset")
|
|
205
|
-
self.spinGainOffset.setMinimum(
|
|
172
|
+
self.spinGainOffset.setMinimum(1)
|
|
206
173
|
self.spinGainOffset.setMaximum(9999)
|
|
207
174
|
|
|
208
|
-
self.gridLayout.addWidget(self.spinGainOffset, 1,
|
|
209
|
-
|
|
210
|
-
self.labelGain = WatchedLabel(self.groupGain)
|
|
211
|
-
self.labelGain.setObjectName(u"labelGain")
|
|
212
|
-
self.labelGain.setFrameShape(QFrame.Shape.NoFrame)
|
|
213
|
-
self.labelGain.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
214
|
-
|
|
215
|
-
self.gridLayout.addWidget(self.labelGain, 0, 1, 1, 1)
|
|
216
|
-
|
|
217
|
-
self.labelGainOffset = WatchedLabel(self.groupGain)
|
|
218
|
-
self.labelGainOffset.setObjectName(u"labelGainOffset")
|
|
219
|
-
self.labelGainOffset.setFrameShape(QFrame.Shape.NoFrame)
|
|
220
|
-
self.labelGainOffset.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
221
|
-
|
|
222
|
-
self.gridLayout.addWidget(self.labelGainOffset, 1, 1, 1, 1)
|
|
175
|
+
self.gridLayout.addWidget(self.spinGainOffset, 1, 1, 1, 1)
|
|
223
176
|
|
|
224
|
-
self.gridLayout.setColumnStretch(0, 2)
|
|
225
|
-
self.gridLayout.setColumnStretch(1, 1)
|
|
226
|
-
self.gridLayout.setColumnStretch(2, 2)
|
|
227
177
|
|
|
228
178
|
self.verticalLayout.addWidget(self.groupGain)
|
|
229
179
|
|
|
@@ -238,9 +188,9 @@ class Ui_CameraWidget(object):
|
|
|
238
188
|
|
|
239
189
|
self.layoutExpTime = QHBoxLayout()
|
|
240
190
|
self.layoutExpTime.setObjectName(u"layoutExpTime")
|
|
241
|
-
self.spinExpTime =
|
|
191
|
+
self.spinExpTime = QDoubleSpinBox(self.groupExpTime)
|
|
242
192
|
self.spinExpTime.setObjectName(u"spinExpTime")
|
|
243
|
-
self.spinExpTime.setDecimals(
|
|
193
|
+
self.spinExpTime.setDecimals(3)
|
|
244
194
|
self.spinExpTime.setMaximum(999.000000000000000)
|
|
245
195
|
self.spinExpTime.setValue(1.000000000000000)
|
|
246
196
|
|
|
@@ -257,18 +207,8 @@ class Ui_CameraWidget(object):
|
|
|
257
207
|
|
|
258
208
|
self.layoutExpTime.setStretch(0, 1)
|
|
259
209
|
|
|
260
|
-
self.gridLayout_5.addLayout(self.layoutExpTime, 0,
|
|
210
|
+
self.gridLayout_5.addLayout(self.layoutExpTime, 0, 1, 1, 1)
|
|
261
211
|
|
|
262
|
-
self.labelExpTime = WatchedLabel(self.groupExpTime)
|
|
263
|
-
self.labelExpTime.setObjectName(u"labelExpTime")
|
|
264
|
-
self.labelExpTime.setFrameShape(QFrame.Shape.Box)
|
|
265
|
-
self.labelExpTime.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
266
|
-
|
|
267
|
-
self.gridLayout_5.addWidget(self.labelExpTime, 0, 1, 1, 1)
|
|
268
|
-
|
|
269
|
-
self.gridLayout_5.setColumnStretch(0, 2)
|
|
270
|
-
self.gridLayout_5.setColumnStretch(1, 1)
|
|
271
|
-
self.gridLayout_5.setColumnStretch(2, 2)
|
|
272
212
|
|
|
273
213
|
self.verticalLayout.addWidget(self.groupExpTime)
|
|
274
214
|
|
|
@@ -277,11 +217,10 @@ class Ui_CameraWidget(object):
|
|
|
277
217
|
self.gridLayout_4 = QGridLayout(self.groupExposure)
|
|
278
218
|
self.gridLayout_4.setSpacing(0)
|
|
279
219
|
self.gridLayout_4.setObjectName(u"gridLayout_4")
|
|
280
|
-
self.
|
|
281
|
-
self.
|
|
282
|
-
self.checkBroadcast.setChecked(True)
|
|
220
|
+
self.labelImageType = QLabel(self.groupExposure)
|
|
221
|
+
self.labelImageType.setObjectName(u"labelImageType")
|
|
283
222
|
|
|
284
|
-
self.gridLayout_4.addWidget(self.
|
|
223
|
+
self.gridLayout_4.addWidget(self.labelImageType, 0, 0, 1, 1)
|
|
285
224
|
|
|
286
225
|
self.spinCount = QSpinBox(self.groupExposure)
|
|
287
226
|
self.spinCount.setObjectName(u"spinCount")
|
|
@@ -375,10 +314,10 @@ class Ui_CameraWidget(object):
|
|
|
375
314
|
|
|
376
315
|
self.gridLayout_4.addWidget(self.butAbort, 4, 0, 1, 2)
|
|
377
316
|
|
|
378
|
-
self.
|
|
379
|
-
self.
|
|
317
|
+
self.label_8 = QLabel(self.groupExposure)
|
|
318
|
+
self.label_8.setObjectName(u"label_8")
|
|
380
319
|
|
|
381
|
-
self.gridLayout_4.addWidget(self.
|
|
320
|
+
self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
|
|
382
321
|
|
|
383
322
|
self.butExpose = QPushButton(self.groupExposure)
|
|
384
323
|
self.butExpose.setObjectName(u"butExpose")
|
|
@@ -457,15 +396,16 @@ class Ui_CameraWidget(object):
|
|
|
457
396
|
|
|
458
397
|
self.gridLayout_4.addWidget(self.butExpose, 3, 0, 1, 2)
|
|
459
398
|
|
|
460
|
-
self.
|
|
461
|
-
self.
|
|
399
|
+
self.checkBroadcast = QCheckBox(self.groupExposure)
|
|
400
|
+
self.checkBroadcast.setObjectName(u"checkBroadcast")
|
|
401
|
+
self.checkBroadcast.setChecked(True)
|
|
462
402
|
|
|
463
|
-
self.gridLayout_4.addWidget(self.
|
|
403
|
+
self.gridLayout_4.addWidget(self.checkBroadcast, 2, 1, 1, 1)
|
|
464
404
|
|
|
465
|
-
self.
|
|
466
|
-
self.
|
|
405
|
+
self.comboImageType = QComboBox(self.groupExposure)
|
|
406
|
+
self.comboImageType.setObjectName(u"comboImageType")
|
|
467
407
|
|
|
468
|
-
self.gridLayout_4.addWidget(self.
|
|
408
|
+
self.gridLayout_4.addWidget(self.comboImageType, 0, 1, 1, 1)
|
|
469
409
|
|
|
470
410
|
|
|
471
411
|
self.verticalLayout.addWidget(self.groupExposure)
|
|
@@ -530,24 +470,18 @@ class Ui_CameraWidget(object):
|
|
|
530
470
|
def retranslateUi(self, CameraWidget):
|
|
531
471
|
CameraWidget.setWindowTitle(QCoreApplication.translate("CameraWidget", u"Form", None))
|
|
532
472
|
self.groupWindowing.setTitle("")
|
|
533
|
-
self.
|
|
473
|
+
self.label.setText(QCoreApplication.translate("CameraWidget", u"Left:", None))
|
|
474
|
+
self.label_2.setText(QCoreApplication.translate("CameraWidget", u"Top:", None))
|
|
534
475
|
self.butFullFrame.setText(QCoreApplication.translate("CameraWidget", u"Full Frame", None))
|
|
476
|
+
self.label_3.setText(QCoreApplication.translate("CameraWidget", u"Width:", None))
|
|
535
477
|
self.label_4.setText(QCoreApplication.translate("CameraWidget", u"Height:", None))
|
|
536
|
-
self.label_2.setText(QCoreApplication.translate("CameraWidget", u"Top:", None))
|
|
537
|
-
self.label.setText(QCoreApplication.translate("CameraWidget", u"Left:", None))
|
|
538
|
-
self.labelWindowLeft.setText(QCoreApplication.translate("CameraWidget", u"-", None))
|
|
539
|
-
self.labelWindowTop.setText(QCoreApplication.translate("CameraWidget", u"-", None))
|
|
540
|
-
self.labelWindowWidth.setText(QCoreApplication.translate("CameraWidget", u"-", None))
|
|
541
|
-
self.labelWindowHeight.setText(QCoreApplication.translate("CameraWidget", u"-", None))
|
|
542
478
|
self.groupImageFormat.setTitle("")
|
|
543
479
|
self.label_10.setText(QCoreApplication.translate("CameraWidget", u"Format:", None))
|
|
544
480
|
self.groupBinning.setTitle("")
|
|
545
481
|
self.label_5.setText(QCoreApplication.translate("CameraWidget", u"Binning:", None))
|
|
546
482
|
self.groupGain.setTitle("")
|
|
547
|
-
self.label_11.setText(QCoreApplication.translate("CameraWidget", u"Gain:", None))
|
|
548
483
|
self.label_13.setText(QCoreApplication.translate("CameraWidget", u"Offset:", None))
|
|
549
|
-
self.
|
|
550
|
-
self.labelGainOffset.setText(QCoreApplication.translate("CameraWidget", u"-", None))
|
|
484
|
+
self.label_11.setText(QCoreApplication.translate("CameraWidget", u"Gain:", None))
|
|
551
485
|
self.groupExpTime.setTitle("")
|
|
552
486
|
self.label_12.setText(QCoreApplication.translate("CameraWidget", u"ExpTime:", None))
|
|
553
487
|
self.spinExpTime.setSuffix("")
|
|
@@ -555,13 +489,12 @@ class Ui_CameraWidget(object):
|
|
|
555
489
|
self.comboExpTimeUnit.setItemText(1, QCoreApplication.translate("CameraWidget", u"ms", None))
|
|
556
490
|
self.comboExpTimeUnit.setItemText(2, QCoreApplication.translate("CameraWidget", u"\u00b5s", None))
|
|
557
491
|
|
|
558
|
-
self.labelExpTime.setText(QCoreApplication.translate("CameraWidget", u"-", None))
|
|
559
492
|
self.groupExposure.setTitle("")
|
|
560
|
-
self.
|
|
493
|
+
self.labelImageType.setText(QCoreApplication.translate("CameraWidget", u"Type:", None))
|
|
561
494
|
self.butAbort.setText(QCoreApplication.translate("CameraWidget", u"Abort", None))
|
|
562
|
-
self.butExpose.setText(QCoreApplication.translate("CameraWidget", u"Expose", None))
|
|
563
495
|
self.label_8.setText(QCoreApplication.translate("CameraWidget", u"Count:", None))
|
|
564
|
-
self.
|
|
496
|
+
self.butExpose.setText(QCoreApplication.translate("CameraWidget", u"Expose", None))
|
|
497
|
+
self.checkBroadcast.setText(QCoreApplication.translate("CameraWidget", u"Broadcast", None))
|
|
565
498
|
self.labelStatus.setText(QCoreApplication.translate("CameraWidget", u"IDLE", None))
|
|
566
499
|
self.labelExposuresLeft.setText(QCoreApplication.translate("CameraWidget", u"IDLE", None))
|
|
567
500
|
# retranslateUi
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobs-gui
|
|
3
|
-
Version: 2.0.0.
|
|
3
|
+
Version: 2.0.0.dev4
|
|
4
4
|
Summary: A remote GUI for pyobs
|
|
5
5
|
Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,7 +12,7 @@ Requires-Dist: colour<0.2,>=0.1.5
|
|
|
12
12
|
Requires-Dist: matplotlib<4,>=3.10.1
|
|
13
13
|
Requires-Dist: pyobs-core<3,>=2.0.0.dev28
|
|
14
14
|
Requires-Dist: pyside6>=6.10.1
|
|
15
|
-
Requires-Dist: qasync<0.
|
|
15
|
+
Requires-Dist: qasync<0.29,>=0.27.1
|
|
16
16
|
Requires-Dist: qfitswidget>=0.13.1
|
|
17
17
|
Requires-Dist: qtawesome<2,>=1.4.0
|
|
18
18
|
Requires-Dist: sunpy[all]>=7.0.1
|
|
@@ -3,7 +3,7 @@ pyobs_gui/acquisitionwidget.py,sha256=jhytcfVbopFknDoE_y3VXIQ7CgochPsZXqxq17ze-R
|
|
|
3
3
|
pyobs_gui/autofocuswidget.py,sha256=zgkz9AzSxpvE_xC9kQnUWuFNQze7vOYIfDWGCDkima0,4192
|
|
4
4
|
pyobs_gui/autoguidingwidget.py,sha256=ekahiYxuhUSQRMC84MXGtq0uMyS-_VF_C0WHA1VXvPc,6592
|
|
5
5
|
pyobs_gui/base.py,sha256=onpw_6UnOUjArcXRrxYXdDm4osezfxRL2kG_hTGsk8M,14168
|
|
6
|
-
pyobs_gui/camerawidget.py,sha256=
|
|
6
|
+
pyobs_gui/camerawidget.py,sha256=_XairBslsoRge-cddhMiJOWHuml86-H0DG_yWLg80YU,17194
|
|
7
7
|
pyobs_gui/commandinputwidget.py,sha256=VZLUkkaJzjKBAlkz7dOexP_Rula15RpZLFWToavyVdc,1692
|
|
8
8
|
pyobs_gui/compassmovewidget.py,sha256=-RiXcmPrpWwajPFqEujUnfeYD5vOjgfqdRwj51soJpM,3997
|
|
9
9
|
pyobs_gui/coolingwidget.py,sha256=Ex2FWXhXGQswZkNRWxDGO8_gasz_clR76PV4w9JMHw8,1918
|
|
@@ -36,8 +36,8 @@ pyobs_gui/qt/autofocuswidget.ui,sha256=LB4qbaD2mWeVGAJCQ1xID5l8SIOBrY5K9bOVNCe2f
|
|
|
36
36
|
pyobs_gui/qt/autofocuswidget_ui.py,sha256=xm4JChpLY8cF01Zx9gSvxtxwu9veFGUEv7mFpIYHPtQ,5848
|
|
37
37
|
pyobs_gui/qt/autoguidingwidget.ui,sha256=859Qbgm9qvznxmBqjy749HJG4yzkpOCFpbMREmF197s,4494
|
|
38
38
|
pyobs_gui/qt/autoguidingwidget_ui.py,sha256=aWCl6x1DAZVlcjYNeYTQPmGTddodFEXnxgcPN5TSjTA,5701
|
|
39
|
-
pyobs_gui/qt/camerawidget.ui,sha256=
|
|
40
|
-
pyobs_gui/qt/camerawidget_ui.py,sha256=
|
|
39
|
+
pyobs_gui/qt/camerawidget.ui,sha256=t7PE1Sb0visQ5c7DAF4-2wff-C-q-oIt5ObJBgYoMfo,46530
|
|
40
|
+
pyobs_gui/qt/camerawidget_ui.py,sha256=irJgPaUjSFMx6dpzpnQvMTSr6zxP9UT0BqVaOTOGljU,26658
|
|
41
41
|
pyobs_gui/qt/compassmoveplugin.py,sha256=Mr5NAPnzNLDgAvQBIm8ysqhhaZaOUf_PJtKzn3eTogM,932
|
|
42
42
|
pyobs_gui/qt/compassmovewidget.py,sha256=fGNHkNJJGuEw4jF5hp4pYxjyrW607CNzxtOyv_4mtBk,229
|
|
43
43
|
pyobs_gui/qt/compassmovewidget.ui,sha256=h2pEVaAEIlD8s-lXSfXj_YprpLBr4LkA3Q8juOfJp9c,2553
|
|
@@ -91,7 +91,7 @@ pyobs_gui/qt/resources/cloud-sun-solid.svg,sha256=qXGvtPuQYIAHlLc1Cqiy5M6s2-JOPF
|
|
|
91
91
|
pyobs_gui/qt/resources/edit-solid.svg,sha256=R2lehJgb5DxyOXMmj5ACJsxOTqi9heXhj6WB9fdLelY,735
|
|
92
92
|
pyobs_gui/qt/resources/search-solid.svg,sha256=8WR3B4MQyr76HrFvw6f7vQGyCWS7vQXF1WPWCWr3heQ,577
|
|
93
93
|
pyobs_gui/qt/resources/undo-solid.svg,sha256=6O_Pyjo59fCCynMz5XhWU4wI1egQ3anNpToH9fpmISw,767
|
|
94
|
-
pyobs_gui-2.0.0.
|
|
95
|
-
pyobs_gui-2.0.0.
|
|
96
|
-
pyobs_gui-2.0.0.
|
|
97
|
-
pyobs_gui-2.0.0.
|
|
94
|
+
pyobs_gui-2.0.0.dev4.dist-info/METADATA,sha256=PR9S8dsGWqe4U12q5Qr9iF9bCWH9_buQm4bCgIjt_BE,575
|
|
95
|
+
pyobs_gui-2.0.0.dev4.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
|
|
96
|
+
pyobs_gui-2.0.0.dev4.dist-info/licenses/LICENSE,sha256=gC8djBliCENDmuRvzCoejpWbsn8eqKx61Hc8bmDZ2LI,1099
|
|
97
|
+
pyobs_gui-2.0.0.dev4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|