]> git.lyx.org Git - lyx.git/blob - src/frontends/gnome/FormPrint.h
Move LaTeX and VC logs to GUI-I on xforms
[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 "boost/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   void updateSlot(bool = false);
63   /// Free memory
64   void free();
65   //@}
66   
67   /**@name Dialog internal methods */
68   //@{
69   /// Apply from dialog
70   void apply();
71   //@}
72   
73   /**@name Private Data */
74   //@{
75   /// Real GUI implementation.
76   Gtk::Widget * dialog_;
77   
78   Gtk::RadioButton * print_all_;
79   Gtk::RadioButton * print_odd_;
80   Gtk::RadioButton * print_even_;
81
82   Gtk::CheckButton * print_pages_;
83
84   Gtk::SpinButton  * print_from_;
85   Gtk::SpinButton  * print_to_;
86   
87   Gtk::RadioButton * order_normal_;
88   Gtk::RadioButton * order_reverse_;
89
90   Gtk::CheckButton * copies_unsorted_;
91   Gtk::SpinButton  * copies_count_;
92
93   Gtk::RadioButton * printto_printer_;
94   Gtk::RadioButton * printto_file_;
95
96   Gnome::Entry * printto_printcommand_;
97   Gnome::FileEntry * printto_fileentry_;
98   
99   /// Which LyXView do we belong to?
100   LyXView * lv_;
101   Dialogs * d_;
102   /// Update connection.
103   Connection u_;
104   /// Hide connection.
105   Connection h_;
106   //@}
107 };
108
109 #endif