]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/GuiTabular.h
7339d5c60b991c856733427efd484ceb07bfbbf6
[lyx.git] / src / frontends / qt4 / GuiTabular.h
1 // -*- C++ -*-
2 /**
3  * \file GuiTabular.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  * \author Kalle Dalheimer
9  * \author Jürgen Spitzmüller
10  * \author Herbert Voß
11  *
12  * Full author contact details are available in file CREDITS.
13  */
14
15 #ifndef GUITABULAR_H
16 #define GUITABULAR_H
17
18 #include "GuiDialogView.h"
19 #include "ControlTabular.h"
20 #include "ui_TabularUi.h"
21
22 #include <QDialog>
23
24 namespace lyx {
25 namespace frontend {
26
27 class GuiTabular;
28
29 class GuiTabularDialog : public QDialog, public Ui::TabularUi
30 {
31         Q_OBJECT
32 public:
33         GuiTabularDialog(GuiTabular * form);
34
35 protected Q_SLOTS:
36         virtual void change_adaptor();
37
38         virtual void topspace_changed();
39         virtual void bottomspace_changed();
40         virtual void interlinespace_changed();
41         virtual void booktabsChanged(bool);
42         virtual void close_clicked();
43         virtual void borderSet_clicked();
44         virtual void borderUnset_clicked();
45         virtual void leftBorder_changed();
46         virtual void rightBorder_changed();
47         virtual void topBorder_changed();
48         virtual void bottomBorder_changed();
49         virtual void multicolumn_clicked();
50         virtual void rotateTabular();
51         virtual void rotateCell();
52         virtual void hAlign_changed(int align);
53         virtual void vAlign_changed(int align);
54         virtual void specialAlignment_changed();
55         virtual void width_changed();
56         virtual void longTabular();
57         virtual void ltNewpage_clicked();
58         virtual void ltHeaderStatus_clicked();
59         virtual void ltHeaderBorderAbove_clicked();
60         virtual void ltHeaderBorderBelow_clicked();
61         virtual void ltFirstHeaderStatus_clicked();
62         virtual void ltFirstHeaderBorderAbove_clicked();
63         virtual void ltFirstHeaderBorderBelow_clicked();
64         virtual void ltFirstHeaderEmpty_clicked();
65         virtual void ltFooterStatus_clicked();
66         virtual void ltFooterBorderAbove_clicked();
67         virtual void ltFooterBorderBelow_clicked();
68         virtual void ltLastFooterStatus_clicked();
69         virtual void ltLastFooterBorderAbove_clicked();
70         virtual void ltLastFooterBorderBelow_clicked();
71         virtual void ltLastFooterEmpty_clicked();
72
73 protected:
74         virtual void closeEvent(QCloseEvent * e);
75
76 private:
77         GuiTabular * form_;
78 };
79
80
81 class GuiTabular : public GuiView<GuiTabularDialog> 
82 {
83 public:
84         friend class GuiTabularDialog;
85
86         GuiTabular(GuiDialog &);
87
88         /// parent controller
89         ControlTabular & controller()
90         { return static_cast<ControlTabular &>(this->getController()); }
91         /// parent controller
92         ControlTabular const & controller() const
93         { return static_cast<ControlTabular const &>(this->getController()); }
94 protected:
95         virtual bool isValid();
96
97 private:
98         /// We can't use this ...
99         virtual void apply() {}
100         /// update borders
101         virtual void update_borders();
102         /// update
103         virtual void update_contents();
104         /// build the dialog
105         virtual void build_dialog();
106         /// save some values before closing the gui
107         virtual void closeGUI();
108 };
109
110 } // namespace frontend
111 } // namespace lyx
112
113 #endif // GUITABULAR_H