]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
this we don't need anymore
[lyx.git] / src / Text3.cpp
index 9ba49502847a3e5a5efd581c089e292c4f613e0b..9e8ce03dd8acee195c4d042e7fc2534f9a973100 100644 (file)
@@ -131,7 +131,9 @@ static void mathDispatch(Cursor & cur, FuncRequest const & cmd, bool display)
                const int old_pos = cur.pos();
 #endif
                cur.insert(new InsetMathHull(hullSimple));
-               BOOST_ASSERT(old_pos == cur.pos());
+#ifdef ENABLE_ASSERTIONS
+               LASSERT(old_pos == cur.pos(), /**/);
+#endif
                cur.nextInset()->edit(cur, true);
                // don't do that also for LFUN_MATH_MODE
                // unless you want end up with always changing
@@ -154,7 +156,7 @@ static void mathDispatch(Cursor & cur, FuncRequest const & cmd, bool display)
                {
                        InsetMathHull * formula = new InsetMathHull;
                        istringstream is(to_utf8(sel));
-                       Lexer lex(0, 0);
+                       Lexer lex;
                        lex.setStream(is);
                        formula->read(lex);
                        if (formula->getType() == hullNone)
@@ -390,7 +392,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        // at the end?
        cur.noUpdate();
 
-       BOOST_ASSERT(cur.text() == this);
+       LASSERT(cur.text() == this, /**/);
        CursorSlice oldTopSlice = cur.top();
        bool oldBoundary = cur.boundary();
        bool sel = cur.selection();
@@ -658,36 +660,24 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
 
-       case LFUN_NEW_LINE: {
-               // Not allowed by LaTeX (labels or empty par)
-               if (cur.pos() > cur.paragraph().beginOfBody()) {
-                       // this avoids a double undo
-                       // FIXME: should not be needed, ideally
-                       if (!cur.selection())
-                               cur.recordUndo();
-                       cap::replaceSelection(cur);
-                       cur.insert(new InsetNewline);
-                       cur.posForward();
-                       moveCursor(cur, false);
-               }
+       case LFUN_NEWLINE_INSERT: {
+               InsetNewlineParams inp;
+               docstring arg = cmd.argument();
+               // this avoids a double undo
+               // FIXME: should not be needed, ideally
+               if (!cur.selection())
+                       cur.recordUndo();
+               cap::replaceSelection(cur);
+               if (arg == "linebreak")
+                       inp.kind = InsetNewlineParams::LINEBREAK;
+               else
+                       inp.kind = InsetNewlineParams::NEWLINE;
+               cur.insert(new InsetNewline(inp));
+               cur.posForward();
+               moveCursor(cur, false);
                break;
        }
        
-       case LFUN_LINE_BREAK: {
-               // Not allowed by LaTeX (labels or empty par)
-               if (cur.pos() > cur.paragraph().beginOfBody()) {
-                       // this avoids a double undo
-                       // FIXME: should not be needed, ideally
-                       if (!cur.selection())
-                               cur.recordUndo();
-                       cap::replaceSelection(cur);
-                       cur.insert(new InsetLinebreak);
-                       cur.posForward();
-                       moveCursor(cur, false);
-               }
-               break;
-       }
-
        case LFUN_CHAR_DELETE_FORWARD:
                if (!cur.selection()) {
                        if (cur.pos() == cur.paragraph().size())
@@ -936,7 +926,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        else if (arg == "linkback")
                                type = Clipboard::LinkBackGraphicsType;
                        else
-                               BOOST_ASSERT(false);
+                               LASSERT(false, /**/);
 
                        pasteClipboardGraphics(cur, bv->buffer().errorList("Paste"), type);
                }
@@ -1182,6 +1172,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                cur.updateFlags(Update::SinglePar | Update::FitCursor);
                                break;                  
                        }
+               default:
+                       break;
                } // switch (cmd.button())
                break;
 
@@ -1297,7 +1289,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                }
                p["target"] = (cmd.argument().empty()) ?
                        content : cmd.argument();
-               string const data = InsetCommandMailer::params2string("href", p);
+               string const data = InsetCommand::params2string("href", p);
                if (p["target"].empty()) {
                        bv->showDialog("href", data);
                } else {
@@ -1313,7 +1305,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                p["name"] = (cmd.argument().empty()) ?
                        cur.getPossibleLabel() :
                        cmd.argument();
-               string const data = InsetCommandMailer::params2string("label", p);
+               string const data = InsetCommand::params2string("label", p);
 
                if (cmd.argument().empty()) {
                        bv->showDialog("label", data);
@@ -1497,7 +1489,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                cap::replaceSelection(cur);
                cur.insert(new InsetMathHull(hullSimple));
                checkAndActivateInset(cur, true);
-               BOOST_ASSERT(cur.inMathed());
+               LASSERT(cur.inMathed(), /**/);
                cur.dispatch(cmd);
                break;
        }
@@ -1683,11 +1675,17 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                breakParagraph(cur);
                        }
 
-                       //FIXME Check if this should be emptyLayout()
-                       setLayout(cur, tclass.defaultLayoutName());
+                       docstring const laystr = cur.inset().useEmptyLayout() ?
+                               tclass.emptyLayoutName() :
+                               tclass.defaultLayoutName();
+                       setLayout(cur, laystr);
                        ParagraphParameters p;
                        setParagraphs(cur, p);
-                       insertInset(cur, new InsetFloatList(to_utf8(cmd.argument())));
+                       // FIXME This should be simplified when InsetFloatList takes a 
+                       // Buffer in its constructor.
+                       InsetFloatList * ifl = new InsetFloatList(to_utf8(cmd.argument()));
+                       ifl->setBuffer(bv->buffer());
+                       insertInset(cur, ifl);
                        cur.posForward();
                } else {
                        lyxerr << "Non-existent float type: "
@@ -1831,7 +1829,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
 bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                        FuncStatus & flag) const
 {
-       BOOST_ASSERT(cur.text() == this);
+       LASSERT(cur.text() == this, /**/);
 
        Font const & font = cur.real_current_font;
        FontInfo const & fontinfo = font.fontInfo();
@@ -2120,6 +2118,11 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                enable = (cur.paragraph().layout().toclevel != Layout::NOT_IN_TOC);
                break;
 
+       case LFUN_NEWLINE_INSERT:
+               // LaTeX restrictions (labels or empty par)
+               enable = (cur.pos() > cur.paragraph().beginOfBody());
+               break;
+
        case LFUN_WORD_DELETE_FORWARD:
        case LFUN_WORD_DELETE_BACKWARD:
        case LFUN_LINE_DELETE:
@@ -2151,9 +2154,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_PARAGRAPH_UP:
        case LFUN_PARAGRAPH_DOWN:
        case LFUN_LINE_BEGIN:
-       case LFUN_LINE_BREAK:
        case LFUN_LINE_END:
-       case LFUN_NEW_LINE:
        case LFUN_CHAR_DELETE_FORWARD:
        case LFUN_DELETE_FORWARD_SKIP:
        case LFUN_CHAR_DELETE_BACKWARD: