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"
19 class RefInset : public CommandInset {
24 explicit RefInset(std::string const & data);
26 virtual std::auto_ptr<InsetBase> clone() const;
28 //void write(WriteStream & os) const;
30 void infoize(std::ostream & os) const;
32 std::string const screenLabel() const;
34 void validate(LaTeXFeatures & features) const;
36 virtual RefInset * asRefInset() { return this; }
38 /// plain ascii output
39 int ascii(std::ostream & os, int) const;
41 int linuxdoc(std::ostream & os) const;
43 int docbook(std::ostream & os, bool) const;
45 /// small wrapper for the time being
46 DispatchResult localDispatch(FuncRequest const & cmd);
48 struct ref_type_info {
50 std::string latex_name;
54 std::string short_gui_name;
56 static ref_type_info types[];
58 static int getType(std::string const & name);
60 static std::string const & getName(int type);
65 priv_dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos);