]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlFloat.C
fix crash due to invalidated iterator
[lyx.git] / src / frontends / controllers / ControlFloat.C
index 21f5b6527d5b122bfcb10856ea203780023d0b7a..7e66324dcd78d14fbe3c8f3695b19dcc8e13b25d 100644 (file)
@@ -1,54 +1,50 @@
 /**
  * \file ControlFloat.C
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
  * \author unknown
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "ControlFloat.h"
-#include "BufferView.h"
-#include "buffer.h"
+#include "funcrequest.h"
+#include "insets/insetfloat.h"
+
+
+using std::string;
 
+namespace lyx {
+namespace frontend {
 
-ControlFloat::ControlFloat(LyXView & lv, Dialogs & d)
-       : ControlInset<InsetFloat, FloatParams>(lv, d)
+ControlFloat::ControlFloat(Dialog & parent)
+       : Dialog::Controller(parent)
 {}
 
 
-void ControlFloat::applyParamsToInset()
+bool ControlFloat::initialiseParams(string const & data)
 {
-       inset()->placement(params().placement);
-       inset()->wide(params().wide, bufferview()->buffer()->params);
-       bufferview()->updateInset(inset(), true);
-
+       InsetFloatParams params;
+       InsetFloatMailer::string2params(data, params);
+       params_.reset(new InsetFloatParams(params));
+       return true;
 }
 
 
-void ControlFloat::applyParamsNoInset()
-{}
-
-
-FloatParams const ControlFloat::getParams(InsetFloat const & inset)
+void ControlFloat::clearParams()
 {
-       return FloatParams(inset);
+       params_.reset();
 }
 
 
-FloatParams::FloatParams()
-       : placement("htbp"),
-         wide(false)
-{}
-
+void ControlFloat::dispatchParams()
+{
+       string const lfun = InsetFloatMailer::params2string(params());
+       kernel().dispatch(FuncRequest(getLfun(), lfun));
+}
 
-FloatParams::FloatParams(InsetFloat const & inset)
-       : placement(inset.placement()),
-         wide(inset.wide())
-{}
+} // namespace frontend
+} // namespace lyx