]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormPrint.h
b101eab159c1884161887cd4731602ee9a256b33
[lyx.git] / src / frontends / xforms / FormPrint.h
1 /* This file is part of
2  * ======================================================
3  * 
4  *           LyX, The Document Processor
5  *       
6  *          Copyright 1995 Matthias Ettrich
7  *          Copyright 1995-2001 The LyX Team.
8  *
9  *          This file copyright 1999-2000
10  *          Allan Rae
11  *======================================================
12  *
13  * \file FormPrint.h
14  * \author Allan Rae, rae@lyx.org
15  * \author Angus Leeming, a.leeming@.ac.uk
16  */
17
18 #ifndef FORMPRINT_H
19 #define FORMPRINT_H
20
21 #include <boost/smart_ptr.hpp>
22
23 #ifdef __GNUG__
24 #pragma interface
25 #endif
26
27 #include "FormBase.h"
28 #include "RadioButtonGroup.h"
29
30 class ControlPrint;
31 struct FD_form_print;
32
33 /** This class provides an XForms implementation of the FormPrint Dialog.
34     The print dialog allows users to print their documents.
35  */
36 class FormPrint : public FormCB<ControlPrint, FormDB<FD_form_print> > {
37 public:
38         /// 
39         FormPrint(ControlPrint &);
40
41 private:
42         /// Apply from dialog
43         virtual void apply();
44         /// Build the dialog
45         virtual void build();
46         /// Update the dialog.
47         virtual void update();
48         /// Filter the inputs on callback from xforms
49         virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
50
51         /// Open the file browse dialog.
52         void browse();
53
54         /// Fdesign generated method
55         FD_form_print * build_print();
56
57         /// print target
58         RadioButtonGroup target_;
59         /// page order
60         RadioButtonGroup order_;
61         /// which pages
62         RadioButtonGroup which_;
63 };
64
65 #endif // FORMPRINT_H