1 // -*- C++ -*- 2 /** 3 * \file InsetMathTabular.h 4 * This file is part of LyX, the document processor. 5 * Licence details can be found in the file COPYING. 6 * 7 * \author André Pönitz 8 * 9 * Full author contact details are available in file CREDITS. 10 */ 11 12 #ifndef MATH_TABULARINSET_H 13 #define MATH_TABULARINSET_H 14 15 #include "InsetMathGrid.h" 16 17 18 namespace lyx { 19 20 21 /// Inset for things like \begin{tabular}...\end{tabular} 22 class InsetMathTabular : public InsetMathGrid { 23 public: 24 /// 25 InsetMathTabular(Buffer * buf, docstring const &, int m, int n); 26 /// 27 InsetMathTabular(Buffer * buf, docstring const &, int m, int n, 28 char valign, docstring const & halign); 29 /// 30 void metrics(MetricsInfo & mi, Dimension & dim) const; 31 /// 32 void draw(PainterInfo & pi, int x, int y) const; 33 /// asTabularInset()34 InsetMathTabular * asTabularInset() { return this; } 35 /// asTabularInset()36 InsetMathTabular const * asTabularInset() const { return this; } 37 38 /// 39 void write(WriteStream & os) const; 40 /// 41 void infoize(odocstream & os) const; 42 /// 43 void normalize(NormalStream &) const; 44 /// 45 void maple(MapleStream &) const; 46 /// lyxCode()47 InsetCode lyxCode() const { return MATH_TABULAR_CODE; } 48 /// leftMargin()49 int leftMargin() const { return 4; } //override 50 /// rightMargin()51 int rightMargin() const { return 2; } //override 52 /// handlesMulticolumn()53 bool handlesMulticolumn() const { return true; } //override 54 55 private: 56 Inset * clone() const; 57 /// 58 docstring name_; 59 }; 60 61 } // namespace lyx 62 63 #endif 64