X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetQuotes.h;h=0e4f46cbacc56614012099b8f9050ffc807f838d;hb=c9d9309c1ecffa218dee04ce4f7991ed4fc0c9bb;hp=55bd794f189bcfd973f5ca7efac8e6c75a5ebd7b;hpb=36ec5a880fbc12a5eebcac31b72e2714645e6605;p=lyx.git diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h index 55bd794f18..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 Inset { +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,13 +62,11 @@ 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); /// - docstring name() const; + docstring layoutName() const; /// void metrics(MetricsInfo &, Dimension &) const; /// @@ -83,14 +76,19 @@ public: /// void read(Lexer & lex); /// - int latex(odocstream &, OutputParams const &) const; + void latex(otexstream &, OutputParams const &) const; /// - int plaintext(odocstream &, OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// int docbook(odocstream &, OutputParams const &) const; + /// + docstring xhtml(XHTMLStream &, OutputParams const &) const; - /// the string that is passed to the TOC - void textString(odocstream &) const; + /// + void toString(odocstream &) const; + /// + void forOutliner(docstring &, size_t maxlen) const; /// void validate(LaTeXFeatures &) const; @@ -103,23 +101,21 @@ private: /// 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_; /// - docstring dispString() const; + QuoteTimes times_; }; } // namespace lyx