<commit_before>#ifndef HIERARCHICALINTERACTOR_H_HEADER_INCLUDED
#define HIERARCHICALINTERACTOR_H_HEADER_INCLUDED

#include "mitkCommon.h"
#include "mitkInteractor.h"
#include <vector>

namespace mitk {
 
//##Documentation
//## @brief Interface for an HierarchicalInteractor.
//##
//## A hierarchicalInteractor administrates the forewarding of events to other Interactors or even HierarchicalInteractors
class HierarchicalInteractor : public Interactor
{
public:

  typedef std::vector<Interactor::Pointer> InteractorList;
  typedef std::vector<Interactor::Pointer>::iterator InteractorListIter;

  mitkClassMacro(HierarchicalInteractor,Interactor);

  //##Documentation
  //## @brief Constructor
  HierarchicalInteractor(const char * type, DataTreeNode* dataTreeNode);

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

  //##Documentation
  //## @brief Check the interaction mode
  bool IsSubSelected() const;

  //##Documentation
  //## @brief handles an Event accordingly to its current Modus
  virtual bool HandleEvent(StateEvent const* stateEvent, int objectEventId, int groupEventId);

  //##Documentation
  //## @brief Executes Side-Effects
  virtual bool ExecuteAction(Action* action, mitk::StateEvent const* stateEvent, int objectEventId, int groupEventId);
  
  //##Documentation
  //## @brief Adds an Interactor to the list of administrated Interactors
  bool AddInteractor(Interactor::Pointer interactor);

protected:

  bool TransmitEvent( StateEvent const* stateEvent, int objectEventId, int groupEventId );
  InteractorList m_SelectedInteractors;
  InteractorList m_AllInteractors;

};

}//namespace mitk
#endif /* HIERARCHICALINTERACTOR_H_HEADER_INCLUDED */<commit_msg>added documentation<commit_after>#ifndef HIERARCHICALINTERACTOR_H_HEADER_INCLUDED
#define HIERARCHICALINTERACTOR_H_HEADER_INCLUDED

#include "mitkCommon.h"
#include "mitkInteractor.h"
#include <vector>

namespace mitk {
 
//##Documentation
//## @brief Interface for an HierarchicalInteractor.
//##
//## A hierarchicalInteractor administrates the forewarding of events to other Interactors or even HierarchicalInteractors
class HierarchicalInteractor : public Interactor
{
public:

  typedef std::vector<Interactor::Pointer> InteractorList;
  typedef std::vector<Interactor::Pointer>::iterator InteractorListIter;

  mitkClassMacro(HierarchicalInteractor,Interactor);

  //##Documentation
  //## @brief Constructor
  HierarchicalInteractor(const char * type, DataTreeNode* dataTreeNode);

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

  //##Documentation
  //## @brief Check the interaction mode
  bool IsSubSelected() const;

  //##Documentation
  //## @brief handles an Event accordingly to its current Modus
  virtual bool HandleEvent(StateEvent const* stateEvent, int objectEventId, int groupEventId);

  //##Documentation
  //## @brief Executes Side-Effects
  virtual bool ExecuteAction(Action* action, mitk::StateEvent const* stateEvent, int objectEventId, int groupEventId);
  
  //##Documentation
  //## @brief Adds an Interactor to the list of administrated Interactors
  bool AddInteractor(Interactor::Pointer interactor);

protected:
  //##Documentation
  //## @brief transmitts the event
  bool TransmitEvent( StateEvent const* stateEvent, int objectEventId, int groupEventId );

  //##Documentation
  //## @brief stores pointers on hierarchical lower Interactors, that are in Mode selected or Subselected
  InteractorList m_SelectedInteractors;

  //##Documentation
  //## @brief stores all lower Interactors
  InteractorList m_AllInteractors;
};

}//namespace mitk
#endif /* HIERARCHICALINTERACTOR_H_HEADER_INCLUDED */
{'fraction_non_alphanumeric': 0.09858387799564271, 'fraction_numerical': 0.0, 'mean_word_length': 5.5706618962432914, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, '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': '5442389', 'n_tokens_mistral': 1099, 'n_tokens_neox': 1054, 'n_words': 287}