2 /* This file is part of*
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 Matthias Ettrich
8 * Copyright 1995-1999 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
69 InsetQuotes(string const & str = "eld");
70 /// Create the right quote inset after character c
71 InsetQuotes(char c, BufferParams const & params);
73 ~InsetQuotes() {}; //nothing to do
76 int Ascent(LyXFont const & font) const;
78 int Descent(LyXFont const & font) const;
80 int Width(LyXFont const & font) const;
82 void Draw(LyXFont font, LyXScreen & scr, int baseline, float & x);
84 LyXFont ConvertFont(LyXFont font);
86 void Write(FILE * file);
88 void Read(LyXLex & lex);
90 int Latex(FILE * file, signed char fragile);
92 int Latex(string & file, signed char fragile);
94 int Linuxdoc(string & file);
96 int DocBook(string & file);
98 void Validate(LaTeXFeatures &) const;
100 InsetQuotes * Clone() 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 DispString() const;