]> git.lyx.org Git - features.git/blob - src/frontends/qt2/QDocumentDialog.h
fix bug 844, and more
[features.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         Q_OBJECT
38 public:
39         friend class QDocument;
40
41         QDocumentDialog(QDocument *);
42         ~QDocumentDialog();
43
44         void updateFontsize(string const &, string const &);
45         void updatePagestyle(string const &, string const &);
46
47 public slots:
48         void setTitle(int);
49         void change_adaptor();
50         void saveDefaultClicked();
51         void useDefaultsClicked();
52
53 protected slots:
54         void setLSpacing(int);
55         void setMargins(int);
56         void setCustomPapersize(int);
57         void setCustomMargins(int);
58         void setSkip(int);
59         void enableSkip(bool);
60         void portraitChanged();
61         void classChanged();
62
63 protected:
64         void closeEvent(QCloseEvent * e);
65
66 private:
67         enum Module {
68                 LAYOUT,
69                 PAPER,
70                 MARGINS,
71                 LANGUAGE,
72                 BULLETS,
73                 NUMBERING,
74                 BIBLIOGRAPHY,
75                 PACKAGES,
76                 PREAMBLE
77         };
78
79         ClassModuleBase * layoutModule;
80         PaperModuleBase * paperModule;
81         MarginsModuleBase * marginsModule;
82         LanguageModuleBase * langModule;
83         BulletsModule * bulletsModule;
84         NumberingModuleBase * numberingModule;
85         BiblioModuleBase * biblioModule;
86         PackagesModuleBase * packagesModule;
87         PreambleModuleBase * preambleModule;
88
89         QDocument * form_;
90 };
91
92 #endif // DOCUMENTDIALOG_H