void QmitkNavigationToolCreationWidget::CreateConnections()
{
  if ( m_Controls )
  {
    connect( (QObject*)(m_Controls->m_cancel), SIGNAL(clicked()), this, SLOT(OnCancel()) );
    connect( (QObject*)(m_Controls->m_finished), SIGNAL(clicked()), this, SLOT(OnFinished()) );
    connect( (QObject*)(m_Controls->m_LoadSurface), SIGNAL(clicked()), this, SLOT(OnLoadSurface()) );
    connect( (QObject*)(m_Controls->m_LoadCalibrationFile), SIGNAL(clicked()), this, SLOT(OnLoadCalibrationFile()) );
    connect( (QObject*)(m_Controls->m_ShowAdvancedOptionsPB), SIGNAL(toggled(bool)), this, SLOT(OnShowAdvancedOptions(bool)) );
    connect( (QObject*)(m_AdvancedWidget), SIGNAL(DialogCloseRequested()), this, SLOT(OnProcessDialogCloseRequest()) );
    connect( (QObject*)(m_AdvancedWidget), SIGNAL(RetrieveDataForManualToolTipManipulation()), this, SLOT(OnRetrieveDataForManualTooltipManipulation()) );

    connect( m_Controls->m_Surface_Use_Other, SIGNAL(toggled(bool)), this, SLOT(OnSurfaceUseOtherToggled(bool)));
  }
}
void QmitkNavigationToolCreationAdvancedWidget::RetrieveAndInitializeDataForTooltipManipulation()
{
  // we need the tooltip surface (point or stl)
  emit RetrieveDataForManualToolTipManipulation();

  if(m_ToolTipSurface.IsNotNull())
  {
    mitk::DataNode::Pointer toolTipNode = NULL;

    if(m_SurfaceNodeName.empty())
    {
      m_SurfaceNodeName = "StandardToolTip";
    }

    if(!m_DataStorage->Exists(m_DataStorage->GetNamedNode(m_SurfaceNodeName)))
    {
      toolTipNode = mitk::DataNode::New();
      toolTipNode->SetName(m_SurfaceNodeName);
      toolTipNode->SetData(m_ToolTipSurface);
      m_DataStorage->Add(toolTipNode);

    }
    else
    {
      toolTipNode = m_DataStorage->GetNamedNode(m_SurfaceNodeName);
      toolTipNode->SetData(m_ToolTipSurface);
    }

    m_ManipulatedToolTip = m_ToolTipSurface->Clone();

    mitk::BaseGeometry::Pointer defaultGeo = dynamic_cast<mitk::BaseGeometry*> (mitk::Geometry3D::New().GetPointer());
    defaultGeo->SetIndexToWorldTransform(m_DefaultToolTip);

    m_Controls->m_InteractiveTransformation->SetGeometry(m_ManipulatedToolTip->GetGeometry(),defaultGeo);
  }
  else
  {
    mitkThrow() << "No tooltip surface specified, operation aborted";
  }
}