Skip to content
Snippets Groups Projects
Commit 43616bd2 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

RealDataPropertiesWidget beautified

parent 1b2e988a
No related branches found
No related tags found
No related merge requests found
......@@ -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;
}
......
......@@ -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)));
}
}
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment