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"
23 /** The reference inset
25 class InsetRef : public InsetCommand {
40 REF_LAST = PRETTY_REF,
46 InsetRef(InsetCommandParams const &, Buffer *);
48 Inset * Clone() const { return new InsetRef(params(), master); }
50 string getScreenLabel() const;
52 EDITABLE Editable() const { return IS_EDITABLE; }
54 Inset::Code LyxCode() const { return Inset::REF_CODE; }
56 void Edit(BufferView *, int, int, unsigned int);
58 bool display() const { return false; }
64 int Latex(Buffer const *, std::ostream &,
65 bool fragile, bool free_spc) const;
67 int Ascii(Buffer const *, std::ostream &) const;
69 int Linuxdoc(Buffer const *, std::ostream &) const;
71 int DocBook(Buffer const *, std::ostream &) const;
73 void Validate(LaTeXFeatures & features) const;
77 /// This function escapes 8-bit characters
78 string escape(string const &) const;