]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlPrint.h
next one
[lyx.git] / src / frontends / controllers / ControlPrint.h
1 // -*- C++ -*-
2 /**
3  * \file ControlPrint.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Allan Rae
8  * \author Angus Leeming
9  *
10  * Full author contact details are available in file CREDITS.
11  */
12
13 #ifndef CONTROLPRINT_H
14 #define CONTROLPRINT_H
15
16 #include "Dialog.h"
17 #include "PrinterParams.h"
18 #include "support/docstring.h"
19
20 namespace lyx {
21 namespace frontend {
22
23 /** A controller for Print dialogs.
24  */
25 class ControlPrint : public Controller
26 {
27 public:
28         ///
29         ControlPrint(Dialog &);
30         ///
31         virtual bool initialiseParams(std::string const & data);
32         ///
33         virtual void clearParams();
34         ///
35         virtual void dispatchParams();
36         ///
37         virtual bool isBufferDependent() const { return true; }
38         ///
39         virtual bool canApplyToReadOnly() const { return true; }
40         ///
41         virtual kb_action getLfun() const { return LFUN_BUFFER_PRINT; }
42
43         /// Browse for a file
44         docstring const browse(docstring const &) const;
45         ///
46         PrinterParams & params() { return params_; }
47         ///
48         PrinterParams const & params() const { return params_; }
49 private:
50         ///
51         PrinterParams params_;
52 };
53
54 } // namespace frontend
55 } // namespace lyx
56
57 #endif // CONTROLPRINT_H