4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
16 #include "command_inset.h"
20 class RefInset : public CommandInset {
25 explicit RefInset(std::string const & data);
27 //void write(WriteStream & os) const;
29 void infoize(std::ostream & os) const;
31 std::string const screenLabel() const;
33 void validate(LaTeXFeatures & features) const;
35 virtual RefInset * asRefInset() { return this; }
37 /// plain ascii output
38 int plaintext(std::ostream & os, OutputParams const &) const;
40 int linuxdoc(std::ostream & os, OutputParams const &) const;
42 int docbook(Buffer const & buf, std::ostream & os, OutputParams const &) const;
44 struct ref_type_info {
46 std::string latex_name;
50 std::string short_gui_name;
52 static ref_type_info types[];
54 static int getType(std::string const & name);
56 static std::string const & getName(int type);
58 virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
61 virtual std::auto_ptr<InsetBase> doClone() const;