Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Common/vtkCommand.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCommand.h,v $ 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 =========================================================================*/ 00046 #ifndef __vtkCommand_h 00047 #define __vtkCommand_h 00048 00049 #include "vtkObjectBase.h" 00050 00051 class vtkObject; 00052 00053 // The superclass that all commands should be subclasses of 00054 class VTK_COMMON_EXPORT vtkCommand : public vtkObjectBase 00055 { 00056 public: 00058 00061 void UnRegister(); 00062 virtual void UnRegister(vtkObjectBase *) 00063 { this->UnRegister(); } 00065 00067 00076 virtual void Execute(vtkObject *caller, unsigned long eventId, 00077 void *callData) = 0; 00079 00081 00083 static const char *GetStringFromEventId(unsigned long event); 00084 static unsigned long GetEventIdFromString(const char *event); 00086 00088 00090 void SetAbortFlag(int f) 00091 { this->AbortFlag = f; } 00092 int GetAbortFlag() 00093 { return this->AbortFlag; } 00094 void AbortFlagOn() 00095 { this->SetAbortFlag(1); } 00096 void AbortFlagOff() 00097 { this->SetAbortFlag(0); } 00099 00100 //BTX 00102 00106 enum EventIds { 00107 NoEvent = 0, 00108 AnyEvent, 00109 DeleteEvent, 00110 StartEvent, 00111 EndEvent, 00112 ProgressEvent, 00113 PickEvent, 00114 StartPickEvent, 00115 EndPickEvent, 00116 AbortCheckEvent, 00117 ExitEvent, 00118 LeftButtonPressEvent, 00119 LeftButtonReleaseEvent, 00120 MiddleButtonPressEvent, 00121 MiddleButtonReleaseEvent, 00122 RightButtonPressEvent, 00123 RightButtonReleaseEvent, 00124 EnterEvent, 00125 LeaveEvent, 00126 KeyPressEvent, 00127 KeyReleaseEvent, 00128 CharEvent, 00129 ExposeEvent, 00130 ConfigureEvent, 00131 TimerEvent, 00132 MouseMoveEvent, 00133 ResetCameraEvent, 00134 ResetCameraClippingRangeEvent, 00135 ModifiedEvent, 00136 WindowLevelEvent, 00137 StartWindowLevelEvent, 00138 EndWindowLevelEvent, 00139 ResetWindowLevelEvent, 00140 NextDataEvent, 00141 PushDataStartEvent, 00142 SetOutputEvent, 00143 EndOfDataEvent, 00144 ErrorEvent, 00145 WarningEvent, 00146 StartInteractionEvent, //mainly used by vtkInteractorObservers 00147 InteractionEvent, 00148 EndInteractionEvent, 00149 EnableEvent, 00150 DisableEvent, 00151 CreateTimerEvent, 00152 DestroyTimerEvent, 00153 PlaceWidgetEvent, 00154 CursorChangedEvent, 00155 ExecuteInformationEvent, 00156 RenderWindowMessageEvent, 00157 UserEvent = 1000 00158 }; 00160 //ETX 00161 00162 protected: 00163 int AbortFlag; 00164 vtkCommand(); 00165 virtual ~vtkCommand() {} 00166 00167 friend class vtkSubjectHelper; 00168 //BTX 00169 vtkCommand(const vtkCommand& c) : vtkObjectBase(c) {} 00170 void operator=(const vtkCommand&) {} 00171 //ETX 00172 }; 00173 00174 #endif /* __vtkCommand_h */ 00175