]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetspecialchar.h
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetspecialchar.h
index 1550a68f48ef9789dec5af4993714404b987b40e..26ee9612bde82ee48684161012c687a4420fce19 100644 (file)
@@ -8,23 +8,22 @@
  * \author Jean-Marc Lasgouttes
  * \author Lars Gullik Bjønnes
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef INSET_SPECIALCHAR_H
 #define INSET_SPECIALCHAR_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
 #include "inset.h"
-#include "LString.h"
 
-struct LaTeXFeatures;
+
+namespace lyx {
+
+class LaTeXFeatures;
 
 ///  Used to insert special chars
-class InsetSpecialChar : public Inset {
+class InsetSpecialChar : public InsetOld {
 public:
 
        /// The different kinds of special chars we support
@@ -39,8 +38,6 @@ public:
                END_OF_SENTENCE,
                /// Menu separator
                MENU_SEPARATOR,
-               /// Protected Separator
-               PROTECTED_SEPARATOR
        };
 
        ///
@@ -51,38 +48,29 @@ public:
        ///
        Kind kind() const;
        ///
-       int ascent(BufferView *, LyXFont const &) const;
+       bool metrics(MetricsInfo &, Dimension &) const;
        ///
-       int descent(BufferView *, LyXFont const &) const;
+       void draw(PainterInfo & pi, int x, int y) const;
        ///
-       int width(BufferView *, LyXFont const &) const;
-       ///
-       void draw(BufferView *, LyXFont const &, int, float &, bool) const;
-       ///
-       void write(Buffer const *, std::ostream &) const;
+       void write(Buffer const &, std::ostream &) const;
        /// Will not be used when lyxf3
-       void read(Buffer const *, LyXLex & lex);
-       ///
-       int latex(Buffer const *, std::ostream &,
-                 bool fragile, bool free_spc) const;
+       void read(Buffer const &, LyXLex & lex);
        ///
-       int ascii(Buffer const *, std::ostream &, int linelen) const;
+       int latex(Buffer const &, odocstream &,
+                 OutputParams const &) const;
        ///
-       int linuxdoc(Buffer const *, std::ostream &) const;
+       int plaintext(Buffer const &, odocstream &,
+                 OutputParams const &) const;
        ///
-       int docbook(Buffer const *, std::ostream &, bool mixcont) const;
+       int docbook(Buffer const &, odocstream &,
+                   OutputParams const &) const;
+       /// the string that is passed to the TOC
+       virtual int textString(Buffer const &, odocstream &,
+               OutputParams const &) const;
        ///
-       virtual Inset * clone(Buffer const &, bool same_id = false) const;
-       ///
-       Inset::Code lyxCode() const
-       {
-               return Inset::SPECIALCHAR_CODE;
-       }
+       InsetBase::Code lyxCode() const { return InsetBase::SPECIALCHAR_CODE; }
        /// We don't need \begin_inset and \end_inset
-       bool directWrite() const
-       {
-               return true;
-       };
+       bool directWrite() const { return true; }
        ///
        void validate(LaTeXFeatures &) const;
 
@@ -90,14 +78,16 @@ public:
        bool isChar() const;
        /// is this equivalent to a letter?
        bool isLetter() const;
-       /// is this equivalent to a space (which is BTW different from
-       // a line separator)?
-       bool isSpace() const;
        // should we break lines after this inset?
        bool isLineSeparator() const;
 private:
+       virtual std::auto_ptr<InsetBase> doClone() const;
+
        /// And which kind is this?
        Kind kind_;
 };
 
+
+} // namespace lyx
+
 #endif