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
12 #ifndef INSETENVIRONMENT_H
13 #define INSETENVIRONMENT_H
15 #include "insettext.h"
16 #include "lyxlayout_ptr_fwd.h"
18 class InsetEnvironment : public InsetText {
21 InsetEnvironment(BufferParams const &, string const & name);
23 InsetEnvironment(InsetEnvironment const &);
25 //InsetEnvironment(InsetEnvironment const &, bool same_id);
27 void write(Buffer const * buf, std::ostream & os) const;
29 void read(Buffer const * buf, LyXLex & lex);
31 Inset * clone(Buffer const &) const;
33 //Inset * clone(Buffer const &, bool same_id) const;
35 Inset::Code lyxCode() const { return Inset::ENVIRONMENT_CODE; }
37 int latex(Buffer const *, std::ostream &,
38 LatexRunParams const &) const;
40 string const editMessage() const;
42 Inset::EDITABLE editable() const { return HIGHLY_EDITABLE; }
44 bool isTextInset() const { return true; }
46 LyXLayout_ptr const & layout() const;
48 bool needFullRow() const { return true; }
49 /** returns true if, when outputing LaTeX, font changes should
50 be closed before generating this inset. This is needed for
51 insets that may contain several paragraphs */
52 bool noFontChange() const { return true; }
56 LyXLayout_ptr layout_;