]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetfloat.C
parlist-16-a.diff
[lyx.git] / src / insets / insetfloat.C
index 841b41943a63ad75c57e66e4a4a184e103666706..7c164979a50f4fa3d838fdab20450524cc26a35c 100644 (file)
@@ -8,8 +8,8 @@
  *
  * Full author contact details are available in file CREDITS
  */
-#include <config.h>
 
+#include <config.h>
 
 #include "insetfloat.h"
 #include "insettext.h"
 #include "gettext.h"
 #include "iterators.h"
 #include "LaTeXFeatures.h"
+#include "Lsstream.h"
 #include "lyxfont.h"
 #include "lyxlex.h"
 #include "lyxtext.h"
+#include "Lsstream.h"
 
 #include "support/LOstream.h"
 #include "support/lstrings.h"
+#include "support/tostr.h"
 
 #include "frontends/LyXView.h"
 #include "frontends/Dialogs.h"
@@ -36,6 +39,7 @@
 using std::ostream;
 using std::endl;
 
+
 // With this inset it will be possible to support the latex package
 // float.sty, and I am sure that with this and some additional support
 // classes we can support similar functionality in other formats
@@ -342,12 +346,6 @@ bool InsetFloat::showInsetDialog(BufferView * bv) const
 }
 
 
-string const & InsetFloat::type() const
-{
-       return params_.type;
-}
-
-
 void InsetFloat::wide(bool w, BufferParams const & bp)
 {
        params_.wide = w;
@@ -364,19 +362,17 @@ void InsetFloat::wide(bool w, BufferParams const & bp)
 
 void InsetFloat::addToToc(toc::TocList & toclist, Buffer const * buf) const
 {
-       ParIterator pit(&*inset.paragraphs.begin());
-       ParIterator end;
+       ParIterator pit(inset.paragraphs.begin(), inset.paragraphs);
+       ParIterator end(inset.paragraphs.end(), inset.paragraphs);
 
-       // Find a caption layout in one of the (child inset's) pars
+a      // Find a caption layout in one of the (child inset's) pars
        for (; pit != end; ++pit) {
-               Paragraph * tmp = *pit;
-
-               if (tmp->layout()->name() == caplayout) {
-                       string const name = floatname(type(), buf->params);
+               if (pit->layout()->name() == caplayout) {
+                       string const name = floatname(params_.type, buf->params);
                        string const str =
                                tostr(toclist[name].size() + 1)
-                               + ". " + tmp->asString(buf, false);
-                       toc::TocItem const item(tmp->id(), 0 , str);
+                               + ". " + pit->asString(buf, false);
+                       toc::TocItem const item(pit->id(), 0 , str);
                        toclist[name].push_back(item);
                }
        }
@@ -401,7 +397,10 @@ void InsetFloatMailer::string2params(string const & in,
 {
        params = InsetFloatParams();
 
-       istringstream data(in);
+       if (in.empty())
+               return;
+
+       istringstream data(STRCONV(in));
        LyXLex lex(0,0);
        lex.setStream(data);
 
@@ -427,12 +426,10 @@ void InsetFloatMailer::string2params(string const & in,
 }
 
 
-string const
-InsetFloatMailer::params2string(InsetFloatParams const & params)
+string const InsetFloatMailer::params2string(InsetFloatParams const & params)
 {
        ostringstream data;
        data << name_ << ' ';
        params.write(data);
-
-       return data.str();
+       return STRCONV(data.str());
 }