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

ItemStackPresenter::setItem signature changed.

parent e31ae52b
No related branches found
No related tags found
No related merge requests found
......@@ -32,7 +32,7 @@ template <class T> class BA_CORE_API_ ItemStackPresenter : public ItemStackWidge
public:
ItemStackPresenter(bool single_widget = false) : m_single_widget(single_widget){}
virtual void setItem(SessionItem* item, bool& isNew);
virtual void setItem(SessionItem* item, bool* isNew = 0);
T* currentWidget();
T* itemWidget(SessionItem* item);
......@@ -48,11 +48,13 @@ private:
};
template <class T>
void ItemStackPresenter<T>::setItem(SessionItem* item, bool& isNew)
void ItemStackPresenter<T>::setItem(SessionItem* item, bool* isNew)
{
validateItem(item);
isNew = false;
if(isNew)
*isNew = false;
if (!item) {
hideWidgets();
return;
......@@ -62,7 +64,8 @@ void ItemStackPresenter<T>::setItem(SessionItem* item, bool& isNew)
if (!widget) {
widget = new T();
isNew = true;
if(isNew)
*isNew = true;
m_stackedWidget->addWidget(widget);
m_itemToWidget[item] = widget;
}
......
......@@ -75,8 +75,7 @@ void ItemStackWidget::onRowsAboutToBeRemoved(const QModelIndex& parent, int firs
void ItemStackWidget::onSelectionChanged(SessionItem* item)
{
bool isNew(false);
setItem(item, isNew);
setItem(item);
}
void ItemStackWidget::connectModel()
......
......@@ -41,7 +41,7 @@ public:
//! Shows the widget for given item (and hides previous one).
//! If no widget yet exists, it will be created (flag isNew will become 'true' in this case).
virtual void setItem(SessionItem* item, bool& isNew) = 0;
virtual void setItem(SessionItem* item, bool* isNew = 0) = 0;
QSize sizeHint() const;
QSize minimumSizeHint() const;
......
......@@ -80,7 +80,7 @@ void FitActivityPanel::setItem(JobItem *item)
}
bool isNew(false);
m_stackedWidget->setItem(item, isNew);
m_stackedWidget->setItem(item, &isNew);
if(isNew) {
FitSuiteWidget *widget = m_stackedWidget->currentWidget();
......
......@@ -69,7 +69,7 @@ void ImportDataView::onSelectionChanged(SessionItem *item)
if(!item) return;
bool isNew(false);
m_stackedWidget->setItem(item, isNew);
m_stackedWidget->setItem(item, &isNew);
if(isNew) {
// RealDataEditorWidget *widget = m_stackedWidget->currentWidget();
RealDataMaskWidget *widget = m_stackedWidget->currentWidget();
......
......@@ -28,14 +28,12 @@
#include <QListView>
#include <QStackedWidget>
#include <QToolButton>
#include <QDebug>
InstrumentView::InstrumentView(MainWindow *mainWindow)
: QWidget(mainWindow)
, m_instrumentModel(mainWindow->instrumentModel())
, m_toolBar(new StyledToolBar(this))
, m_instrumentSelector(new InstrumentSelectorWidget(m_instrumentModel, this))
// , m_instrumentEditor(new InstrumentEditorWidget)
, m_instrumentEditor(new ItemStackPresenter<InstrumentEditorWidget>(true))
, m_addInstrumentAction(0)
, m_removeInstrumentAction(0)
......@@ -89,15 +87,10 @@ void InstrumentView::onExtendedDetectorEditorRequest(DetectorItem *detectorItem)
void InstrumentView::onItemSelectionChanged(SessionItem* instrumentItem)
{
qDebug() << "InstrumentView::onItemSelectionChanged";
bool isNew;
m_instrumentEditor->setItem(instrumentItem, isNew);
m_instrumentEditor->setItem(instrumentItem);
qDebug() << "AAAA isNew" << isNew << "instrumentItem" << instrumentItem << "widget" << m_instrumentEditor->currentWidget();
if(instrumentItem) qDebug() << " " << instrumentItem->itemName();
if(InstrumentEditorWidget* widget = m_instrumentEditor->currentWidget())
if(auto widget = m_instrumentEditor->currentWidget())
widget->setInstrumentItem(instrumentItem);
// m_instrumentEditor->setInstrumentItem(instrumentItem);
}
void InstrumentView::showEvent(QShowEvent*)
......
......@@ -59,7 +59,6 @@ private:
class StyledToolBar *m_toolBar;
InstrumentSelectorWidget *m_instrumentSelector;
// InstrumentEditorWidget* m_instrumentEditor;
ItemStackPresenter<InstrumentEditorWidget> *m_instrumentEditor;
QAction *m_addInstrumentAction;
......
......@@ -51,7 +51,7 @@ void JobOutputDataWidget::setItem(JobItem * jobItem)
}
bool isNew(false);
m_stackedWidget->setItem(jobItem, isNew);
m_stackedWidget->setItem(jobItem, &isNew);
if(isNew) {
JobResultsPresenter *widget = m_stackedWidget->currentWidget();
......
......@@ -66,7 +66,7 @@ void JobRealTimeWidget::setItem(JobItem * jobItem)
}
bool isNew(false);
m_stackedWidget->setItem(jobItem, isNew);
m_stackedWidget->setItem(jobItem, &isNew);
if(isNew) {
ParameterTuningWidget *widget = m_stackedWidget->currentWidget();
......
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