Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLAnnotationBidimensionalDisplayableManager.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8  Program: 3D Slicer
9 
10  Module: $RCSfile: vtkMRMLAnnotationBidimensionalDisplayableManager.h,v $
11  Date: $Date: 2010/07/26 04:48:05 $
12  Version: $Revision: 1.5 $
13 
14  =========================================================================auto=*/
15 
16 #ifndef __vtkMRMLAnnotationBidimensionalDisplayableManager_h
17 #define __vtkMRMLAnnotationBidimensionalDisplayableManager_h
18 
19 // Annotation includes
21 #include "vtkSlicerAnnotationsModuleMRMLDisplayableManagerExport.h"
22 
24 class vtkSlicerViewerWidget;
25 class vtkMRMLAnnotationBidimensionalDisplayNode;
28 class vtkTextWidget;
29 
31 class VTK_SLICER_ANNOTATIONS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT
34 {
35 public:
36 
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
41  // the following functions must be public to be accessible by the callback
43  void PropagateMRMLToWidget(vtkMRMLAnnotationNode* node, vtkAbstractWidget * widget) override;
45  void PropagateWidgetToMRML(vtkAbstractWidget * widget, vtkMRMLAnnotationNode* node) override;
46  // update just the position, called from PropagateMRMLToWidget and in
47  // response to slice node modified events
48  void UpdatePosition(vtkAbstractWidget *widget, vtkMRMLNode *node) override;
49 
50 protected:
51 
52  vtkMRMLAnnotationBidimensionalDisplayableManager(){this->m_Focus="vtkMRMLAnnotationBidimensionalNode";}
54 
56  void OnClickInRenderWindow(double x, double y, const char *associatedNodeID) override;
58  vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode* node) override;
59 
61  void OnWidgetCreated(vtkAbstractWidget * widget, vtkMRMLAnnotationNode * node) override;
62 
63 private:
64 
66  void operator=(const vtkMRMLAnnotationBidimensionalDisplayableManager&) = delete;
67 
68 };
69 
70 #endif
virtual void OnClickInRenderWindow(double x, double y, const char *associatedNodeID=nullptr)
Callback for click in RenderWindow.
virtual void OnWidgetCreated(vtkAbstractWidget *widget, vtkMRMLAnnotationNode *node)
Gets called when widget was created.
virtual void PropagateWidgetToMRML(vtkAbstractWidget *widget, vtkMRMLAnnotationNode *node)
Propagate properties of widget to MRML node.
virtual vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode *node)
Create a widget.
virtual void PropagateMRMLToWidget(vtkMRMLAnnotationNode *node, vtkAbstractWidget *widget)
Propagate properties of MRML node to widget.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void UpdatePosition(vtkAbstractWidget *vtkNotUsed(widget), vtkMRMLNode *vtkNotUsed(node))
Update just the position for the widget, implemented by subclasses.
static vtkMRMLAnnotationDisplayableManager * New()