Computer Assited Medical Intervention Tool Kit  version 3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Viewer.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 
26 #ifndef VIEWER_H
27 #define VIEWER_H
28 
29 // -- Core stuff
30 #include "CamiTKAPI.h"
31 
32 // -- QT stuff
33 #include <QObject>
34 
35 // -- QT stuff classes
36 class QToolBar;
37 class QMenu;
38 
39 namespace camitk {
40 class Component;
41 
50 class CAMITK_API Viewer : public QObject {
51  Q_OBJECT
52 
53 public:
55  Viewer(QString name);
56 
58  virtual ~Viewer();
59 
61  virtual unsigned int numberOfViewedComponent() = 0;
62 
64  virtual void refresh(Viewer *whoIsAsking = NULL) = 0;
65 
67  virtual QWidget * getWidget(QWidget * parent = NULL) = 0;
68 
70  virtual QObject * getPropertyObject() {
71  return NULL;
72  };
73 
75  virtual QMenu * getMenu() {
76  return NULL;
77  };
78 
80  virtual QToolBar * getToolBar() {
81  return NULL;
82  };
83 
86  virtual void refreshInterfaceNode(Component * comp) {};
87 
88 signals:
89 
91  void selectionChanged();
92 
93 protected:
94 
99  void selectionChanged(ComponentList & compSet);
100 
102  void selectionChanged(Component *comp);
103 
105  void clearSelection();
106 
107 };
108 
109 }
110 
111 #endif // VIEWER_H