4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
9 * Full author contact details are available in file CREDITS.
15 #include <boost/utility.hpp>
20 /** This class makes a whole out of the disparate parts of a dialog.
22 template <typename Controller, typename GUIview,
23 typename Policy, typename GUIbc>
24 class GUI : boost::noncopyable {
27 GUI(LyXView & lv, Dialogs & d);
29 Controller & controller() { return controller_; }
31 Controller const & controller() const { return controller_; }
34 Controller controller_;
40 template <typename Controller, typename GUIview,
41 typename Policy, typename GUIbc>
42 GUI<Controller, GUIview, Policy, GUIbc>::GUI(LyXView & lv, Dialogs & d)
46 controller_.setView(view_);
47 view_.setController(controller_);
48 controller_.bc().view(new GUIbc(controller_.bc()));
49 controller_.bc().bp(new Policy);