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 =========================================================================*/
00192 #ifndef __vtkCommand_h
00193 #define __vtkCommand_h
00194 
00195 #include "vtkObjectBase.h"
00196 
00197 class vtkObject;
00198 
00199 // The superclass that all commands should be subclasses of
00200 class VTK_COMMON_EXPORT vtkCommand : public vtkObjectBase
00201 {
00202 public:
00204 
00207   void UnRegister();
00208   virtual void UnRegister(vtkObjectBase *) 
00209     { this->UnRegister(); }
00211   
00213 
00222   virtual void Execute(vtkObject *caller, unsigned long eventId, 
00223                        void *callData) = 0;
00225 
00227 
00229   static const char *GetStringFromEventId(unsigned long event);
00230   static unsigned long GetEventIdFromString(const char *event);
00232 
00234 
00236   void SetAbortFlag(int f)  
00237     { this->AbortFlag = f; }
00238   int GetAbortFlag() 
00239     { return this->AbortFlag; }
00240   void AbortFlagOn() 
00241     { this->SetAbortFlag(1); }
00242   void AbortFlagOff() 
00243     { this->SetAbortFlag(0); }
00245   
00247 
00251   void SetPassiveObserver(int f)  
00252     { this->PassiveObserver = f; }
00253   int GetPassiveObserver() 
00254     { return this->PassiveObserver; }
00255   void PassiveObserverOn() 
00256     { this->SetPassiveObserver(1); }
00257   void PassiveObserverOff() 
00258     { this->SetPassiveObserver(0); }
00260   
00261 //BTX
00263 
00267   enum EventIds {
00268     NoEvent = 0,
00269     AnyEvent,
00270     DeleteEvent,
00271     StartEvent,
00272     EndEvent,
00273     RenderEvent,
00274     ProgressEvent,
00275     PickEvent,
00276     StartPickEvent,
00277     EndPickEvent,
00278     AbortCheckEvent,
00279     ExitEvent,
00280     LeftButtonPressEvent,
00281     LeftButtonReleaseEvent,
00282     MiddleButtonPressEvent,
00283     MiddleButtonReleaseEvent,
00284     RightButtonPressEvent,
00285     RightButtonReleaseEvent,
00286     EnterEvent,
00287     LeaveEvent,
00288     KeyPressEvent,
00289     KeyReleaseEvent,
00290     CharEvent,
00291     ExposeEvent,
00292     ConfigureEvent,
00293     TimerEvent,
00294     MouseMoveEvent,
00295     MouseWheelForwardEvent,
00296     MouseWheelBackwardEvent,
00297     ResetCameraEvent,
00298     ResetCameraClippingRangeEvent,
00299     ModifiedEvent,
00300     WindowLevelEvent,
00301     StartWindowLevelEvent,
00302     EndWindowLevelEvent,
00303     ResetWindowLevelEvent,
00304     SetOutputEvent,
00305     ErrorEvent,
00306     WarningEvent,
00307     StartInteractionEvent, //mainly used by vtkInteractorObservers
00308     InteractionEvent,
00309     EndInteractionEvent,
00310     EnableEvent,
00311     DisableEvent,
00312     CreateTimerEvent,
00313     DestroyTimerEvent,
00314     PlacePointEvent,
00315     PlaceWidgetEvent,
00316     CursorChangedEvent,
00317     ExecuteInformationEvent,
00318     RenderWindowMessageEvent,
00319     WrongTagEvent,
00320     StartAnimationCueEvent, // used by vtkAnimationCue
00321     AnimationCueTickEvent,
00322     EndAnimationCueEvent,
00323     VolumeMapperRenderEndEvent,
00324     VolumeMapperRenderProgressEvent,
00325     VolumeMapperRenderStartEvent,
00326     VolumeMapperComputeGradientsEndEvent,
00327     VolumeMapperComputeGradientsProgressEvent,
00328     VolumeMapperComputeGradientsStartEvent,
00329     WidgetModifiedEvent,
00330     WidgetValueChangedEvent,
00331     WidgetActivateEvent,
00332     ConnectionCreatedEvent, 
00333     ConnectionClosedEvent,
00334     DomainModifiedEvent,
00335     PropertyModifiedEvent,
00336     UpdateEvent,
00337     RegisterEvent,
00338     UnRegisterEvent,
00339     UpdateInformationEvent,
00340     SelectionChangedEvent,
00341     UpdatePropertyEvent,
00342     ViewProgressEvent,
00343     UpdateDataEvent,
00344     UserEvent = 1000
00345   };
00347 //ETX
00348 
00349 protected:
00350   int AbortFlag;
00351   int PassiveObserver;
00352 
00353   vtkCommand();
00354   virtual ~vtkCommand() {}
00355 
00356   friend class vtkSubjectHelper;
00357 //BTX
00358   vtkCommand(const vtkCommand& c) : vtkObjectBase(c) {}
00359   void operator=(const vtkCommand&) {}
00360 //ETX
00361 };
00362 
00363 #endif /* __vtkCommand_h */
00364  

Generated on Mon Oct 6 14:39:22 2008 for VTK by  doxygen 1.4.7