2 /* This file is part of*
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1997 LyX Team (this file was created this year)
9 * ====================================================== */
18 #include "insetcommand.h"
22 /** The reference inset
24 class InsetRef : public InsetCommand {
27 InsetRef(InsetCommandParams const &, Buffer const &);
29 Inset * Clone(Buffer const & buffer) const {
30 return new InsetRef(params(), buffer);
33 string const getScreenLabel() const;
35 EDITABLE Editable() const { return IS_EDITABLE; }
37 Inset::Code LyxCode() const { return Inset::REF_CODE; }
39 void Edit(BufferView *, int, int, unsigned int);
41 bool display() const { return false; }
43 int Latex(Buffer const *, std::ostream &,
44 bool fragile, bool free_spc) const;
46 int Ascii(Buffer const *, std::ostream &, int linelen) const;
48 int Linuxdoc(Buffer const *, std::ostream &) const;
50 int DocBook(Buffer const *, std::ostream &) const;
52 void Validate(LaTeXFeatures & features) const;
54 /// This function escapes 8-bit characters
55 string const escape(string const &) const;