]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insettext.C
small cleanup
[lyx.git] / src / insets / insettext.C
index e5dad6786a23b928e03186af38ccd86e7962f51b..3b50c482b64f73a0d359e3fb39c802d5da0d6209 100644 (file)
@@ -629,11 +629,10 @@ bool InsetText::updateInsetInInset(BufferView * bv, InsetOld * inset)
                                return false;
                        found = tl_inset->updateInsetInInset(bv, inset);
                        ustat = FULL;
-               }
-               if (found)
+               } else { 
                        text_.updateInset(tl_inset);
-               if (found)
                        setUpdateStatus(ustat);
+               }
                return found;
        }
        bool found = text_.updateInset(inset);
@@ -825,7 +824,9 @@ InsetOld::RESULT InsetText::localDispatch(FuncRequest const & cmd)
 
                locked = true;
                the_locking_inset = 0;
-               inset_pos = inset_x = inset_y = 0;
+               inset_pos = 0;
+               inset_x = 0;
+               inset_y = 0;
                inset_boundary = false;
                inset_par = paragraphs.end();
                old_par = paragraphs.end();
@@ -835,11 +836,7 @@ InsetOld::RESULT InsetText::localDispatch(FuncRequest const & cmd)
                        if (cmd.argument == "left")
                                text_.setCursorIntern(paragraphs.begin(), 0);
                        else {
-                               ParagraphList::iterator it = paragraphs.begin();
-                               ParagraphList::iterator end = paragraphs.end();
-                               while (boost::next(it) != end)
-                                       ++it;
-               //              int const pos = (p->size() ? p->size()-1 : p->size());
+                               ParagraphList::iterator it = boost::prior(paragraphs.end());
                                text_.setCursor(it, it->size());
                        }
                } else {
@@ -1313,6 +1310,27 @@ int InsetText::ascii(Buffer const * buf, ostream & os, int linelen) const
 }
 
 
+int InsetText::linuxdoc(Buffer const * buf, ostream & os) const
+{
+       ParagraphList::iterator pit = const_cast<ParagraphList&>(paragraphs).begin();
+       ParagraphList::iterator pend = const_cast<ParagraphList&>(paragraphs).end();
+
+       // There is a confusion between the empty paragraph and the default paragraph
+       // The default paragraph is <p></p>, the empty paragraph is *empty*
+       // Since none of the floats of linuxdoc accepts standard paragraphs
+       // I disable them. I don't expect problems. (jamatos 2003/07/27)
+       for (; pit != pend; ++pit) {
+               const string name = pit->layout()->latexname();
+               if (name != "p")
+                       sgml::openTag(os, 1, 0, name);
+               buf->simpleLinuxDocOnePar(os, pit, 0);
+               if (name != "p")
+                       sgml::closeTag(os, 1, 0, name);
+       }
+       return 0;
+}
+
+
 int InsetText::docbook(Buffer const * buf, ostream & os, bool mixcont) const
 {
        unsigned int lines = 0;
@@ -1501,7 +1519,7 @@ int InsetText::insetInInsetY() const
        if (!the_locking_inset)
                return 0;
 
-       return (inset_y + the_locking_inset->insetInInsetY());
+       return inset_y + the_locking_inset->insetInInsetY();
 }
 
 
@@ -1708,19 +1726,15 @@ void InsetText::setFont(BufferView * bv, LyXFont const & font, bool toggleall,
 
 bool InsetText::checkAndActivateInset(BufferView * bv, bool front)
 {
-       if (cpar()->isInset(cpos())) {
-               InsetOld * inset =
-                       static_cast<UpdatableInset*>(cpar()->getInset(cpos()));
-               if (!isHighlyEditableInset(inset))
-                       return false;
-               FuncRequest cmd(bv, LFUN_INSET_EDIT, front ? "left" : "right");
-               inset->localDispatch(cmd);
-               if (!the_locking_inset)
-                       return false;
-               updateLocal(bv, CURSOR, false);
-               return true;
-       }
-       return false;
+       InsetOld * inset = cpar()->getInset(cpos());
+       if (!isHighlyEditableInset(inset))
+               return false;
+       FuncRequest cmd(bv, LFUN_INSET_EDIT, front ? "left" : "right");
+       inset->localDispatch(cmd);
+       if (!the_locking_inset)
+               return false;
+       updateLocal(bv, CURSOR, false);
+       return true;
 }
 
 
@@ -1739,21 +1753,20 @@ bool InsetText::checkAndActivateInset(BufferView * bv, int x, int y,
        if (button == mouse_button::none && !isHighlyEditableInset(inset))
                return false;
 
-       if (inset) {
-               if (x < 0)
-                       x = dim_.wid;
-               if (y < 0)
-                       y = dim_.des;
-               inset_x = cix(bv) - top_x + drawTextXOffset;
-               inset_y = ciy() + drawTextYOffset;
-               FuncRequest cmd(bv, LFUN_INSET_EDIT, x - inset_x, y - inset_y, button);
-               inset->localDispatch(cmd);
-               if (!the_locking_inset)
-                       return false;
-               updateLocal(bv, CURSOR, false);
-               return true;
-       }
-       return false;
+       if (!inset)
+               return false;
+       if (x < 0)
+               x = dim_.wid;
+       if (y < 0)
+               y = dim_.des;
+       inset_x = cix(bv) - top_x + drawTextXOffset;
+       inset_y = ciy() + drawTextYOffset;
+       FuncRequest cmd(bv, LFUN_INSET_EDIT, x - inset_x, y - inset_y, button);
+       inset->localDispatch(cmd);
+       if (!the_locking_inset)
+               return false;
+       updateLocal(bv, CURSOR, false);
+       return true;
 }
 
 
@@ -1771,8 +1784,7 @@ void InsetText::setParagraphData(ParagraphList const & plist)
        ParagraphList::const_iterator end = plist.end();
        for (; it != end; ++it) {
                paragraphs.push_back(*it);
-               Paragraph & tmp = paragraphs.back();
-               tmp.setInsetOwner(this);
+               paragraphs.back().setInsetOwner(this);
        }
 
        reinitLyXText();
@@ -1991,7 +2003,6 @@ void InsetText::reinitLyXText() const
        }
        text_.top_y(bv->screen().topCursorVisible(&text_));
        if (!owner()) {
-               const_cast<InsetText*>(this)->updateLocal(bv, FULL, false);
                // this will scroll the screen such that the cursor becomes visible
                bv->updateScrollbar();
        } else {
@@ -2165,10 +2176,10 @@ bool InsetText::nextChange(BufferView * bv, lyx::pos_type & length)
                        return true;
                text_.cursorRight(true);
        }
-       lyxfind::SearchResult result =
-               lyxfind::findNextChange(bv, &text_, length);
+       lyx::find::SearchResult result =
+               lyx::find::findNextChange(bv, &text_, length);
 
-       if (result == lyxfind::SR_FOUND) {
+       if (result == lyx::find::SR_FOUND) {
                LyXCursor cur = text_.cursor;
                bv->unlockInset(bv->theLockingInset());
                if (bv->lockInset(this))
@@ -2177,7 +2188,7 @@ bool InsetText::nextChange(BufferView * bv, lyx::pos_type & length)
                text_.setSelectionRange(length);
                updateLocal(bv, SELECTION, false);
        }
-       return result != lyxfind::SR_NOT_FOUND;
+       return result != lyx::find::SR_NOT_FOUND;
 }
 
 
@@ -2189,10 +2200,10 @@ bool InsetText::searchForward(BufferView * bv, string const & str,
                        return true;
                text_.cursorRight(true);
        }
-       lyxfind::SearchResult result =
-               lyxfind::LyXFind(bv, &text_, str, true, cs, mw);
+       lyx::find::SearchResult result =
+               lyx::find::find(bv, &text_, str, true, cs, mw);
 
-       if (result == lyxfind::SR_FOUND) {
+       if (result == lyx::find::SR_FOUND) {
                LyXCursor cur = text_.cursor;
                bv->unlockInset(bv->theLockingInset());
                if (bv->lockInset(this))
@@ -2201,7 +2212,7 @@ bool InsetText::searchForward(BufferView * bv, string const & str,
                text_.setSelectionRange(str.length());
                updateLocal(bv, SELECTION, false);
        }
-       return (result != lyxfind::SR_NOT_FOUND);
+       return (result != lyx::find::SR_NOT_FOUND);
 }
 
 bool InsetText::searchBackward(BufferView * bv, string const & str,
@@ -2220,10 +2231,10 @@ bool InsetText::searchBackward(BufferView * bv, string const & str,
 
                text_.setCursor(pit, pit->size());
        }
-       lyxfind::SearchResult result =
-               lyxfind::LyXFind(bv, &text_, str, false, cs, mw);
+       lyx::find::SearchResult result =
+               lyx::find::find(bv, &text_, str, false, cs, mw);
 
-       if (result == lyxfind::SR_FOUND) {
+       if (result == lyx::find::SR_FOUND) {
                LyXCursor cur = text_.cursor;
                bv->unlockInset(bv->theLockingInset());
                if (bv->lockInset(this))
@@ -2232,7 +2243,7 @@ bool InsetText::searchBackward(BufferView * bv, string const & str,
                text_.setSelectionRange(str.length());
                updateLocal(bv, SELECTION, false);
        }
-       return (result != lyxfind::SR_NOT_FOUND);
+       return (result != lyx::find::SR_NOT_FOUND);
 }