00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRectilinearWipeWidget.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00082 #ifndef __vtkRectilinearWipeWidget_h 00083 #define __vtkRectilinearWipeWidget_h 00084 00085 #include "vtkAbstractWidget.h" 00086 00087 class vtkRectilinearWipeRepresentation; 00088 00089 00090 class VTK_WIDGETS_EXPORT vtkRectilinearWipeWidget : public vtkAbstractWidget 00091 { 00092 public: 00094 static vtkRectilinearWipeWidget *New(); 00095 00097 00098 vtkTypeMacro(vtkRectilinearWipeWidget,vtkAbstractWidget); 00099 void PrintSelf(ostream& os, vtkIndent indent); 00101 00103 00106 void SetRepresentation(vtkRectilinearWipeRepresentation *r) 00107 {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));} 00109 00111 00112 vtkRectilinearWipeRepresentation *GetRectilinearWipeRepresentation() 00113 {return reinterpret_cast<vtkRectilinearWipeRepresentation*>(this->WidgetRep);} 00115 00117 virtual void CreateDefaultRepresentation(); 00118 00119 protected: 00120 vtkRectilinearWipeWidget(); 00121 ~vtkRectilinearWipeWidget(); 00122 00123 // These methods handle events 00124 static void SelectAction(vtkAbstractWidget*); 00125 static void MoveAction(vtkAbstractWidget*); 00126 static void EndSelectAction(vtkAbstractWidget*); 00127 00128 // helper methods for cursor management 00129 void SetCursor(int state); 00130 00131 //BTX - manage the state of the widget 00132 int WidgetState; 00133 enum _WidgetState 00134 { 00135 Start=0, 00136 Selected 00137 }; 00138 //ETX 00139 00140 private: 00141 vtkRectilinearWipeWidget(const vtkRectilinearWipeWidget&); //Not implemented 00142 void operator=(const vtkRectilinearWipeWidget&); //Not implemented 00143 }; 00144 00145 #endif