summaryrefslogtreecommitdiffstats
path: root/qt-ui/printlayout.h
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2013-10-03 17:50:40 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-03 09:38:37 -0700
commite727b899a633a6c7eaf075dcf7380aadd6f85b7f (patch)
tree3293413f356cf1589c7ccc23f8e67d36ad866b7d /qt-ui/printlayout.h
parent374f3d0de62722cf4153d12754edf6fb110ce33d (diff)
downloadsubsurface-e727b899a633a6c7eaf075dcf7380aadd6f85b7f.tar.gz
Print: provide means to print profile tables
This patch adds a couple of classes and some other modifications in PrintLayout that handle the printing of tables under a profile. models.h : ProfilePrintModel The class uses a 'struct *dive' to output all required data for a certain dive at specific rows and columns. It also handles font formatting and text alignment. modeldelagatates.h : ProfilePrintDelegate The class is used only for drawing a custom grid for profile tables. PrintLayout::createProfileTable() The function is used to create and setup the profile table object PrintLayout::printProfileDives() The function now has correct padding of dive profiles on a page and also the printing of actual tables below them. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/printlayout.h')
-rw-r--r--qt-ui/printlayout.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/qt-ui/printlayout.h b/qt-ui/printlayout.h
index 79c1d658e..a1f348664 100644
--- a/qt-ui/printlayout.h
+++ b/qt-ui/printlayout.h
@@ -5,8 +5,10 @@
#include <QPrinter>
#include <QList>
+class QTableView;
class PrintDialog;
class TablePrintModel;
+class ProfilePrintModel;
struct dive;
class PrintLayout : public QObject {
@@ -19,7 +21,6 @@ public:
private:
PrintDialog *dialog;
QPrinter *printer;
- QPainter *painter;
struct options *printOptions;
int screenDpiX, screenDpiY, printerDpi, scaledPageW, scaledPageH;
@@ -27,11 +28,14 @@ private:
QRect pageRect;
QList<QString> tablePrintColumnNames;
- QList<unsigned int> tablePrintColumnWidths;
unsigned int tablePrintHeadingBackground;
+ QList<unsigned int> tablePrintColumnWidths;
+ unsigned int profilePrintTableMaxH;
+ QList<unsigned int> profilePrintColumnWidths, profilePrintRowHeights;
void setup();
void printProfileDives(int divesPerRow, int divesPerColumn);
+ QTableView *createProfileTable(ProfilePrintModel *model, const int tableW);
void printTable();
void addTablePrintDataRow(TablePrintModel *model, int row, struct dive *dive) const;
void addTablePrintHeadingRow(TablePrintModel *model, int row) const;