]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/FormCitation.h
implement getLabelList
[lyx.git] / src / frontends / qt2 / FormCitation.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ======================================================
4  *
5  *           LyX, The Document Processor
6  *
7  *           Copyright 2000 The LyX Team.
8  *
9  * ======================================================
10  *
11  * \author Angus Leeming <a.leeming@ic.ac.uk>
12  * \author Kalle Dalheimer <kalle@klaralvdalens-datakonsult.se>
13 */
14
15 #ifndef FORMCITATION_H
16 #define FORMCITATION_H
17
18 #ifdef __GNUG__
19 #pragma interface
20 #endif
21
22 class QListBox;
23
24 #include "Qt2Base.h"
25 #undef emit
26
27 /** This class provides a Qt2 implementation of the Citation Dialog.
28     @author Kalle Dalheimer
29 */
30 class ControlCitation;
31 class FormCitationDialogImpl;
32
33 class FormCitation : public Qt2CB<ControlCitation, Qt2DB<FormCitationDialogImpl> > {
34     friend class FormCitationDialogImpl;
35     
36 public:
37     ///
38     FormCitation(ControlCitation &);
39
40 private:
41     ///
42     enum State {
43         ///
44         ON,
45         ///
46         OFF
47     };
48
49     /// Set the Params variable for the Controller.
50     virtual void apply();
51     /// Build the dialog.
52     virtual void build();
53     /// Hide the dialog.
54     virtual void hide();
55     /// Update dialog before/whilst showing it.
56     virtual void update();
57     //  /// Filter the inputs on callback from xforms
58     //  virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
59
60     void updateBrowser(QListBox*, std::vector<string> const &) const;
61     ///
62     void setBibButtons(State) const;
63     ///
64     void setCiteButtons(State) const;
65
66     ///
67     std::vector<string> citekeys;
68     ///
69     std::vector<string> bibkeys;
70 };
71
72 #endif // FORMCITATION_H