2 /* This file is part of*
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 Matthias Ettrich
8 * Copyright 1995-2001 The LyX Team
10 * ====================================================== */
12 #ifndef INSET_QUOTES_H
13 #define INSET_QUOTES_H
28 Used for the various quotes. German, English, French, all either
30 class InsetQuotes : public Inset {
62 /** The constructor works like this:
64 \item fls <- french single quote left
65 \item grd <- german double quote right
70 InsetQuotes(string const & str = "eld");
71 /// Create the right quote inset after character c
72 InsetQuotes(char c, BufferParams const & params);
75 int ascent(BufferView *, LyXFont const &) const;
77 int descent(BufferView *, LyXFont const &) const;
79 int width(BufferView *, LyXFont const &) const;
81 void draw(BufferView *, LyXFont const &, int, float &, bool) const;
83 LyXFont const convertFont(LyXFont const & font) const;
85 void write(Buffer const *, std::ostream &) const;
87 void read(Buffer const *, LyXLex & lex);
89 int latex(Buffer const *, std::ostream &,
90 bool fragile, bool free_spc) const;
92 int ascii(Buffer const *, std::ostream &, int linelen) const;
94 int linuxdoc(Buffer const *, std::ostream &) const;
96 int docBook(Buffer const *, std::ostream &) const;
98 void validate(LaTeXFeatures &) const;
100 virtual Inset * clone(Buffer const &) const;
102 Inset::Code lyxCode() const;
105 quote_language language;
111 /** The parameters of the constructor are the language, the
112 side and the multiplicity of the quote.
114 InsetQuotes(quote_language l, quote_side s, quote_times t);
116 void parseString(string const &);
118 string const dispString() const;