Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef QmitkNodeDescriptor_h
00019 #define QmitkNodeDescriptor_h
00020
00021 #include <map>
00022 #include "mitkDataNode.h"
00023 #include <QList>
00024 #include <QAction>
00025 #include <QWidgetAction>
00026 #include <QString>
00027 #include <QIcon>
00028 #include <mitkNodePredicateBase.h>
00029
00041 class QMITK_EXPORT QmitkNodeDescriptor : public QObject
00042 {
00043 Q_OBJECT
00044 public:
00048 QmitkNodeDescriptor(const QString& _ClassName, const QString& _PathToIcon
00049 , mitk::NodePredicateBase* _Predicate, QObject* parent);
00053 virtual ~QmitkNodeDescriptor();
00057 virtual QString GetClassName() const;
00061 virtual QIcon GetIcon() const;
00065 virtual QAction* GetSeparator() const;
00069 virtual bool CheckNode(const mitk::DataNode* node) const;
00073 virtual void AddAction ( QAction * action, bool isBatchAction=true );
00077 virtual void RemoveAction(QAction* _Action);
00081 virtual QList<QAction*> GetActions() const;
00086 virtual QList<QAction*> GetBatchActions() const;
00087
00088 public slots:
00090 void ActionDestroyed ( QObject * obj = 0 );
00091 protected:
00092 QString m_ClassName;
00093 QString m_PathToIcon;
00094 mitk::NodePredicateBase::Pointer m_Predicate;
00095 QList<QAction*> m_Actions;
00096 QList<QAction*> m_BatchActions;
00097 QAction* m_Separator;
00098 };
00099
00100 #endif // QmitkNodeDescriptor_h