]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/emptytable.C
The big renaming. Yowser.
[lyx.git] / src / frontends / qt2 / emptytable.C
1 /**
2  * \file emptytable.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon
7  */
8
9 #include "emptytable.h"
10
11 /**
12  * A simple widget for a quick "preview" in TabularCreateDialog
13  */
14
15 const unsigned int cellsize = 20;
16
17 EmptyTable::EmptyTable(QWidget * parent, const char * name)
18         : QTableView(parent,name)
19 {
20         setNumCols(5);
21         setNumRows(5);
22         setCellWidth(cellsize);
23         setCellHeight(cellsize);
24         setTableFlags(Tbl_autoScrollBars);
25 }
26
27 void EmptyTable::paintCell(QPainter *p, int row, int col)
28 {
29         int const x2 = cellWidth(col) - 1;
30         int const y2 = cellHeight(row) - 1;
31
32         p->fillRect(0, 0, x2, y2, QColor("white"));
33         p->drawLine(x2, 0, x2, y2);
34         p->drawLine(0, y2, x2, y2);
35 }
36
37 void EmptyTable::setNumberColumns(int nr_cols)
38 {
39         if (nr_cols < 1)
40                 return;
41         if (nr_cols == numCols())
42                 return;
43         setAutoUpdate(false);
44         setNumCols(nr_cols);
45         setAutoUpdate(true);
46         update();
47         emit colsChanged(nr_cols);
48 }
49
50 void EmptyTable::setNumberRows(int nr_rows)
51 {
52         if (nr_rows < 1)
53                 return;
54         if (nr_rows == numRows())
55                 return;
56         setAutoUpdate(false);
57         setNumRows(nr_rows);
58         setAutoUpdate(true);
59         update();
60         emit rowsChanged(nr_rows);
61 }
62
63 void EmptyTable::mouseMoveEvent(QMouseEvent *ev)
64 {
65         int const x = ev->pos().x();
66         int const y = ev->pos().y();
67
68         if (x > 0) 
69                 setNumberColumns(x / cellsize + leftCell());
70
71         if (y > 0) 
72                 setNumberRows(y / cellsize + topCell());
73 }