2 /* This file is part of*
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 Matthias Ettrich
8 * Copyright 1995-2000 The LyX Team
10 * ====================================================== */
12 #ifndef INSET_QUOTES_H
13 #define INSET_QUOTES_H
30 Used for the various quotes. German, English, French, all either
32 class InsetQuotes: public Inset {
64 /** The constructor works like this:
66 \item fls <- french single quote left
67 \item grd <- german double quote right
71 InsetQuotes(string const & str = "eld");
72 /// Create the right quote inset after character c
73 InsetQuotes(char c, BufferParams const & params);
76 int ascent(Painter &, LyXFont const &) const;
78 int descent(Painter &, LyXFont const &) const;
80 int width(Painter &, LyXFont const &) const;
82 void draw(Painter &, LyXFont const &, int baseline, float & x) const;
84 LyXFont ConvertFont(LyXFont font);
86 void Write(ostream &) const;
88 void Read(LyXLex & lex);
90 int Latex(ostream &, signed char fragile, bool free_spc) const;
92 int Linuxdoc(ostream &) const;
94 int DocBook(ostream &) const;
96 void Validate(LaTeXFeatures &) const;
98 Inset * Clone() const;
100 Inset::Code LyxCode() const;
103 quote_language language;
109 /** The parameters of the constructor are the language, the
110 side and the multiplicity of the quote.
112 InsetQuotes(quote_language l, quote_side s, quote_times t);
114 void ParseString(string const &);
116 string DispString() const;