00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #include "mitkCallbackFromGUIThread.h" 00019 00020 mitk::CallbackFromGUIThread* mitk::CallbackFromGUIThread::m_Instance = NULL; 00021 mitk::CallbackFromGUIThreadImplementation* mitk::CallbackFromGUIThread::m_Implementation = NULL; 00022 00023 namespace mitk { 00024 00025 CallbackFromGUIThread::CallbackFromGUIThread() 00026 { 00027 } 00028 00029 CallbackFromGUIThread* CallbackFromGUIThread::GetInstance() 00030 { 00031 if (!m_Instance) 00032 { 00033 m_Instance = new CallbackFromGUIThread(); 00034 } 00035 00036 return m_Instance; 00037 } 00038 00039 void CallbackFromGUIThread::RegisterImplementation(CallbackFromGUIThreadImplementation* implementation) 00040 { 00041 m_Implementation = implementation; 00042 } 00043 00044 void CallbackFromGUIThread::CallThisFromGUIThread(itk::Command* cmd, itk::EventObject* e) 00045 { 00046 if (m_Implementation) 00047 { 00048 m_Implementation->CallThisFromGUIThread(cmd, e); 00049 } 00050 else 00051 { 00052 MITK_ERROR << "in mitk::CallbackFromGUIThread::CallbackFromGUIThread(): no implementation registered." << std::endl; 00053 } 00054 } 00055 00056 } // namespace 00057