]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QBrowseBox.h
namespace grfx -> lyx::graphics
[lyx.git] / src / frontends / qt2 / 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 "qgridview.h"
16
17 #include <qwidget.h>
18
19
20 class QString;
21 class QPainter;
22 class QPixmap;
23
24
25 class QBrowseBox : public QGridView
26 {
27         Q_OBJECT
28 public:
29         QBrowseBox(int rows, int cols, QWidget * parent = 0, const char * name = 0, WFlags f = 0);
30         ~QBrowseBox();
31
32         void insertItem(QPixmap pixmap);
33
34         QPixmap pixmap(int row, int col);
35
36         int exec(const QPoint & pos);
37         int exec(int x, int y);
38         int exec(const QWidget * trigger);
39
40 signals:
41         void selected(int, int);
42
43 protected:
44         virtual void keyPressEvent(QKeyEvent * e);
45         virtual void contentsMouseReleaseEvent(QMouseEvent *);
46         virtual void closeEvent(QCloseEvent * e);
47         virtual void contentsMouseMoveEvent(QMouseEvent * e);
48         virtual void paintCell(QPainter *, int row, int col);
49
50 private:
51         // make sure the automatically generated one is not used
52         QBrowseBox & operator=(QBrowseBox const &);
53
54         void moveLeft();
55         void moveRight();
56         void moveUp();
57         void moveDown();
58
59         void insertItem(QPixmap pixmap, int row, int col);
60
61         int coordsToIndex(int row, int col);
62
63         QPixmap* pixmaps_;
64         QPoint activecell_;
65         bool firstrelease_;
66         bool inloop;
67
68 };
69 #endif