Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerLoadableModule.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 __qSlicerLoadableModule_h
00022 #define __qSlicerLoadableModule_h
00023 
00024 // CTK includes
00025 #include <ctkPimpl.h>
00026 
00027 // SlicerQt includes
00028 #include "qSlicerAbstractModule.h"
00029 
00030 #include "qSlicerBaseQTGUIExport.h"
00031 
00032 class qSlicerLoadableModulePrivate;
00033 class qSlicerCorePythonManager;
00034 
00035 class Q_SLICER_BASE_QTGUI_EXPORT qSlicerLoadableModule : public qSlicerAbstractModule
00036 {
00037   Q_OBJECT
00038 
00039 public:
00040 
00041   typedef qSlicerLoadableModule Self;
00042   typedef qSlicerAbstractModule Superclass;
00043   qSlicerLoadableModule(QObject *parent=0);
00044   virtual ~qSlicerLoadableModule();
00045 
00047   virtual QString helpText()const;
00048   virtual QString acknowledgementText()const;
00049 
00060   static bool importModulePythonExtensions(qSlicerCorePythonManager * pythonManager,
00061                                            const QString& intDir,
00062                                            const QString& modulePath);
00063 
00066   static bool addModuleToSlicerModules(qSlicerCorePythonManager * pythonManager,
00067                                        qSlicerAbstractModule *module,
00068                                        const QString& moduleName);
00069 
00072   static bool addModuleNameToSlicerModuleNames(qSlicerCorePythonManager * pythonManager,
00073                                                const QString& moduleName);
00074 
00075 protected:
00076   virtual void setup();
00077 
00078 protected:
00079   QScopedPointer<qSlicerLoadableModulePrivate> d_ptr;
00080 
00081 private:
00082   Q_DECLARE_PRIVATE(qSlicerLoadableModule);
00083   Q_DISABLE_COPY(qSlicerLoadableModule);
00084 };
00085 
00086 Q_DECLARE_INTERFACE(qSlicerLoadableModule,
00087                      "org.slicer.modules.loadable.qSlicerLoadableModule/1.0");
00088 
00089 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines