]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormBibtex.h
src/support/ChangeLog
[lyx.git] / src / frontends / xforms / FormBibtex.h
1 // -*- C++ -*-
2 /**
3  * \file FormBibtex.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Angus Leeming
8  * \author John Levon
9  *
10  * Full author contact details are available in file CREDITS.
11  */
12
13 #ifndef FORMBIBTEX_H
14 #define FORMBIBTEX_H
15
16
17 #include "FormDialogView.h"
18 #include "RadioButtonGroup.h"
19 #include <vector>
20
21 class ControlBibtex;
22 struct FD_bibtex;
23
24 /**
25  * For bibtex database setting
26  */
27 class FormBibtex : public FormController<ControlBibtex, FormView<FD_bibtex> > {
28 public:
29         ///
30         FormBibtex(Dialog &);
31
32         enum PathStyle {ABSOLUTE_PATH = 1,
33                         RELATIVE_PATH,
34                         NAME_ONLY};
35
36 private:
37         /// Set the Params variable for the Controller.
38         virtual void apply();
39         /// Build the dialog.
40         virtual void build();
41         /// Update dialog before/whilst showing it.
42         virtual void update();
43         /// Filter the inputs on callback from xforms
44         virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
45
46         ButtonPolicy::SMInput add_database();
47         ButtonPolicy::SMInput browser_add_db(string const & name);
48         ButtonPolicy::SMInput browser_selected();
49         ButtonPolicy::SMInput browser_double_click();
50         ButtonPolicy::SMInput browser_delete();
51         ButtonPolicy::SMInput set_path(PathStyle);
52         ButtonPolicy::SMInput database_browse();
53         ButtonPolicy::SMInput style_browse();
54         void browser_deactivated();
55         void input_clear();
56         void input_database();
57
58         RadioButtonGroup storage_;
59         std::vector<string> bib_files_;
60         std::vector<string> bib_files_namesonly_;
61 };
62
63 #endif // FORMBIBTEX_H