#include <config.h>
#include "GuiFloat.h"
-#include "Qt2BC.h"
+
#include "FloatPlacement.h"
+#include "FuncRequest.h"
#include "insets/InsetFloat.h"
-#include <QCloseEvent>
#include <QPushButton>
+using namespace std;
+
namespace lyx {
namespace frontend {
-GuiFloatDialog::GuiFloatDialog(GuiFloat * form)
- : form_(form)
+GuiFloat::GuiFloat(GuiView & lv)
+ : GuiDialog(lv, "float", qt_("Float Settings"))
{
setupUi(this);
- connect(restorePB, SIGNAL(clicked()),
- form, SLOT(slotRestore()));
- connect(okPB, SIGNAL(clicked()),
- form, SLOT(slotOK()));
- connect(applyPB, SIGNAL(clicked()),
- form, SLOT(slotApply()));
- connect(closePB, SIGNAL(clicked()),
- form, SLOT(slotClose()));
+
+ connect(restorePB, SIGNAL(clicked()), this, SLOT(slotRestore()));
+ connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK()));
+ connect(applyPB, SIGNAL(clicked()), this, SLOT(slotApply()));
+ connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose()));
// enable span columns checkbox
floatFP->useWide();
-
// enable sideways checkbox
floatFP->useSideways();
- connect(floatFP, SIGNAL(changed()),
- this, SLOT(change_adaptor()));
+ connect(floatFP, SIGNAL(changed()), this, SLOT(change_adaptor()));
+
+ bc().setPolicy(ButtonPolicy::NoRepeatedApplyReadOnlyPolicy);
+
+ bc().setCancel(closePB);
+ bc().setApply(applyPB);
+ bc().setOK(okPB);
+ bc().setRestore(restorePB);
+
+ bc().addReadOnly(floatFP);
}
-void GuiFloatDialog::change_adaptor()
+void GuiFloat::change_adaptor()
{
- form_->changed();
+ changed();
}
-void GuiFloatDialog::closeEvent(QCloseEvent * e)
+void GuiFloat::updateContents()
{
- form_->slotWMHide();
- e->accept();
+ floatFP->set(params_);
}
-GuiFloat::GuiFloat(Dialog & parent)
- : GuiView<GuiFloatDialog>(parent, _("Float Settings"))
+void GuiFloat::applyView()
{
+ params_.placement = floatFP->get(params_.wide, params_.sideways);
}
-void GuiFloat::build_dialog()
+bool GuiFloat::initialiseParams(string const & data)
{
- dialog_.reset(new GuiFloatDialog(this));
+ InsetFloat::string2params(data, params_);
+ return true;
+}
- bcview().setCancel(dialog_->closePB);
- bcview().setApply(dialog_->applyPB);
- bcview().setOK(dialog_->okPB);
- bcview().setRestore(dialog_->restorePB);
- bcview().addReadOnly(dialog_->floatFP);
+void GuiFloat::clearParams()
+{
+ params_ = InsetFloatParams();
}
-void GuiFloat::update_contents()
+void GuiFloat::dispatchParams()
{
- dialog_->floatFP->set(controller().params());
+ dispatch(FuncRequest(getLfun(), InsetFloat::params2string(params_)));
}
-void GuiFloat::apply()
-{
- InsetFloatParams & params = controller().params();
+Dialog * createGuiFloat(GuiView & lv) { return new GuiFloat(lv); }
- params.placement = dialog_->floatFP->get(params.wide, params.sideways);
-}
} // namespace frontend
} // namespace lyx