]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QWorkArea.h
fix tooltips in toolbar
[lyx.git] / src / frontends / qt2 / QWorkArea.h
1 // -*- C++ -*-
2 /**
3  * \file QWorkArea.h
4  * Copyright 1995-2002 the LyX Team
5  * Read the file COPYING
6  *
7  * \author unknown
8  * \author John Levon <moz@compsoc.man.ac.uk>
9  */
10
11 #ifndef QWORKAREA_H
12 #define QWORKAREA_H
13
14 #ifdef __GNUG__
15 #pragma interface
16 #endif
17
18 #include <utility>
19
20 #include "WorkArea.h"
21 #include "QLPainter.h"
22 #include "QContentPane.h"
23  
24 #include <qwidget.h>
25 #include <qscrollbar.h>
26 #include <qpixmap.h>
27
28  
29 /**
30  * Qt-specific implementation of the work area
31  * (buffer view GUI)
32  *
33  * It consists of a content pane widget, and a scrollbar.
34  * Hopefully soon we can just use QScrollView ...
35  */
36 class QWorkArea : public WorkArea, public QWidget {
37  
38         friend class QContentPane;
39  
40 public:
41
42         QWorkArea(int x, int y, int w, int h);
43
44         virtual ~QWorkArea();
45         /// return this widget's painter
46         virtual Painter & getPainter() { return painter_; }
47         /// return the width of the content pane
48         virtual int workWidth() const { return content_->width(); }
49         /// return the height of the content pane
50         virtual int workHeight() const { return content_->height(); }
51         /// 
52         virtual void setScrollbarParams(int height, int pos, int line_height);
53  
54         /// a selection exists
55         virtual void haveSelection(bool) const;
56         ///
57         virtual string const getClipboard() const;
58         ///
59         virtual void putClipboard(string const &) const;
60
61         /// get the pixmap we paint on to
62         QPixmap * getPixmap() const { return content_->pixmap(); }
63
64         /// get the content pane widget
65         QWidget * getContent() const { return content_; }
66
67 private:
68         /// scroll bar
69         QScrollBar * scrollbar_;
70         /// content
71         QContentPane * content_;
72  
73         /// our painter
74         QLPainter painter_;
75 };
76  
77 #endif // QWORKAREA_H