Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerScriptedLoadableModule.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines