]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlExternal.h
include sys/time.h
[lyx.git] / src / frontends / controllers / ControlExternal.h
1 // -*- C++ -*-
2 /**
3  * \file ControlExternal.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Asger Alstrup
8  * \author John Levon
9  * \author Angus Leeming
10  *
11  * Full author contact details are available in file CREDITS
12  */
13
14 #ifndef CONTROLEXTERNAL_H
15 #define CONTROLEXTERNAL_H
16
17
18 #include "ControlInset.h"
19 #include "insets/insetexternal.h"
20
21 /** A controller for External dialogs.
22  */
23 class ControlExternal
24         : public ControlInset<InsetExternal, InsetExternal::Params>
25 {
26 public:
27         ///
28         ControlExternal(LyXView &, Dialogs &);
29
30         ///
31         void editExternal();
32         ///
33         void viewExternal();
34         ///
35         void updateExternal();
36         ///
37         std::vector<string> const getTemplates() const;
38         ///
39         int getTemplateNumber(string const &) const;
40         ///
41         ExternalTemplate getTemplate(int) const;
42         ///
43         string const Browse(string const &) const;
44 private:
45         ///
46         virtual void applyParamsToInset();
47         /// not needed.
48         virtual void applyParamsNoInset() {}
49         /// get the parameters from the string passed to createInset.
50         virtual InsetExternal::Params const getParams(string const &);
51         /// get the parameters from the inset passed to showInset.
52         virtual InsetExternal::Params const getParams(InsetExternal const &);
53 };
54
55 #endif // CONTROLEXTERNAL_H