* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Jürgen Vigna
- * \author Lars Gullik Bjønnes
+ * \author Jürgen Vigna
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INSETERT_H
#define INSETERT_H
-#include "InsetCollapsable.h"
-#include "MailInset.h"
-
+#include "InsetCollapsible.h"
namespace lyx {
-/** A collapsable text inset for LaTeX insertions.
+/** A collapsible text inset for LaTeX insertions.
To write full ert (including styles and other insets) in a given
space.
class Language;
-class InsetERT : public InsetCollapsable {
+class InsetERT : public InsetCollapsible {
public:
///
- InsetERT(BufferParams const &, CollapseStatus status = Open);
-#if 0
- ///
- InsetERT(BufferParams const &,
- Language const *, std::string const & contents, CollapseStatus status);
-#endif
+ InsetERT(Buffer *, CollapseStatus status = Open);
///
- ~InsetERT();
+ InsetERT(InsetERT const & old);
///
- InsetCode lyxCode() const { return ERT_CODE; }
+ static CollapseStatus string2params(std::string const &);
///
- docstring name() const { return from_ascii("ERT"); }
- ///
- void write(Buffer const & buf, std::ostream & os) const;
+ static std::string params2string(CollapseStatus);
+
+ std::string contextMenuName() const
+ { return "context-ert"; }
+private:
///
- void read(Buffer const & buf, Lexer & lex);
+ InsetCode lyxCode() const { return ERT_CODE; }
///
- virtual docstring const editMessage() const;
+ docstring layoutName() const { return from_ascii("ERT"); }
///
- bool insetAllowed(InsetCode code) const;
+ void write(std::ostream & os) const;
///
- int latex(Buffer const &, odocstream &,
- OutputParams const &) const;
+ int plaintext(odocstringstream & ods, OutputParams const & op,
+ size_t max_length = INT_MAX) const;
///
- int plaintext(Buffer const &, odocstream &,
- OutputParams const &) const;
+ int docbook(odocstream &, OutputParams const &) const;
///
- int docbook(Buffer const &, odocstream &,
- OutputParams const &) const;
+ docstring xhtml(XHTMLStream &, OutputParams const &) const;
///
void validate(LaTeXFeatures &) const {}
+ /// should paragraph indendation be omitted in any case?
+ bool neverIndent() const { return true; }
///
- void metrics(MetricsInfo &, Dimension &) const;
- ///
- void draw(PainterInfo & pi, int x, int y) const;
- ///
- bool showInsetDialog(BufferView *) const;
- ///
- void getDrawFont(Font &) const;
- ///
- bool forceDefaultParagraphs(idx_type) const { return true; }
- /// should paragraph indendation be ommitted in any case?
- bool neverIndent(Buffer const &) const { return true; }
-protected:
- InsetERT(InsetERT const &);
- ///
- virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
+ void doDispatch(Cursor & cur, FuncRequest & cmd);
///
bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
-private:
- virtual Inset * clone() const;
+ ///
+ Inset * clone() const { return new InsetERT(*this); }
///
- void init();
- ///
- void setButtonLabel();
+ docstring const buttonLabel(BufferView const & bv) const;
///
bool allowSpellCheck() const { return false; }
-};
-
-
-class InsetERTMailer : public MailInset {
-public:
- ///
- InsetERTMailer(InsetERT & inset);
- ///
- virtual Inset & inset() const { return inset_; }
- ///
- virtual std::string const & name() const { return name_; }
- ///
- virtual std::string const inset2string(Buffer const &) const;
- ///
- static void string2params(std::string const &,
- InsetCollapsable::CollapseStatus &);
- ///
- static std::string const params2string(InsetCollapsable::CollapseStatus);
-private:
- ///
- static std::string const name_;
///
- InsetERT & inset_;
+ bool insetAllowed(InsetCode code) const { return code == QUOTE_CODE; }
};