]> git.lyx.org Git - lyx.git/blob - src/mathed/ref_inset.h
fix #1073
[lyx.git] / src / mathed / ref_inset.h
1 #ifndef REF_INSET_H
2 #define REF_INSET_H
3
4
5 #include "command_inset.h"
6
7 // for \ref
8 class RefInset : public CommandInset {
9 public:
10         ///
11         RefInset();
12         ///
13         explicit RefInset(string const & data);
14         ///
15         MathInset * clone() const;
16         ///
17         //void write(WriteStream & os) const;
18         ///
19         void infoize(std::ostream & os) const;
20         ///
21         dispatch_result dispatch(FuncRequest const & cmd, idx_type & idx, pos_type & pos);
22         ///
23         string screenLabel() const;
24         ///
25         void validate(LaTeXFeatures & features) const;
26         ///
27         virtual RefInset * asRefInset() { return this; }
28
29         /// plain ascii output
30         int ascii(std::ostream & os, int) const;
31         /// linuxdoc output
32         int linuxdoc(std::ostream & os) const;
33         /// docbook output
34         int docbook(std::ostream & os, bool) const;
35
36         /// small wrapper for the time being
37         dispatch_result localDispatch(FuncRequest const & cmd);
38
39         struct ref_type_info {
40                 ///
41                 string latex_name;
42                 ///
43                 string gui_name;
44                 ///
45                 string short_gui_name;
46         };
47         static ref_type_info types[];
48         ///
49         static int getType(string const & name);
50         ///
51         static string const & getName(int type);
52 };
53
54 #endif