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
25 class ControlTabular : public Dialog::Controller {
28 ControlTabular(Dialog &);
30 virtual bool initialiseParams(std::string const & data);
32 virtual void clearParams();
33 /// We use set() instead.
34 virtual void dispatchParams() {};
36 virtual bool isBufferDependent() const { return true; }
39 int getActiveCell() const;
40 /// get the contained tabular
41 LyXTabular const & tabular() const;
42 /// return true if units should default to metric
43 bool useMetricUnits() const;
45 void set(LyXTabular::Feature, std::string const & arg = std::string());
49 void toggleBottomLine();
50 void toggleLeftLine();
51 void toggleRightLine();
53 void setSpecial(std::string const & special);
55 void setWidth(std::string const & width);
57 void toggleMultiColumn();
59 void rotateTabular(bool yes);
60 void rotateCell(bool yes);
62 enum HALIGN { LEFT, RIGHT, CENTER, BLOCK };
64 void halign(HALIGN h);
66 enum VALIGN { TOP, MIDDLE, BOTTOM };
68 void valign(VALIGN h);
70 void longTabular(bool yes);
76 boost::scoped_ptr<LyXTabular> params_;
79 } // namespace frontend
82 #endif // CONTROLTABULAR_H