GuiPrintNomencl.{cpp,h}:
[lyx.git] / src / frontends / qt4 / GuiTabular.h
blobf70d988daa9beb9b8b0ebec4e20e69d5dcd1216a
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.
7 * \author John Levon
8 * \author Kalle Dalheimer
9 * \author Jürgen Spitzmüller
10 * \author Herbert Voß
12 * Full author contact details are available in file CREDITS.
15 #ifndef GUITABULAR_H
16 #define GUITABULAR_H
18 #include "GuiDialog.h"
19 #include "ui_TabularUi.h"
20 #include "insets/InsetTabular.h"
22 namespace lyx {
23 namespace frontend {
25 class GuiTabular : public GuiDialog, public Ui::TabularUi
27 Q_OBJECT
29 public:
30 GuiTabular(GuiView & lv);
31 ~GuiTabular();
33 private Q_SLOTS:
34 void change_adaptor();
36 void topspace_changed();
37 void bottomspace_changed();
38 void interlinespace_changed();
39 void booktabsChanged(bool);
40 void close_clicked();
41 void borderSet_clicked();
42 void borderUnset_clicked();
43 void leftBorder_changed();
44 void rightBorder_changed();
45 void topBorder_changed();
46 void bottomBorder_changed();
47 void multicolumn_clicked();
48 void rotateTabular();
49 void rotateCell();
50 void hAlign_changed(int align);
51 void vAlign_changed(int align);
52 void specialAlignment_changed();
53 void width_changed();
54 void longTabular();
55 void ltNewpage_clicked();
56 void ltHeaderStatus_clicked();
57 void ltHeaderBorderAbove_clicked();
58 void ltHeaderBorderBelow_clicked();
59 void ltFirstHeaderStatus_clicked();
60 void ltFirstHeaderBorderAbove_clicked();
61 void ltFirstHeaderBorderBelow_clicked();
62 void ltFirstHeaderEmpty_clicked();
63 void ltFooterStatus_clicked();
64 void ltFooterBorderAbove_clicked();
65 void ltFooterBorderBelow_clicked();
66 void ltLastFooterStatus_clicked();
67 void ltLastFooterBorderAbove_clicked();
68 void ltLastFooterBorderBelow_clicked();
69 void ltLastFooterEmpty_clicked();
70 void on_captionStatusCB_toggled();
72 private:
73 ///
74 bool isValid() { return true; }
75 /// update borders
76 void update_borders();
77 /// update
78 void updateContents();
79 /// save some values before closing the gui
80 void closeGUI();
81 ///
82 bool initialiseParams(std::string const & data);
83 /// clean-up on hide.
84 void clearParams();
85 /// We use set() instead.
86 void dispatchParams() {};
87 ///
88 bool isBufferDependent() const { return true; }
89 ///
90 FuncCode getLfun() const { return LFUN_TABULAR_FEATURE; }
92 ///
93 Tabular::idx_type getActiveCell() const;
94 /// set a parameter
95 void set(Tabular::Feature, std::string const & arg = std::string());
97 void setSpecial(std::string const & special);
99 void setWidth(std::string const & width);
101 void toggleMultiColumn();
103 void rotateTabular(bool yes);
104 void rotateCell(bool yes);
106 enum HALIGN { LEFT, RIGHT, CENTER, BLOCK };
108 void halign(HALIGN h);
110 enum VALIGN { TOP, MIDDLE, BOTTOM };
112 void valign(VALIGN h);
114 void booktabs(bool yes);
116 void longTabular(bool yes);
118 bool funcEnabled(Tabular::Feature f) const;
121 Tabular::idx_type active_cell_;
123 Tabular tabular_;
126 } // namespace frontend
127 } // namespace lyx
129 #endif // GUITABULAR_H