Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerAbstractModule.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 __qSlicerAbstractModule_h
00022 #define __qSlicerAbstractModule_h
00023 
00024 // Qt includes
00025 #include <QIcon>
00026 
00027 // CTK includes
00028 #include <ctkPimpl.h>
00029 
00030 // SlicerQt includes
00031 #include "qSlicerAbstractCoreModule.h"
00032 #include "qSlicerBaseQTGUIExport.h"
00033 #include "vtkSlicerVersionConfigure.h" // For Slicer_VERSION_MAJOR, Slicer_VERSION_MINOR
00034 
00035 class QAction;
00036 class qSlicerAbstractModulePrivate;
00037 
00040 class Q_SLICER_BASE_QTGUI_EXPORT qSlicerAbstractModule
00041   : public qSlicerAbstractCoreModule
00042 {
00043   Q_OBJECT
00046   Q_PROPERTY(QIcon icon READ icon)
00047   Q_PROPERTY(QImage logo READ logo)
00048 public:
00049 
00050   typedef qSlicerAbstractCoreModule Superclass;
00051   qSlicerAbstractModule(QObject *parent=0);
00052   virtual ~qSlicerAbstractModule();
00053 
00057   virtual QIcon icon()const;
00058 
00060   virtual QImage logo()const;
00061 
00070   Q_INVOKABLE QAction * action();
00071 protected:
00072   QScopedPointer<qSlicerAbstractModulePrivate> d_ptr;
00073 
00074 private:
00075   Q_DECLARE_PRIVATE(qSlicerAbstractModule);
00076   Q_DISABLE_COPY(qSlicerAbstractModule);
00077 };
00078 
00079 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines