/*************** TREE CHANGED ( EVENT ) ***************/
void QmitkFunctionalityComponentContainer::TreeChanged(const itk::EventObject & /*treeChangedEvent*/)
{
  if(IsActivated())
  {
    TreeChanged();
  }
  else
    TreeChanged();
}
void QmitkFunctionalityComponentContainer::ImageSelected(const mitk::DataNode *item)
{
  if (m_FunctionalityComponentContainerGUI != NULL)
  {
    mitk::DataNode::Pointer selectedItem = const_cast<mitk::DataNode *>(item);
    GetTreeNodeSelector()->SetSelectedNode(selectedItem);

    for (unsigned int i = 0; i < m_AddedChildList.size(); i++)
    {
      QmitkBaseFunctionalityComponent *functionalityComponent =
        dynamic_cast<QmitkBaseFunctionalityComponent *>(m_AddedChildList[i]);
      if (functionalityComponent != NULL)
        functionalityComponent->ImageSelected(item);
    }
  }

  if (m_FunctionalityComponentContainerGUI)
  {
    m_ParentMitkImage = static_cast<mitk::Image *>(item->GetData());

    if (m_FunctionalityComponentContainerGUI != NULL)
    {
      for (unsigned int i = 0; i < m_AddedChildList.size(); i++)
      {
        QmitkBaseFunctionalityComponent *functionalityComponent =
          dynamic_cast<QmitkBaseFunctionalityComponent *>(m_AddedChildList[i]);
        if (functionalityComponent != NULL)
        {
          functionalityComponent->m_ParentMitkImage = static_cast<mitk::Image *>(item->GetData());
        }
      }
    }
  }
  TreeChanged();
}
/***************        ACTIVATED       ***************/
void QmitkFunctionalityComponentContainer::Activated()
{
  TreeChanged();
  QmitkBaseFunctionalityComponent::Activated();
  m_Active = true;
  for(unsigned int i = 0;  i < m_AddedChildList.size(); i++)
  {
    m_AddedChildList[i]->Activated();
  }
}