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
1.6.1