void SCameraConfigLauncher::starting() { this->create(); m_cameraSeries = this->getInOut< ::arData::CameraSeries >("cameraSeries"); SLM_ASSERT("Missing cameraSeries.", m_cameraSeries); m_activitySeries = this->getInOut< ::fwMedData::ActivitySeries >("activitySeries"); SLM_ASSERT("Missing activitySeries.", m_activitySeries); auto qtContainer = ::fwGuiQt::container::QtContainer::dynamicCast( this->getContainer() ); QHBoxLayout* layout = new QHBoxLayout(); m_cameraComboBox = new QComboBox(); layout->addWidget(m_cameraComboBox); QIcon addIcon(QString::fromStdString(::fwRuntime::getBundleResourceFilePath("media", "icons/Import.svg").string())); m_addButton = new QPushButton(addIcon, ""); m_addButton->setToolTip("Add a new camera."); layout->addWidget(m_addButton); QIcon importIcon(QString::fromStdString(::fwRuntime::getBundleResourceFilePath("arMedia", "icons/CameraSeries.svg").string())); m_importButton = new QPushButton(importIcon, ""); m_importButton->setToolTip("Import an intrinsic calibration."); layout->addWidget(m_importButton); QIcon removeIcon(QString::fromStdString(::fwRuntime::getBundleResourceFilePath("arMedia", "icons/remove.svg").string())); m_removeButton = new QPushButton(removeIcon, ""); m_removeButton->setToolTip("Remove the camera."); layout->addWidget(m_removeButton); m_extrinsicButton = new QPushButton("Extrinsic"); layout->addWidget(m_extrinsicButton); m_extrinsicButton->setCheckable(true); qtContainer->setLayout( layout ); const size_t nbCam = m_cameraSeries->getNumberOfCameras(); if (nbCam == 0) { this->addCamera(); m_extrinsicButton->setEnabled(false); m_removeButton->setEnabled(false); } else { for (size_t i = 0; i < nbCam; ++i) { m_cameraComboBox->addItem(QString("Camera %1").arg(i+1)); } const bool moreThanOneCamera = (nbCam > 1); m_extrinsicButton->setEnabled(moreThanOneCamera); m_removeButton->setEnabled(moreThanOneCamera); } QObject::connect(m_cameraComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(onCameraChanged(int))); QObject::connect(m_addButton, SIGNAL(clicked()), this, SLOT(onAddClicked())); QObject::connect(m_importButton, SIGNAL(clicked()), this, SLOT(onImportClicked())); QObject::connect(m_removeButton, SIGNAL(clicked()), this, SLOT(onRemoveClicked())); QObject::connect(m_extrinsicButton, SIGNAL(toggled(bool)), this, SLOT(onExtrinsicToggled(bool))); this->startIntrinsicConfig(0); }
ImportTensorWindow::ImportTensorWindow(QWidget *parent, int nDimension, int nCompCount) : QDialog(parent) { setWindowTitle(tr("Enter the tensor")); m_nameLabel = new QLabel(this); m_nameLabel->setText(tr("Enter the name:")); m_nameLine = new QLineEdit(this); m_nameLine->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); m_importButton = new QPushButton(this); m_importButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); m_importButton->setText(tr("Import")); m_importButton->setVisible(false); m_okButton = new QPushButton(this); m_okButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); m_okButton->setText(tr("OK")); m_cancelButton = new QPushButton(this); m_cancelButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); m_cancelButton->setText(tr("Cancel")); m_inputTabsWidget = new TabsWidget(this); QString matrixName = ""; int matrixNumber = 1; while(matrixNumber < nCompCount + 1) { matrixName.append(tr("Matrix %1").arg(matrixNumber)); m_inputTabsWidget->addTab(new MatrixViewWidget(nDimension, nDimension), matrixName); matrixName.clear(); matrixNumber++; } QFormLayout* nameLayout = new QFormLayout; nameLayout->addRow(m_nameLabel, m_nameLine); QHBoxLayout* importLayout = new QHBoxLayout; importLayout->addWidget(m_importButton); importLayout->setAlignment(Qt::AlignLeft); QHBoxLayout* okCancelLayout = new QHBoxLayout; okCancelLayout->addWidget(m_okButton); okCancelLayout->addWidget(m_cancelButton); okCancelLayout->setAlignment(Qt::AlignRight); QHBoxLayout* buttonLayout = new QHBoxLayout; buttonLayout->addLayout(importLayout); buttonLayout->addLayout(okCancelLayout); QVBoxLayout* mainLayout = new QVBoxLayout; mainLayout->addLayout(nameLayout); mainLayout->addWidget(m_inputTabsWidget); mainLayout->addLayout(buttonLayout); this->setLayout(mainLayout); connect(m_importButton, SIGNAL(clicked()), this, SLOT(onImportClicked())); connect(m_okButton, SIGNAL(clicked()), this, SLOT(onOkClicked())); connect(m_cancelButton, SIGNAL(clicked()), this, SLOT(onCancelClicked())); }