]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/QCharacter.h
* src/frontends/qt4/ui/TextLayoutUi.ui:
[lyx.git] / src / frontends / qt4 / QCharacter.h
1 // -*- C++ -*-
2 /**
3  * \file QCharacter.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  * \author John Levon
9  *
10  * Full author contact details are available in file CREDITS.
11  */
12
13 #ifndef QCHARACTER_H_CONTROLLER
14 #define QCHARACTER_H_CONTROLLER
15
16 #include "QDialogView.h"
17 #include "ui/CharacterUi.h"
18 #include <QDialog>
19
20 #include "controllers/frontend_helpers.h"
21
22 #include <vector>
23
24 namespace lyx {
25
26 class Font;
27
28 namespace frontend {
29
30 class QCharacter;
31
32 class QCharacterDialog : public QDialog, public Ui::QCharacterUi {
33         Q_OBJECT
34 public:
35         QCharacterDialog(QCharacter * form);
36 protected:
37         void closeEvent(QCloseEvent * e);
38 private:
39         QCharacter * form_;
40 protected Q_SLOTS:
41         void change_adaptor();
42 };
43
44
45 class ControlCharacter;
46
47 class QCharacter
48         : public QController<ControlCharacter, QView<QCharacterDialog> >
49 {
50 public:
51         friend class QCharacterDialog;
52
53         QCharacter(Dialog &);
54 private:
55         /// Apply changes
56         virtual void apply();
57         /// update
58         virtual void update_contents();
59         /// build the dialog
60         virtual void build_dialog();
61
62         std::vector<FamilyPair> family;
63         std::vector<SeriesPair> series;
64         std::vector<ShapePair>  shape;
65         std::vector<SizePair>   size;
66         std::vector<BarPair>    bar;
67         std::vector<ColorPair>  color;
68         std::vector<LanguagePair> language;
69 };
70
71 } // namespace frontend
72 } // namespace lyx
73
74 #endif // QCHARACTER_H