Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
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()));
}