]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/DialogView.h
Fix citation dialog bug.
[lyx.git] / src / frontends / qt4 / DialogView.h
1 // -*- C++ -*-
2 /**
3  * \file DialogView.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Abdelrazak Younes
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef DIALOGVIEW_H
13 #define DIALOGVIEW_H
14
15 #include "Dialog.h"
16 #include "GuiView.h"
17
18 #include <QCloseEvent>
19 #include <QDialog>
20
21 namespace lyx {
22 namespace frontend {
23
24 /** \c Dialog collects the different parts of a Model-Controller-View
25  *  split of a generic dialog together.
26  */
27 class DialogView : public QDialog, public Dialog
28 {
29 public:
30         /// \param lv is the access point for the dialog to the LyX kernel.
31         /// \param name is the identifier given to the dialog by its parent
32         /// container.
33         /// \param title is the window title used for decoration.
34         DialogView(GuiView & lv, QString const & name, QString const & title)
35                 : QDialog(&lv), Dialog(lv, name, "LyX: " + title)
36         {}
37
38         virtual QWidget * asQWidget() { return this; }
39         virtual QWidget const * asQWidget() const { return this; }
40
41 protected:
42         /// Dialog inherited methods
43         //@{
44         void applyView() {}
45         bool initialiseParams(std::string const & /*data*/) { return true; }
46         void clearParams() {}
47         //@}
48         /// Any dialog that overrides this method should make sure to call it.
49         void closeEvent(QCloseEvent * ev)
50         {
51                 clearParams();
52                 Dialog::disconnect();
53                 ev->accept();
54         }
55 };
56
57 } // namespace frontend
58 } // namespace lyx
59
60 #endif // DIALOGVIEW_H