]> git.lyx.org Git - lyx.git/blob - src/insets/inseturl.h
patch from Angus and patch from Kayvan
[lyx.git] / src / insets / inseturl.h
1 // -*- C++ -*-
2 /* This file is part of*
3  * ====================================================== 
4  *
5  *           LyX, The Document Processor
6  *       
7  *          Copyright 1997-2000 The LyX Team.
8  * 
9  * ====================================================== */
10
11 #ifndef INSET_URL_H
12 #define INSET_URL_H
13
14 #ifdef __GNUG__
15 #pragma interface
16 #endif
17
18 #include "insetcommand.h"
19 #include <sigc++/signal_system.h>
20
21 struct LaTeXFeatures;
22
23 #ifdef SIGC_CXX_NAMESPACES
24 using SigC::Signal0;
25 #endif
26
27 /** The url inset  
28  */
29 class InsetUrl : public InsetCommand {
30 public:
31         ///
32         explicit
33         InsetUrl(InsetCommandParams const &);
34         ///
35         ~InsetUrl();
36         ///
37         Inset * Clone() const { return new InsetUrl(params()); }
38         ///
39         Inset::Code LyxCode() const { return Inset::URL_CODE; }
40         ///
41         void Validate(LaTeXFeatures &) const;
42         ///
43         string getScreenLabel() const;
44         ///
45         EDITABLE Editable() const { return IS_EDITABLE; }
46         ///
47         char const * EditMessage() const;
48         ///
49         void Edit(BufferView *, int, int, unsigned int);
50         ///
51         bool display() const { return false; }
52         ///
53         int Latex(Buffer const *, std::ostream &,
54                   bool fragile, bool free_spc) const;
55         ///
56         int Ascii(Buffer const *, std::ostream &) const;
57         ///
58         int Linuxdoc(Buffer const *, std::ostream &) const;
59         ///
60         int DocBook(Buffer const *, std::ostream &) const;
61         ///
62         Signal0<void> hide;
63 };
64
65 #endif