vtkSlicerAllFiberBundlesDisplayWidget.h

Go to the documentation of this file.
00001 /*=auto=========================================================================
00002 
00003   Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
00004 
00005   See Doc/copyright/copyright.txt
00006   or http://www.slicer.org/copyright/copyright.txt for details.
00007 
00008   Program:   3D Slicer
00009   Module:    $RCSfile: vtkSlicerNodeSelectorWidget.h,v $
00010   Date:      $Date: 2006/01/08 04:48:05 $
00011   Version:   $Revision: 1.45 $
00012 
00013 =========================================================================auto=*/
00014 
00015 // .NAME vtkSlicerAllFiberBundlesDisplayWidget - GUI for setting parameters of  
00016 // all vtkMRMLFiberBundleDisplayNodes.  This is the row of shortcut buttons
00017 // that affect all fiber bundles at once (all visible, all tubes, all FA, etc.)
00018 // .SECTION Description
00019 //
00020 
00021 
00022 #ifndef __vtkSlicerAllFiberBundlesDisplayWidget_h
00023 #define __vtkSlicerAllFiberBundlesDisplayWidget_h
00024 
00025 #include "vtkSlicerTractographyDisplay.h"
00026 
00027 #include "vtkSlicerWidget.h"
00028 
00029 #include "vtkKWSurfaceMaterialPropertyWidget.h"
00030 #include "vtkKWCheckButtonWithLabel.h"
00031 #include "vtkKWRadioButtonSet.h"
00032 #include "vtkKWRadioButton.h"
00033 #include "vtkKWMenuButton.h"
00034 
00035 #include "vtkMRMLFiberBundleNode.h"
00036 #include "vtkMRMLFiberBundleDisplayNode.h"
00037 #include "vtkSlicerDiffusionTensorIcons.h"
00038 
00039 
00040 class VTK_SLICERTRACTOGRAPHYDISPLAY_EXPORT vtkSlicerAllFiberBundlesDisplayWidget : public vtkSlicerWidget
00041 {
00042   
00043 public:
00044   static vtkSlicerAllFiberBundlesDisplayWidget* New();
00045   vtkTypeRevisionMacro(vtkSlicerAllFiberBundlesDisplayWidget,vtkSlicerWidget);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00048   // Description:
00049   // alternative method to propagate events generated in GUI to logic / mrml
00050   virtual void ProcessWidgetEvents ( vtkObject *caller, unsigned long event, void *callData );
00051 
00052   // List of most common types of coloring to enable in shortcut buttons
00053   //BTX
00054   enum
00055   {
00056     ColorModeSolid = 0,
00057     ColorModeFA = 1,
00058     ColorModeCL = 2,
00059     ColorModeTrace = 3
00060   };
00061   //ETX
00062  
00063  protected:
00064   vtkSlicerAllFiberBundlesDisplayWidget();
00065   virtual ~vtkSlicerAllFiberBundlesDisplayWidget();
00066 
00067   // Description:
00068   // removes observers on widgets in the class
00069   virtual void RemoveWidgetObservers ( );
00070 
00071   // Description:
00072   // adds observers on widgets in the class
00073   virtual void AddWidgetObservers ( );
00074 
00075   // Description:
00076   // Create the widget.
00077   virtual void CreateWidget();
00078 
00079   // Description:
00080   // Update the widget's values to correspond to the MRML display node.
00081   void UpdateWidget();
00082 
00083   // Description:
00084   // Update the display node's values to correspond to the widget
00085   void UpdateMRML();
00086   
00087   // Description:
00088   // All of the widgets used in this widget
00089   vtkKWCheckButtonWithLabel *LineVisibilityButton;
00090   vtkKWCheckButtonWithLabel *TubeVisibilityButton;
00091   vtkKWCheckButtonWithLabel *GlyphVisibilityButton;
00092 
00093   vtkKWSurfaceMaterialPropertyWidget *SurfaceMaterialPropertyWidget;
00094 
00095   vtkKWPushButton *ToggleLineVisibilityButton;
00096   vtkKWPushButton *ToggleTubeVisibilityButton;
00097   vtkKWPushButton *ToggleGlyphVisibilityButton;
00098 
00099   vtkKWMenuButton *VisibilityButton;
00100 
00101   vtkKWRadioButtonSet *ColorModeRadioButtons;
00102 
00103    // Description:
00104   // Contains icons
00105   vtkSlicerDiffusionTensorIcons *DiffusionTensorIcons;
00106   
00107 private:
00108 
00109   int ColorMode;
00110 
00111   vtkSlicerAllFiberBundlesDisplayWidget(const vtkSlicerAllFiberBundlesDisplayWidget&); // Not implemented
00112   void operator=(const vtkSlicerAllFiberBundlesDisplayWidget&); // Not Implemented
00113 };
00114 
00115 #endif
00116 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1