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 docbook(Buffer const & buf, std::ostream & os, OutputParams const &) const;
42 struct ref_type_info {
44 std::string latex_name;
48 std::string short_gui_name;
50 static ref_type_info types[];
52 static int getType(std::string const & name);
54 static std::string const & getName(int type);
57 virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
59 bool getStatus(LCursor &, FuncRequest const &, FuncStatus &) const;
62 virtual std::auto_ptr<InsetBase> doClone() const;