3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
16 #include "boost/smart_ptr.hpp"
19 #include "ButtonPolicies.h"
24 class KFormDialogBase : public ViewBC<kdeBC> {
27 KFormDialogBase(ControlButton & c);
29 // Functions accessible to the Controller
32 virtual void build() = 0;
33 /// create dialog if necessary, update and display
40 virtual QWidget * dialog() const = 0;
43 template <class Controller, class Dialog>
44 class KFormBase : public KFormDialogBase {
47 KFormBase(ControlButton & c);
51 Controller & controller() const;
54 virtual QWidget * dialog() const { return dialog_.get(); };
56 /// dialog implemenation
57 boost::scoped_ptr<Dialog> dialog_;
60 template <class Controller, class Dialog>
61 KFormBase<Controller, Dialog>::KFormBase(ControlButton & c)
67 template <class Controller, class Dialog>
68 Controller & KFormBase<Controller, Dialog>::controller() const
70 return static_cast<Controller &>(controller_);
74 #endif // KDEFORMBASE_H