fw4spl
VtkRenderWindowInteractorManager.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2017.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #ifndef __VISUVTKQT_VTKRENDERWINDOWINTERACTORMANAGER_HPP__
8 #define __VISUVTKQT_VTKRENDERWINDOWINTERACTORMANAGER_HPP__
9 
10 #include "visuVTKQt/config.hpp"
11 
12 #include <fwRenderVTK/IVtkRenderWindowInteractorManager.hpp>
13 
14 #include <QPointer>
15 
16 class vtkRenderWindowInteractor;
17 
18 QT_BEGIN_NAMESPACE
19 class QVTKOpenGLWidget;
20 QT_END_NAMESPACE
21 
22 namespace fwGuiQt
23 {
24 namespace container
25 {
26 class QtContainer;
27 }
28 }
29 
30 namespace visuVTKQt
31 {
32 
37 {
38 
39 public:
40 
43 
44  VISUVTKQT_API VtkRenderWindowInteractorManager(::fwRenderVTK::IVtkRenderWindowInteractorManager::Key key);
45 
46  VISUVTKQT_API virtual ~VtkRenderWindowInteractorManager();
47 
49  VISUVTKQT_API virtual void installInteractor( ::fwGui::container::fwContainer::sptr _parent ) override;
50 
52  VISUVTKQT_API virtual void uninstallInteractor() override;
53 
55  VISUVTKQT_API virtual ::vtkRenderWindowInteractor* getInteractor() override;
56 
57 private:
58 
59  QPointer<QVTKOpenGLWidget> m_QVTKOpenGLWidget;
60 
61  vtkRenderWindowInteractor* m_interactor;
62 
63  SPTR(::fwGuiQt::container::QtContainer) m_parentContainer;
64 
65 };
66 
67 } // namespace visuVTKQt
68 
69 #endif // __VISUVTKQT_VTKRENDERWINDOWINTERACTORMANAGER_HPP__
70 
#define SPTR(_cls_)
#define fwCoreNonInstanciableClassDefinitionsMacro(_classinfo_)
Generate common code for Non Instanciable classes (Interfaces, Abstract classes, ...)
The namespace fwGui contains the base interface for IHM services.
Definition: SJobBar.hpp:23
The bundle visuVTKQt contains a vtk Renderer window interactor manager using Qt. It must be set in th...
The namespace fwGuiQt contains classes which provide the implementation of the Gui using Qt library...
Definition: WindowLevel.hpp:32
Defines a class to manage vtkRenderWindowInteractor in a window.
Key class used to restrict access to Object construction. See http://www.drdobbs.com/184402053.
The namespace fwRenderVTK contains classes for rendering with VTK.
Defines a class to manage vtkRenderWindowInteractor in a window.
Defines the QWidget container for UI.
Definition: QtContainer.hpp:35