00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-07-14 19:11:20 +0200 (Tue, 14 Jul 2009) $ 00006 Version: $Revision: 18127 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or http://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 #ifndef QmitkNodeDescriptorManager_h 00019 #define QmitkNodeDescriptorManager_h 00020 00021 #include "QmitkNodeDescriptor.h" 00022 00029 class QMITK_EXPORT QmitkNodeDescriptorManager : public QObject 00030 { 00031 Q_OBJECT 00032 public: 00036 static QmitkNodeDescriptorManager* GetInstance(); 00037 00047 virtual void Initialize(); 00048 00052 void AddDescriptor(QmitkNodeDescriptor* _Descriptor); 00053 00057 void RemoveDescriptor(QmitkNodeDescriptor* _Descriptor); 00058 00067 QmitkNodeDescriptor* GetDescriptor(const mitk::DataNode* _Node) const; 00068 00074 QmitkNodeDescriptor* GetDescriptor(const QString& _ClassName) const; 00075 00079 QmitkNodeDescriptor* GetUnknownDataNodeDescriptor() const; 00080 00088 QList<QAction*> GetActions(const mitk::DataNode* _Node) const; 00092 QList<QAction*> GetActions( const std::vector<mitk::DataNode*>& _Nodes ) const; 00096 virtual ~QmitkNodeDescriptorManager(); 00097 protected: 00102 QmitkNodeDescriptorManager(); 00103 protected: 00107 QmitkNodeDescriptor* m_UnknownDataNodeDescriptor; 00111 QList<QmitkNodeDescriptor*> m_NodeDescriptors; 00112 00113 }; 00114 00115 #endif // QmitkNodeDescriptorManager_h