Canorus  0.0
view.h
Go to the documentation of this file.
1 
8 #ifndef VIEW_H
9 #define VIEW_H
10 
11 #include <QWidget>
12 
13 class QCloseEvent;
14 
15 class CAView : public QWidget {
16 Q_OBJECT
17 
18 public:
19  CAView(QWidget *parent=0);
20 
21  virtual ~CAView();
22 
23  enum CAViewType {
26  };
27 
28  inline CAViewType viewType() { return _viewType; }
29 
30  virtual CAView *clone() = 0;
31  virtual CAView *clone(QWidget *parent) = 0;
32 
33  virtual void rebuild() = 0;
34 
35  static const int DEFAULT_VIEW_WIDTH;
36  static const int DEFAULT_VIEW_HEIGHT;
37 
38 protected slots:
39  void mousePressEvent(QMouseEvent *e);
40  inline void closeEvent(QCloseEvent*) { emit closed(this); }
41 
42 signals:
43  void clicked();
44  void closed(CAView*);
45 
46 protected:
47  inline void setViewType(CAViewType t) { _viewType = t; }
48 
50  // General properties //
53 };
54 #endif
CAView::DEFAULT_VIEW_WIDTH
static const int DEFAULT_VIEW_WIDTH
Definition: view.h:35
CAView::mousePressEvent
void mousePressEvent(QMouseEvent *e)
Definition: view.cpp:38
CAView::clone
virtual CAView * clone(QWidget *parent)=0
CAView::closeEvent
void closeEvent(QCloseEvent *)
Definition: view.h:40
CAView::SourceView
@ SourceView
Definition: view.h:25
CAView::setViewType
void setViewType(CAViewType t)
Definition: view.h:47
CAView::clicked
void clicked()
CAView::CAView
CAView(QWidget *parent=0)
Definition: view.cpp:26
CAView::DEFAULT_VIEW_HEIGHT
static const int DEFAULT_VIEW_HEIGHT
Definition: view.h:36
CAView::ScoreView
@ ScoreView
Definition: view.h:24
CAView
Base class for various views.
Definition: view.h:15
CAView::closed
void closed(CAView *)
CAView::CAViewType
CAViewType
Definition: view.h:23
CAView::~CAView
virtual ~CAView()
Definition: view.cpp:34
CAView::clone
virtual CAView * clone()=0
CAView::rebuild
virtual void rebuild()=0
view.h
CAView::viewType
CAViewType viewType()
Definition: view.h:28
canorus.h
CAView::_viewType
CAViewType _viewType
Definition: view.h:52
CACanorus::removeView
static void removeView(CAView *v)
Definition: canorus.h:55