Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLColorLegendDisplayableManager.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Copyright (c) Kitware Inc.
6 
7  See COPYRIGHT.txt
8  or http://www.slicer.org/copyright/copyright.txt for details.
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16 ==============================================================================*/
17 
18 #ifndef __vtkMRMLColorLegendDisplayableManager_h
19 #define __vtkMRMLColorLegendDisplayableManager_h
20 
21 // MRMLDisplayableManager includes
23 #include "vtkSlicerColorsModuleMRMLDisplayableManagerExport.h"
24 
26 class vtkScalarBarWidget;
28 class vtkMRMLScene;
29 
33 class VTK_SLICER_COLORS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLColorLegendDisplayableManager :
35 {
36 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
44  vtkSlicerScalarBarActor* GetColorLegendActor(vtkMRMLColorLegendDisplayNode* dispNode) const;
45 
46 protected:
49 
52  void Create() override;
53 
56  void UpdateFromMRML() override;
57 
58  void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
59  void UpdateFromMRMLScene() override;
60  void UnobserveMRMLScene() override;
61  void OnMRMLSceneNodeAdded(vtkMRMLNode* node) override;
62  void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) override;
63  void ProcessMRMLNodesEvents(vtkObject *caller,
64  unsigned long event,
65  void *callData) override;
66 
68  void OnMRMLDisplayableNodeModifiedEvent(vtkObject* caller) override;
69 
71  void AdditionalInitializeStep() override;
72 
73 private:
75  void operator=(const vtkMRMLColorLegendDisplayableManager&) = delete;
76 
77  class vtkInternal;
78  vtkInternal* Internal;
79 };
80 
81 #endif
Superclass for displayable manager classes.
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkMRMLAbstractDisplayableManager * New()
virtual void OnMRMLDisplayableNodeModifiedEvent(vtkObject *caller)
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
virtual void OnMRMLSceneNodeAdded(vtkMRMLNode *)
virtual void UnobserveMRMLScene()
virtual void OnMRMLSceneNodeRemoved(vtkMRMLNode *)
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
virtual void UpdateFromMRMLScene()
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
Class describing how to display a color legend.