3 * Copyright 2001 The LyX Team.
4 * See the file COPYING.
6 * \author Angus Leeming <a.leeming@ic.ac.uk>
12 /** This class instantiates and makes available the GUI-specific
13 ButtonController and View.
15 template <class Controller, class GUIview, class Policy, class GUIbc>
16 class GUI : public Controller {
19 GUI(LyXView & lv, Dialogs & d) : Controller(lv, d), view_(*this) {}
21 virtual ButtonControllerBase & bc() { return bc_; }
23 virtual ViewBase & view() { return view_; }
27 ButtonController<Policy, GUIbc> bc_;
32 /// Forward declaration of ButtonPolicies
34 class OkCancelReadOnlyPolicy;
35 class NoRepeatedApplyReadOnlyPolicy;
38 /** Specialization for Bibitem dialog
42 template <class GUIview, class GUIbc>
44 public GUI<ControlBibitem, GUIview, OkCancelReadOnlyPolicy, GUIbc> {
47 GUIBibitem(LyXView & lv, Dialogs & d)
48 : GUI<ControlBibitem, GUIview, OkCancelReadOnlyPolicy, GUIbc>(lv, d) {}
52 /** Specialization for Bibtex dialog
56 template <class GUIview, class GUIbc>
58 public GUI<ControlBibtex, GUIview, OkCancelReadOnlyPolicy, GUIbc> {
61 GUIBibtex(LyXView & lv, Dialogs & d)
62 : GUI<ControlBibtex, GUIview, OkCancelReadOnlyPolicy, GUIbc>(lv, d) {}
66 /** Specialization for Character dialog
68 class ControlCharacter;
70 template <class GUIview, class GUIbc>
71 class GUICharacter : public GUI<ControlCharacter, GUIview,
72 NoRepeatedApplyReadOnlyPolicy, GUIbc>
76 GUICharacter(LyXView & lv, Dialogs & d)
77 : GUI<ControlCharacter, GUIview,
78 NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
82 /** Specialization for Citation dialog
84 class ControlCitation;
86 template <class GUIview, class GUIbc>
87 class GUICitation : public GUI<ControlCitation, GUIview,
88 NoRepeatedApplyReadOnlyPolicy, GUIbc>
92 GUICitation(LyXView & lv, Dialogs & d)
93 : GUI<ControlCitation, GUIview,
94 NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
98 /** Specialization for Credits dialog
100 class ControlCredits;
102 template <class GUIview, class GUIbc>
104 public GUI<ControlCredits, GUIview, OkCancelPolicy, GUIbc> {
107 GUICredits(LyXView & lv, Dialogs & d)
108 : GUI<ControlCredits, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
112 /** Specialization for Error dialog
116 template <class GUIview, class GUIbc>
118 public GUI<ControlError, GUIview, OkCancelPolicy, GUIbc> {
121 GUIError(LyXView & lv, Dialogs & d)
122 : GUI<ControlError, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
126 /** Specialization for Include dialog
128 class ControlInclude;
130 template <class GUIview, class GUIbc>
132 public GUI<ControlInclude, GUIview, OkCancelReadOnlyPolicy, GUIbc> {
135 GUIInclude(LyXView & lv, Dialogs & d)
136 : GUI<ControlInclude, GUIview, OkCancelReadOnlyPolicy, GUIbc>(lv, d) {}
140 /** Specialization for Log dialog
144 template <class GUIview, class GUIbc>
146 public GUI<ControlLog, GUIview, OkCancelPolicy, GUIbc> {
149 GUILog(LyXView & lv, Dialogs & d)
150 : GUI<ControlLog, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}
154 /** Specialization for Ref dialog
158 template <class GUIview, class GUIbc>
160 public GUI<ControlRef, GUIview, NoRepeatedApplyPolicy, GUIbc> {
163 GUIRef(LyXView & lv, Dialogs & d)
164 : GUI<ControlRef, GUIview, NoRepeatedApplyPolicy, GUIbc>(lv, d) {}
168 /** Specialization for Url dialog
172 template <class GUIview, class GUIbc>
174 public GUI<ControlUrl, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc> {
177 GUIUrl(LyXView & lv, Dialogs & d)
178 : GUI<ControlUrl, GUIview, NoRepeatedApplyReadOnlyPolicy, GUIbc>(lv, d) {}
182 /** Specialization for VCLog dialog
186 template <class GUIview, class GUIbc>
188 public GUI<ControlVCLog, GUIview, OkCancelPolicy, GUIbc> {
191 GUIVCLog(LyXView & lv, Dialogs & d)
192 : GUI<ControlVCLog, GUIview, OkCancelPolicy, GUIbc>(lv, d) {}