00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWStateMachineCluster.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 =========================================================================*/ 00032 #ifndef __vtkKWStateMachineCluster_h 00033 #define __vtkKWStateMachineCluster_h 00034 00035 #include "vtkKWObject.h" 00036 00037 class vtkKWStateMachineState; 00038 class vtkKWStateMachineClusterInternals; 00039 00040 class KWWidgets_EXPORT vtkKWStateMachineCluster : public vtkKWObject 00041 { 00042 // @cond section_public 00043 public: 00044 static vtkKWStateMachineCluster* New(); 00045 vtkTypeRevisionMacro(vtkKWStateMachineCluster, vtkKWObject); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 00050 vtkGetMacro(Id, vtkIdType); 00052 00054 00055 vtkGetStringMacro(Name); 00056 vtkSetStringMacro(Name); 00058 00060 00061 virtual int AddState(vtkKWStateMachineState *state); 00062 virtual int HasState(vtkKWStateMachineState *state); 00063 virtual int GetNumberOfStates(); 00064 virtual vtkKWStateMachineState* GetNthState(int rank); 00066 00067 // @endcond 00068 // @cond section_protected 00069 protected: 00070 vtkKWStateMachineCluster(); 00071 ~vtkKWStateMachineCluster(); 00072 00073 vtkIdType Id; 00074 char *Name; 00075 00077 00078 virtual void RemoveState(vtkKWStateMachineState *state); 00079 virtual void RemoveAllStates(); 00081 00082 // PIMPL Encapsulation for STL containers 00083 //BTX 00084 vtkKWStateMachineClusterInternals *Internals; 00085 //ETX 00086 00087 // @endcond 00088 // @cond section_private 00089 private: 00090 00091 static vtkIdType IdCounter; 00092 00093 vtkKWStateMachineCluster(const vtkKWStateMachineCluster&); // Not implemented 00094 void operator=(const vtkKWStateMachineCluster&); // Not implemented 00095 }; 00096 00097 #endif 00098 // @endcond
1.6.1