]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetSpecialChar.h
This should be the last of the commits refactoring the InsetLayout code.
[lyx.git] / src / insets / InsetSpecialChar.h
index 967df46a9d0762c39bd81c393ce1e35aaea82f8d..8103cb21a058aa546bb80cc973789446e33f69fd 100644 (file)
@@ -23,7 +23,7 @@ namespace lyx {
 class LaTeXFeatures;
 
 ///  Used to insert special chars
-class InsetSpecialChar : public InsetOld {
+class InsetSpecialChar : public Inset {
 public:
 
        /// The different kinds of special chars we support
@@ -38,6 +38,10 @@ public:
                END_OF_SENTENCE,
                /// Menu separator
                MENU_SEPARATOR,
+               /// breakable slash
+               SLASH,
+               /// protected dash
+               NOBREAKDASH,
        };
 
        ///
@@ -48,27 +52,26 @@ public:
        ///
        Kind kind() const;
        ///
-       bool metrics(MetricsInfo &, Dimension &) const;
+       void metrics(MetricsInfo &, Dimension &) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
        ///
        void write(Buffer const &, std::ostream &) const;
        /// Will not be used when lyxf3
-       void read(Buffer const &, LyXLex & lex);
+       void read(Buffer const &, Lexer & lex);
        ///
        int latex(Buffer const &, odocstream &,
-                 OutputParams const &) const;
+                 OutputParams const &) const;
        ///
        int plaintext(Buffer const &, odocstream &,
-                     OutputParams const &) const;
+                     OutputParams const &) const;
        ///
        int docbook(Buffer const &, odocstream &,
-                   OutputParams const &) const;
+                   OutputParams const &) const;
        /// the string that is passed to the TOC
-       virtual int textString(Buffer const &, odocstream &,
-               OutputParams const &) const;
+       void textString(Buffer const &, odocstream &) const;
        ///
-       InsetBase::Code lyxCode() const { return InsetBase::SPECIALCHAR_CODE; }
+       InsetCode lyxCode() const { return SPECIALCHAR_CODE; }
        /// We don't need \begin_inset and \end_inset
        bool directWrite() const { return true; }
        ///
@@ -81,7 +84,7 @@ public:
        // should we break lines after this inset?
        bool isLineSeparator() const;
 private:
-       virtual std::auto_ptr<InsetBase> doClone() const;
+       virtual Inset * clone() const;
 
        /// And which kind is this?
        Kind kind_;