]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/QBrowseBox.h
rename LFUN enum values according to their command (as used in th minibuffer/bind...
[lyx.git] / src / frontends / qt4 / QBrowseBox.h
1 // -*- C++ -*-
2 /**
3  * \file QBrowseBox.h
4  *
5  * Original file taken from klyx 0.10 sources:
6  *
7  * \author Kalle Dalheimer
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef QBROWSEBOX_H
13 #define QBROWSEBOX_H
14
15 #include <QPixmap>
16 #include <QMouseEvent>
17 #include <QKeyEvent>
18 #include <QCloseEvent>
19 #include <Q3GridView>
20
21
22 class QString;
23 class QPainter;
24 class QPixmap;
25
26
27 class QBrowseBox : public Q3GridView
28 {
29         Q_OBJECT
30 public:
31         QBrowseBox(int rows, int cols, QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0);
32         ~QBrowseBox();
33
34         void insertItem(QPixmap pixmap);
35
36         QPixmap pixmap(int row, int col);
37
38         int exec(const QPoint & pos);
39         int exec(int x, int y);
40         int exec(const QWidget * trigger);
41
42 signals:
43         void selected(int, int);
44
45 protected:
46         virtual void keyPressEvent(QKeyEvent * e);
47         virtual void contentsMouseReleaseEvent(QMouseEvent *);
48         virtual void closeEvent(QCloseEvent * e);
49         virtual void contentsMouseMoveEvent(QMouseEvent * e);
50         virtual void paintCell(QPainter *, int row, int col);
51
52 private:
53         // make sure the automatically generated one is not used
54         QBrowseBox & operator=(QBrowseBox const &);
55
56         void moveLeft();
57         void moveRight();
58         void moveUp();
59         void moveDown();
60
61         void insertItem(QPixmap pixmap, int row, int col);
62
63         int coordsToIndex(int row, int col);
64
65         QPixmap* pixmaps_;
66         QPoint activecell_;
67         bool firstrelease_;
68         bool inloop;
69
70 };
71 #endif