00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00078 #ifndef __vtkBorderWidget_h
00079 #define __vtkBorderWidget_h
00080
00081 #include "vtkAbstractWidget.h"
00082
00083 class vtkBorderRepresentation;
00084
00085
00086 class VTK_WIDGETS_EXPORT vtkBorderWidget : public vtkAbstractWidget
00087 {
00088 public:
00090 static vtkBorderWidget *New();
00091
00093
00094 vtkTypeRevisionMacro(vtkBorderWidget,vtkAbstractWidget);
00095 void PrintSelf(ostream& os, vtkIndent indent);
00097
00099
00103 vtkSetMacro(Selectable,int);
00104 vtkGetMacro(Selectable,int);
00105 vtkBooleanMacro(Selectable,int);
00107
00108
00110
00113 vtkSetMacro(Resizable,int);
00114 vtkGetMacro(Resizable,int);
00115 vtkBooleanMacro(Resizable,int);
00117
00118
00120
00123 void SetRepresentation(vtkBorderRepresentation *r)
00124 {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
00126
00128 virtual void CreateDefaultRepresentation();
00129
00130 protected:
00131 vtkBorderWidget();
00132 ~vtkBorderWidget();
00133
00137 virtual void SelectRegion(double eventPos[2]);
00138
00139
00140 int Selectable;
00141 int Resizable;
00142
00143
00144 static void SelectAction(vtkAbstractWidget*);
00145 static void TranslateAction(vtkAbstractWidget*);
00146 static void EndSelectAction(vtkAbstractWidget*);
00147 static void MoveAction(vtkAbstractWidget*);
00148
00149
00150
00151 virtual int SubclassSelectAction() {return 0;}
00152 virtual int SubclassTranslateAction() {return 0;}
00153 virtual int SubclassEndSelectAction() {return 0;}
00154 virtual int SubclassMoveAction() {return 0;}
00155
00156
00157 virtual void SetCursor(int State);
00158
00159
00160
00161 int WidgetState;
00162 enum _WidgetState{Start=0,Define,Manipulate,Selected};
00163
00164
00165 private:
00166 vtkBorderWidget(const vtkBorderWidget&);
00167 void operator=(const vtkBorderWidget&);
00168 };
00169
00170 #endif