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 virtual std::auto_ptr<InsetBase> clone() const;
29 //void write(WriteStream & os) const;
31 void infoize(std::ostream & os) const;
33 std::string const screenLabel() const;
35 void validate(LaTeXFeatures & features) const;
37 virtual RefInset * asRefInset() { return this; }
39 /// plain ascii output
40 int plaintext(std::ostream & os, OutputParams const &) const;
42 int linuxdoc(std::ostream & os, OutputParams const &) const;
44 int docbook(Buffer const & buf, std::ostream & os, OutputParams const &) const;
46 /// small wrapper for the time being
47 DispatchResult localDispatch(FuncRequest & cmd);
49 struct ref_type_info {
51 std::string latex_name;
55 std::string short_gui_name;
57 static ref_type_info types[];
59 static int getType(std::string const & name);
61 static std::string const & getName(int type);
63 virtual void doDispatch(LCursor & cur, FuncRequest & cmd);