|
Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
00001 /*============================================================================== 00002 00003 Program: 3D Slicer 00004 00005 Copyright (c) Kitware Inc. 00006 00007 See COPYRIGHT.txt 00008 or http://www.slicer.org/copyright/copyright.txt for details. 00009 00010 Unless required by applicable law or agreed to in writing, software 00011 distributed under the License is distributed on an "AS IS" BASIS, 00012 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 See the License for the specific language governing permissions and 00014 limitations under the License. 00015 00016 This file was originally developed by Jean-Christophe Fillion-Robin, Kitware Inc. 00017 and was partially funded by NIH grant 3P41RR013218-12S1 00018 00019 ==============================================================================*/ 00020 00021 #ifndef __qSlicerScriptedLoadableModule_h 00022 #define __qSlicerScriptedLoadableModule_h 00023 00024 // Qt includes 00025 #include <QVariantMap> 00026 00027 // SlicerQt includes 00028 #include "qSlicerLoadableModule.h" 00029 00030 #include "qSlicerBaseQTGUIExport.h" 00031 00032 class qSlicerScriptedLoadableModulePrivate; 00033 00034 class Q_SLICER_BASE_QTGUI_EXPORT qSlicerScriptedLoadableModule : public qSlicerLoadableModule 00035 { 00036 Q_OBJECT 00037 Q_PROPERTY(QString title READ title WRITE setTitle) 00039 Q_PROPERTY(QStringList categories READ categories WRITE setCategories) 00040 Q_PROPERTY(QStringList contributors READ contributors WRITE setContributors) 00041 Q_PROPERTY(QString helpText READ helpText WRITE setHelpText) 00042 Q_PROPERTY(QString acknowledgementText READ acknowledgementText WRITE setAcknowledgementText) 00043 Q_PROPERTY(QVariantMap extensions READ extensions WRITE setExtensions) 00044 Q_PROPERTY(QIcon icon READ icon WRITE setIcon) 00045 Q_PROPERTY(bool hidden READ isHidden WRITE setHidden) 00046 Q_PROPERTY(QStringList dependencies READ dependencies WRITE setDependencies) 00047 Q_PROPERTY(int index READ index WRITE setIndex) 00048 00049 public: 00050 00051 typedef qSlicerLoadableModule Superclass; 00052 typedef qSlicerScriptedLoadableModulePrivate Pimpl; 00053 qSlicerScriptedLoadableModule(QObject *parent=0); 00054 virtual ~qSlicerScriptedLoadableModule(); 00055 00056 QString pythonSource()const; 00057 bool setPythonSource(const QString& newPythonSource); 00058 00059 virtual QString title()const ; 00060 void setTitle(const QString& newTitle); 00061 00062 virtual QStringList categories()const; 00063 void setCategories(const QStringList& newCategories); 00064 00065 virtual QStringList contributors()const; 00066 void setContributors(const QStringList& newContributors); 00067 00068 virtual QString helpText()const; 00069 void setHelpText(const QString& newHelpText); 00070 00071 virtual QString acknowledgementText()const; 00072 void setAcknowledgementText(const QString& newAcknowledgementText); 00073 00074 virtual QVariantMap extensions()const; 00075 void setExtensions(const QVariantMap& extensions); 00076 00077 virtual QIcon icon()const; 00078 void setIcon(const QIcon& newIcon); 00079 00080 virtual QStringList dependencies() const; 00081 void setDependencies(const QStringList& dependencies); 00082 00083 virtual int index() const; 00084 void setIndex(const int index); 00085 00088 virtual bool isHidden()const; 00089 void setHidden(bool hidden); 00090 00091 protected: 00092 00093 virtual void setup(); 00094 00095 void registerFileDialog(); 00096 00097 virtual qSlicerAbstractModuleRepresentation* createWidgetRepresentation(); 00098 00099 virtual vtkMRMLAbstractLogic* createLogic(); 00100 00101 protected: 00102 QScopedPointer<qSlicerScriptedLoadableModulePrivate> d_ptr; 00103 00104 private: 00105 Q_DECLARE_PRIVATE(qSlicerScriptedLoadableModule); 00106 Q_DISABLE_COPY(qSlicerScriptedLoadableModule); 00107 }; 00108 00109 #endif
1.7.4