bec-widgets 1.16.5__py3-none-any.whl → 1.17.0__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.
- CHANGELOG.md +29 -0
- PKG-INFO +1 -1
- bec_widgets/cli/client.py +46 -0
- bec_widgets/widgets/containers/dock/dock_area.py +1 -1
- bec_widgets/widgets/control/device_control/positioner_box/__init__.py +11 -0
- bec_widgets/widgets/control/device_control/positioner_box/_base/__init__.py +3 -0
- bec_widgets/widgets/control/device_control/positioner_box/_base/positioner_box_base.py +243 -0
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box/__init__.py +0 -0
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py +242 -0
- bec_widgets/widgets/control/device_control/positioner_box/{positioner_box_plugin.py → positioner_box/positioner_box_plugin.py} +1 -1
- bec_widgets/widgets/control/device_control/positioner_box/{register_positioner_box.py → positioner_box/register_positioner_box.py} +1 -1
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/__init__.py +0 -0
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box2_d.pyproject +1 -0
- bec_widgets/widgets/control/{device_input/signal_combobox/signal_combo_box_plugin.py → device_control/positioner_box/positioner_box_2d/positioner_box2_d_plugin.py} +11 -9
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py +482 -0
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.ui +562 -0
- bec_widgets/widgets/control/{device_input/signal_combobox/register_signal_combo_box.py → device_control/positioner_box/positioner_box_2d/register_positioner_box2_d.py} +3 -3
- bec_widgets/widgets/control/device_control/positioner_box/{positioner_control_line.py → positioner_control_line/positioner_control_line.py} +5 -2
- bec_widgets/widgets/control/device_control/positioner_box/{positioner_control_line_plugin.py → positioner_control_line/positioner_control_line_plugin.py} +1 -3
- bec_widgets/widgets/control/device_control/positioner_box/{register_positioner_control_line.py → positioner_control_line/register_positioner_control_line.py} +1 -1
- bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +7 -6
- {bec_widgets-1.16.5.dist-info → bec_widgets-1.17.0.dist-info}/METADATA +1 -1
- {bec_widgets-1.16.5.dist-info → bec_widgets-1.17.0.dist-info}/RECORD +31 -25
- pyproject.toml +1 -1
- bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py +0 -352
- bec_widgets/widgets/control/device_input/signal_combobox/signal_combo_box.pyproject +0 -1
- /bec_widgets/widgets/control/device_control/positioner_box/{positioner_box.pyproject → positioner_box/positioner_box.pyproject} +0 -0
- /bec_widgets/widgets/control/device_control/positioner_box/{positioner_box.ui → positioner_box/positioner_box.ui} +0 -0
- /bec_widgets/widgets/control/device_control/positioner_box/{positioner_control_line.pyproject → positioner_control_line/positioner_control_line.pyproject} +0 -0
- /bec_widgets/widgets/control/device_control/positioner_box/{positioner_control_line.ui → positioner_control_line/positioner_control_line.ui} +0 -0
- {bec_widgets-1.16.5.dist-info → bec_widgets-1.17.0.dist-info}/WHEEL +0 -0
- {bec_widgets-1.16.5.dist-info → bec_widgets-1.17.0.dist-info}/entry_points.txt +0 -0
- {bec_widgets-1.16.5.dist-info → bec_widgets-1.17.0.dist-info}/licenses/LICENSE +0 -0
bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.ui
ADDED
@@ -0,0 +1,562 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ui version="4.0">
|
3
|
+
<class>Form</class>
|
4
|
+
<widget class="QWidget" name="Form">
|
5
|
+
<property name="geometry">
|
6
|
+
<rect>
|
7
|
+
<x>0</x>
|
8
|
+
<y>0</y>
|
9
|
+
<width>326</width>
|
10
|
+
<height>323</height>
|
11
|
+
</rect>
|
12
|
+
</property>
|
13
|
+
<property name="windowTitle">
|
14
|
+
<string>Form</string>
|
15
|
+
</property>
|
16
|
+
<layout class="QGridLayout" name="gridLayout">
|
17
|
+
<item row="0" column="1">
|
18
|
+
<layout class="QGridLayout" name="gridLayout_4">
|
19
|
+
<item row="0" column="1">
|
20
|
+
<layout class="QGridLayout" name="gridLayout_2">
|
21
|
+
<item row="0" column="2">
|
22
|
+
<widget class="QGroupBox" name="device_box_ver">
|
23
|
+
<property name="title">
|
24
|
+
<string>No positioner selected</string>
|
25
|
+
</property>
|
26
|
+
<layout class="QGridLayout" name="gridLayout_6" rowstretch="0,0,0,0,0,0">
|
27
|
+
<property name="topMargin">
|
28
|
+
<number>0</number>
|
29
|
+
</property>
|
30
|
+
<item row="1" column="0">
|
31
|
+
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
32
|
+
<item>
|
33
|
+
<widget class="QToolButton" name="tool_button_ver">
|
34
|
+
<property name="focusPolicy">
|
35
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
36
|
+
</property>
|
37
|
+
<property name="text">
|
38
|
+
<string>...</string>
|
39
|
+
</property>
|
40
|
+
</widget>
|
41
|
+
</item>
|
42
|
+
<item>
|
43
|
+
<widget class="QLabel" name="readback_ver">
|
44
|
+
<property name="text">
|
45
|
+
<string>Position</string>
|
46
|
+
</property>
|
47
|
+
<property name="alignment">
|
48
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
49
|
+
</property>
|
50
|
+
</widget>
|
51
|
+
</item>
|
52
|
+
<item>
|
53
|
+
<widget class="SpinnerWidget" name="spinner_widget_ver">
|
54
|
+
<property name="minimumSize">
|
55
|
+
<size>
|
56
|
+
<width>25</width>
|
57
|
+
<height>25</height>
|
58
|
+
</size>
|
59
|
+
</property>
|
60
|
+
<property name="maximumSize">
|
61
|
+
<size>
|
62
|
+
<width>25</width>
|
63
|
+
<height>25</height>
|
64
|
+
</size>
|
65
|
+
</property>
|
66
|
+
</widget>
|
67
|
+
</item>
|
68
|
+
</layout>
|
69
|
+
</item>
|
70
|
+
<item row="2" column="0">
|
71
|
+
<widget class="QLineEdit" name="setpoint_ver">
|
72
|
+
<property name="enabled">
|
73
|
+
<bool>false</bool>
|
74
|
+
</property>
|
75
|
+
<property name="focusPolicy">
|
76
|
+
<enum>Qt::FocusPolicy::StrongFocus</enum>
|
77
|
+
</property>
|
78
|
+
<property name="alignment">
|
79
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
80
|
+
</property>
|
81
|
+
</widget>
|
82
|
+
</item>
|
83
|
+
<item row="5" column="0">
|
84
|
+
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
85
|
+
<item>
|
86
|
+
<widget class="QDoubleSpinBox" name="step_size_ver">
|
87
|
+
<property name="enabled">
|
88
|
+
<bool>false</bool>
|
89
|
+
</property>
|
90
|
+
<property name="focusPolicy">
|
91
|
+
<enum>Qt::FocusPolicy::StrongFocus</enum>
|
92
|
+
</property>
|
93
|
+
</widget>
|
94
|
+
</item>
|
95
|
+
</layout>
|
96
|
+
</item>
|
97
|
+
</layout>
|
98
|
+
</widget>
|
99
|
+
</item>
|
100
|
+
<item row="0" column="1">
|
101
|
+
<widget class="QGroupBox" name="device_box_hor">
|
102
|
+
<property name="title">
|
103
|
+
<string>No positioner selected</string>
|
104
|
+
</property>
|
105
|
+
<layout class="QGridLayout" name="gridLayout_5" rowstretch="0,0,0,0,0,0,0,0,0,0,0">
|
106
|
+
<property name="topMargin">
|
107
|
+
<number>0</number>
|
108
|
+
</property>
|
109
|
+
<item row="9" column="0">
|
110
|
+
<widget class="QLineEdit" name="setpoint_hor">
|
111
|
+
<property name="enabled">
|
112
|
+
<bool>false</bool>
|
113
|
+
</property>
|
114
|
+
<property name="focusPolicy">
|
115
|
+
<enum>Qt::FocusPolicy::StrongFocus</enum>
|
116
|
+
</property>
|
117
|
+
<property name="alignment">
|
118
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
119
|
+
</property>
|
120
|
+
</widget>
|
121
|
+
</item>
|
122
|
+
<item row="1" column="0">
|
123
|
+
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
124
|
+
<item>
|
125
|
+
<widget class="QToolButton" name="tool_button_hor">
|
126
|
+
<property name="focusPolicy">
|
127
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
128
|
+
</property>
|
129
|
+
<property name="text">
|
130
|
+
<string>...</string>
|
131
|
+
</property>
|
132
|
+
</widget>
|
133
|
+
</item>
|
134
|
+
<item>
|
135
|
+
<widget class="QLabel" name="readback_hor">
|
136
|
+
<property name="text">
|
137
|
+
<string>Position</string>
|
138
|
+
</property>
|
139
|
+
<property name="alignment">
|
140
|
+
<set>Qt::AlignmentFlag::AlignCenter</set>
|
141
|
+
</property>
|
142
|
+
</widget>
|
143
|
+
</item>
|
144
|
+
<item>
|
145
|
+
<widget class="SpinnerWidget" name="spinner_widget_hor">
|
146
|
+
<property name="minimumSize">
|
147
|
+
<size>
|
148
|
+
<width>25</width>
|
149
|
+
<height>25</height>
|
150
|
+
</size>
|
151
|
+
</property>
|
152
|
+
<property name="maximumSize">
|
153
|
+
<size>
|
154
|
+
<width>25</width>
|
155
|
+
<height>25</height>
|
156
|
+
</size>
|
157
|
+
</property>
|
158
|
+
</widget>
|
159
|
+
</item>
|
160
|
+
</layout>
|
161
|
+
</item>
|
162
|
+
<item row="10" column="0">
|
163
|
+
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
164
|
+
<item>
|
165
|
+
<widget class="QDoubleSpinBox" name="step_size_hor">
|
166
|
+
<property name="enabled">
|
167
|
+
<bool>false</bool>
|
168
|
+
</property>
|
169
|
+
<property name="focusPolicy">
|
170
|
+
<enum>Qt::FocusPolicy::StrongFocus</enum>
|
171
|
+
</property>
|
172
|
+
</widget>
|
173
|
+
</item>
|
174
|
+
</layout>
|
175
|
+
</item>
|
176
|
+
</layout>
|
177
|
+
</widget>
|
178
|
+
</item>
|
179
|
+
</layout>
|
180
|
+
</item>
|
181
|
+
<item row="4" column="0">
|
182
|
+
<widget class="PositionIndicator" name="position_indicator_ver">
|
183
|
+
<property name="sizePolicy">
|
184
|
+
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
185
|
+
<horstretch>0</horstretch>
|
186
|
+
<verstretch>0</verstretch>
|
187
|
+
</sizepolicy>
|
188
|
+
</property>
|
189
|
+
<property name="maximum" stdset="0">
|
190
|
+
<double>1.000000000000000</double>
|
191
|
+
</property>
|
192
|
+
<property name="vertical" stdset="0">
|
193
|
+
<bool>true</bool>
|
194
|
+
</property>
|
195
|
+
<property name="value" stdset="0">
|
196
|
+
<double>0.500000000000000</double>
|
197
|
+
</property>
|
198
|
+
<property name="indicator_width" stdset="0">
|
199
|
+
<number>4</number>
|
200
|
+
</property>
|
201
|
+
<property name="rounded_corners" stdset="0">
|
202
|
+
<number>4</number>
|
203
|
+
</property>
|
204
|
+
</widget>
|
205
|
+
</item>
|
206
|
+
<item row="4" column="1">
|
207
|
+
<layout class="QGridLayout" name="gridLayout_3">
|
208
|
+
<item row="0" column="3">
|
209
|
+
<widget class="QPushButton" name="step_increase_ver">
|
210
|
+
<property name="focusPolicy">
|
211
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
212
|
+
</property>
|
213
|
+
<property name="text">
|
214
|
+
<string/>
|
215
|
+
</property>
|
216
|
+
</widget>
|
217
|
+
</item>
|
218
|
+
<item row="2" column="5">
|
219
|
+
<spacer name="horizontalSpacer_3">
|
220
|
+
<property name="orientation">
|
221
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
222
|
+
</property>
|
223
|
+
<property name="sizeHint" stdset="0">
|
224
|
+
<size>
|
225
|
+
<width>40</width>
|
226
|
+
<height>20</height>
|
227
|
+
</size>
|
228
|
+
</property>
|
229
|
+
</spacer>
|
230
|
+
</item>
|
231
|
+
<item row="6" column="3">
|
232
|
+
<widget class="QPushButton" name="step_decrease_ver">
|
233
|
+
<property name="focusPolicy">
|
234
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
235
|
+
</property>
|
236
|
+
<property name="text">
|
237
|
+
<string/>
|
238
|
+
</property>
|
239
|
+
</widget>
|
240
|
+
</item>
|
241
|
+
<item row="4" column="5">
|
242
|
+
<spacer name="horizontalSpacer_2">
|
243
|
+
<property name="orientation">
|
244
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
245
|
+
</property>
|
246
|
+
<property name="sizeHint" stdset="0">
|
247
|
+
<size>
|
248
|
+
<width>40</width>
|
249
|
+
<height>20</height>
|
250
|
+
</size>
|
251
|
+
</property>
|
252
|
+
</spacer>
|
253
|
+
</item>
|
254
|
+
<item row="6" column="2">
|
255
|
+
<spacer name="horizontalSpacer_16">
|
256
|
+
<property name="orientation">
|
257
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
258
|
+
</property>
|
259
|
+
<property name="sizeHint" stdset="0">
|
260
|
+
<size>
|
261
|
+
<width>10</width>
|
262
|
+
<height>20</height>
|
263
|
+
</size>
|
264
|
+
</property>
|
265
|
+
</spacer>
|
266
|
+
</item>
|
267
|
+
<item row="2" column="1">
|
268
|
+
<spacer name="horizontalSpacer">
|
269
|
+
<property name="orientation">
|
270
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
271
|
+
</property>
|
272
|
+
<property name="sizeHint" stdset="0">
|
273
|
+
<size>
|
274
|
+
<width>40</width>
|
275
|
+
<height>20</height>
|
276
|
+
</size>
|
277
|
+
</property>
|
278
|
+
</spacer>
|
279
|
+
</item>
|
280
|
+
<item row="0" column="2">
|
281
|
+
<spacer name="horizontalSpacer_14">
|
282
|
+
<property name="orientation">
|
283
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
284
|
+
</property>
|
285
|
+
<property name="sizeHint" stdset="0">
|
286
|
+
<size>
|
287
|
+
<width>10</width>
|
288
|
+
<height>20</height>
|
289
|
+
</size>
|
290
|
+
</property>
|
291
|
+
</spacer>
|
292
|
+
</item>
|
293
|
+
<item row="4" column="1">
|
294
|
+
<spacer name="horizontalSpacer_17">
|
295
|
+
<property name="orientation">
|
296
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
297
|
+
</property>
|
298
|
+
<property name="sizeHint" stdset="0">
|
299
|
+
<size>
|
300
|
+
<width>40</width>
|
301
|
+
<height>20</height>
|
302
|
+
</size>
|
303
|
+
</property>
|
304
|
+
</spacer>
|
305
|
+
</item>
|
306
|
+
<item row="2" column="2">
|
307
|
+
<spacer name="horizontalSpacer_7">
|
308
|
+
<property name="orientation">
|
309
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
310
|
+
</property>
|
311
|
+
<property name="sizeHint" stdset="0">
|
312
|
+
<size>
|
313
|
+
<width>10</width>
|
314
|
+
<height>20</height>
|
315
|
+
</size>
|
316
|
+
</property>
|
317
|
+
</spacer>
|
318
|
+
</item>
|
319
|
+
<item row="6" column="1">
|
320
|
+
<spacer name="horizontalSpacer_4">
|
321
|
+
<property name="orientation">
|
322
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
323
|
+
</property>
|
324
|
+
<property name="sizeHint" stdset="0">
|
325
|
+
<size>
|
326
|
+
<width>40</width>
|
327
|
+
<height>20</height>
|
328
|
+
</size>
|
329
|
+
</property>
|
330
|
+
</spacer>
|
331
|
+
</item>
|
332
|
+
<item row="3" column="3">
|
333
|
+
<spacer name="horizontalSpacer_6">
|
334
|
+
<property name="orientation">
|
335
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
336
|
+
</property>
|
337
|
+
<property name="sizeHint" stdset="0">
|
338
|
+
<size>
|
339
|
+
<width>40</width>
|
340
|
+
<height>20</height>
|
341
|
+
</size>
|
342
|
+
</property>
|
343
|
+
</spacer>
|
344
|
+
</item>
|
345
|
+
<item row="3" column="5">
|
346
|
+
<widget class="QPushButton" name="step_increase_hor">
|
347
|
+
<property name="focusPolicy">
|
348
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
349
|
+
</property>
|
350
|
+
<property name="text">
|
351
|
+
<string/>
|
352
|
+
</property>
|
353
|
+
</widget>
|
354
|
+
</item>
|
355
|
+
<item row="6" column="4">
|
356
|
+
<spacer name="horizontalSpacer_10">
|
357
|
+
<property name="orientation">
|
358
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
359
|
+
</property>
|
360
|
+
<property name="sizeHint" stdset="0">
|
361
|
+
<size>
|
362
|
+
<width>40</width>
|
363
|
+
<height>20</height>
|
364
|
+
</size>
|
365
|
+
</property>
|
366
|
+
</spacer>
|
367
|
+
</item>
|
368
|
+
<item row="3" column="2">
|
369
|
+
<widget class="QPushButton" name="tweak_decrease_hor">
|
370
|
+
<property name="focusPolicy">
|
371
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
372
|
+
</property>
|
373
|
+
<property name="text">
|
374
|
+
<string/>
|
375
|
+
</property>
|
376
|
+
</widget>
|
377
|
+
</item>
|
378
|
+
<item row="4" column="2">
|
379
|
+
<spacer name="horizontalSpacer_15">
|
380
|
+
<property name="orientation">
|
381
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
382
|
+
</property>
|
383
|
+
<property name="sizeHint" stdset="0">
|
384
|
+
<size>
|
385
|
+
<width>10</width>
|
386
|
+
<height>20</height>
|
387
|
+
</size>
|
388
|
+
</property>
|
389
|
+
</spacer>
|
390
|
+
</item>
|
391
|
+
<item row="0" column="1">
|
392
|
+
<spacer name="horizontalSpacer_35">
|
393
|
+
<property name="orientation">
|
394
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
395
|
+
</property>
|
396
|
+
<property name="sizeHint" stdset="0">
|
397
|
+
<size>
|
398
|
+
<width>40</width>
|
399
|
+
<height>20</height>
|
400
|
+
</size>
|
401
|
+
</property>
|
402
|
+
</spacer>
|
403
|
+
</item>
|
404
|
+
<item row="4" column="3">
|
405
|
+
<widget class="QPushButton" name="tweak_decrease_ver">
|
406
|
+
<property name="focusPolicy">
|
407
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
408
|
+
</property>
|
409
|
+
<property name="text">
|
410
|
+
<string/>
|
411
|
+
</property>
|
412
|
+
</widget>
|
413
|
+
</item>
|
414
|
+
<item row="3" column="1">
|
415
|
+
<widget class="QPushButton" name="step_decrease_hor">
|
416
|
+
<property name="focusPolicy">
|
417
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
418
|
+
</property>
|
419
|
+
<property name="text">
|
420
|
+
<string/>
|
421
|
+
</property>
|
422
|
+
</widget>
|
423
|
+
</item>
|
424
|
+
<item row="3" column="4">
|
425
|
+
<widget class="QPushButton" name="tweak_increase_hor">
|
426
|
+
<property name="focusPolicy">
|
427
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
428
|
+
</property>
|
429
|
+
<property name="text">
|
430
|
+
<string/>
|
431
|
+
</property>
|
432
|
+
</widget>
|
433
|
+
</item>
|
434
|
+
<item row="2" column="3">
|
435
|
+
<widget class="QPushButton" name="tweak_increase_ver">
|
436
|
+
<property name="focusPolicy">
|
437
|
+
<enum>Qt::FocusPolicy::NoFocus</enum>
|
438
|
+
</property>
|
439
|
+
<property name="text">
|
440
|
+
<string/>
|
441
|
+
</property>
|
442
|
+
</widget>
|
443
|
+
</item>
|
444
|
+
<item row="2" column="4">
|
445
|
+
<spacer name="horizontalSpacer_12">
|
446
|
+
<property name="orientation">
|
447
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
448
|
+
</property>
|
449
|
+
<property name="sizeHint" stdset="0">
|
450
|
+
<size>
|
451
|
+
<width>40</width>
|
452
|
+
<height>20</height>
|
453
|
+
</size>
|
454
|
+
</property>
|
455
|
+
</spacer>
|
456
|
+
</item>
|
457
|
+
<item row="0" column="4">
|
458
|
+
<spacer name="horizontalSpacer_8">
|
459
|
+
<property name="orientation">
|
460
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
461
|
+
</property>
|
462
|
+
<property name="sizeHint" stdset="0">
|
463
|
+
<size>
|
464
|
+
<width>40</width>
|
465
|
+
<height>20</height>
|
466
|
+
</size>
|
467
|
+
</property>
|
468
|
+
</spacer>
|
469
|
+
</item>
|
470
|
+
<item row="4" column="4">
|
471
|
+
<spacer name="horizontalSpacer_11">
|
472
|
+
<property name="orientation">
|
473
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
474
|
+
</property>
|
475
|
+
<property name="sizeHint" stdset="0">
|
476
|
+
<size>
|
477
|
+
<width>40</width>
|
478
|
+
<height>20</height>
|
479
|
+
</size>
|
480
|
+
</property>
|
481
|
+
</spacer>
|
482
|
+
</item>
|
483
|
+
<item row="0" column="5">
|
484
|
+
<spacer name="horizontalSpacer_5">
|
485
|
+
<property name="orientation">
|
486
|
+
<enum>Qt::Orientation::Horizontal</enum>
|
487
|
+
</property>
|
488
|
+
<property name="sizeHint" stdset="0">
|
489
|
+
<size>
|
490
|
+
<width>40</width>
|
491
|
+
<height>20</height>
|
492
|
+
</size>
|
493
|
+
</property>
|
494
|
+
</spacer>
|
495
|
+
</item>
|
496
|
+
<item row="6" column="5">
|
497
|
+
<widget class="StopButton" name="stop_button"/>
|
498
|
+
</item>
|
499
|
+
</layout>
|
500
|
+
</item>
|
501
|
+
<item row="2" column="1">
|
502
|
+
<widget class="PositionIndicator" name="position_indicator_hor">
|
503
|
+
<property name="sizePolicy">
|
504
|
+
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
505
|
+
<horstretch>0</horstretch>
|
506
|
+
<verstretch>0</verstretch>
|
507
|
+
</sizepolicy>
|
508
|
+
</property>
|
509
|
+
<property name="maximum" stdset="0">
|
510
|
+
<double>1.000000000000000</double>
|
511
|
+
</property>
|
512
|
+
<property name="value" stdset="0">
|
513
|
+
<double>0.500000000000000</double>
|
514
|
+
</property>
|
515
|
+
<property name="indicator_width" stdset="0">
|
516
|
+
<number>4</number>
|
517
|
+
</property>
|
518
|
+
<property name="rounded_corners" stdset="0">
|
519
|
+
<number>4</number>
|
520
|
+
</property>
|
521
|
+
</widget>
|
522
|
+
</item>
|
523
|
+
</layout>
|
524
|
+
</item>
|
525
|
+
</layout>
|
526
|
+
</widget>
|
527
|
+
<customwidgets>
|
528
|
+
<customwidget>
|
529
|
+
<class>StopButton</class>
|
530
|
+
<extends>QWidget</extends>
|
531
|
+
<header>stop_button</header>
|
532
|
+
</customwidget>
|
533
|
+
<customwidget>
|
534
|
+
<class>PositionIndicator</class>
|
535
|
+
<extends>QWidget</extends>
|
536
|
+
<header>position_indicator</header>
|
537
|
+
</customwidget>
|
538
|
+
<customwidget>
|
539
|
+
<class>SpinnerWidget</class>
|
540
|
+
<extends>QWidget</extends>
|
541
|
+
<header>spinner_widget</header>
|
542
|
+
</customwidget>
|
543
|
+
</customwidgets>
|
544
|
+
<tabstops>
|
545
|
+
<tabstop>tool_button_hor</tabstop>
|
546
|
+
<tabstop>tool_button_ver</tabstop>
|
547
|
+
<tabstop>setpoint_hor</tabstop>
|
548
|
+
<tabstop>setpoint_ver</tabstop>
|
549
|
+
<tabstop>step_size_hor</tabstop>
|
550
|
+
<tabstop>step_size_ver</tabstop>
|
551
|
+
<tabstop>tweak_decrease_hor</tabstop>
|
552
|
+
<tabstop>tweak_increase_ver</tabstop>
|
553
|
+
<tabstop>tweak_increase_hor</tabstop>
|
554
|
+
<tabstop>tweak_decrease_ver</tabstop>
|
555
|
+
<tabstop>step_decrease_hor</tabstop>
|
556
|
+
<tabstop>step_increase_ver</tabstop>
|
557
|
+
<tabstop>step_increase_hor</tabstop>
|
558
|
+
<tabstop>step_decrease_ver</tabstop>
|
559
|
+
</tabstops>
|
560
|
+
<resources/>
|
561
|
+
<connections/>
|
562
|
+
</ui>
|
@@ -6,11 +6,11 @@ def main(): # pragma: no cover
|
|
6
6
|
return
|
7
7
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
8
8
|
|
9
|
-
from bec_widgets.widgets.control.
|
10
|
-
|
9
|
+
from bec_widgets.widgets.control.device_control.positioner_box.positioner_box_2d.positioner_box2_d_plugin import (
|
10
|
+
PositionerBox2DPlugin,
|
11
11
|
)
|
12
12
|
|
13
|
-
QPyDesignerCustomWidgetCollection.addCustomWidget(
|
13
|
+
QPyDesignerCustomWidgetCollection.addCustomWidget(PositionerBox2DPlugin())
|
14
14
|
|
15
15
|
|
16
16
|
if __name__ == "__main__": # pragma: no cover
|
@@ -1,6 +1,8 @@
|
|
1
|
+
import os
|
2
|
+
|
1
3
|
from bec_lib.device import Positioner
|
2
4
|
|
3
|
-
from bec_widgets.widgets.control.device_control.positioner_box
|
5
|
+
from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox
|
4
6
|
|
5
7
|
|
6
8
|
class PositionerControlLine(PositionerBox):
|
@@ -12,13 +14,14 @@ class PositionerControlLine(PositionerBox):
|
|
12
14
|
PLUGIN = True
|
13
15
|
ICON_NAME = "switch_left"
|
14
16
|
|
15
|
-
def __init__(self, parent=None, device: Positioner = None, *args, **kwargs):
|
17
|
+
def __init__(self, parent=None, device: Positioner | str | None = None, *args, **kwargs):
|
16
18
|
"""Initialize the DeviceControlLine.
|
17
19
|
|
18
20
|
Args:
|
19
21
|
parent: The parent widget.
|
20
22
|
device (Positioner): The device to control.
|
21
23
|
"""
|
24
|
+
self.current_path = os.path.dirname(__file__)
|
22
25
|
super().__init__(parent=parent, device=device, *args, **kwargs)
|
23
26
|
|
24
27
|
|
@@ -6,9 +6,7 @@ import os
|
|
6
6
|
from qtpy.QtDesigner import QDesignerCustomWidgetInterface
|
7
7
|
|
8
8
|
from bec_widgets.utils.bec_designer import designer_material_icon
|
9
|
-
from bec_widgets.widgets.control.device_control.positioner_box
|
10
|
-
PositionerControlLine,
|
11
|
-
)
|
9
|
+
from bec_widgets.widgets.control.device_control.positioner_box import PositionerControlLine
|
12
10
|
|
13
11
|
DOM_XML = """
|
14
12
|
<ui language='c++'>
|
@@ -6,7 +6,7 @@ def main(): # pragma: no cover
|
|
6
6
|
return
|
7
7
|
from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection
|
8
8
|
|
9
|
-
from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line_plugin import (
|
9
|
+
from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line.positioner_control_line_plugin import (
|
10
10
|
PositionerControlLinePlugin,
|
11
11
|
)
|
12
12
|
|
@@ -4,11 +4,12 @@ from __future__ import annotations
|
|
4
4
|
|
5
5
|
from bec_lib.device import Positioner
|
6
6
|
from bec_lib.logger import bec_logger
|
7
|
-
from qtpy.QtCore import
|
7
|
+
from qtpy.QtCore import QSize, Signal
|
8
8
|
from qtpy.QtWidgets import QGridLayout, QGroupBox, QVBoxLayout, QWidget
|
9
9
|
|
10
|
+
from bec_widgets.qt_utils.error_popups import SafeProperty, SafeSlot
|
10
11
|
from bec_widgets.utils.bec_widget import BECWidget
|
11
|
-
from bec_widgets.widgets.control.device_control.positioner_box
|
12
|
+
from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox
|
12
13
|
|
13
14
|
logger = bec_logger.logger
|
14
15
|
|
@@ -32,7 +33,7 @@ class PositionerGroupBox(QGroupBox):
|
|
32
33
|
self.widget.position_update.connect(self._on_position_update)
|
33
34
|
self.widget.expand.connect(self._on_expand)
|
34
35
|
self.setTitle(self.device_name)
|
35
|
-
self.widget.
|
36
|
+
self.widget.force_update_readback()
|
36
37
|
|
37
38
|
def _on_expand(self, expand):
|
38
39
|
if expand:
|
@@ -82,7 +83,7 @@ class PositionerGroup(BECWidget, QWidget):
|
|
82
83
|
def minimumSizeHint(self):
|
83
84
|
return QSize(300, 30)
|
84
85
|
|
85
|
-
@
|
86
|
+
@SafeSlot(str)
|
86
87
|
def set_positioners(self, device_names: str):
|
87
88
|
"""Redraw grid with positioners from device_names string
|
88
89
|
|
@@ -130,7 +131,7 @@ class PositionerGroup(BECWidget, QWidget):
|
|
130
131
|
widget = self.sender()
|
131
132
|
self.device_position_update.emit(widget.title(), pos)
|
132
133
|
|
133
|
-
@
|
134
|
+
@SafeProperty(str)
|
134
135
|
def devices_list(self):
|
135
136
|
"""Device names string separated by space"""
|
136
137
|
return " ".join(self._device_widgets)
|
@@ -144,7 +145,7 @@ class PositionerGroup(BECWidget, QWidget):
|
|
144
145
|
return
|
145
146
|
self.set_positioners(device_names)
|
146
147
|
|
147
|
-
@
|
148
|
+
@SafeProperty(int)
|
148
149
|
def grid_max_cols(self):
|
149
150
|
"""Max number of columns for widgets grid"""
|
150
151
|
return self._grid_ncols
|