<commit_before>#ifndef INTERACTOR_H_HEADER_INCLUDED
#define INTERACTOR_H_HEADER_INCLUDED

#include "mitkCommon.h"
#include "mitkStateMachine.h"
#include <mitkOperationActor.h>

#include <string>

namespace mitk {

class DataTreeNode;

//##Documentation
//## @brief Interface for an Interactor.
//##
//## The Interactor is held with a SmartPointer by a DataTreeNode 
//## and holds its Node with a Pointer. That way Smartpointer doesn't build a circle.
//## Different Modes: In order to work with hierarchical StateMachines and not to send Events to all StateMachines, a StateMachine can be 
//## in three different modes: 
//## DESELECTED: this statemachine doesn't wait for an event
//## SELECTED: this statemachine just has handled an event and waits for the next one
//## SUBSELECTED: a hierarchical lower statemachine has just handled an event so this statemachine wants to pass the event to this machine
//## Guidelines for the modevalues: Selected if the coresponding data is selected, deselected if deselect of data, subselect if submachine is selected
//## in moving the machine is selected. After a new insert the machine is selected, since the data is also selected
//## @ingroup Interaction
class Interactor : public StateMachine
{
public:

  //##Documentation
  //##@brief Enumeration of the different modes an Interactor can be into. 
  //## See class documentation for further details
  typedef enum SMMode
  {
    DESELECTED = 0,
    SELECTED,
    SUBSELECTED
  };

  mitkClassMacro(Interactor,StateMachine);

  //##Documentation
  //## @brief Constructor
  //##
  //## @params dataTreeNode is the node, this Interactor is connected to
  //## type is the type of StateMachine like declared in the XML-Configure-File
  //##
  //## Interactor connects itself to the DataTreeNode-Interactor-pointer through call of SetInteractor(this)
  Interactor(const char * type, DataTreeNode* dataTreeNode);

  //##Documentation
  //## @brief Destructor
  ~Interactor(){}
<commit_msg>forced increment of fields in SMMode<commit_after>#ifndef INTERACTOR_H_HEADER_INCLUDED
#define INTERACTOR_H_HEADER_INCLUDED

#include "mitkCommon.h"
#include "mitkStateMachine.h"
#include <mitkOperationActor.h>

#include <string>

namespace mitk {

class DataTreeNode;

//##Documentation
//## @brief Interface for an Interactor.
//##
//## The Interactor is held with a SmartPointer by a DataTreeNode 
//## and holds its Node with a Pointer. That way Smartpointer doesn't build a circle.
//## Different Modes: In order to work with hierarchical StateMachines and not to send Events to all StateMachines, a StateMachine can be 
//## in three different modes: 
//## DESELECTED: this statemachine doesn't wait for an event
//## SELECTED: this statemachine just has handled an event and waits for the next one
//## SUBSELECTED: a hierarchical lower statemachine has just handled an event so this statemachine wants to pass the event to this machine
//## Guidelines for the modevalues: Selected if the coresponding data is selected, deselected if deselect of data, subselect if submachine is selected
//## in moving the machine is selected. After a new insert the machine is selected, since the data is also selected
//## @ingroup Interaction
class Interactor : public StateMachine
{
public:

  //##Documentation
  //##@brief Enumeration of the different modes an Interactor can be into. 
  //## See class documentation for further details
  typedef enum SMMode
  {
    DESELECTED = 0,
    SELECTED = 1,
    SUBSELECTED = 2
  };

  mitkClassMacro(Interactor,StateMachine);

  //##Documentation
  //## @brief Constructor
  //##
  //## @params dataTreeNode is the node, this Interactor is connected to
  //## type is the type of StateMachine like declared in the XML-Configure-File
  //##
  //## Interactor connects itself to the DataTreeNode-Interactor-pointer through call of SetInteractor(this)
  Interactor(const char * type, DataTreeNode* dataTreeNode);

  //##Documentation
  //## @brief Destructor
  ~Interactor(){}

{'fraction_non_alphanumeric': 0.08852213053263316, 'fraction_numerical': 0.001000250062515629, 'mean_word_length': 4.181347150259067, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7639482', 'n_tokens_mistral': 1157, 'n_tokens_neox': 1109, 'n_words': 469}