4 * Copyright 2001 The LyX Team.
5 * See the file COPYING.
7 * \author Angus Leeming <a.leeming@ic.ac.uk>
13 #include "ButtonController.h"
14 #include "ButtonController.tmpl"
15 #include "ButtonPolicies.h"
16 #include "ControlAboutlyx.h"
17 #include "ControlBibitem.h"
18 #include "ControlBibtex.h"
19 #include "ControlCharacter.h"
20 #include "ControlCitation.h"
21 #include "ControlError.h"
22 #include "ControlERT.h"
23 #include "ControlExternal.h"
24 #include "ControlFloat.h"
25 #include "ControlForks.h"
26 #include "ControlGraphics.h"
27 #include "insets/insetgraphicsParams.h"
28 #include "ControlInclude.h"
29 #include "ControlIndex.h"
30 #include "ControlLog.h"
31 #include "ControlMinipage.h"
32 #include "ControlPreamble.h"
33 #include "ControlPrint.h"
34 #include "ControlRef.h"
35 #include "ControlSearch.h"
36 #include "ControlShowFile.h"
37 #include "ControlSpellchecker.h"
38 #include "ControlTabularCreate.h"
39 #include "ControlTexinfo.h"
40 #include "ControlThesaurus.h"
41 #include "ControlToc.h"
42 #include "ControlUrl.h"
43 #include "ControlVCLog.h"
46 /** This class instantiates and makes available the GUI-specific
47 ButtonController and View.
49 template <class Controller, class GUIview, class Policy, class GUIbc>
50 class GUI : public Controller {
53 GUI(LyXView & lv, Dialogs & d) : Controller(lv, d), view_(*this) {}
55 virtual ButtonControllerBase & bc() { return bc_; }
57 virtual ViewBase & view() { return view_; }
61 ButtonController<Policy, GUIbc> bc_;
66 /** Specialization for About LyX dialog
68 template <class GUIview, class GUIbc>
70 public GUI<ControlAboutlyx, GUIview, OkCancelPolicy, GUIbc> {
73 GUIAboutlyx(LyXView & lv, Dialogs & d)
74 : GUI<ControlAboutlyx, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
77 /** Specialization for Bibitem dialog
79 template <class GUIview, class GUIbc>
81 public GUI<ControlBibitem, GUIview, OkCancelReadOnlyPolicy, GUIbc> {
84 GUIBibitem(LyXView & lv, Dialogs & d)
85 : GUI<ControlBibitem, GUIview, OkCancelReadOnlyPolicy, GUIbc>(lv, d) {}
89 /** Specialization for Bibtex dialog
91 template <class GUIview, class GUIbc>
93 public GUI<ControlBibtex, GUIview, OkCancelReadOnlyPolicy, GUIbc> {
96 GUIBibtex(LyXView & lv, Dialogs & d)
97 : GUI<ControlBibtex, GUIview, OkCancelReadOnlyPolicy, GUIbc>(lv, d) {}
101 /** Specialization for Character dialog
103 template <class GUIview, class GUIbc>
104 class GUICharacter : public GUI<ControlCharacter, GUIview,
105 OkApplyCancelReadOnlyPolicy, GUIbc>
109 GUICharacter(LyXView & lv, Dialogs & d)
110 : GUI<ControlCharacter, GUIview,
111 OkApplyCancelReadOnlyPolicy, GUIbc>(lv, d) {}
115 /** Specialization for Citation dialog
117 template <class GUIview, class GUIbc>
118 class GUICitation : public GUI<ControlCitation, GUIview,
119 NoRepeatedApplyReadOnlyPolicy, GUIbc>
123 GUICitation(LyXView & lv, Dialogs & d)
124 : GUI<ControlCitation, GUIview,
125 NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
129 /** Specialization for Error dialog
131 template <class GUIview, class GUIbc>
133 public GUI<ControlError, GUIview, OkCancelPolicy, GUIbc> {
136 GUIError(LyXView & lv, Dialogs & d)
137 : GUI<ControlError, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
141 /** Specialization for ERT dialog
143 template <class GUIview, class GUIbc>
145 public GUI<ControlERT, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
148 GUIERT(LyXView & lv, Dialogs & d)
149 : GUI<ControlERT, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
153 /** Specialization for External dialog
155 template <class GUIview, class GUIbc>
157 public GUI<ControlExternal, GUIview, OkApplyCancelReadOnlyPolicy, GUIbc> {
160 GUIExternal(LyXView & lv, Dialogs & d)
161 : GUI<ControlExternal, GUIview, OkApplyCancelReadOnlyPolicy, GUIbc>(lv, d) {}
165 /** Specialization for Forks dialog
167 template <class GUIview, class GUIbc>
169 public GUI<ControlForks, GUIview, OkApplyCancelPolicy, GUIbc> {
172 GUIForks(LyXView & lv, Dialogs & d)
173 : GUI<ControlForks, GUIview, OkApplyCancelPolicy, GUIbc>(lv, d) {}
176 /** Specialization for Graphics dialog
178 template <class GUIview, class GUIbc>
180 public GUI<ControlGraphics, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
183 GUIGraphics(LyXView & lv, Dialogs & d)
184 : GUI<ControlGraphics, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
188 /** Specialization for Include dialog
190 template <class GUIview, class GUIbc>
192 public GUI<ControlInclude, GUIview, OkCancelReadOnlyPolicy, GUIbc> {
195 GUIInclude(LyXView & lv, Dialogs & d)
196 : GUI<ControlInclude, GUIview, OkCancelReadOnlyPolicy, GUIbc>(lv, d) {}
200 /** Specialization for Index dialog
202 template <class GUIview, class GUIbc>
204 public GUI<ControlIndex, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
207 GUIIndex(LyXView & lv, Dialogs & d)
208 : GUI<ControlIndex, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
212 /** Specialization for Log dialog
214 template <class GUIview, class GUIbc>
216 public GUI<ControlLog, GUIview, OkCancelPolicy, GUIbc> {
219 GUILog(LyXView & lv, Dialogs & d)
220 : GUI<ControlLog, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
224 /** Specialization for Minipage dialog
226 template <class GUIview, class GUIbc>
228 public GUI<ControlMinipage, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
231 GUIMinipage(LyXView & lv, Dialogs & d)
232 : GUI<ControlMinipage, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
236 /** Specialization for Float dialog
238 template <class GUIview, class GUIbc>
240 public GUI<ControlFloat, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
243 GUIFloat(LyXView & lv, Dialogs & d)
244 : GUI<ControlFloat, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
248 /** Specialization for Preamble dialog
250 template <class GUIview, class GUIbc>
252 public GUI<ControlPreamble, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
255 GUIPreamble(LyXView & lv, Dialogs & d)
256 : GUI<ControlPreamble, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
260 /** Specialization for Print dialog
262 template <class GUIview, class GUIbc>
264 public GUI<ControlPrint, GUIview, OkApplyCancelPolicy, GUIbc> {
267 GUIPrint(LyXView & lv, Dialogs & d)
268 : GUI<ControlPrint, GUIview, OkApplyCancelPolicy, GUIbc>(lv, d) {}
272 /** Specialization for Ref dialog
274 template <class GUIview, class GUIbc>
276 public GUI<ControlRef, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
279 GUIRef(LyXView & lv, Dialogs & d)
280 : GUI<ControlRef, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
284 /** Specialization for Search dialog
286 template <class GUIview, class GUIbc>
288 public GUI<ControlSearch, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
291 GUISearch(LyXView & lv, Dialogs & d)
292 : GUI<ControlSearch, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
295 /** Specialization for ShowFile dialog
297 template <class GUIview, class GUIbc>
299 public GUI<ControlShowFile, GUIview, OkCancelPolicy, GUIbc> {
302 GUIShowFile(LyXView & lv, Dialogs & d)
303 : GUI<ControlShowFile, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
306 /** Specialization for Spellchecker dialog
308 template <class GUIview, class GUIbc>
309 class GUISpellchecker :
310 public GUI<ControlSpellchecker, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
313 GUISpellchecker(LyXView & lv, Dialogs & d)
314 : GUI<ControlSpellchecker, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
317 /** Specialization for Toc dialog
319 template <class GUIview, class GUIbc>
321 public GUI<ControlToc, GUIview, OkCancelPolicy, GUIbc> {
324 GUIToc(LyXView & lv, Dialogs & d)
325 : GUI<ControlToc, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
329 /** Specialization for TabularCreate dialog
331 template <class GUIview, class GUIbc>
332 class GUITabularCreate :
333 public GUI<ControlTabularCreate, GUIview,
334 OkApplyCancelReadOnlyPolicy, GUIbc> {
337 GUITabularCreate(LyXView & lv, Dialogs & d)
338 : GUI<ControlTabularCreate, GUIview,
339 OkApplyCancelReadOnlyPolicy, GUIbc>(lv, d) {}
343 /** Specialization for Texinfo dialog
345 template <class GUIview, class GUIbc>
347 public GUI<ControlTexinfo, GUIview, OkCancelPolicy, GUIbc> {
350 GUITexinfo(LyXView & lv, Dialogs & d)
351 : GUI<ControlTexinfo, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
354 /** Specialization for Thesaurus dialog
356 template <class GUIview, class GUIbc>
358 public GUI<ControlThesaurus, GUIview,
359 OkApplyCancelReadOnlyPolicy, GUIbc> {
362 GUIThesaurus(LyXView & lv, Dialogs & d)
363 : GUI<ControlThesaurus, GUIview,
364 OkApplyCancelReadOnlyPolicy, GUIbc>(lv, d) {}
368 /** Specialization for Url dialog
370 template <class GUIview, class GUIbc>
372 public GUI<ControlUrl, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
375 GUIUrl(LyXView & lv, Dialogs & d)
376 : GUI<ControlUrl, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
380 /** Specialization for VCLog dialog
382 template <class GUIview, class GUIbc>
384 public GUI<ControlVCLog, GUIview, OkCancelPolicy, GUIbc> {
387 GUIVCLog(LyXView & lv, Dialogs & d)
388 : GUI<ControlVCLog, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}