Canorus  0.0
viewcontainer.h
Go to the documentation of this file.
1 
8 #ifndef VIEWCONTAINER_H
9 #define VIEWCONTAINER_H
10 
11 #include <QSplitter>
12 #include <QHash>
13 
14 class CAView;
15 class CASheet;
16 
17 class CAViewContainer : public QSplitter {
18 Q_OBJECT
19 
20 public:
21  CAViewContainer( QWidget *p );
23 
24  void addView( CAView *v, QSplitter *s=0 );
25  void removeView( CAView *v );
26  CAView* splitHorizontally( CAView *v = 0 );
27  CAView* splitVertically( CAView *v = 0 );
28 
29  CAView* unsplit( CAView *v = 0 );
30  QList<CAView*> unsplitAll();
31 
32  inline bool contains(CAView* v) { return _viewMap.contains(v); }
33  inline const QList<CAView*> viewList() { return _viewMap.keys(); }
34 
35  inline void setCurrentView( CAView *v ) { _currentView = v; }
36  inline CAView* currentView() { return _currentView; }
37 
38 private:
39  QHash<CAView*, QSplitter*> _viewMap;
42 };
43 #endif
CAView * splitHorizontally(CAView *v=0)
Definition: viewcontainer.cpp:82
Represents a single sheet of paper in the document.
Definition: sheet.h:22
Holds together resizable views.
Definition: viewcontainer.h:17
CASheet * _sheet
Definition: viewcontainer.h:41
QList< CAView * > unsplitAll()
Definition: viewcontainer.cpp:156
CAView * splitVertically(CAView *v=0)
Definition: viewcontainer.cpp:55
Base class for various views.
Definition: view.h:15
const QList< CAView * > viewList()
Definition: viewcontainer.h:33
QHash< CAView *, QSplitter * > _viewMap
Definition: viewcontainer.h:39
CAView * _currentView
Definition: viewcontainer.h:40
CAView * currentView()
Definition: viewcontainer.h:36
void setCurrentView(CAView *v)
Definition: viewcontainer.h:35
bool contains(CAView *v)
Definition: viewcontainer.h:32
void addView(CAView *v, QSplitter *s=0)
Definition: viewcontainer.cpp:167
~CAViewContainer()
Definition: viewcontainer.cpp:46
void removeView(CAView *v)
Definition: viewcontainer.cpp:180
CAViewContainer(QWidget *p)
Definition: viewcontainer.cpp:36
CAView * unsplit(CAView *v=0)
Definition: viewcontainer.cpp:110