]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QDocumentDialog.h
Brand new qt document dialog. Not finished yet though. TODO is updated and lists
[lyx.git] / src / frontends / qt2 / QDocumentDialog.h
1 // -*- C++ -*-
2 /**
3  * \file QDocumentDialog.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Edwin Leuven
8  *
9  * Full author contact details are available in file CREDITS
10  */
11
12 #ifndef QDOCUMENTDIALOG_H
13 #define QDOCUMENTDIALOG_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "ui/QDocumentDialogBase.h"
20 #include "LString.h"
21
22 #include "ui/BulletsModuleBase.h"
23 #include "BulletsModule.h"
24
25 #include "ui/ClassModuleBase.h"
26 #include "ui/PackagesModuleBase.h"
27 #include "ui/PaperModuleBase.h"
28 #include "ui/LanguageModuleBase.h"
29 #include "ui/BiblioModuleBase.h"
30 #include "ui/NumberingModuleBase.h"
31 #include "ui/MarginsModuleBase.h"
32 #include "ui/PreambleModuleBase.h"
33
34 class QDocument;
35
36 class QDocumentDialog : public QDocumentDialogBase
37
38         Q_OBJECT
39
40 public:
41         
42         QDocumentDialog( QDocument * );
43         
44         ~QDocumentDialog();
45
46         void showPreamble();
47         
48         friend class QDocument;
49
50         void updateFontsize(string const & , string const & );
51         
52         void updatePagestyle(string const & , string const & );
53         
54 public slots:
55
56         void setTitle(int);
57         void change_adaptor();
58         void saveDocDefault();
59         void restore();
60         void useClassDefaults();
61
62 protected slots:
63
64         void setLSpacing(int);
65         void setMargins(int);
66         void setCustomPapersize(int);
67         void setCustomMargins(int);
68         void setSkip(int);
69         void enableSkip(bool);
70         void classChanged();
71         
72 protected:
73     
74     void closeEvent(QCloseEvent * e);
75
76 private:
77         enum Module {
78                 LAYOUT,
79                 PACKAGES,
80                 PAPER,
81                 MARGINS,
82                 LANGUAGE,
83                 BULLETS,
84                 NUMBERING,
85                 BIBLIOGRAPHY,
86                 PREAMBLE
87         };
88         
89         ClassModuleBase * layoutModule;
90         PackagesModuleBase * packagesModule;
91         PaperModuleBase * paperModule;
92         MarginsModuleBase * marginsModule;
93         LanguageModuleBase * langModule;
94         BulletsModule * bulletsModule;
95         NumberingModuleBase * numberingModule;
96         BiblioModuleBase * biblioModule;
97         PreambleModuleBase * preambleModule;
98
99         QDocument * form_;
100 };
101
102 #endif // DOCUMENTDIALOG_H