StereogramDialog::StereogramDialog(ccMainAppInterface* app/*=0*/) : QDialog(app ? app->getMainWindow() : 0) , Ui::StereogramDialog() , m_classifWidget(0) , m_colorScaleSelector(0) , m_app(app) , m_facetGroupUniqueID(0) { setupUi(this); //create classification widget (stereogram) m_classifWidget = new StereogramWidget(this); { if (!frame->layout()) frame->setLayout(new QHBoxLayout()); frame->layout()->addWidget(m_classifWidget); m_classifWidget->setTicksFreq(ticksFreqSpinBox->value()); } //add color ramp selector widget if (m_app) { ccColorScalesManager* csManager = m_app->getColorScalesManager(); m_colorScaleSelector = new ccColorScaleSelector(csManager,this,QString::fromUtf8(":/CC/plugin/qFacets/gearIcon.png")); m_colorScaleSelector->init(); ccColorScale::Shared scale = csManager->getDefaultScale(ccColorScalesManager::BGYR); if (scale) { m_colorScaleSelector->setSelectedScale(scale->getUuid()); m_classifWidget->setDensityColorScale(scale); } connect(m_colorScaleSelector, SIGNAL(colorScaleSelected(int)), this, SLOT(colorScaleChanged(int))); connect(m_colorScaleSelector, SIGNAL(colorScaleEditorSummoned()), this, SLOT(spawnColorScaleEditor())); //add selector to group's layout if (!colorRampGroupBox->layout()) colorRampGroupBox->setLayout(new QHBoxLayout()); colorRampGroupBox->layout()->addItem(new QSpacerItem(20, 20, QSizePolicy::Preferred, QSizePolicy::Minimum)); colorRampGroupBox->layout()->addWidget(m_colorScaleSelector); colorScaleStepsSpinBox->setRange(ccColorScale::MIN_STEPS,ccColorScale::MAX_STEPS); } else {
void ccColorScaleSelector::init() { //fill combox box if (m_comboBox) { m_comboBox->disconnect(this); m_comboBox->clear(); //add all available color scales assert(m_manager); for (ccColorScalesManager::ScalesMap::const_iterator it = m_manager->map().begin(); it != m_manager->map().end(); ++it) m_comboBox->addItem((*it)->getName(),(*it)->getUuid()); connect(m_comboBox, SIGNAL(activated(int)), this, SIGNAL(colorScaleSelected(int))); } //advanced tool button if (m_button) { m_button->disconnect(this); connect(m_button, SIGNAL(clicked()), this, SIGNAL(colorScaleEditorSummoned())); } }