]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/GuiBibtex.h
move our stuff off the Q* namespace
[lyx.git] / src / frontends / qt4 / GuiBibtex.h
1 // -*- C++ -*-
2 /**
3  * \file GuiBibtex.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author John Levon
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef QBIBTEX_H
13 #define QBIBTEX_H
14
15 #include "GuiDialogView.h"
16
17 #include "ui_BibtexUi.h"
18 #include "ui_BibtexAddUi.h"
19
20 #include "ButtonController.h"
21
22 #include <QCloseEvent>
23 #include <QDialog>
24
25 namespace lyx {
26 namespace frontend {
27
28 class GuiBibtex;
29
30 template<class UI>
31 class UiDialog : public QDialog, public UI
32 {
33 public:
34         UiDialog(QWidget * parent=0, bool modal=false, Qt::WFlags f=0)
35                 : QDialog(parent, f)
36         {
37                 UI::setupUi(this);
38                 QDialog::setModal(modal);
39         }
40 };
41
42
43 class GuiBibtexDialog : public QDialog, public Ui::BibtexUi {
44         Q_OBJECT
45
46 public:
47         GuiBibtexDialog(GuiBibtex * form);
48
49         UiDialog<Ui::BibtexAddUi> * add_;
50
51 protected Q_SLOTS:
52         virtual void change_adaptor();
53         virtual void browsePressed();
54         virtual void browseBibPressed();
55         virtual void addPressed();
56         virtual void addDatabase();
57         virtual void deletePressed();
58         virtual void databaseChanged();
59         virtual void availableChanged();
60         void bibEDChanged();
61
62 protected:
63         virtual void closeEvent(QCloseEvent * e);
64
65 private:
66         GuiBibtex * form_;
67         ButtonController add_bc_;
68 };
69
70
71 class ControlBibtex;
72
73 class GuiBibtex
74         : public QController<ControlBibtex, GuiView<GuiBibtexDialog> >
75 {
76 public:
77         friend class GuiBibtexDialog;
78
79         GuiBibtex(Dialog &);
80 protected:
81         virtual bool isValid();
82 private:
83         /// Apply changes
84         virtual void apply();
85         /// update
86         virtual void update_contents();
87         /// build the dialog
88         virtual void build_dialog();
89 };
90
91 } // namespace frontend
92 } // namespace lyx
93
94 #endif // QBIBTEX_H