예제 #1
0
파일: guiitem.cpp 프로젝트: kitizz/nutmeg
void GuiItem::setGui(GuiBase *gui)
{
    if (m_gui == gui)
        return;

    if (m_gui)
        m_gui->deregisterGuiItem(this);

    m_gui = gui;

    emit guiChanged(gui);

    if (m_gui) {
        m_gui->registerGuiItem(this);
        m_gui->notifyParameterChanged(m_handle, m_value);
    }
}
/**
 * \brief Construct a new focusercontrollerwidget
 */
focusercontrollerwidget::focusercontrollerwidget(QWidget *parent)
	: InstrumentWidget(parent), ui(new Ui::focusercontrollerwidget) {
	ui->setupUi(this);
	ui->currentField->setEnabled(false);
	ui->positionSpinBox->setEnabled(false);
	ui->positionButton->setEnabled(false);

	// GUI element connections
	connect(ui->focuserSelectionBox, SIGNAL(currentIndexChanged(int)),
		this, SLOT(focuserChanged(int)));

	connect(ui->positionButton, SIGNAL(clicked()),
		this, SLOT(guiChanged()));
	connect(ui->positionSpinBox, SIGNAL(valueChanged(int)),
		this, SLOT(guiChanged()));
	connect(ui->positionSpinBox, SIGNAL(editingFinished()),
		this, SLOT(editingFinished()));

	// initialize the timer
	connect(&statusTimer, SIGNAL(timeout()), this, SLOT(statusUpdate()));
	statusTimer.setInterval(100);
}