]> git.lyx.org Git - lyx.git/blob - src/frontends/gnome/FormPrint.h
small patch from Dekel, begin introducing the real boost framework, get rid of the...
[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 #include "support/utility.hpp"
19
20 #include <gtk--/widget.h>
21 #include <gtk--/radiobutton.h>
22 #include <gtk--/checkbutton.h>
23 #include <gtk--/spinbutton.h>
24 #include <gnome--/entry.h>
25 #include <gnome--/file-entry.h>
26
27
28 #ifdef __GNUG__
29 #pragma interface
30 #endif
31
32 class LyXView;
33 class Dialogs;
34
35 #ifdef SIGC_CXX_NAMESPACES
36 using SigC::Connection;
37 #endif
38
39 /** This class provides an Gnome implementation of the FormPrint Dialog.
40     The print dialog allows users to print their documents.
41  */
42 class FormPrint : public DialogBase, public noncopyable {
43 public:
44   /**@name Constructors and Destructors */
45   //@{
46   /// #FormPrint x(LyXFunc ..., Dialogs ...);#
47   FormPrint(LyXView *, Dialogs *);
48   ///
49   ~FormPrint();
50   //@}
51   
52
53 private:
54   /**@name Slot Methods */
55   //@{
56   /// Create the dialog if necessary, update it and display it.
57   void show();
58   /// Hide the dialog.
59   void hide();
60   /// Update the dialog.
61   void update();
62   /// Free memory
63   void free();
64   //@}
65   
66   /**@name Dialog internal methods */
67   //@{
68   /// Apply from dialog
69   void apply();
70   //@}
71   
72   /**@name Private Data */
73   //@{
74   /// Real GUI implementation.
75   Gtk::Widget * dialog_;
76   
77   Gtk::RadioButton * print_all_;
78   Gtk::RadioButton * print_odd_;
79   Gtk::RadioButton * print_even_;
80
81   Gtk::CheckButton * print_pages_;
82
83   Gtk::SpinButton  * print_from_;
84   Gtk::SpinButton  * print_to_;
85   
86   Gtk::RadioButton * order_normal_;
87   Gtk::RadioButton * order_reverse_;
88
89   Gtk::CheckButton * copies_unsorted_;
90   Gtk::SpinButton  * copies_count_;
91
92   Gtk::RadioButton * printto_printer_;
93   Gtk::RadioButton * printto_file_;
94
95   Gnome::Entry * printto_printcommand_;
96   Gnome::FileEntry * printto_fileentry_;
97   
98   /// Which LyXView do we belong to?
99   LyXView * lv_;
100   Dialogs * d_;
101   /// Update connection.
102   Connection u_;
103   /// Hide connection.
104   Connection h_;
105   //@}
106 };
107
108 #endif