]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/GuiPrint.h
Merge QController into individual dialogs. Also various cleanup
[lyx.git] / src / frontends / qt4 / GuiPrint.h
1 // -*- C++ -*-
2 /**
3  * \file GuiPrint.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author John Levon
8  * \author Edwin Leuven
9  *
10  * Full author contact details are available in file CREDITS.
11  */
12
13 #ifndef GUIPRINT_H
14 #define GUIPRINT_H
15
16 #include "GuiDialogView.h"
17 #include "ControlPrint.h"
18 #include "ui_PrintUi.h"
19
20 #include <QDialog>
21
22 namespace lyx {
23 namespace frontend {
24
25 class GuiPrint;
26
27 class GuiPrintDialog : public QDialog, public Ui::PrintUi {
28         Q_OBJECT
29 public:
30         GuiPrintDialog(GuiPrint * f);
31 protected Q_SLOTS:
32         virtual void change_adaptor();
33         virtual void browseClicked();
34         virtual void fileChanged();
35         virtual void copiesChanged(int);
36         virtual void printerChanged();
37         virtual void pagerangeChanged();
38 private:
39         GuiPrint * form_;
40 };
41
42
43 class GuiPrint : public GuiView<GuiPrintDialog>
44 {
45 public:
46         ///
47         friend class GuiPrintDialog;
48         ///
49         GuiPrint(Dialog &);
50         /// parent controller
51         ControlPrint & controller()
52         { return static_cast<ControlPrint &>(this->getController()); }
53         /// parent controller
54         ControlPrint const & controller() const
55         { return static_cast<ControlPrint const &>(this->getController()); }
56 private:
57         /// Apply changes
58         virtual void apply();
59         /// update
60         virtual void update_contents();
61         /// build the dialog
62         virtual void build_dialog();
63 };
64
65 } // namespace frontend
66 } // namespace lyx
67
68 #endif // GUIPRINT_H