QSearchEdit::QSearchEdit(QWidget *parent) : QLineEdit(parent) { Interval = 2; Timer = new QTimer(this); connect(this,SIGNAL(textChanged(QString)),this,SLOT(SlotTextChanged(QString))); connect(Timer,SIGNAL(timeout()),this,SLOT(SlotStartSearch())); connect(this,SIGNAL(returnPressed()),this,SLOT(SlotStartSearch())); }
void mtsIntuitiveResearchKitArmQtWidget::setupUi(void) { QVBoxLayout * mainLayout = new QVBoxLayout; QHBoxLayout * topLayout = new QHBoxLayout; mainLayout->addLayout(topLayout); // 3D position QFRPositionWidget = new vctQtWidgetFrameDoubleRead(vctQtWidgetRotationDoubleRead::OPENGL_WIDGET); topLayout->addWidget(QFRPositionWidget, 0, 0); // timing QVBoxLayout * timingLayout = new QVBoxLayout(); QMIntervalStatistics = new mtsQtWidgetIntervalStatistics(); timingLayout->addWidget(QMIntervalStatistics); timingLayout->addStretch(); topLayout->addLayout(timingLayout); // state QHBoxLayout * stateLayout = new QHBoxLayout; mainLayout->addLayout(stateLayout); QCBEnableDirectControl = new QCheckBox("Direct control"); stateLayout->addWidget(QCBEnableDirectControl); QPBHome = new QPushButton("Home"); stateLayout->addWidget(QPBHome); QLabel * stateLabel = new QLabel("State:"); stateLayout->addWidget(stateLabel); QLEState = new QLineEdit(""); QLEState->setReadOnly(true); stateLayout->addWidget(QLEState); // messages QTEMessages = new QTextEdit(); QTEMessages->setReadOnly(true); QTEMessages->ensureCursorVisible(); mainLayout->addWidget(QTEMessages); setLayout(mainLayout); setWindowTitle("Manipulator"); resize(sizeHint()); connect(this, SIGNAL(SignalAppendMessage(QString)), QTEMessages, SLOT(append(QString))); connect(this, SIGNAL(SignalSetColor(QColor)), QTEMessages, SLOT(setTextColor(QColor))); connect(QTEMessages, SIGNAL(textChanged()), this, SLOT(SlotTextChanged())); connect(QCBEnableDirectControl, SIGNAL(toggled(bool)), this, SLOT(SlotEnableDirectControl(bool))); connect(QPBHome, SIGNAL(clicked()), this, SLOT(SlotHome())); // set initial values QCBEnableDirectControl->setChecked(DirectControl); SlotEnableDirectControl(DirectControl); }
void mtsIntuitiveResearchKitConsoleQtWidget::setupUi(void) { QGridLayout * frameLayout = new QGridLayout; QGroupBox * groupBox = new QGroupBox("Desired state"); QRadioButton * idleButton = new QRadioButton("Idle"); QRadioButton * homeButton = new QRadioButton("Home"); QRadioButton * teleOpButton = new QRadioButton("Teleop"); // QRadioButton * gcButton = new QRadioButton("Gravity"); // QRadioButton * clutchButton = new QRadioButton("Clutch"); idleButton->setChecked(true); QButtonGroup * group = new QButtonGroup; group->addButton(idleButton); group->addButton(homeButton); group->addButton(teleOpButton); // group->addButton(gcButton); // group->addButton(clutchButton); group->setExclusive(true); QVBoxLayout * vbox = new QVBoxLayout; vbox->addWidget(idleButton); vbox->addWidget(homeButton); vbox->addWidget(teleOpButton); // vbox->addWidget(gcButton); // vbox->addWidget(clutchButton); vbox->addStretch(1); groupBox->setLayout(vbox); frameLayout->addWidget(groupBox, 0, 0); QTEMessages = new QTextEdit(); QTEMessages->setReadOnly(true); QTEMessages->ensureCursorVisible(); frameLayout->addWidget(QTEMessages, 0, 1); QVBoxLayout * mainLayout = new QVBoxLayout; mainLayout->addLayout(frameLayout); setLayout(mainLayout); setWindowTitle("Intuitive Research Kit"); resize(sizeHint()); connect(group, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(SlotSetStateButton(QAbstractButton*))); connect(this, SIGNAL(SignalAppendMessage(QString)), QTEMessages, SLOT(append(QString))); connect(this, SIGNAL(SignalSetColor(QColor)), QTEMessages, SLOT(setTextColor(QColor))); connect(QTEMessages, SIGNAL(textChanged()), this, SLOT(SlotTextChanged())); }
void mtsTeleOperationPSMQtWidget::setupUi(void) { // 3D frames QGridLayout * frameLayout = new QGridLayout; QLabel * masterLabel = new QLabel("<b>MTM</b>"); masterLabel->setAlignment(Qt::AlignCenter); frameLayout->addWidget(masterLabel, 0, 0); QFRPositionMTMWidget = new vctQtWidgetFrameDoubleRead(vctQtWidgetRotationDoubleRead::OPENGL_WIDGET); frameLayout->addWidget(QFRPositionMTMWidget, 1, 0); QLabel * slaveLabel = new QLabel("<b>PSM</b>"); slaveLabel->setAlignment(Qt::AlignCenter); frameLayout->addWidget(slaveLabel, 2, 0); QFRPositionPSMWidget = new vctQtWidgetFrameDoubleRead(vctQtWidgetRotationDoubleRead::OPENGL_WIDGET); frameLayout->addWidget(QFRPositionPSMWidget, 3, 0); // right side QVBoxLayout * controlLayout = new QVBoxLayout; QLabel * instructionsLabel = new QLabel("To start tele-operation you must first insert the tool past the cannula tip (push tool clutch button and manually insert tool).\nOperator must be present to operate (sometime using COAG pedal).\nYou can use the clutch pedal to re-position your masters."); instructionsLabel->setWordWrap(true); controlLayout->addWidget(instructionsLabel); // scale/lock/unlock/messages QHBoxLayout * buttonsLayout = new QHBoxLayout; controlLayout->addLayout(buttonsLayout); // scale QSBScale = new QDoubleSpinBox(); QSBScale->setRange(0.1, 1.0); QSBScale->setSingleStep(0.1); QSBScale->setPrefix("scale "); QSBScale->setValue(0.2); buttonsLayout->addWidget(QSBScale); // enable/disable rotation/translation QCBLockRotation = new QCheckBox("Lock Rotation"); buttonsLayout->addWidget(QCBLockRotation); QCBLockTranslation = new QCheckBox("Lock Translation"); buttonsLayout->addWidget(QCBLockTranslation); // messages on/off QPBLog = new QPushButton("Messages"); QPBLog->setCheckable(true); buttonsLayout->addWidget(QPBLog); // state info QHBoxLayout * stateLayout = new QHBoxLayout; controlLayout->addLayout(stateLayout); QLabel * label = new QLabel("Desired"); stateLayout->addWidget(label); QLEDesiredState = new QLineEdit(""); QLEDesiredState->setReadOnly(true); stateLayout->addWidget(QLEDesiredState); label = new QLabel("Current"); stateLayout->addWidget(label); QLECurrentState = new QLineEdit(""); QLECurrentState->setReadOnly(true); stateLayout->addWidget(QLECurrentState); // Timing QMIntervalStatistics = new mtsQtWidgetIntervalStatistics(); controlLayout->addWidget(QMIntervalStatistics); // messages QTEMessages = new QTextEdit(); QTEMessages->setReadOnly(true); QTEMessages->ensureCursorVisible(); controlLayout->addWidget(QTEMessages); // add stretch controlLayout->addStretch(); QWidget * leftWidget = new QWidget(); leftWidget->setLayout(frameLayout); addWidget(leftWidget); QWidget * rightWidget = new QWidget(); rightWidget->setLayout(controlLayout); addWidget(rightWidget); setWindowTitle("TeleOperation Controller"); resize(sizeHint()); // setup Qt Connection connect(this, SIGNAL(SignalDesiredState(QString)), this, SLOT(SlotDesiredStateEventHandler(QString))); connect(this, SIGNAL(SignalCurrentState(QString)), this, SLOT(SlotCurrentStateEventHandler(QString))); connect(QSBScale, SIGNAL(valueChanged(double)), this, SLOT(SlotSetScale(double))); connect(this, SIGNAL(SignalScale(double)), this, SLOT(SlotScaleEventHandler(double))); connect(QCBLockRotation, SIGNAL(clicked(bool)), this, SLOT(SlotLockRotation(bool))); connect(this, SIGNAL(SignalRotationLocked(bool)), this, SLOT(SlotRotationLockedEventHandler(bool))); connect(QCBLockTranslation, SIGNAL(clicked(bool)), this, SLOT(SlotLockTranslation(bool))); connect(this, SIGNAL(SignalTranslationLocked(bool)), this, SLOT(SlotTranslationLockedEventHandler(bool))); // messages connect(QPBLog, SIGNAL(clicked()), this, SLOT(SlotLogEnabled())); connect(this, SIGNAL(SignalAppendMessage(QString)), QTEMessages, SLOT(append(QString))); connect(this, SIGNAL(SignalSetColor(QColor)), QTEMessages, SLOT(setTextColor(QColor))); connect(QTEMessages, SIGNAL(textChanged()), this, SLOT(SlotTextChanged())); }