]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/QDelimiterDialog.h
* src/frontends/qt4/ui/TextLayoutUi.ui:
[lyx.git] / src / frontends / qt4 / QDelimiterDialog.h
1 // -*- C++ -*-
2 /**
3  * \file QDelimiterDialog.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author John Levon
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef QDELIMITERDIALOG_H
13 #define QDELIMITERDIALOG_H
14
15 #include "QDialogView.h"
16
17 #include "ui/DelimiterUi.h"
18
19 #include <string>
20
21 class QListWidgetItem;
22
23 namespace lyx {
24 namespace frontend {
25
26 class ControlMath;
27 class QMathDelimiter;
28
29 class QDelimiterDialog : public QDialog, public Ui::QDelimiterUi {
30         Q_OBJECT
31 public:
32         QDelimiterDialog(QMathDelimiter * form, QWidget * parent);
33 public Q_SLOTS:
34         void on_leftLW_itemActivated(QListWidgetItem *);
35         void on_rightLW_itemActivated(QListWidgetItem *);
36         void on_leftLW_currentRowChanged(int);
37         void on_rightLW_currentRowChanged(int);
38         void on_matchCB_stateChanged(int);
39         void on_insertPB_clicked();
40         void on_sizeCO_activated(int);
41 private:
42         ///
43         char_type doMatch(char_type const symbol) const;
44         ///
45         void updateTeXCode(int size);
46         /// owning form
47         QMathDelimiter * form_;
48         /// TeX code that will be inserted.
49         QString tex_code_;
50 };
51
52
53 class QMathDelimiter : public QController<ControlMath, QView<QDelimiterDialog> > {
54 public:
55         friend class QDelimiterDialog;
56
57         QMathDelimiter(Dialog &);
58
59 private:
60         virtual void apply() {}
61         virtual void update_contents() {}
62         /// Build the dialog.
63         virtual void build_dialog();
64 };
65
66
67 } // namespace frontend
68 } // namespace lyx
69
70 #endif // QDELIMITERDIALOG_H