Public Member Functions | Static Public Attributes | Protected Member Functions

QmitkStdMultiWidgetEditor Class Reference

#include <QmitkStdMultiWidgetEditor.h>

Inheritance diagram for QmitkStdMultiWidgetEditor:
Inheritance graph
[legend]
Collaboration diagram for QmitkStdMultiWidgetEditor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 berryObjectMacro (QmitkStdMultiWidgetEditor)
 QmitkStdMultiWidgetEditor ()
 ~QmitkStdMultiWidgetEditor ()
QmitkStdMultiWidgetGetStdMultiWidget ()
void Init (berry::IEditorSite::Pointer site, berry::IEditorInput::Pointer input)
void SetFocus ()
void DoSave ()
void DoSaveAs ()
bool IsDirty () const
bool IsSaveAsAllowed () const

Static Public Attributes

static const std::string EDITOR_ID = "org.mitk.editors.stdmultiwidget"

Protected Member Functions

void CreateQtPartControl (QWidget *parent)
Events::Types GetPartEventTypes () const
virtual void PartClosed (berry::IWorkbenchPartReference::Pointer partRef)
virtual void PartHidden (berry::IWorkbenchPartReference::Pointer partRef)
virtual void PartVisible (berry::IWorkbenchPartReference::Pointer partRef)

Detailed Description

Definition at line 29 of file QmitkStdMultiWidgetEditor.h.


Constructor & Destructor Documentation

QmitkStdMultiWidgetEditor::QmitkStdMultiWidgetEditor (  )

Definition at line 32 of file QmitkStdMultiWidgetEditor.cpp.

 : m_StdMultiWidget(0)
{

}
QmitkStdMultiWidgetEditor::~QmitkStdMultiWidgetEditor (  )

Definition at line 38 of file QmitkStdMultiWidgetEditor.cpp.

References berry::WorkbenchPart::GetSite(), berry::Object::Register(), and berry::Object::UnRegister().

{
  // we need to wrap the RemovePartListener call inside a
  // register/unregister block to prevent infinite recursion
  // due to the destruction of temporary smartpointer to this
  this->Register();
  this->GetSite()->GetPage()->RemovePartListener(berry::IPartListener::Pointer(this));
  this->UnRegister(false);
}

Member Function Documentation

QmitkStdMultiWidgetEditor::berryObjectMacro ( QmitkStdMultiWidgetEditor   )
void QmitkStdMultiWidgetEditor::CreateQtPartControl ( QWidget *  parent ) [protected, virtual]

Implements berry::QtEditorPart.

Definition at line 62 of file QmitkStdMultiWidgetEditor.cpp.

References QmitkStdMultiWidget::AddDisplayPlaneSubTree(), QmitkStdMultiWidget::DisableDepartmentLogo(), QmitkStdMultiWidget::EnableDepartmentLogo(), QmitkStdMultiWidget::EnableNavigationControllerEventListening(), QmitkStdMultiWidget::EnableStandardLevelWindow(), berry::EditorPart::GetEditorInput(), mitk::GlobalInteraction::GetInstance(), mitk::RenderingManager::GetInstance(), QmitkStdMultiWidget::GetMoveAndZoomInteractor(), mitk::RenderWindowBase::GetRenderer(), QmitkStdMultiWidget::GetRenderWindow4(), berry::Platform::GetServiceRegistry(), berry::WorkbenchPart::GetSite(), ID, QmitkStdMultiWidget::SetDataStorage(), QmitkStdMultiWidget::SetDepartmentLogoPath(), mitk::VtkPropRenderer::SetMapperID(), and mitk::BaseRenderer::Standard3D.

{
  if (m_StdMultiWidget == 0)
  {
    m_DndFrameWidget = new QmitkDnDFrameWidget(parent);
    QVBoxLayout* layout = new QVBoxLayout(parent);
    layout->addWidget(m_DndFrameWidget);
    layout->setContentsMargins(0,0,0,0); 

    m_StdMultiWidget = new QmitkStdMultiWidget(m_DndFrameWidget);
    QVBoxLayout* layout2 = new QVBoxLayout(m_DndFrameWidget);
    layout2->addWidget(m_StdMultiWidget);
    layout2->setContentsMargins(0,0,0,0); 

    mitk::DataStorage::Pointer ds = this->GetEditorInput().Cast<mitk::DataStorageEditorInput>()
      ->GetDataStorageReference()->GetDataStorage();

    // Tell the multiWidget which (part of) the tree to render
    m_StdMultiWidget->SetDataStorage(ds);

    // Initialize views as transversal, sagittal, coronar to all data objects in DataStorage
    // (from top-left to bottom)
    mitk::TimeSlicedGeometry::Pointer geo = ds->ComputeBoundingGeometry3D(ds->GetAll());
    mitk::RenderingManager::GetInstance()->InitializeViews(geo);

    // Initialize bottom-right view as 3D view
    m_StdMultiWidget->GetRenderWindow4()->GetRenderer()->SetMapperID(
      mitk::BaseRenderer::Standard3D );

    // Enable standard handler for levelwindow-slider
    m_StdMultiWidget->EnableStandardLevelWindow();

    // Add the displayed views to the tree to see their positions
    // in 2D and 3D
    m_StdMultiWidget->AddDisplayPlaneSubTree();

    m_StdMultiWidget->EnableNavigationControllerEventListening();

    mitk::GlobalInteraction::GetInstance()->AddListener(
        m_StdMultiWidget->GetMoveAndZoomInteractor()
      );
    this->GetSite()->GetPage()->AddPartListener(berry::IPartListener::Pointer(this));

    // enable change of logo
    berry::IPreferencesService::Pointer prefService
      = berry::Platform::GetServiceRegistry()
      .GetServiceById<berry::IPreferencesService>(berry::IPreferencesService::ID);

    berry::IPreferences::Pointer logoPref = prefService->GetSystemPreferences()->Node("DepartmentLogo");
    std::string departmentLogoLocation = logoPref->Get("DepartmentLogo","");

    m_StdMultiWidget->SetDepartmentLogoPath(departmentLogoLocation.c_str());
    m_StdMultiWidget->DisableDepartmentLogo();
    m_StdMultiWidget->EnableDepartmentLogo();
  }
}
void QmitkStdMultiWidgetEditor::DoSave (  ) [inline, virtual]

Implements berry::EditorPart.

Definition at line 45 of file QmitkStdMultiWidgetEditor.h.

{}
void QmitkStdMultiWidgetEditor::DoSaveAs (  ) [inline, virtual]

Implements berry::EditorPart.

Definition at line 46 of file QmitkStdMultiWidgetEditor.h.

{}
berry::IPartListener::Events::Types QmitkStdMultiWidgetEditor::GetPartEventTypes (  ) const [protected, virtual]
QmitkStdMultiWidget * QmitkStdMultiWidgetEditor::GetStdMultiWidget (  )

Definition at line 48 of file QmitkStdMultiWidgetEditor.cpp.

{
  return m_StdMultiWidget;
}
void QmitkStdMultiWidgetEditor::Init ( berry::IEditorSite::Pointer  site,
berry::IEditorInput::Pointer  input 
) [virtual]

Implements berry::EditorPart.

Definition at line 53 of file QmitkStdMultiWidgetEditor.cpp.

References berry::SmartPointer< TObjectType >::Cast(), berry::EditorPart::SetInput(), and berry::WorkbenchPart::SetSite().

{
  if (input.Cast<mitk::DataStorageEditorInput>().IsNull())
     throw berry::PartInitException("Invalid Input: Must be IFileEditorInput");

  this->SetSite(site);
  this->SetInput(input);
}
bool QmitkStdMultiWidgetEditor::IsDirty (  ) const [inline, virtual]

Implements berry::EditorPart.

Definition at line 47 of file QmitkStdMultiWidgetEditor.h.

{ return false; }
bool QmitkStdMultiWidgetEditor::IsSaveAsAllowed (  ) const [inline, virtual]

Implements berry::EditorPart.

Definition at line 48 of file QmitkStdMultiWidgetEditor.h.

{ return false; }
void QmitkStdMultiWidgetEditor::PartClosed ( berry::IWorkbenchPartReference::Pointer  partRef ) [protected, virtual]

Reimplemented from berry::IPartListener.

Definition at line 124 of file QmitkStdMultiWidgetEditor.cpp.

References berry::SmartPointer< TObjectType >::Cast(), EDITOR_ID, and QmitkStdMultiWidget::RemovePlanesFromDataStorage().

{
  if (partRef->GetId() == QmitkStdMultiWidgetEditor::EDITOR_ID)
  {
    QmitkStdMultiWidgetEditor::Pointer stdMultiWidgetEditor = partRef->GetPart(false).Cast<QmitkStdMultiWidgetEditor>();

    if (m_StdMultiWidget == stdMultiWidgetEditor->GetStdMultiWidget())
    {
      m_StdMultiWidget->RemovePlanesFromDataStorage();
    }
  }
}
void QmitkStdMultiWidgetEditor::PartHidden ( berry::IWorkbenchPartReference::Pointer  partRef ) [protected, virtual]

Reimplemented from berry::IPartListener.

Definition at line 150 of file QmitkStdMultiWidgetEditor.cpp.

References berry::SmartPointer< TObjectType >::Cast(), EDITOR_ID, and QmitkStdMultiWidget::RemovePlanesFromDataStorage().

{
  if (partRef->GetId() == QmitkStdMultiWidgetEditor::EDITOR_ID)
  {
    QmitkStdMultiWidgetEditor::Pointer stdMultiWidgetEditor = partRef->GetPart(false).Cast<QmitkStdMultiWidgetEditor>();

    if (m_StdMultiWidget == stdMultiWidgetEditor->GetStdMultiWidget())
    {
      m_StdMultiWidget->RemovePlanesFromDataStorage();
    }
  }
}
void QmitkStdMultiWidgetEditor::PartVisible ( berry::IWorkbenchPartReference::Pointer  partRef ) [protected, virtual]

Reimplemented from berry::IPartListener.

Definition at line 137 of file QmitkStdMultiWidgetEditor.cpp.

References QmitkStdMultiWidget::AddPlanesToDataStorage(), berry::SmartPointer< TObjectType >::Cast(), and EDITOR_ID.

{
  if (partRef->GetId() == QmitkStdMultiWidgetEditor::EDITOR_ID)
  {
    QmitkStdMultiWidgetEditor::Pointer stdMultiWidgetEditor = partRef->GetPart(false).Cast<QmitkStdMultiWidgetEditor>();

    if (m_StdMultiWidget == stdMultiWidgetEditor->GetStdMultiWidget())
    {
      m_StdMultiWidget->AddPlanesToDataStorage();
    }
  }
}
void QmitkStdMultiWidgetEditor::SetFocus (  ) [virtual]

Implements berry::WorkbenchPart.

Definition at line 163 of file QmitkStdMultiWidgetEditor.cpp.

{
  if (m_StdMultiWidget != 0)
    m_StdMultiWidget->setFocus();
}

Member Data Documentation

const std::string QmitkStdMultiWidgetEditor::EDITOR_ID = "org.mitk.editors.stdmultiwidget" [static]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines