#ifndef CONTROLFLOAT_H
#define CONTROLFLOAT_H
+#include "Dialog.h"
-#include "ControlInset.h"
+class InsetFloatParams;
-// needed to instatiate inset->hideDialog in ControlInset
-#include "insets/insetfloat.h"
-
-class InsetFloat;
-
-///
-struct FloatParams {
+class ControlFloat : public Dialog::Controller {
+public:
///
- FloatParams();
+ ControlFloat(Dialog &);
///
- FloatParams(InsetFloat const &);
+ virtual bool initialiseParams(string const & data);
+ /// clean-up on hide.
+ virtual void clearParams();
+ /// clean-up on hide.
+ virtual void dispatchParams();
///
- string placement;
+ virtual bool isBufferDependent() const { return true; }
///
- bool wide;
-};
-
-
-inline
-bool operator==(FloatParams const & p1, FloatParams const & p2)
-{
- return p1.placement == p2.placement && p1.wide == p2.wide;
-}
-
-
-inline
-bool operator!=(FloatParams const & p1, FloatParams const & p2)
-{
- return !(p1 == p2);
-}
-
-
-/** A controller for Minipage dialogs.
- */
-class ControlFloat : public ControlInset<InsetFloat, FloatParams> {
-public:
+ InsetFloatParams & params() { return *params_.get(); }
///
- ControlFloat(LyXView &, Dialogs &);
+ InsetFloatParams const & params() const { return *params_.get(); }
private:
- /// Dispatch the changed parameters to the kernel.
- virtual void applyParamsToInset();
///
- virtual void applyParamsNoInset();
- /// get the parameters from the string passed to createInset.
- virtual FloatParams const getParams(string const &)
- { return FloatParams(); }
- /// get the parameters from the inset passed to showInset.
- virtual FloatParams const getParams(InsetFloat const &);
+ boost::scoped_ptr<InsetFloatParams> params_;
};
#endif