#2170 Summary Cross Plot : Show/hide toolbar based on active view

This commit is contained in:
Magne Sjaastad 2017-12-01 13:55:36 +01:00
parent 68bcd5253b
commit a5b361f8c9
4 changed files with 47 additions and 16 deletions

View File

@ -121,7 +121,7 @@ void RiuMainPlotWindow::cleanupGuiBeforeProjectClose()
cleanUpTemporaryWidgets(); cleanUpTemporaryWidgets();
m_summaryPlotToolBar->clear(); m_summaryPlotToolBarEditor->clear();
setWindowTitle("Plots - ResInsight"); setWindowTitle("Plots - ResInsight");
} }
@ -307,7 +307,8 @@ void RiuMainPlotWindow::createToolBars()
} }
} }
m_summaryPlotToolBar = new caf::PdmUiToolBarEditor("Summary Plot", this); m_summaryPlotToolBarEditor = new caf::PdmUiToolBarEditor("Summary Plot", this);
m_summaryPlotToolBarEditor->hide();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -525,6 +526,24 @@ void RiuMainPlotWindow::slotSubWindowActivated(QMdiSubWindow* subWindow)
m_activePlotViewWindow = viewWindow; m_activePlotViewWindow = viewWindow;
} }
RimSummaryPlot* summaryPlot = dynamic_cast<RimSummaryPlot*>(viewWindow);
if (summaryPlot)
{
std::vector<caf::PdmFieldHandle*> toolBarFields;
toolBarFields = summaryPlot->summaryCurveCollection()->fieldsToShowInToolbar();
m_summaryPlotToolBarEditor->setFields(toolBarFields);
m_summaryPlotToolBarEditor->updateUi();
m_summaryPlotToolBarEditor->show();
}
else
{
m_summaryPlotToolBarEditor->clear();
m_summaryPlotToolBarEditor->hide();
}
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -598,19 +617,6 @@ void RiuMainPlotWindow::selectedObjectsChanged()
} }
m_pdmUiPropertyView->showProperties(firstSelectedObject); m_pdmUiPropertyView->showProperties(firstSelectedObject);
std::vector<caf::PdmFieldHandle*> toolBarFields;
if (firstSelectedObject)
{
RimSummaryPlot* summaryPlot = nullptr;
firstSelectedObject->firstAncestorOrThisOfType(summaryPlot);
if (summaryPlot)
{
toolBarFields = summaryPlot->summaryCurveCollection()->fieldsToShowInToolbar();
}
}
m_summaryPlotToolBar->setFields(toolBarFields);
m_summaryPlotToolBar->updateUi();
if (uiItems.size() == 1) if (uiItems.size() == 1)
{ {
// Find the reservoir view or the Plot that the selected item is within // Find the reservoir view or the Plot that the selected item is within

View File

@ -119,7 +119,7 @@ private:
QMenu* m_windowMenu; QMenu* m_windowMenu;
caf::PdmUiTreeView* m_projectTreeView; caf::PdmUiTreeView* m_projectTreeView;
caf::PdmUiToolBarEditor* m_summaryPlotToolBar; caf::PdmUiToolBarEditor* m_summaryPlotToolBarEditor;
std::unique_ptr<caf::PdmUiDragDropInterface> m_dragDropInterface; std::unique_ptr<caf::PdmUiDragDropInterface> m_dragDropInterface;
caf::PdmUiPropertyView* m_pdmUiPropertyView; caf::PdmUiPropertyView* m_pdmUiPropertyView;

View File

@ -185,4 +185,26 @@ void PdmUiToolBarEditor::clear()
m_actions.clear(); m_actions.clear();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiToolBarEditor::show()
{
if (m_toolbar)
{
m_toolbar->show();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void PdmUiToolBarEditor::hide()
{
if (m_toolbar)
{
m_toolbar->hide();
}
}
} // end namespace caf } // end namespace caf

View File

@ -63,6 +63,9 @@ public:
void setFields(std::vector<caf::PdmFieldHandle*>& fields); void setFields(std::vector<caf::PdmFieldHandle*>& fields);
void clear(); void clear();
void show();
void hide();
private: private:
virtual void configureAndUpdateUi(const QString& uiConfigName) override; virtual void configureAndUpdateUi(const QString& uiConfigName) override;