Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkDataNodeHideAllAction.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
14 
15 // mitk core
16 #include <mitkRenderingManager.h>
17 
18 namespace HideAllAction
19 {
20  void Run(const QList<mitk::DataNode::Pointer>& selectedNodes, mitk::BaseRenderer* baseRenderer /*= nullptr*/)
21  {
22  if (selectedNodes.empty())
23  {
24  return;
25  }
26 
27  for (auto& node : selectedNodes)
28  {
29  if (node.IsNotNull())
30  {
31  node->SetVisibility(false, baseRenderer);
32  }
33  }
34 
35  if (nullptr == baseRenderer)
36  {
38  }
39  else
40  {
42  }
43  }
44 }
45 
47  : QAction(parent)
48  , QmitkAbstractDataNodeAction(workbenchpartSite)
49 {
50  setText(tr("Hide all nodes"));
52 }
53 
55  : QAction(parent)
56  , QmitkAbstractDataNodeAction(berry::IWorkbenchPartSite::Pointer(workbenchpartSite))
57 {
58  setText(tr("Hide all nodes"));
60 }
61 
63 {
64  connect(this, &QmitkDataNodeHideAllAction::triggered, this, &QmitkDataNodeHideAllAction::OnActionTriggered);
65 }
66 
67 void QmitkDataNodeHideAllAction::OnActionTriggered(bool /*checked*/)
68 {
70 
71  auto selectedNodes = GetSelectedNodes();
72  HideAllAction::Run(selectedNodes, baseRenderer);
73 }
mitk::BaseRenderer::Pointer GetBaseRenderer()
Grants access to the base renderer stored for the action. Will return nullptr if renderer was never s...
void Run(const QList< mitk::DataNode::Pointer > &selectedNodes, mitk::BaseRenderer *baseRenderer)
QList< mitk::DataNode::Pointer > GetSelectedNodes() const
Organizes the rendering process.
QmitkDataNodeHideAllAction(QWidget *parent, berry::IWorkbenchPartSite::Pointer workbenchPartSite)
static RenderingManager * GetInstance()
void RequestUpdate(vtkRenderWindow *renderWindow)
vtkRenderWindow * GetRenderWindow() const
Access the RenderWindow into which this renderer renders.
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)