]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph_funcs.cpp
This is the first of a series of commits that will make InsetLayout a real class.
[lyx.git] / src / paragraph_funcs.cpp
index 0dbacb46ace5839809db731c544c71b2844f3316..4dece7ae03eefd46603579a4b2818baacef13bf4 100644 (file)
 
 #include "BufferParams.h"
 #include "Changes.h"
-#include "debug.h"
 #include "InsetList.h"
 #include "Layout.h"
 #include "Paragraph.h"
 #include "ParagraphParameters.h"
 #include "Text.h"
+#include "TextClass.h"
+
+#include "support/debug.h"
 
 #include <boost/next_prior.hpp>
 
+using namespace std;
 
 namespace lyx {
 
-using std::endl;
-
-
 static bool moveItem(Paragraph & fromPar, pos_type fromPos,
        Paragraph & toPar, pos_type toPos, BufferParams const & params)
 {
        // Note: moveItem() does not honour change tracking!
        // Therefore, it should only be used for breaking and merging paragraphs
 
-       Paragraph::value_type const tmpChar = fromPar.getChar(fromPos);
+       char_type const tmpChar = fromPar.getChar(fromPos);
        Font const tmpFont = fromPar.getFontSettings(params, fromPos);
        Change const tmpChange = fromPar.lookupChange(fromPos);
 
-       if (tmpChar == Paragraph::META_INSET) {
+       if (fromPar.isInset(fromPos)) {
                Inset * tmpInset = 0;
                if (fromPar.getInset(fromPos)) {
                        // the inset is not in the paragraph any more
@@ -72,11 +72,14 @@ void breakParagraph(BufferParams const & bparams,
 
        Paragraph & par = pars[par_offset];
 
-       // without doing that we get a crash when typing <Return> at the
-       // end of a paragraph
-       tmp->layout(bparams.getTextClass().defaultLayout());
        // remember to set the inset_owner
        tmp->setInsetOwner(par.inInset());
+       // without doing that we get a crash when typing <Return> at the
+       // end of a paragraph
+       if (par.useEmptyLayout())
+               tmp->layout(bparams.getTextClass().emptyLayout());
+       else
+               tmp->layout(bparams.getTextClass().defaultLayout());
 
        // layout stays the same with latex-environments
        if (keep_layout) {
@@ -195,8 +198,8 @@ void mergeParagraph(BufferParams const & bparams,
        // marked as unmodified. Otherwise, its change is adopted by the first
        // character of the next paragraph.
        if (par.lookupChange(par.size()).type != Change::UNCHANGED) {
-               LYXERR(Debug::CHANGES) <<
-                  "merging par with inserted/deleted end-of-par character" << endl;
+               LYXERR(Debug::CHANGES,
+                  "merging par with inserted/deleted end-of-par character");
                par.setChange(par.size(), Change(Change::UNCHANGED));
        }
 
@@ -291,7 +294,7 @@ int getEndLabel(pit_type p, ParagraphList const & pars)
 Font const outerFont(pit_type par_offset, ParagraphList const & pars)
 {
        depth_type par_depth = pars[par_offset].getDepth();
-       Font tmpfont(Font::ALL_INHERIT);
+       FontInfo tmpfont = inherit_font;
 
        // Resolve against environment font information
        while (par_offset != pit_type(pars.size())
@@ -304,7 +307,7 @@ Font const outerFont(pit_type par_offset, ParagraphList const & pars)
                }
        }
 
-       return tmpfont;
+       return Font(tmpfont);
 }