21#ifndef __qSlicerAbstractCoreModule_h
22#define __qSlicerAbstractCoreModule_h
32#include "qSlicerBaseQTCoreExport.h"
38class qSlicerAbstractCoreModulePrivate;
41#define qSlicerGetTitleMacro(_TITLE) \
42 static QString staticTitle() { return _TITLE; } \
43 QString title() const override { return _TITLE; }
73 Q_PROPERTY(QString name READ name)
81 Q_PROPERTY(QString title READ title)
92 Q_PROPERTY(QStringList categories READ categories)
101 Q_PROPERTY(
int index READ index)
108 Q_PROPERTY(
bool hidden READ isHidden)
115 Q_PROPERTY(
bool widgetRepresentationCreationEnabled
116 READ isWidgetRepresentationCreationEnabled
117 WRITE setWidgetRepresentationCreationEnabled)
123 Q_PROPERTY(QString helpText READ helpText)
132 Q_PROPERTY(QString acknowledgementText READ acknowledgementText)
141 Q_PROPERTY(QStringList contributors READ contributors)
147 Q_PROPERTY(QString slicerWikiUrl READ slicerWikiUrl)
152 Q_PROPERTY(QString defaultDocumentationLink READ defaultDocumentationLink);
160 Q_PROPERTY(QStringList dependencies READ dependencies)
168 Q_PROPERTY(QString path READ path)
174 Q_PROPERTY(
bool isInstalled READ isInstalled)
180 Q_PROPERTY(
bool isBuiltIn READ isBuiltIn)
189 Q_PROPERTY(QStringList associatedNodeTypes READ associatedNodeTypes)
202 virtual
void printAdditionalInfo();
205 QString slicerWikiUrl()
const{
return "https://www.slicer.org/w/index.php"; }
328 QScopedPointer<qSlicerAbstractCoreModulePrivate>
d_ptr;
qSlicerAbstractCoreModule is the base class of any module in Slicer.
vtkSlicerApplicationLogic * appLogic() const
void setInstalled(bool value)
qSlicerAbstractModuleRepresentation * createNewWidgetRepresentation()
virtual bool isHidden() const
virtual int index() const
Return the category index of the module.
vtkMRMLAbstractLogic * moduleLogic(const QString &moduleName) const
Convenience method for getting another module's logic from appLogic.
virtual QString acknowledgementText() const
void initialize(vtkSlicerApplicationLogic *appLogic)
virtual QString name() const
Q_INVOKABLE vtkMRMLScene * mrmlScene() const
Return a pointer on the MRML scene.
void setWidgetRepresentationCreationEnabled(bool value)
QString defaultDocumentationLink() const
virtual void setMRMLScene(vtkMRMLScene *)
virtual QStringList dependencies() const
virtual vtkMRMLAbstractLogic * createLogic()=0
virtual QStringList categories() const
virtual QStringList contributors() const
Return the contributors of the module.
virtual QStringList associatedNodeTypes() const
Return node types associated with this module (e.g., node types this module can edit)
virtual qSlicerAbstractModuleRepresentation * createWidgetRepresentation()=0
Create and return a widget representation for the module.
virtual void setup()=0
All initialization code should be done in the setup.
qSlicerAbstractModuleRepresentation * widgetRepresentation()
void setPath(const QString &newPath)
void setBuiltIn(bool value)
bool isWidgetRepresentationCreationEnabled() const
virtual QString title() const =0
Q_INVOKABLE vtkMRMLAbstractLogic * logic()
virtual QString helpText() const
QScopedPointer< qSlicerAbstractCoreModulePrivate > d_ptr
void setAppLogic(vtkSlicerApplicationLogic *appLogic)
virtual void setName(const QString &name)
Superclass for MRML logic classes.
A set of MRML Nodes that supports serialization and undo/redo.