/usr/include/KWWidgets/vtkKWStateMachineState.h is in libkwwidgets1-dev 1.0.0~cvs20100930-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | /*=========================================================================
Module: $RCSfile: vtkKWStateMachineState.h,v $
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkKWStateMachineState - a state machine state.
// .SECTION Description
// This class is the basis for a state machine state.
// A state machine is defined by a set of states, a set of inputs and a
// transition matrix that defines for each pair of (state,input) what is
// the next state to assume.
// .SECTION Thanks
// This work is part of the National Alliance for Medical Image
// Computing (NAMIC), funded by the National Institutes of Health
// through the NIH Roadmap for Medical Research, Grant U54 EB005149.
// Information on the National Centers for Biomedical Computing
// can be obtained from http://nihroadmap.nih.gov/bioinformatics.
// .SECTION See Also
// vtkKWStateMachine vtkKWStateMachineInput vtkKWStateMachineTransition
#ifndef __vtkKWStateMachineState_h
#define __vtkKWStateMachineState_h
#include "vtkKWObject.h"
class KWWidgets_EXPORT vtkKWStateMachineState : public vtkKWObject
{
public:
static vtkKWStateMachineState* New();
vtkTypeRevisionMacro(vtkKWStateMachineState, vtkKWObject);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Get id.
vtkGetMacro(Id, vtkIdType);
// Description:
// Set/Get simple name.
vtkGetStringMacro(Name);
vtkSetStringMacro(Name);
// Description:
// Set/Get longer description.
vtkGetStringMacro(Description);
vtkSetStringMacro(Description);
// Description:
// Enter the state. This method should be invoked by the state machine when
// it enters this state. It will take care of calling the corresponding
// callbacks (EnterCommand) and events (EnterEvent). Subclasses that
// override this method should make sure they call their superclass's
// Enter() method.
virtual void Enter();
// Description:
// Leave the state. This method should be invoked by the state machine when
// it leaves this state. It will take care of calling the corresponding
// callbacks (LeaveCommand) and events (LeaveEvent). Subclasses that
// override this method should make sure they call their superclass's
// Leave() method.
virtual void Leave();
// Description:
// Specifies a command to associate with this state. This command
// should be invoked by the state machine when it enters this state.
// State machine (sub)classes should call the Enter() method most of the
// time, which will take care of triggering this callback and firing
// the EnterEvent as well.
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
virtual void SetEnterCommand(vtkObject *object, const char *method);
virtual void InvokeEnterCommand();
virtual int HasEnterCommand();
// Description:
// Specifies a command to associate with this state. This command
// should be invoked by the state machine when it leaves this state.
// State machine (sub)classes should call the Leave() method most of the
// time, which will take care of triggering this callback and firing
// the EnterEvent as well.
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
virtual void SetLeaveCommand(vtkObject *object, const char *method);
virtual void InvokeLeaveCommand();
virtual int HasLeaveCommand();
// Description:
// Events. The EnterEvent should be fired when the state machine enters
// this state. The LeaveEvent should be fired when the state machine
// leaves this state. In both case, state machine (sub)classes should call
// the corresponding Enter() end Leave() methods most of the time, which will
// take care of triggering both the callbacks and firing the events.
//BTX
enum
{
EnterEvent = 10000,
LeaveEvent
};
//ETX
// Description:
// Set/Get if the set is an accepting state. This is mainly used for
// display or IO purposes (see vtkKWStateMachineDOTWriter).
vtkBooleanMacro(Accepting, int);
vtkGetMacro(Accepting, int);
vtkSetMacro(Accepting, int);
protected:
vtkKWStateMachineState();
~vtkKWStateMachineState();
vtkIdType Id;
char *Name;
char *Description;
int Accepting;
char *EnterCommand;
char *LeaveCommand;
private:
static vtkIdType IdCounter;
vtkKWStateMachineState(const vtkKWStateMachineState&); // Not implemented
void operator=(const vtkKWStateMachineState&); // Not implemented
};
#endif
|