00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWStateMachineTransition.h,v $ 00004 00005 Copyright (c) Kitware, Inc. 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00031 #ifndef __vtkKWStateMachineTransition_h 00032 #define __vtkKWStateMachineTransition_h 00033 00034 #include "vtkKWObject.h" 00035 00036 class vtkKWStateMachineState; 00037 class vtkKWStateMachineInput; 00038 00039 class KWWidgets_EXPORT vtkKWStateMachineTransition : public vtkKWObject 00040 { 00041 // @cond section_public 00042 public: 00043 static vtkKWStateMachineTransition* New(); 00044 vtkTypeRevisionMacro(vtkKWStateMachineTransition, vtkKWObject); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 00049 vtkGetMacro(Id, vtkIdType); 00051 00053 00054 vtkGetObjectMacro(OriginState, vtkKWStateMachineState); 00055 virtual void SetOriginState(vtkKWStateMachineState*); 00057 00059 00060 vtkGetObjectMacro(Input, vtkKWStateMachineInput); 00061 virtual void SetInput(vtkKWStateMachineInput*); 00063 00065 00066 vtkGetObjectMacro(DestinationState, vtkKWStateMachineState); 00067 virtual void SetDestinationState(vtkKWStateMachineState*); 00069 00073 virtual int IsComplete(); 00074 00083 virtual void Start(); 00084 00093 virtual void End(); 00094 00096 00106 virtual void SetStartCommand(vtkObject *object, const char *method); 00107 virtual void InvokeStartCommand(); 00108 virtual int HasStartCommand(); 00110 00112 00122 virtual void SetEndCommand(vtkObject *object, const char *method); 00123 virtual void InvokeEndCommand(); 00124 virtual int HasEndCommand(); 00126 00128 00137 enum 00138 { 00139 StartEvent = 10000, 00140 EndEvent 00141 }; 00142 //ETX 00144 00145 // @endcond 00146 // @cond section_protected 00147 protected: 00148 vtkKWStateMachineTransition(); 00149 ~vtkKWStateMachineTransition(); 00150 00151 vtkIdType Id; 00152 vtkKWStateMachineState *OriginState; 00153 vtkKWStateMachineInput *Input; 00154 vtkKWStateMachineState *DestinationState; 00155 00156 char *EndCommand; 00157 char *StartCommand; 00158 00159 // @endcond 00160 // @cond section_private 00161 private: 00162 00163 static vtkIdType IdCounter; 00164 00165 vtkKWStateMachineTransition(const vtkKWStateMachineTransition&); // Not implemented 00166 void operator=(const vtkKWStateMachineTransition&); // Not implemented 00167 }; 00168 00169 #endif 00170 // @endcond
1.6.1