]> git.lyx.org Git - features.git/blob - src/frontends/qt4/InsetDialog.cpp
Inset::validateModifyArgument(): new virtual interface for using LFUN_INSET_MODIFY.
[features.git] / src / frontends / qt4 / InsetDialog.cpp
1 /**\r
2  * \file InsetDialog.cpp\r
3  * This file is part of LyX, the document processor.\r
4  * Licence details can be found in the file COPYING.\r
5  *\r
6  * \author Abdelrazak Younes\r
7  *\r
8  * Full author contact details are available in file CREDITS.\r
9  */\r
10 \r
11 #include <config.h>\r
12 \r
13 #include "InsetDialog.h"\r
14 \r
15 #include "qt_helpers.h"\r
16 \r
17 #include "Buffer.h"\r
18 #include "buffer_funcs.h"\r
19 #include "BufferParams.h"\r
20 #include "BufferView.h"\r
21 #include "Cursor.h"\r
22 #include "FuncRequest.h"\r
23 \r
24 #include "support/debug.h"\r
25 #include "support/lstrings.h"\r
26 \r
27 \r
28 using namespace std;\r
29 using namespace lyx::support;\r
30 \r
31 namespace lyx {\r
32 namespace frontend {\r
33 \r
34 /////////////////////////////////////////////////////////////////\r
35 //\r
36 // InsetDialog\r
37 //\r
38 /////////////////////////////////////////////////////////////////\r
39 \r
40 \r
41 InsetDialog::InsetDialog(GuiView & lv, InsetCode code,\r
42                                                  QString const & name, QString const & title)\r
43         : DialogView(lv, name, title), code_(code)\r
44 {\r
45 }\r
46 \r
47 \r
48 void InsetDialog::on_closePB_clicked()\r
49 {\r
50         hide();\r
51 }\r
52 \r
53 \r
54 void InsetDialog::applyView()\r
55 {\r
56         Inset const * i = inset(code_);\r
57         if (!i)\r
58                 return;\r
59         \r
60         docstring const argument = dialogToParams();\r
61         if (!i->validateModifyArgument(argument))\r
62                 return;\r
63 \r
64         dispatch(FuncRequest(LFUN_INSET_MODIFY, argument));\r
65 }\r
66 \r
67 \r
68 void InsetDialog::updateView()\r
69 {\r
70         Inset const * i = inset(code_);\r
71         if (i)\r
72                 paramsToDialog(i);\r
73         else\r
74                 enableView(false);\r
75 }\r
76 \r
77 } // namespace frontend\r
78 } // namespace lyx\r
79 \r
80 #include "moc_InsetDialog.cpp"\r