Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Hybrid/vtkXYPlotWidget.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00050 #ifndef __vtkXYPlotWidget_h
00051 #define __vtkXYPlotWidget_h
00052
00053 #include "vtkInteractorObserver.h"
00054 class vtkXYPlotActor;
00055
00056 class VTK_HYBRID_EXPORT vtkXYPlotWidget : public vtkInteractorObserver
00057 {
00058 public:
00059 static vtkXYPlotWidget *New();
00060 vtkTypeRevisionMacro(vtkXYPlotWidget,vtkInteractorObserver);
00061 void PrintSelf(ostream& os, vtkIndent indent);
00062
00064
00065 virtual void SetXYPlotActor(vtkXYPlotActor *scalarbar);
00066 vtkGetObjectMacro(XYPlotActor,vtkXYPlotActor);
00068
00070 virtual void SetEnabled(int);
00071
00072 protected:
00073 vtkXYPlotWidget();
00074 ~vtkXYPlotWidget();
00075
00076
00077 vtkXYPlotActor *XYPlotActor;
00078
00079
00080 static void ProcessEvents(vtkObject* object,
00081 unsigned long event,
00082 void* clientdata,
00083 void* calldata);
00084
00085
00086 void OnLeftButtonDown();
00087 void OnLeftButtonUp();
00088 void OnMouseMove();
00089
00090
00091 float StartPosition[2];
00092
00093
00094 int State;
00095 enum WidgetState
00096 {
00097 Moving=0,
00098 AdjustingP1,
00099 AdjustingP2,
00100 AdjustingP3,
00101 AdjustingP4,
00102 AdjustingE1,
00103 AdjustingE2,
00104 AdjustingE3,
00105 AdjustingE4,
00106 Inside,
00107 Outside
00108 };
00109
00110
00111
00112
00113 int ComputeStateBasedOnPosition(int X, int Y, int *pos1, int *pos2);
00114
00115
00116 void SetCursor(int State);
00117
00118 private:
00119 vtkXYPlotWidget(const vtkXYPlotWidget&);
00120 void operator=(const vtkXYPlotWidget&);
00121 };
00122
00123 #endif