Skip to content

Commit

Permalink
10420 - disable Menu Widget when QmitkStdMultiWidgetEditor not visible
Browse files Browse the repository at this point in the history
  • Loading branch information
MattClarkson committed May 30, 2012
1 parent 068aa88 commit a3a71f2
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 13 deletions.
Expand Up @@ -47,7 +47,6 @@ class QmitkStdMultiWidgetEditorPrivate
std::string m_FirstBackgroundColor;
std::string m_SecondBackgroundColor;
bool m_MenuWidgetsEnabled;
bool m_MenuWidgetsEnabledFlagStored;
berry::IPartListener::Pointer m_PartListener;

QHash<QString, QmitkRenderWindow*> m_RenderWindows;
Expand Down Expand Up @@ -76,9 +75,7 @@ struct QmitkStdMultiWidgetPartListener : public berry::IPartListener
if (d->m_StdMultiWidget == stdMultiWidgetEditor->GetStdMultiWidget())
{
d->m_StdMultiWidget->RemovePlanesFromDataStorage();

d->m_MenuWidgetsEnabled = d->m_StdMultiWidget->IsMenuWidgetEnabled();
d->m_MenuWidgetsEnabledFlagStored = true;
stdMultiWidgetEditor->RequestActivateMenuWidget(false);
}
}
}
Expand All @@ -92,9 +89,7 @@ struct QmitkStdMultiWidgetPartListener : public berry::IPartListener
if (d->m_StdMultiWidget == stdMultiWidgetEditor->GetStdMultiWidget())
{
d->m_StdMultiWidget->RemovePlanesFromDataStorage();

d->m_MenuWidgetsEnabled = d->m_StdMultiWidget->IsMenuWidgetEnabled();
d->m_MenuWidgetsEnabledFlagStored = true;
stdMultiWidgetEditor->RequestActivateMenuWidget(false);
}
}
}
Expand All @@ -108,11 +103,7 @@ struct QmitkStdMultiWidgetPartListener : public berry::IPartListener
if (d->m_StdMultiWidget == stdMultiWidgetEditor->GetStdMultiWidget())
{
d->m_StdMultiWidget->AddPlanesToDataStorage();

if (d->m_MenuWidgetsEnabledFlagStored)
{
d->m_StdMultiWidget->ActivateMenuWidget(d->m_MenuWidgetsEnabled);
}
stdMultiWidgetEditor->RequestActivateMenuWidget(true);
}
}
}
Expand All @@ -126,7 +117,6 @@ struct QmitkStdMultiWidgetPartListener : public berry::IPartListener
QmitkStdMultiWidgetEditorPrivate::QmitkStdMultiWidgetEditorPrivate()
: m_StdMultiWidget(0), m_MouseModeToolbar(0)
, m_MenuWidgetsEnabled(false)
, m_MenuWidgetsEnabledFlagStored(false)
, m_PartListener(new QmitkStdMultiWidgetPartListener(this))
{}

Expand Down Expand Up @@ -319,6 +309,9 @@ void QmitkStdMultiWidgetEditor::CreateQtPartControl(QWidget* parent)

d->m_StdMultiWidget->EnableNavigationControllerEventListening();

// Store the initial visibility status of the menu widget.
d->m_MenuWidgetsEnabled = d->m_StdMultiWidget->IsMenuWidgetEnabled();

this->GetSite()->GetPage()->AddPartListener(d->m_PartListener);

berry::IPreferences::Pointer prefs = this->GetPreferences();
Expand Down Expand Up @@ -420,3 +413,31 @@ void QmitkStdMultiWidgetEditor::SetFocus()
if (d->m_StdMultiWidget != 0)
d->m_StdMultiWidget->setFocus();
}

void QmitkStdMultiWidgetEditor::RequestActivateMenuWidget(bool on)
{
if (d->m_StdMultiWidget)
{
if (on)
{
d->m_StdMultiWidget->ActivateMenuWidget(d->m_MenuWidgetsEnabled);
}
else
{
d->m_MenuWidgetsEnabled = d->m_StdMultiWidget->IsMenuWidgetEnabled();
d->m_StdMultiWidget->ActivateMenuWidget(false);
}
}
}

bool QmitkStdMultiWidgetEditor::IsMenuWidgetEnabled()
{
bool enabled = false;

if (d->m_StdMultiWidget)
{
enabled = d->m_StdMultiWidget->IsMenuWidgetEnabled();
}

return enabled;
}
Expand Up @@ -46,6 +46,11 @@ class ORG_MITK_GUI_QT_STDMULTIWIDGETEDITOR QmitkStdMultiWidgetEditor

QmitkStdMultiWidget* GetStdMultiWidget();

/// \brief If on=true will request the QmitkStdMultiWidget set the Menu widget to
/// whatever was the last known enabled state, and if on=false will turn the Menu widget off.
void RequestActivateMenuWidget(bool on);
bool IsMenuWidgetEnabled();

// ------------------- mitk::IRenderWindowPart ----------------------

/**
Expand Down

0 comments on commit a3a71f2

Please sign in to comment.