X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Finsets%2FInsetQuotes.h;h=0e4f46cbacc56614012099b8f9050ffc807f838d;hb=68ee68103a77300c3aa01db9e63bd01b8243a0eb;hp=a8b1a17fa6c6ce8fc69ed27828dc0037e4885640;hpb=39e79d8602920eefe36e898c9f415afb979521b2;p=lyx.git diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h index a8b1a17fa6..0e4f46cbac 100644 --- a/src/insets/InsetQuotes.h +++ b/src/insets/InsetQuotes.h @@ -12,52 +12,47 @@ #ifndef INSET_QUOTES_H #define INSET_QUOTES_H - #include "Inset.h" -#include "support/types.h" +#include "support/docstring.h" namespace lyx { -class BufferParams; -class Language; -class LaTeXFeatures; - - /** Quotes. Used for the various quotes. German, English, French, all either double or single **/ -class InsetQuotes : public InsetOld { +class InsetQuotes : public Inset +{ public: /// - enum quote_language { + enum QuoteLanguage { /// - EnglishQ, + EnglishQuotes, /// - SwedishQ, + SwedishQuotes, /// - GermanQ, + GermanQuotes, /// - PolishQ, + PolishQuotes, /// - FrenchQ, + FrenchQuotes, /// - DanishQ + DanishQuotes }; /// - enum quote_side { + enum QuoteSide { /// - LeftQ, + LeftQuote, /// - RightQ + RightQuote }; /// - enum quote_times { + enum QuoteTimes { /// - SingleQ, + SingleQuotes, /// - DoubleQ + DoubleQuotes }; /** The constructor works like this: @@ -67,61 +62,60 @@ public: \item etc. \end{itemize} */ - explicit - InsetQuotes(std::string const & str = "eld"); - /// Create the right quote inset after character c - InsetQuotes(char_type c, BufferParams const & params); + explicit InsetQuotes(Buffer * buf, std::string const & str = "eld"); /// Direct access to inner/outer quotation marks - InsetQuotes(char_type c, quote_language l, quote_times t); + InsetQuotes(Buffer * buf, char_type c, QuoteTimes t); /// - bool metrics(MetricsInfo &, Dimension &) const; + docstring layoutName() const; + /// + void metrics(MetricsInfo &, Dimension &) const; /// void draw(PainterInfo & pi, int x, int y) const; -#if 0 /// - LyXFont const convertFont(LyXFont const & font) const; -#endif + void write(std::ostream &) const; /// - void write(Buffer const &, std::ostream &) const; + void read(Lexer & lex); /// - void read(Buffer const &, Lexer & lex); + void latex(otexstream &, OutputParams const &) 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; - /// the string that is passed to the TOC - virtual void textString(Buffer const &, odocstream &) const; + /// + void toString(odocstream &) const; + /// + void forOutliner(docstring &, size_t maxlen) const; /// void validate(LaTeXFeatures &) const; /// - InsetBase::Code lyxCode() const; - // should this inset be handled like a normal character + InsetCode lyxCode() const { return QUOTE_CODE; } + /// should this inset be handled like a normal character bool isChar() const { return true; } private: - virtual std::auto_ptr doClone() const; + /// + Inset * clone() const { return new InsetQuotes(*this); } + /// Decide whether we need left or right quotation marks + void setSide(char_type c); /// - quote_language language_; + void parseString(std::string const &); /// - quote_side side_; + docstring displayString() const; /// - quote_times times_; + docstring getQuoteEntity() const; - /** The parameters of the constructor are the language, the - side and the multiplicity of the quote. - */ - InsetQuotes(quote_language l, quote_side s, quote_times t); - /// Decide whether we need left or right quotation marks - void getPosition(char_type c); /// - void parseString(std::string const &); + QuoteLanguage language_; + /// + QuoteSide side_; /// - lyx::docstring const dispString(Language const *) const; + QuoteTimes times_; }; } // namespace lyx