X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetSpecialChar.h;h=5ce620cc2eb78240fdade0c4bfdea4d5c7ecb7f7;hb=15ae3eb85c5494b4343936108cb3b5b7c53bafe4;hp=18cbcf8ee13d57f461eab4121af5f139d7e563b1;hpb=51fbea02a8f7dc1e360a61bdc95d5ac9200cb5f6;p=lyx.git diff --git a/src/insets/InsetSpecialChar.h b/src/insets/InsetSpecialChar.h index 18cbcf8ee1..5ce620cc2e 100644 --- a/src/insets/InsetSpecialChar.h +++ b/src/insets/InsetSpecialChar.h @@ -6,7 +6,7 @@ * * \author Asger Alstrup Nielsen * \author Jean-Marc Lasgouttes - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -15,7 +15,7 @@ #define INSET_SPECIALCHAR_H -#include "InsetBase.h" +#include "Inset.h" namespace lyx { @@ -23,7 +23,7 @@ namespace lyx { class LaTeXFeatures; /// Used to insert special chars -class InsetSpecialChar : public InsetBase { +class InsetSpecialChar : public Inset { public: /// The different kinds of special chars we support @@ -38,50 +38,54 @@ public: END_OF_SENTENCE, /// Menu separator MENU_SEPARATOR, + /// breakable slash + SLASH, + /// protected dash + NOBREAKDASH }; /// - InsetSpecialChar() {} + InsetSpecialChar() : Inset(0) {} /// - explicit - InsetSpecialChar(Kind k); + explicit InsetSpecialChar(Kind k); /// 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; + void write(std::ostream &) const; /// Will not be used when lyxf3 - void read(Buffer const &, Lexer & lex); + void read(Lexer & lex); /// - int latex(Buffer const &, odocstream &, - OutputParams const &) const; + void latex(otexstream &, OutputParams const &) const; /// - int plaintext(Buffer const &, odocstream &, - OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) 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; + int docbook(odocstream &, OutputParams const &) const; /// - InsetBase::Code lyxCode() const { return InsetBase::SPECIALCHAR_CODE; } + docstring xhtml(XHTMLStream &, OutputParams const &) const; + /// + void toString(odocstream &) const; + /// + void forOutliner(docstring &, size_t) const; + /// + InsetCode lyxCode() const { return SPECIALCHAR_CODE; } /// We don't need \begin_inset and \end_inset bool directWrite() const { return true; } /// void validate(LaTeXFeatures &) const; - // should this inset be handled like a normal charater - bool isChar() const; + /// should this inset be handled like a normal character? + bool isChar() const { return true; } /// is this equivalent to a letter? bool isLetter() const; - // should we break lines after this inset? + /// should we break lines after this inset? bool isLineSeparator() const; private: - virtual std::auto_ptr doClone() const; + Inset * clone() const { return new InsetSpecialChar(*this); } /// And which kind is this? Kind kind_;