diff --git a/GUI/coregui/Models/RealDataItem.cpp b/GUI/coregui/Models/RealDataItem.cpp index df1fcf3d391a5c503ed1bf238efe6bc6ff769fc1..3f87b7c0b7bce982e0199afe0d219d2e06b7f956 100644 --- a/GUI/coregui/Models/RealDataItem.cpp +++ b/GUI/coregui/Models/RealDataItem.cpp @@ -46,22 +46,6 @@ RealDataItem::RealDataItem() updateIntensityDataFileName(); } - else if(name == P_INSTRUMENT_ID) { -// QString id = getItemValue(P_INSTRUMENT_ID).toString(); -// if(id.isEmpty()) { -// mapper()->setActive(false); -// ComboProperty combo; -// combo << Constants::UnitsNbins; -// IntensityDataItem *item = intensityDataItem(); -// item->setItemValue(IntensityDataItem::P_AXES_UNITS, combo.getVariant()); -// item->getItem(IntensityDataItem::P_AXES_UNITS)->setVisible(true); -// item->setXaxisTitle("X [nbins]"); -// item->setYaxisTitle("Y [nbins]"); -// item->setOutputData(ImportDataAssistant::createSimlifiedOutputData(*item->getOutputData())); -// item->setAxesRangeToData(); -// mapper()->setActive(true); -// } - } } ); @@ -90,12 +74,14 @@ RealDataItem::RealDataItem() IntensityDataItem *RealDataItem::intensityDataItem() { - return const_cast<IntensityDataItem *>(static_cast<const RealDataItem*>(this)->intensityDataItem()); + return const_cast<IntensityDataItem *>( + static_cast<const RealDataItem*>(this)->intensityDataItem()); } const IntensityDataItem *RealDataItem::intensityDataItem() const { - const IntensityDataItem *result = dynamic_cast<const IntensityDataItem *>(getItem(T_INTENSITY_DATA)); + const IntensityDataItem *result = dynamic_cast<const IntensityDataItem *>( + getItem(T_INTENSITY_DATA)); return result; } diff --git a/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp b/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp index 8737842d9dcf1be3f166b649386ddf1fab839297..1e16d16fbce1d63303b17363a83aeb865f4e27e6 100644 --- a/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp +++ b/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.cpp @@ -15,7 +15,6 @@ // ************************************************************************** // #include "RealDataPropertiesWidget.h" -#include "ComponentEditor.h" #include "RealDataItem.h" #include "SessionModel.h" #include "LinkInstrumentManager.h" @@ -24,13 +23,17 @@ #include <QLineEdit> #include <QComboBox> #include <QDataWidgetMapper> +#include <QLabel> #include <QDebug> +namespace { +const QString instrumentNameTooltip = "Name of real data"; +const QString selectorTooltip = "Select instrument to link with real data"; +} RealDataPropertiesWidget::RealDataPropertiesWidget(QWidget *parent) : QWidget(parent) , m_linkManager(new LinkInstrumentManager(this)) - , m_propertyEditor(new ComponentEditor) , m_dataNameMapper(new QDataWidgetMapper) , m_dataNameEdit(new QLineEdit) , m_instrumentCombo(new QComboBox) @@ -39,15 +42,25 @@ RealDataPropertiesWidget::RealDataPropertiesWidget(QWidget *parent) setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); setWindowTitle("RealDataPropertiesWidget"); - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->setMargin(0); - mainLayout->setSpacing(0); - mainLayout->setContentsMargins(0,0,0,0); - mainLayout->addWidget(m_propertyEditor); + mainLayout->setMargin(5); + mainLayout->setSpacing(2); + + QLabel *nameLabel = new QLabel("Dataset"); + nameLabel->setToolTip(instrumentNameTooltip); + m_dataNameEdit->setToolTip(instrumentNameTooltip); + + QLabel *selectorLabel = new QLabel("Linked instrument"); + selectorLabel->setToolTip(selectorTooltip); + m_instrumentCombo->setToolTip(selectorTooltip); + + mainLayout->addWidget(nameLabel); mainLayout->addWidget(m_dataNameEdit); + mainLayout->addSpacing(5); + mainLayout->addWidget(selectorLabel); mainLayout->addWidget(m_instrumentCombo); + mainLayout->addStretch(); setLayout(mainLayout); setComboConnected(true); @@ -55,16 +68,18 @@ RealDataPropertiesWidget::RealDataPropertiesWidget(QWidget *parent) this, SLOT(onInstrumentMapUpdate())); } +//! Sets models to underlying link manager. + void RealDataPropertiesWidget::setModels(InstrumentModel *instrumentModel, RealDataModel *realDataModel) { m_linkManager->setModels(instrumentModel, realDataModel); } +//! Set current RealDataItem to display in instrument selector. void RealDataPropertiesWidget::setItem(SessionItem *item) { - m_propertyEditor->setItem(item); m_dataNameMapper->clearMapping(); if(item == m_currentDataItem) @@ -73,7 +88,6 @@ void RealDataPropertiesWidget::setItem(SessionItem *item) if(m_currentDataItem) m_currentDataItem->mapper()->unsubscribe(this); - m_currentDataItem = dynamic_cast<RealDataItem *>(item); if(!m_currentDataItem) @@ -85,26 +99,19 @@ void RealDataPropertiesWidget::setItem(SessionItem *item) onRealDataPropertyChanged(name); }, this); - m_currentDataItem->mapper()->setOnItemDestroy( [this](SessionItem *) { m_currentDataItem = 0; }, this); - -// if(!item) -// return; - -// m_currentDataItem = dynamic_cast<RealDataItem *>(item); -// Q_ASSERT(m_currentDataItem); - + // Initialize QLineEdit to edit itemName directly in the model m_dataNameMapper->setModel(item->model()); m_dataNameMapper->setRootIndex(item->index()); m_dataNameMapper->setCurrentModelIndex(item->getItem(SessionItem::P_NAME)->index()); m_dataNameMapper->addMapping(m_dataNameEdit, 1); m_dataNameMapper->toFirst(); - + // Set combo selector to show linked instrument setComboToIdentifier(item->getItemValue(RealDataItem::P_INSTRUMENT_ID).toString()); } @@ -130,10 +137,9 @@ void RealDataPropertiesWidget::onInstrumentComboIndexChanged(int index) // LinkManager doesn't allow to link data to instrument. setComboToIdentifier(dataLink); // Returning Combo selector to previous state } - } -//! Updates instrument selector for new instrument names, and add/remove instrument events. +//! Updates instrument selector for new instruments and their names. //! Current selection will be preserved. void RealDataPropertiesWidget::onInstrumentMapUpdate() @@ -152,7 +158,7 @@ void RealDataPropertiesWidget::onInstrumentMapUpdate() setComboConnected(true); } -//! Updates instrument combo on link change of current RealDataItem +//! Updates instrument combo on link change of current RealDataItem. void RealDataPropertiesWidget::onRealDataPropertyChanged(const QString &name) { @@ -186,4 +192,3 @@ void RealDataPropertiesWidget::setComboConnected(bool isConnected) this, SLOT(onInstrumentComboIndexChanged(int))); } } - diff --git a/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.h b/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.h index 2f40889c7dff7bcc20a5f2abdbd41cbe6e7a8b79..55ae72a773ca08c3dd06ab2d7d7a5c5082af42c9 100644 --- a/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.h +++ b/GUI/coregui/Views/ImportDataWidgets/RealDataPropertiesWidget.h @@ -21,7 +21,6 @@ #include <QWidget> class LinkInstrumentManager; -class ComponentEditor; class SessionItem; class InstrumentModel; class RealDataModel; @@ -30,7 +29,7 @@ class QDataWidgetMapper; class QLineEdit; class QComboBox; -//! The RealDataPropertiesWidget class holds component editor for RealDataItem. +//! The RealDataPropertiesWidget class holds instrument selector to link with RealDataItem. //! Part of RealDataSelectorWidget, resides at lower left corner of ImportDataView. class BA_CORE_API_ RealDataPropertiesWidget : public QWidget @@ -39,12 +38,11 @@ class BA_CORE_API_ RealDataPropertiesWidget : public QWidget public: explicit RealDataPropertiesWidget(QWidget *parent = 0); - QSize sizeHint() const { return QSize(64, 256); } - QSize minimumSizeHint() const { return QSize(64, 64); } - - void setItem(SessionItem *item); + QSize sizeHint() const { return QSize(64, 135); } + QSize minimumSizeHint() const { return QSize(64, 128); } void setModels(InstrumentModel *instrumentModel, RealDataModel *realDataModel); + void setItem(SessionItem *item); public slots: void onInstrumentComboIndexChanged(int index); @@ -56,7 +54,6 @@ private: void setComboConnected(bool isConnected); LinkInstrumentManager *m_linkManager; - ComponentEditor *m_propertyEditor; QDataWidgetMapper *m_dataNameMapper; QLineEdit *m_dataNameEdit; QComboBox *m_instrumentCombo;