1
/********************************************************************************
2
** Form generated from reading UI file 'mainwindow.ui'
4
** Created: Thu Jul 15 17:58:44 2010
5
** by: Qt User Interface Compiler version 4.6.3
7
** WARNING! All changes made in this file will be lost when recompiling UI file!
8
********************************************************************************/
10
#ifndef UI_MAINWINDOW_H
11
#define UI_MAINWINDOW_H
13
#include <QtCore/QVariant>
14
#include <QtGui/QAction>
15
#include <QtGui/QApplication>
16
#include <QtGui/QButtonGroup>
17
#include <QtGui/QComboBox>
18
#include <QtGui/QDoubleSpinBox>
19
#include <QtGui/QGridLayout>
20
#include <QtGui/QGroupBox>
21
#include <QtGui/QHeaderView>
22
#include <QtGui/QLabel>
23
#include <QtGui/QLineEdit>
24
#include <QtGui/QMainWindow>
25
#include <QtGui/QProgressBar>
26
#include <QtGui/QPushButton>
27
#include <QtGui/QSpacerItem>
28
#include <QtGui/QStatusBar>
29
#include <QtGui/QVBoxLayout>
30
#include <QtGui/QWidget>
37
QWidget *centralWidget;
38
QGroupBox *gridGroupBox;
41
QDoubleSpinBox *XCommandedField;
43
QSpacerItem *horizontalSpacer;
44
QLineEdit *XIncrementField;
45
QLineEdit *XAccelerationField;
46
QLineEdit *XVelocityField;
52
QLineEdit *YVelocityField;
53
QLineEdit *YAccelerationField;
54
QSpacerItem *horizontalSpacer_2;
55
QLineEdit *YIncrementField;
57
QDoubleSpinBox *YCommandedField;
58
QLineEdit *ZVelocityField;
59
QLineEdit *ZAccelerationField;
60
QSpacerItem *horizontalSpacer_3;
61
QLineEdit *ZIncrementField;
63
QDoubleSpinBox *ZCommandedField;
64
QLineEdit *bayVelocity0;
65
QLineEdit *bayAcceleration0;
66
QSpacerItem *horizontalSpacer_4;
67
QLineEdit *bayPositionIncrement0;
68
QLineEdit *bayMotorPosition0;
69
QDoubleSpinBox *bayCommandedPosition0;
70
QLineEdit *bayVelocity1;
71
QLineEdit *bayAcceleration1;
72
QLineEdit *bayPositionIncrement1;
73
QSpacerItem *horizontalSpacer_5;
74
QLineEdit *bayMotorPosition1;
75
QDoubleSpinBox *bayCommandedPosition1;
76
QLineEdit *bayVelocity2;
77
QLineEdit *bayAcceleration2;
78
QSpacerItem *horizontalSpacer_6;
79
QLineEdit *bayPositionIncrement2;
80
QLineEdit *bayMotorPosition2;
81
QDoubleSpinBox *bayCommandedPosition2;
87
QComboBox *bayMaterialCalibration0;
88
QComboBox *bayMaterialCalibration1;
89
QComboBox *bayMaterialCalibration2;
91
QPushButton *ResetPosButton;
92
QPushButton *MoveButton;
93
QGroupBox *gridGroupBox1;
94
QGridLayout *gridLayout;
95
QPushButton *LoadConfigButton;
96
QGroupBox *gridGroupBox2;
97
QGridLayout *gridLayout_2;
98
QPushButton *LoadModelButton;
99
QPushButton *ExecuteButton;
100
QLabel *ExecutePathLabel;
101
QGroupBox *verticalGroupBox;
102
QVBoxLayout *verticalLayout;
103
QPushButton *RedoPathButton;
104
QPushButton *ExitButton;
105
QGroupBox *gridGroupBox3;
106
QGridLayout *gridLayout_3;
107
QPushButton *PauseFabButton;
108
QPushButton *CancelFabButton;
109
QPushButton *ForceStopButton;
110
QProgressBar *progressBar;
113
QStatusBar *statusBar;
115
void setupUi(QMainWindow *MainWindow)
117
if (MainWindow->objectName().isEmpty())
118
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
119
MainWindow->resize(910, 461);
120
centralWidget = new QWidget(MainWindow);
121
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
122
gridGroupBox = new QGroupBox(centralWidget);
123
gridGroupBox->setObjectName(QString::fromUtf8("gridGroupBox"));
124
gridGroupBox->setGeometry(QRect(10, 60, 891, 201));
125
gridGroupBox->setMinimumSize(QSize(721, 0));
126
_2 = new QGridLayout(gridGroupBox);
128
_2->setContentsMargins(11, 11, 11, 11);
129
_2->setObjectName(QString::fromUtf8("_2"));
130
XLabel = new QLabel(gridGroupBox);
131
XLabel->setObjectName(QString::fromUtf8("XLabel"));
133
_2->addWidget(XLabel, 1, 0, 1, 1);
135
XCommandedField = new QDoubleSpinBox(gridGroupBox);
136
XCommandedField->setObjectName(QString::fromUtf8("XCommandedField"));
137
XCommandedField->setEnabled(false);
138
QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
139
sizePolicy.setHorizontalStretch(0);
140
sizePolicy.setVerticalStretch(0);
141
sizePolicy.setHeightForWidth(XCommandedField->sizePolicy().hasHeightForWidth());
142
XCommandedField->setSizePolicy(sizePolicy);
143
XCommandedField->setMinimumSize(QSize(130, 0));
144
XCommandedField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
145
XCommandedField->setDecimals(6);
147
_2->addWidget(XCommandedField, 1, 6, 1, 1);
149
XDisplay = new QLineEdit(gridGroupBox);
150
XDisplay->setObjectName(QString::fromUtf8("XDisplay"));
151
XDisplay->setEnabled(false);
152
sizePolicy.setHeightForWidth(XDisplay->sizePolicy().hasHeightForWidth());
153
XDisplay->setSizePolicy(sizePolicy);
154
XDisplay->setMinimumSize(QSize(120, 0));
155
XDisplay->setMaximumSize(QSize(50, 16777215));
156
XDisplay->setFocusPolicy(Qt::NoFocus);
157
XDisplay->setAutoFillBackground(false);
158
XDisplay->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
159
XDisplay->setReadOnly(true);
161
_2->addWidget(XDisplay, 1, 5, 1, 1);
163
horizontalSpacer = new QSpacerItem(15, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
165
_2->addItem(horizontalSpacer, 1, 3, 1, 1);
167
XIncrementField = new QLineEdit(gridGroupBox);
168
XIncrementField->setObjectName(QString::fromUtf8("XIncrementField"));
169
XIncrementField->setEnabled(false);
170
sizePolicy.setHeightForWidth(XIncrementField->sizePolicy().hasHeightForWidth());
171
XIncrementField->setSizePolicy(sizePolicy);
172
XIncrementField->setMinimumSize(QSize(120, 0));
173
XIncrementField->setMaximumSize(QSize(50, 16777215));
174
XIncrementField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
176
_2->addWidget(XIncrementField, 1, 4, 1, 1);
178
XAccelerationField = new QLineEdit(gridGroupBox);
179
XAccelerationField->setObjectName(QString::fromUtf8("XAccelerationField"));
180
XAccelerationField->setEnabled(false);
181
sizePolicy.setHeightForWidth(XAccelerationField->sizePolicy().hasHeightForWidth());
182
XAccelerationField->setSizePolicy(sizePolicy);
183
XAccelerationField->setMinimumSize(QSize(120, 0));
184
XAccelerationField->setMaximumSize(QSize(50, 16777215));
185
XAccelerationField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
187
_2->addWidget(XAccelerationField, 1, 2, 1, 1);
189
XVelocityField = new QLineEdit(gridGroupBox);
190
XVelocityField->setObjectName(QString::fromUtf8("XVelocityField"));
191
XVelocityField->setEnabled(false);
192
sizePolicy.setHeightForWidth(XVelocityField->sizePolicy().hasHeightForWidth());
193
XVelocityField->setSizePolicy(sizePolicy);
194
XVelocityField->setMinimumSize(QSize(120, 0));
195
XVelocityField->setMaximumSize(QSize(50, 16777215));
196
XVelocityField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
198
_2->addWidget(XVelocityField, 1, 1, 1, 1);
200
YLabel = new QLabel(gridGroupBox);
201
YLabel->setObjectName(QString::fromUtf8("YLabel"));
203
_2->addWidget(YLabel, 2, 0, 1, 1);
205
ZLabel = new QLabel(gridGroupBox);
206
ZLabel->setObjectName(QString::fromUtf8("ZLabel"));
208
_2->addWidget(ZLabel, 3, 0, 1, 1);
210
bayLabel0 = new QLabel(gridGroupBox);
211
bayLabel0->setObjectName(QString::fromUtf8("bayLabel0"));
213
_2->addWidget(bayLabel0, 6, 0, 1, 1);
215
bayLabel2 = new QLabel(gridGroupBox);
216
bayLabel2->setObjectName(QString::fromUtf8("bayLabel2"));
218
_2->addWidget(bayLabel2, 9, 0, 1, 1);
220
bayLabel1 = new QLabel(gridGroupBox);
221
bayLabel1->setObjectName(QString::fromUtf8("bayLabel1"));
223
_2->addWidget(bayLabel1, 7, 0, 1, 1);
225
YVelocityField = new QLineEdit(gridGroupBox);
226
YVelocityField->setObjectName(QString::fromUtf8("YVelocityField"));
227
YVelocityField->setEnabled(false);
228
sizePolicy.setHeightForWidth(YVelocityField->sizePolicy().hasHeightForWidth());
229
YVelocityField->setSizePolicy(sizePolicy);
230
YVelocityField->setMinimumSize(QSize(120, 0));
231
YVelocityField->setMaximumSize(QSize(50, 16777215));
232
YVelocityField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
234
_2->addWidget(YVelocityField, 2, 1, 1, 1);
236
YAccelerationField = new QLineEdit(gridGroupBox);
237
YAccelerationField->setObjectName(QString::fromUtf8("YAccelerationField"));
238
YAccelerationField->setEnabled(false);
239
sizePolicy.setHeightForWidth(YAccelerationField->sizePolicy().hasHeightForWidth());
240
YAccelerationField->setSizePolicy(sizePolicy);
241
YAccelerationField->setMinimumSize(QSize(120, 0));
242
YAccelerationField->setMaximumSize(QSize(50, 16777215));
243
YAccelerationField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
245
_2->addWidget(YAccelerationField, 2, 2, 1, 1);
247
horizontalSpacer_2 = new QSpacerItem(15, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
249
_2->addItem(horizontalSpacer_2, 2, 3, 1, 1);
251
YIncrementField = new QLineEdit(gridGroupBox);
252
YIncrementField->setObjectName(QString::fromUtf8("YIncrementField"));
253
YIncrementField->setEnabled(false);
254
sizePolicy.setHeightForWidth(YIncrementField->sizePolicy().hasHeightForWidth());
255
YIncrementField->setSizePolicy(sizePolicy);
256
YIncrementField->setMinimumSize(QSize(120, 0));
257
YIncrementField->setMaximumSize(QSize(50, 16777215));
258
YIncrementField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
260
_2->addWidget(YIncrementField, 2, 4, 1, 1);
262
YDisplay = new QLineEdit(gridGroupBox);
263
YDisplay->setObjectName(QString::fromUtf8("YDisplay"));
264
YDisplay->setEnabled(false);
265
sizePolicy.setHeightForWidth(YDisplay->sizePolicy().hasHeightForWidth());
266
YDisplay->setSizePolicy(sizePolicy);
267
YDisplay->setMinimumSize(QSize(120, 0));
268
YDisplay->setMaximumSize(QSize(50, 16777215));
269
YDisplay->setFocusPolicy(Qt::NoFocus);
270
YDisplay->setAutoFillBackground(false);
271
YDisplay->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
272
YDisplay->setReadOnly(true);
274
_2->addWidget(YDisplay, 2, 5, 1, 1);
276
YCommandedField = new QDoubleSpinBox(gridGroupBox);
277
YCommandedField->setObjectName(QString::fromUtf8("YCommandedField"));
278
YCommandedField->setEnabled(false);
279
sizePolicy.setHeightForWidth(YCommandedField->sizePolicy().hasHeightForWidth());
280
YCommandedField->setSizePolicy(sizePolicy);
281
YCommandedField->setMinimumSize(QSize(130, 0));
282
YCommandedField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
283
YCommandedField->setDecimals(6);
285
_2->addWidget(YCommandedField, 2, 6, 1, 1);
287
ZVelocityField = new QLineEdit(gridGroupBox);
288
ZVelocityField->setObjectName(QString::fromUtf8("ZVelocityField"));
289
ZVelocityField->setEnabled(false);
290
sizePolicy.setHeightForWidth(ZVelocityField->sizePolicy().hasHeightForWidth());
291
ZVelocityField->setSizePolicy(sizePolicy);
292
ZVelocityField->setMinimumSize(QSize(120, 0));
293
ZVelocityField->setMaximumSize(QSize(50, 16777215));
294
ZVelocityField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
296
_2->addWidget(ZVelocityField, 3, 1, 1, 1);
298
ZAccelerationField = new QLineEdit(gridGroupBox);
299
ZAccelerationField->setObjectName(QString::fromUtf8("ZAccelerationField"));
300
ZAccelerationField->setEnabled(false);
301
sizePolicy.setHeightForWidth(ZAccelerationField->sizePolicy().hasHeightForWidth());
302
ZAccelerationField->setSizePolicy(sizePolicy);
303
ZAccelerationField->setMinimumSize(QSize(120, 0));
304
ZAccelerationField->setMaximumSize(QSize(50, 16777215));
305
ZAccelerationField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
307
_2->addWidget(ZAccelerationField, 3, 2, 1, 1);
309
horizontalSpacer_3 = new QSpacerItem(15, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
311
_2->addItem(horizontalSpacer_3, 3, 3, 1, 1);
313
ZIncrementField = new QLineEdit(gridGroupBox);
314
ZIncrementField->setObjectName(QString::fromUtf8("ZIncrementField"));
315
ZIncrementField->setEnabled(false);
316
sizePolicy.setHeightForWidth(ZIncrementField->sizePolicy().hasHeightForWidth());
317
ZIncrementField->setSizePolicy(sizePolicy);
318
ZIncrementField->setMinimumSize(QSize(120, 0));
319
ZIncrementField->setMaximumSize(QSize(50, 16777215));
320
ZIncrementField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
322
_2->addWidget(ZIncrementField, 3, 4, 1, 1);
324
ZDisplay = new QLineEdit(gridGroupBox);
325
ZDisplay->setObjectName(QString::fromUtf8("ZDisplay"));
326
ZDisplay->setEnabled(false);
327
sizePolicy.setHeightForWidth(ZDisplay->sizePolicy().hasHeightForWidth());
328
ZDisplay->setSizePolicy(sizePolicy);
329
ZDisplay->setMinimumSize(QSize(120, 0));
330
ZDisplay->setMaximumSize(QSize(50, 16777215));
331
ZDisplay->setFocusPolicy(Qt::NoFocus);
332
ZDisplay->setAutoFillBackground(false);
333
ZDisplay->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
334
ZDisplay->setReadOnly(true);
336
_2->addWidget(ZDisplay, 3, 5, 1, 1);
338
ZCommandedField = new QDoubleSpinBox(gridGroupBox);
339
ZCommandedField->setObjectName(QString::fromUtf8("ZCommandedField"));
340
ZCommandedField->setEnabled(false);
341
sizePolicy.setHeightForWidth(ZCommandedField->sizePolicy().hasHeightForWidth());
342
ZCommandedField->setSizePolicy(sizePolicy);
343
ZCommandedField->setMinimumSize(QSize(130, 0));
344
ZCommandedField->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
345
ZCommandedField->setDecimals(6);
347
_2->addWidget(ZCommandedField, 3, 6, 1, 1);
349
bayVelocity0 = new QLineEdit(gridGroupBox);
350
bayVelocity0->setObjectName(QString::fromUtf8("bayVelocity0"));
351
bayVelocity0->setEnabled(false);
352
sizePolicy.setHeightForWidth(bayVelocity0->sizePolicy().hasHeightForWidth());
353
bayVelocity0->setSizePolicy(sizePolicy);
354
bayVelocity0->setMinimumSize(QSize(120, 0));
355
bayVelocity0->setMaximumSize(QSize(50, 16777215));
356
bayVelocity0->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
358
_2->addWidget(bayVelocity0, 6, 1, 1, 1);
360
bayAcceleration0 = new QLineEdit(gridGroupBox);
361
bayAcceleration0->setObjectName(QString::fromUtf8("bayAcceleration0"));
362
bayAcceleration0->setEnabled(false);
363
sizePolicy.setHeightForWidth(bayAcceleration0->sizePolicy().hasHeightForWidth());
364
bayAcceleration0->setSizePolicy(sizePolicy);
365
bayAcceleration0->setMinimumSize(QSize(120, 0));
366
bayAcceleration0->setMaximumSize(QSize(50, 16777215));
367
bayAcceleration0->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
369
_2->addWidget(bayAcceleration0, 6, 2, 1, 1);
371
horizontalSpacer_4 = new QSpacerItem(15, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
373
_2->addItem(horizontalSpacer_4, 6, 3, 1, 1);
375
bayPositionIncrement0 = new QLineEdit(gridGroupBox);
376
bayPositionIncrement0->setObjectName(QString::fromUtf8("bayPositionIncrement0"));
377
bayPositionIncrement0->setEnabled(false);
378
sizePolicy.setHeightForWidth(bayPositionIncrement0->sizePolicy().hasHeightForWidth());
379
bayPositionIncrement0->setSizePolicy(sizePolicy);
380
bayPositionIncrement0->setMinimumSize(QSize(120, 0));
381
bayPositionIncrement0->setMaximumSize(QSize(50, 16777215));
382
bayPositionIncrement0->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
384
_2->addWidget(bayPositionIncrement0, 6, 4, 1, 1);
386
bayMotorPosition0 = new QLineEdit(gridGroupBox);
387
bayMotorPosition0->setObjectName(QString::fromUtf8("bayMotorPosition0"));
388
bayMotorPosition0->setEnabled(false);
389
sizePolicy.setHeightForWidth(bayMotorPosition0->sizePolicy().hasHeightForWidth());
390
bayMotorPosition0->setSizePolicy(sizePolicy);
391
bayMotorPosition0->setMinimumSize(QSize(120, 0));
392
bayMotorPosition0->setMaximumSize(QSize(50, 16777215));
393
bayMotorPosition0->setFocusPolicy(Qt::NoFocus);
394
bayMotorPosition0->setAutoFillBackground(false);
395
bayMotorPosition0->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
396
bayMotorPosition0->setReadOnly(true);
398
_2->addWidget(bayMotorPosition0, 6, 5, 1, 1);
400
bayCommandedPosition0 = new QDoubleSpinBox(gridGroupBox);
401
bayCommandedPosition0->setObjectName(QString::fromUtf8("bayCommandedPosition0"));
402
bayCommandedPosition0->setEnabled(false);
403
sizePolicy.setHeightForWidth(bayCommandedPosition0->sizePolicy().hasHeightForWidth());
404
bayCommandedPosition0->setSizePolicy(sizePolicy);
405
bayCommandedPosition0->setMinimumSize(QSize(130, 0));
406
bayCommandedPosition0->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
407
bayCommandedPosition0->setDecimals(6);
409
_2->addWidget(bayCommandedPosition0, 6, 6, 1, 1);
411
bayVelocity1 = new QLineEdit(gridGroupBox);
412
bayVelocity1->setObjectName(QString::fromUtf8("bayVelocity1"));
413
bayVelocity1->setEnabled(false);
414
sizePolicy.setHeightForWidth(bayVelocity1->sizePolicy().hasHeightForWidth());
415
bayVelocity1->setSizePolicy(sizePolicy);
416
bayVelocity1->setMinimumSize(QSize(120, 0));
417
bayVelocity1->setMaximumSize(QSize(50, 16777215));
418
bayVelocity1->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
420
_2->addWidget(bayVelocity1, 7, 1, 1, 1);
422
bayAcceleration1 = new QLineEdit(gridGroupBox);
423
bayAcceleration1->setObjectName(QString::fromUtf8("bayAcceleration1"));
424
bayAcceleration1->setEnabled(false);
425
sizePolicy.setHeightForWidth(bayAcceleration1->sizePolicy().hasHeightForWidth());
426
bayAcceleration1->setSizePolicy(sizePolicy);
427
bayAcceleration1->setMinimumSize(QSize(120, 0));
428
bayAcceleration1->setMaximumSize(QSize(50, 16777215));
429
bayAcceleration1->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
431
_2->addWidget(bayAcceleration1, 7, 2, 1, 1);
433
bayPositionIncrement1 = new QLineEdit(gridGroupBox);
434
bayPositionIncrement1->setObjectName(QString::fromUtf8("bayPositionIncrement1"));
435
bayPositionIncrement1->setEnabled(false);
436
sizePolicy.setHeightForWidth(bayPositionIncrement1->sizePolicy().hasHeightForWidth());
437
bayPositionIncrement1->setSizePolicy(sizePolicy);
438
bayPositionIncrement1->setMinimumSize(QSize(120, 0));
439
bayPositionIncrement1->setMaximumSize(QSize(50, 16777215));
440
bayPositionIncrement1->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
442
_2->addWidget(bayPositionIncrement1, 7, 4, 1, 1);
444
horizontalSpacer_5 = new QSpacerItem(15, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
446
_2->addItem(horizontalSpacer_5, 7, 3, 1, 1);
448
bayMotorPosition1 = new QLineEdit(gridGroupBox);
449
bayMotorPosition1->setObjectName(QString::fromUtf8("bayMotorPosition1"));
450
bayMotorPosition1->setEnabled(false);
451
sizePolicy.setHeightForWidth(bayMotorPosition1->sizePolicy().hasHeightForWidth());
452
bayMotorPosition1->setSizePolicy(sizePolicy);
453
bayMotorPosition1->setMinimumSize(QSize(120, 0));
454
bayMotorPosition1->setMaximumSize(QSize(50, 16777215));
455
bayMotorPosition1->setFocusPolicy(Qt::NoFocus);
456
bayMotorPosition1->setAutoFillBackground(false);
457
bayMotorPosition1->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
458
bayMotorPosition1->setReadOnly(true);
460
_2->addWidget(bayMotorPosition1, 7, 5, 1, 1);
462
bayCommandedPosition1 = new QDoubleSpinBox(gridGroupBox);
463
bayCommandedPosition1->setObjectName(QString::fromUtf8("bayCommandedPosition1"));
464
bayCommandedPosition1->setEnabled(false);
465
sizePolicy.setHeightForWidth(bayCommandedPosition1->sizePolicy().hasHeightForWidth());
466
bayCommandedPosition1->setSizePolicy(sizePolicy);
467
bayCommandedPosition1->setMinimumSize(QSize(130, 0));
468
bayCommandedPosition1->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
469
bayCommandedPosition1->setDecimals(6);
471
_2->addWidget(bayCommandedPosition1, 7, 6, 1, 1);
473
bayVelocity2 = new QLineEdit(gridGroupBox);
474
bayVelocity2->setObjectName(QString::fromUtf8("bayVelocity2"));
475
bayVelocity2->setEnabled(false);
476
sizePolicy.setHeightForWidth(bayVelocity2->sizePolicy().hasHeightForWidth());
477
bayVelocity2->setSizePolicy(sizePolicy);
478
bayVelocity2->setMinimumSize(QSize(120, 0));
479
bayVelocity2->setMaximumSize(QSize(50, 16777215));
480
bayVelocity2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
482
_2->addWidget(bayVelocity2, 9, 1, 1, 1);
484
bayAcceleration2 = new QLineEdit(gridGroupBox);
485
bayAcceleration2->setObjectName(QString::fromUtf8("bayAcceleration2"));
486
bayAcceleration2->setEnabled(false);
487
sizePolicy.setHeightForWidth(bayAcceleration2->sizePolicy().hasHeightForWidth());
488
bayAcceleration2->setSizePolicy(sizePolicy);
489
bayAcceleration2->setMinimumSize(QSize(120, 0));
490
bayAcceleration2->setMaximumSize(QSize(50, 16777215));
491
bayAcceleration2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
493
_2->addWidget(bayAcceleration2, 9, 2, 1, 1);
495
horizontalSpacer_6 = new QSpacerItem(15, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
497
_2->addItem(horizontalSpacer_6, 9, 3, 1, 1);
499
bayPositionIncrement2 = new QLineEdit(gridGroupBox);
500
bayPositionIncrement2->setObjectName(QString::fromUtf8("bayPositionIncrement2"));
501
bayPositionIncrement2->setEnabled(false);
502
sizePolicy.setHeightForWidth(bayPositionIncrement2->sizePolicy().hasHeightForWidth());
503
bayPositionIncrement2->setSizePolicy(sizePolicy);
504
bayPositionIncrement2->setMinimumSize(QSize(120, 0));
505
bayPositionIncrement2->setMaximumSize(QSize(50, 16777215));
506
bayPositionIncrement2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
508
_2->addWidget(bayPositionIncrement2, 9, 4, 1, 1);
510
bayMotorPosition2 = new QLineEdit(gridGroupBox);
511
bayMotorPosition2->setObjectName(QString::fromUtf8("bayMotorPosition2"));
512
bayMotorPosition2->setEnabled(false);
513
sizePolicy.setHeightForWidth(bayMotorPosition2->sizePolicy().hasHeightForWidth());
514
bayMotorPosition2->setSizePolicy(sizePolicy);
515
bayMotorPosition2->setMinimumSize(QSize(120, 0));
516
bayMotorPosition2->setMaximumSize(QSize(50, 16777215));
518
font.setUnderline(false);
519
bayMotorPosition2->setFont(font);
520
bayMotorPosition2->setFocusPolicy(Qt::NoFocus);
521
bayMotorPosition2->setAutoFillBackground(false);
522
bayMotorPosition2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
523
bayMotorPosition2->setDragEnabled(false);
524
bayMotorPosition2->setReadOnly(true);
526
_2->addWidget(bayMotorPosition2, 9, 5, 1, 1);
528
bayCommandedPosition2 = new QDoubleSpinBox(gridGroupBox);
529
bayCommandedPosition2->setObjectName(QString::fromUtf8("bayCommandedPosition2"));
530
bayCommandedPosition2->setEnabled(false);
531
sizePolicy.setHeightForWidth(bayCommandedPosition2->sizePolicy().hasHeightForWidth());
532
bayCommandedPosition2->setSizePolicy(sizePolicy);
533
bayCommandedPosition2->setMinimumSize(QSize(130, 0));
534
bayCommandedPosition2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
535
bayCommandedPosition2->setDecimals(6);
536
bayCommandedPosition2->setMinimum(-100);
537
bayCommandedPosition2->setMaximum(100);
538
bayCommandedPosition2->setSingleStep(1);
540
_2->addWidget(bayCommandedPosition2, 9, 6, 1, 1);
542
label_7 = new QLabel(gridGroupBox);
543
label_7->setObjectName(QString::fromUtf8("label_7"));
545
_2->addWidget(label_7, 0, 1, 1, 1);
547
label_8 = new QLabel(gridGroupBox);
548
label_8->setObjectName(QString::fromUtf8("label_8"));
550
_2->addWidget(label_8, 0, 2, 1, 1);
552
label_9 = new QLabel(gridGroupBox);
553
label_9->setObjectName(QString::fromUtf8("label_9"));
555
_2->addWidget(label_9, 0, 4, 1, 1);
557
label_10 = new QLabel(gridGroupBox);
558
label_10->setObjectName(QString::fromUtf8("label_10"));
560
_2->addWidget(label_10, 0, 5, 1, 1);
562
label_11 = new QLabel(gridGroupBox);
563
label_11->setObjectName(QString::fromUtf8("label_11"));
565
_2->addWidget(label_11, 0, 6, 1, 1);
567
bayMaterialCalibration0 = new QComboBox(gridGroupBox);
568
bayMaterialCalibration0->setObjectName(QString::fromUtf8("bayMaterialCalibration0"));
569
bayMaterialCalibration0->setEnabled(false);
570
sizePolicy.setHeightForWidth(bayMaterialCalibration0->sizePolicy().hasHeightForWidth());
571
bayMaterialCalibration0->setSizePolicy(sizePolicy);
572
bayMaterialCalibration0->setMinimumSize(QSize(140, 0));
574
_2->addWidget(bayMaterialCalibration0, 6, 7, 1, 1);
576
bayMaterialCalibration1 = new QComboBox(gridGroupBox);
577
bayMaterialCalibration1->setObjectName(QString::fromUtf8("bayMaterialCalibration1"));
578
bayMaterialCalibration1->setEnabled(false);
579
sizePolicy.setHeightForWidth(bayMaterialCalibration1->sizePolicy().hasHeightForWidth());
580
bayMaterialCalibration1->setSizePolicy(sizePolicy);
581
bayMaterialCalibration1->setMinimumSize(QSize(140, 0));
583
_2->addWidget(bayMaterialCalibration1, 7, 7, 1, 1);
585
bayMaterialCalibration2 = new QComboBox(gridGroupBox);
586
bayMaterialCalibration2->setObjectName(QString::fromUtf8("bayMaterialCalibration2"));
587
bayMaterialCalibration2->setEnabled(false);
588
sizePolicy.setHeightForWidth(bayMaterialCalibration2->sizePolicy().hasHeightForWidth());
589
bayMaterialCalibration2->setSizePolicy(sizePolicy);
590
bayMaterialCalibration2->setMinimumSize(QSize(140, 0));
592
_2->addWidget(bayMaterialCalibration2, 9, 7, 1, 1);
594
label_12 = new QLabel(gridGroupBox);
595
label_12->setObjectName(QString::fromUtf8("label_12"));
596
label_12->setAlignment(Qt::AlignCenter);
598
_2->addWidget(label_12, 3, 7, 1, 1);
600
ResetPosButton = new QPushButton(gridGroupBox);
601
ResetPosButton->setObjectName(QString::fromUtf8("ResetPosButton"));
602
ResetPosButton->setEnabled(false);
604
font1.setPointSize(14);
607
ResetPosButton->setFont(font1);
609
_2->addWidget(ResetPosButton, 0, 7, 1, 1);
611
MoveButton = new QPushButton(gridGroupBox);
612
MoveButton->setObjectName(QString::fromUtf8("MoveButton"));
613
MoveButton->setEnabled(false);
614
QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Fixed);
615
sizePolicy1.setHorizontalStretch(0);
616
sizePolicy1.setVerticalStretch(0);
617
sizePolicy1.setHeightForWidth(MoveButton->sizePolicy().hasHeightForWidth());
618
MoveButton->setSizePolicy(sizePolicy1);
620
font2.setPointSize(12);
623
MoveButton->setFont(font2);
624
MoveButton->setAcceptDrops(false);
625
MoveButton->setLayoutDirection(Qt::LeftToRight);
626
MoveButton->setAutoFillBackground(false);
627
MoveButton->setAutoExclusive(false);
629
_2->addWidget(MoveButton, 1, 7, 2, 1);
631
gridGroupBox1 = new QGroupBox(centralWidget);
632
gridGroupBox1->setObjectName(QString::fromUtf8("gridGroupBox1"));
633
gridGroupBox1->setGeometry(QRect(10, 10, 391, 61));
634
gridLayout = new QGridLayout(gridGroupBox1);
635
gridLayout->setSpacing(6);
636
gridLayout->setContentsMargins(11, 11, 11, 11);
637
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
638
LoadConfigButton = new QPushButton(gridGroupBox1);
639
LoadConfigButton->setObjectName(QString::fromUtf8("LoadConfigButton"));
640
LoadConfigButton->setEnabled(true);
642
font3.setPointSize(18);
645
LoadConfigButton->setFont(font3);
647
gridLayout->addWidget(LoadConfigButton, 0, 1, 1, 1);
649
gridGroupBox2 = new QGroupBox(centralWidget);
650
gridGroupBox2->setObjectName(QString::fromUtf8("gridGroupBox2"));
651
gridGroupBox2->setGeometry(QRect(10, 290, 711, 51));
652
gridLayout_2 = new QGridLayout(gridGroupBox2);
653
gridLayout_2->setSpacing(6);
654
gridLayout_2->setContentsMargins(11, 11, 11, 11);
655
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
656
LoadModelButton = new QPushButton(gridGroupBox2);
657
LoadModelButton->setObjectName(QString::fromUtf8("LoadModelButton"));
658
LoadModelButton->setEnabled(false);
659
sizePolicy.setHeightForWidth(LoadModelButton->sizePolicy().hasHeightForWidth());
660
LoadModelButton->setSizePolicy(sizePolicy);
661
LoadModelButton->setMinimumSize(QSize(120, 0));
663
font4.setPointSize(16);
664
font4.setBold(false);
666
LoadModelButton->setFont(font4);
668
gridLayout_2->addWidget(LoadModelButton, 0, 0, 1, 1);
670
ExecuteButton = new QPushButton(gridGroupBox2);
671
ExecuteButton->setObjectName(QString::fromUtf8("ExecuteButton"));
672
ExecuteButton->setEnabled(false);
673
sizePolicy.setHeightForWidth(ExecuteButton->sizePolicy().hasHeightForWidth());
674
ExecuteButton->setSizePolicy(sizePolicy);
675
ExecuteButton->setMinimumSize(QSize(120, 0));
676
ExecuteButton->setFont(font4);
678
gridLayout_2->addWidget(ExecuteButton, 0, 1, 1, 1);
680
ExecutePathLabel = new QLabel(gridGroupBox2);
681
ExecutePathLabel->setObjectName(QString::fromUtf8("ExecutePathLabel"));
682
ExecutePathLabel->setAutoFillBackground(true);
684
gridLayout_2->addWidget(ExecutePathLabel, 0, 2, 1, 1);
686
verticalGroupBox = new QGroupBox(centralWidget);
687
verticalGroupBox->setObjectName(QString::fromUtf8("verticalGroupBox"));
688
verticalGroupBox->setGeometry(QRect(740, 290, 151, 141));
689
verticalLayout = new QVBoxLayout(verticalGroupBox);
690
verticalLayout->setSpacing(6);
691
verticalLayout->setContentsMargins(11, 11, 11, 11);
692
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
693
RedoPathButton = new QPushButton(verticalGroupBox);
694
RedoPathButton->setObjectName(QString::fromUtf8("RedoPathButton"));
695
RedoPathButton->setEnabled(false);
696
QSizePolicy sizePolicy2(QSizePolicy::Minimum, QSizePolicy::Maximum);
697
sizePolicy2.setHorizontalStretch(0);
698
sizePolicy2.setVerticalStretch(0);
699
sizePolicy2.setHeightForWidth(RedoPathButton->sizePolicy().hasHeightForWidth());
700
RedoPathButton->setSizePolicy(sizePolicy2);
701
RedoPathButton->setMinimumSize(QSize(0, 50));
703
font5.setPointSize(16);
706
RedoPathButton->setFont(font5);
708
verticalLayout->addWidget(RedoPathButton);
710
ExitButton = new QPushButton(verticalGroupBox);
711
ExitButton->setObjectName(QString::fromUtf8("ExitButton"));
712
sizePolicy2.setHeightForWidth(ExitButton->sizePolicy().hasHeightForWidth());
713
ExitButton->setSizePolicy(sizePolicy2);
714
ExitButton->setMinimumSize(QSize(0, 70));
716
font6.setPointSize(24);
719
ExitButton->setFont(font6);
721
verticalLayout->addWidget(ExitButton);
723
gridGroupBox3 = new QGroupBox(centralWidget);
724
gridGroupBox3->setObjectName(QString::fromUtf8("gridGroupBox3"));
725
gridGroupBox3->setGeometry(QRect(10, 350, 711, 81));
726
gridLayout_3 = new QGridLayout(gridGroupBox3);
727
gridLayout_3->setSpacing(6);
728
gridLayout_3->setContentsMargins(11, 11, 11, 11);
729
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
730
PauseFabButton = new QPushButton(gridGroupBox3);
731
PauseFabButton->setObjectName(QString::fromUtf8("PauseFabButton"));
732
PauseFabButton->setEnabled(false);
733
QSizePolicy sizePolicy3(QSizePolicy::Expanding, QSizePolicy::Fixed);
734
sizePolicy3.setHorizontalStretch(0);
735
sizePolicy3.setVerticalStretch(0);
736
sizePolicy3.setHeightForWidth(PauseFabButton->sizePolicy().hasHeightForWidth());
737
PauseFabButton->setSizePolicy(sizePolicy3);
738
PauseFabButton->setMinimumSize(QSize(120, 0));
739
PauseFabButton->setFont(font4);
741
gridLayout_3->addWidget(PauseFabButton, 0, 0, 1, 1);
743
CancelFabButton = new QPushButton(gridGroupBox3);
744
CancelFabButton->setObjectName(QString::fromUtf8("CancelFabButton"));
745
CancelFabButton->setEnabled(false);
746
sizePolicy3.setHeightForWidth(CancelFabButton->sizePolicy().hasHeightForWidth());
747
CancelFabButton->setSizePolicy(sizePolicy3);
748
CancelFabButton->setMinimumSize(QSize(120, 0));
749
CancelFabButton->setFont(font4);
751
gridLayout_3->addWidget(CancelFabButton, 0, 1, 1, 1);
753
ForceStopButton = new QPushButton(gridGroupBox3);
754
ForceStopButton->setObjectName(QString::fromUtf8("ForceStopButton"));
755
ForceStopButton->setEnabled(false);
756
sizePolicy3.setHeightForWidth(ForceStopButton->sizePolicy().hasHeightForWidth());
757
ForceStopButton->setSizePolicy(sizePolicy3);
758
ForceStopButton->setMinimumSize(QSize(120, 0));
759
ForceStopButton->setFont(font4);
761
gridLayout_3->addWidget(ForceStopButton, 0, 3, 1, 1);
763
progressBar = new QProgressBar(gridGroupBox3);
764
progressBar->setObjectName(QString::fromUtf8("progressBar"));
765
progressBar->setValue(0);
767
gridLayout_3->addWidget(progressBar, 1, 0, 1, 4);
769
PortName = new QLineEdit(centralWidget);
770
PortName->setObjectName(QString::fromUtf8("PortName"));
771
PortName->setEnabled(true);
772
PortName->setGeometry(QRect(80, 260, 120, 20));
773
sizePolicy.setHeightForWidth(PortName->sizePolicy().hasHeightForWidth());
774
PortName->setSizePolicy(sizePolicy);
775
PortName->setMinimumSize(QSize(120, 0));
776
PortName->setMaximumSize(QSize(50, 16777215));
777
PortName->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
778
bayLabel2_2 = new QLabel(centralWidget);
779
bayLabel2_2->setObjectName(QString::fromUtf8("bayLabel2_2"));
780
bayLabel2_2->setGeometry(QRect(19, 260, 55, 20));
781
MainWindow->setCentralWidget(centralWidget);
782
statusBar = new QStatusBar(MainWindow);
783
statusBar->setObjectName(QString::fromUtf8("statusBar"));
784
MainWindow->setStatusBar(statusBar);
786
retranslateUi(MainWindow);
788
QMetaObject::connectSlotsByName(MainWindow);
791
void retranslateUi(QMainWindow *MainWindow)
793
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "FAB@Home Interpreter", 0, QApplication::UnicodeUTF8));
794
XLabel->setText(QApplication::translate("MainWindow", "Not Loaded", 0, QApplication::UnicodeUTF8));
795
XDisplay->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
796
XIncrementField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
797
XAccelerationField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
798
XVelocityField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
799
YLabel->setText(QApplication::translate("MainWindow", "Not Loaded", 0, QApplication::UnicodeUTF8));
800
ZLabel->setText(QApplication::translate("MainWindow", "Not Loaded", 0, QApplication::UnicodeUTF8));
801
bayLabel0->setText(QApplication::translate("MainWindow", "Not Loaded", 0, QApplication::UnicodeUTF8));
802
bayLabel2->setText(QApplication::translate("MainWindow", "Not Loaded", 0, QApplication::UnicodeUTF8));
803
bayLabel1->setText(QApplication::translate("MainWindow", "Not Loaded", 0, QApplication::UnicodeUTF8));
804
YVelocityField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
805
YAccelerationField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
806
YIncrementField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
807
YDisplay->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
808
ZVelocityField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
809
ZAccelerationField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
810
ZIncrementField->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
811
ZDisplay->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
812
bayVelocity0->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
813
bayAcceleration0->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
814
bayPositionIncrement0->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
815
bayMotorPosition0->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
816
bayVelocity1->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
817
bayAcceleration1->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
818
bayPositionIncrement1->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
819
bayMotorPosition1->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
820
bayVelocity2->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
821
bayAcceleration2->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
822
bayPositionIncrement2->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
823
bayMotorPosition2->setInputMask(QString());
824
bayMotorPosition2->setText(QApplication::translate("MainWindow", "0.0", 0, QApplication::UnicodeUTF8));
825
label_7->setText(QApplication::translate("MainWindow", "Velocity (mm/s)", 0, QApplication::UnicodeUTF8));
826
label_8->setText(QApplication::translate("MainWindow", "Acceleration (mm/s)", 0, QApplication::UnicodeUTF8));
827
label_9->setText(QApplication::translate("MainWindow", "Position Increment (mm)", 0, QApplication::UnicodeUTF8));
828
label_10->setText(QApplication::translate("MainWindow", "Motor Position (mm)", 0, QApplication::UnicodeUTF8));
829
label_11->setText(QApplication::translate("MainWindow", "Commanded Position (mm)", 0, QApplication::UnicodeUTF8));
830
label_12->setText(QApplication::translate("MainWindow", "Material Calibration", 0, QApplication::UnicodeUTF8));
831
ResetPosButton->setText(QApplication::translate("MainWindow", "Reset Position", 0, QApplication::UnicodeUTF8));
832
MoveButton->setText(QApplication::translate("MainWindow", "Move To Position ", 0, QApplication::UnicodeUTF8));
833
LoadConfigButton->setText(QApplication::translate("MainWindow", "Load Printer Configuration", 0, QApplication::UnicodeUTF8));
834
LoadModelButton->setText(QApplication::translate("MainWindow", "Load Model", 0, QApplication::UnicodeUTF8));
835
ExecuteButton->setText(QApplication::translate("MainWindow", "Execute", 0, QApplication::UnicodeUTF8));
836
ExecutePathLabel->setText(QApplication::translate("MainWindow", "Path Information Display", 0, QApplication::UnicodeUTF8));
837
RedoPathButton->setText(QApplication::translate("MainWindow", "Redo Path", 0, QApplication::UnicodeUTF8));
838
ExitButton->setText(QApplication::translate("MainWindow", "Exit", 0, QApplication::UnicodeUTF8));
839
PauseFabButton->setText(QApplication::translate("MainWindow", "Pause", 0, QApplication::UnicodeUTF8));
840
CancelFabButton->setText(QApplication::translate("MainWindow", "Cancel", 0, QApplication::UnicodeUTF8));
841
ForceStopButton->setText(QApplication::translate("MainWindow", "Force Stop", 0, QApplication::UnicodeUTF8));
842
PortName->setText(QApplication::translate("MainWindow", "USB...", 0, QApplication::UnicodeUTF8));
843
bayLabel2_2->setText(QApplication::translate("MainWindow", "Port Name", 0, QApplication::UnicodeUTF8));
849
class MainWindow: public Ui_MainWindow {};
854
#endif // UI_MAINWINDOW_H