Slicer  4.8
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
vtkMRMLAnnotationAngleDisplayableManager.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: vtkMRMLAnnotationAngleDisplayableManager.h,v $
11  Date: $Date: 2010/07/26 04:48:05 $
12  Version: $Revision: 1.5 $
13 
14  =========================================================================auto=*/
15 
16 #ifndef __vtkMRMLAnnotationAngleDisplayableManager_h
17 #define __vtkMRMLAnnotationAngleDisplayableManager_h
18 
19 // Annotations includes
21 #include "vtkSlicerAnnotationsModuleMRMLDisplayableManagerExport.h"
22 
24 class vtkSlicerViewerWidget;
28 class vtkAngleWidget;
29 
30 class VTK_SLICER_ANNOTATIONS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT
33 {
34 public:
35 
38  void PrintSelf(ostream& os, vtkIndent indent);
39 
40  // the following functions must be public to be accessible by the callback
42  virtual void PropagateMRMLToWidget(vtkMRMLAnnotationNode* node, vtkAbstractWidget * widget);
44  virtual void PropagateWidgetToMRML(vtkAbstractWidget * widget, vtkMRMLAnnotationNode* node);
45 
46  // update just the position, called from PropagateMRMLToWidget and in
47  // response to slice node modified events
48  virtual void UpdatePosition(vtkAbstractWidget *widget, vtkMRMLNode *node);
49 
50 protected:
51 
52  vtkMRMLAnnotationAngleDisplayableManager(){this->m_Focus="vtkMRMLAnnotationAngleNode";}
54 
56  virtual void OnClickInRenderWindow(double x, double y, const char *associatedNodeID);
58  virtual vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode* node);
59 
61  virtual void OnWidgetCreated(vtkAbstractWidget * widget, vtkMRMLAnnotationNode * node);
62 
63 private:
64 
66  void operator=(const vtkMRMLAnnotationAngleDisplayableManager&);
67 
68 };
69 
70 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
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:135
virtual void OnClickInRenderWindow(double x, double y, const char *associatedNodeID=NULL)
Callback for click in RenderWindow.
virtual void UpdatePosition(vtkAbstractWidget *vtkNotUsed(widget), vtkMRMLNode *vtkNotUsed(node))
Update just the position for the widget, implemented by subclasses.
static vtkMRMLAnnotationDisplayableManager * New()