]> git.lyx.org Git - lyx.git/blob - src/insets/insetlabel.h
92c8b43003ecebc9464693412edaa8beca5465b2
[lyx.git] / src / insets / insetlabel.h
1 // -*- C++ -*-
2 /* This file is part of*
3  * ======================================================
4  *
5  *           LyX, The Document Processor
6  *       
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2000 The LyX Team
9  *
10  * ====================================================== */
11
12 #ifndef INSET_LABEL_H
13 #define INSET_LABEL_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "insetcommand.h"
20 #include "LString.h"
21
22 using std::ostream;
23
24 ///
25 class InsetLabel : public InsetCommand {
26 public:
27         ///
28         InsetLabel(string const & cmd);
29         ///
30         InsetLabel() : InsetCommand("label") {}
31         ///
32         Inset * Clone() const;
33         ///
34         Inset::Code LyxCode() const { return Inset::LABEL_CODE; }
35         ///
36         int GetNumberOfLabels() const;
37         ///
38         string getLabel(int) const;
39         ///
40         string getScreenLabel() const { return getContents(); }
41         ///
42         EDITABLE Editable() const { return NOT_EDITABLE; }
43         ///
44         int Latex(ostream &, signed char fragile, bool free_spc) const;
45         ///
46         int Linuxdoc(ostream &) const;
47         ///
48         int DocBook(ostream &) const;
49 private:
50         /// This function escapes 8-bit characters
51         string escape(string const &) const;
52 };
53
54 #endif