]> git.lyx.org Git - lyx.git/blob - src/frontends/gnome/FormPrint.h
Michael's latest batch of new gnome files.
[lyx.git] / src / frontends / gnome / FormPrint.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  * 
5  *           LyX, The Document Processor
6  *       
7  *          Copyright 2000 The LyX Team.
8  *
9  * ====================================================== */
10 /* FormPrint.h
11  * FormPrint Interface Class
12  */
13
14 #ifndef FORMPRINT_H
15 #define FORMPRINT_H
16
17 #include "DialogBase.h"
18
19 #include <gtk--/widget.h>
20 #include <gtk--/radiobutton.h>
21 #include <gtk--/checkbutton.h>
22 #include <gtk--/spinbutton.h>
23 #include <gnome--/entry.h>
24 #include <gnome--/file-entry.h>
25
26
27 #ifdef __GNUG__
28 #pragma interface
29 #endif
30
31 class LyXView;
32 class Dialogs;
33
34 /** This class provides an Gnome implementation of the FormPrint Dialog.
35     The print dialog allows users to print their documents.
36  */
37 class FormPrint : public DialogBase {
38 public:
39   /**@name Constructors and Destructors */
40   //@{
41   /// #FormPrint x(LyXFunc ..., Dialogs ...);#
42   FormPrint(LyXView *, Dialogs *);
43   ///
44   ~FormPrint();
45   //@}
46   
47
48 private:
49   /**@name Slot Methods */
50   //@{
51   /// Create the dialog if necessary, update it and display it.
52   void show();
53   /// Hide the dialog.
54   void hide();
55   /// Update the dialog.
56   void update() { }
57   void updateSlot(bool = false);
58   /// Free memory
59   void free();
60   //@}
61   
62   /**@name Dialog internal methods */
63   //@{
64   /// Apply from dialog
65   void apply();
66   //@}
67   
68   /**@name Private Data */
69   //@{
70   /// Real GUI implementation.
71   Gtk::Widget * dialog_;
72   
73   Gtk::RadioButton * print_all_;
74   Gtk::RadioButton * print_odd_;
75   Gtk::RadioButton * print_even_;
76
77   Gtk::CheckButton * print_pages_;
78
79   Gtk::SpinButton  * print_from_;
80   Gtk::SpinButton  * print_to_;
81   
82   Gtk::RadioButton * order_normal_;
83   Gtk::RadioButton * order_reverse_;
84
85   Gtk::CheckButton * copies_unsorted_;
86   Gtk::SpinButton  * copies_count_;
87
88   Gtk::RadioButton * printto_printer_;
89   Gtk::RadioButton * printto_file_;
90
91   Gnome::Entry * printto_printcommand_;
92   Gnome::FileEntry * printto_fileentry_;
93   
94   /// Which LyXView do we belong to?
95   LyXView * lv_;
96   Dialogs * d_;
97   /// Update connection.
98   SigC::Connection u_;
99   /// Hide connection.
100   SigC::Connection h_;
101   //@}
102 };
103
104 #endif