]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetQuotes.h
Fix formatFPnumber with negative doubles.
[lyx.git] / src / insets / InsetQuotes.h
index 55bd794f189bcfd973f5ca7efac8e6c75a5ebd7b..0e4f46cbacc56614012099b8f9050ffc807f838d 100644 (file)
 #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