]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetquotes.h
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetquotes.h
index a7ef065802eb8c400bb8058597e7a1d055c3532c..cbd2f5dcbfcdff84687a51709ca9e19eb23e4f85 100644 (file)
 
 #include "inset.h"
 
+#include "support/types.h"
+
+
+namespace lyx {
+
 class BufferParams;
 class Language;
-
-struct LaTeXFeatures;
+class LaTeXFeatures;
 
 
 /** Quotes.
@@ -66,11 +70,11 @@ public:
        explicit
        InsetQuotes(std::string const & str = "eld");
        /// Create the right quote inset after character c
-       InsetQuotes(char c, BufferParams const & params);
-       ///
-       virtual std::auto_ptr<InsetBase> clone() const;
+       InsetQuotes(char_type c, BufferParams const & params);
+       /// Direct access to inner/outer quotation marks
+       InsetQuotes(char_type c, quote_language l, quote_times t);
        ///
-       void metrics(MetricsInfo &, Dimension &) const;
+       bool metrics(MetricsInfo &, Dimension &) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
 #if 0
@@ -82,25 +86,25 @@ public:
        ///
        void read(Buffer const &, LyXLex & lex);
        ///
-       int latex(Buffer const &, std::ostream &,
-                 LatexRunParams const &) const;
-       ///
-       int ascii(Buffer const &, std::ostream &,
-                 LatexRunParams const &) const;
+       int latex(Buffer const &, odocstream &, OutputParams const &) const;
        ///
-       int linuxdoc(Buffer const &, std::ostream &,
-                    LatexRunParams const &) const;
+       int plaintext(Buffer const &, odocstream &, OutputParams const &) const;
        ///
-       int docbook(Buffer const &, std::ostream &,
-                   LatexRunParams const &) const;
+       int docbook(Buffer const &, odocstream &, OutputParams const &) const;
+
+       /// the string that is passed to the TOC
+       virtual void textString(Buffer const &, odocstream &) const;
+
        ///
        void validate(LaTeXFeatures &) const;
        ///
-       InsetOld::Code lyxCode() const;
-       // should this inset be handled like a normal charater
+       InsetBase::Code lyxCode() const;
+       // should this inset be handled like a normal character
        bool isChar() const { return true; }
 
 private:
+       virtual std::auto_ptr<InsetBase> doClone() const;
+
        ///
        quote_language language_;
        ///
@@ -112,9 +116,14 @@ private:
            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 &);
        ///
-       std::string const dispString(Language const *) const;
+       lyx::docstring const dispString(Language const *) const;
 };
+
+} // namespace lyx
+
 #endif