]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QCitation.h
better selection and scrolling behaviour
[lyx.git] / src / frontends / qt2 / QCitation.h
1 // -*- C++ -*-
2 /**
3  * \file QCitation.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 Kalle Dalheimer
9  *
10  * Full author contact details are available in file CREDITS
11  */
12
13 #ifndef QCITATION_H
14 #define QCITATION_H
15
16 #ifdef __GNUG__
17 #pragma interface
18 #endif
19
20 #include "Qt2Base.h"
21
22 class QListBox;
23 class ControlCitation;
24 class QCitationDialog;
25
26
27 class QCitation
28         : public Qt2CB<ControlCitation, Qt2DB<QCitationDialog> >
29 {
30 public:
31         friend class QCitationDialog;
32         ///
33         QCitation();
34 private:
35         ///
36         enum State {
37                 ///
38                 ON,
39                 ///
40                 OFF
41         };
42
43         /// Set the Params variable for the Controller.
44         virtual void apply();
45         /// Build the dialog.
46         virtual void build_dialog();
47         /// Hide the dialog.
48         virtual void hide();
49         /// Update dialog before/whilst showing it.
50         virtual void update_contents();
51
52         /// fill the styles combo
53         void fillStyles();
54
55         /// set the styles combo
56         void updateStyle();
57
58         void updateBrowser(QListBox *, std::vector<string> const &) const;
59         ///
60         void setBibButtons(State) const;
61         ///
62         void setCiteButtons(State) const;
63
64         ///
65         std::vector<string> citekeys;
66         ///
67         std::vector<string> bibkeys;
68 };
69
70 #endif // QCITATION_H