3 * \file ControlTabular.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
11 * This is pretty icky, we should really be able to use
12 * ControlInset. We can't because there are no params for
16 #ifndef CONTROLTABULAR_H
17 #define CONTROLTABULAR_H
23 class ControlTabular : public Dialog::Controller {
26 ControlTabular(Dialog &);
28 virtual bool initialiseParams(std::string const & data);
30 virtual void clearParams();
31 /// We use set() instead.
32 virtual void dispatchParams() {};
34 virtual bool isBufferDependent() const { return true; }
37 int getActiveCell() const;
38 /// get the contained tabular
39 LyXTabular const & tabular() const;
40 /// return true if units should default to metric
41 bool useMetricUnits() const;
43 void set(LyXTabular::Feature, std::string const & arg = std::string());
47 void toggleBottomLine();
48 void toggleLeftLine();
49 void toggleRightLine();
51 void setSpecial(std::string const & special);
53 void setWidth(std::string const & width);
55 void toggleMultiColumn();
57 void rotateTabular(bool yes);
58 void rotateCell(bool yes);
60 enum HALIGN { LEFT, RIGHT, CENTER, BLOCK };
62 void halign(HALIGN h);
64 enum VALIGN { TOP, MIDDLE, BOTTOM };
66 void valign(VALIGN h);
68 void longTabular(bool yes);
74 boost::scoped_ptr<LyXTabular> params_;
77 #endif // CONTROLTABULAR_H