Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerModuleSelectorToolBar.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 Julien Finet, Kitware Inc.
00017   and was partially funded by NIH grant 3P41RR013218-12S1
00018 
00019 ==============================================================================*/
00020 
00021 #ifndef __qSlicerModuleSelectorToolBar_h
00022 #define __qSlicerModuleSelectorToolBar_h
00023 
00024 // Qt includes
00025 #include <QToolBar>
00026 
00027 // CTK includes
00028 #include <ctkPimpl.h>
00029 #include "qSlicerBaseQTGUIExport.h"
00030 
00031 class qSlicerModuleSelectorToolBarPrivate;
00032 class qSlicerModuleManager;
00033 class qSlicerModulesMenu;
00034 class qSlicerAbstractCoreModule;
00035 
00042 class Q_SLICER_BASE_QTGUI_EXPORT qSlicerModuleSelectorToolBar: public QToolBar
00043 {
00044   Q_OBJECT
00045 public:
00046   typedef QToolBar Superclass;
00047 
00051   qSlicerModuleSelectorToolBar(const QString& title, QWidget* parent = 0);
00052   qSlicerModuleSelectorToolBar(QWidget* parent = 0);
00053   virtual ~qSlicerModuleSelectorToolBar();
00054 
00056   qSlicerModulesMenu* modulesMenu()const;
00057 
00058 public slots:
00060   void setModuleManager(qSlicerModuleManager* moduleManager);
00061 
00063   void selectModule(const QString& moduleName);
00064 
00065   void selectNextModule();
00066   void selectPreviousModule();
00067 
00068 signals:
00072   void moduleSelected(const QString& name);
00073 
00074 protected slots:
00075   void moduleRemoved(const QString& moduleName);
00076 
00077   void onModuleSelected(const QString& name);
00078   void actionSelected(QAction* action);
00079 
00080 protected:
00081   QScopedPointer<qSlicerModuleSelectorToolBarPrivate> d_ptr;
00082 
00083 private:
00084   Q_DECLARE_PRIVATE(qSlicerModuleSelectorToolBar);
00085   Q_DISABLE_COPY(qSlicerModuleSelectorToolBar);
00086 };
00087 
00088 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines