#1107 Moved showWindow field to RimViewWindow and removed showWindow field from derived classes

This commit is contained in:
Magne Sjaastad
2017-01-20 16:25:05 +01:00
parent 94f94af325
commit cebe5428be
15 changed files with 74 additions and 205 deletions

View File

@@ -32,6 +32,9 @@ RimViewWindow::RimViewWindow(void)
m_windowController.uiCapability()->setUiHidden(true);
m_windowController.uiCapability()->setUiTreeChildrenHidden(true);
CAF_PDM_InitField(&m_showWindow, "ShowWindow", true, "Show Window", "", "", "");
m_showWindow.uiCapability()->setUiHidden(true);
// Obsolete field
CAF_PDM_InitFieldNoDefault(&obsoleteField_windowGeometry, "WindowGeometry", "", "", "", "");
obsoleteField_windowGeometry.uiCapability()->setUiHidden(true);
@@ -67,7 +70,24 @@ void RimViewWindow::handleMdiWindowClosed()
//--------------------------------------------------------------------------------------------------
void RimViewWindow::updateMdiWindowVisibility()
{
if ( m_windowController() ) m_windowController->updateViewerWidget();
if (m_windowController())
{
m_windowController->updateViewerWidget();
}
else
{
if (viewWidget())
{
if (m_showWindow)
{
viewWidget()->show();
}
else
{
viewWidget()->hide();
}
}
}
}
//--------------------------------------------------------------------------------------------------
@@ -93,17 +113,30 @@ RimMdiWindowGeometry RimViewWindow::mdiWindowGeometry()
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimViewWindow::objectToggleField()
{
return &m_showWindow;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewWindow::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
{
if ( m_windowController() )
if ( changedField == &m_showWindow )
{
if ( changedField == getShowWindowField() )
if (m_showWindow)
{
m_windowController()->showWindowFieldChangedByUi();
loadDataAndUpdate();
}
else
{
updateMdiWindowVisibility();
}
uiCapability()->updateUiIconFromToggleField();
}
}