]> git.lyx.org Git - features.git/blobdiff - src/Text2.cpp
move updateLables to buffer
[features.git] / src / Text2.cpp
index 0386ae764f05a475413f323d7e34fb59d921c74f..a224dc75eb260b97b26b9f730e43c9b40e13747b 100644 (file)
@@ -4,16 +4,16 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Asger Alstrup
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Alfredo Braunstein
  * \author Jean-Marc Lasgouttes
  * \author Angus Leeming
  * \author John Levon
- * \author André Pönitz
+ * \author André Pönitz
  * \author Allan Rae
  * \author Stefan Schimanski
  * \author Dekel Tsur
- * \author Jürgen Vigna
+ * \author Jürgen Vigna
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -84,7 +84,13 @@ FontInfo Text::layoutFont(Buffer const & buffer, pit_type const pit) const
                // In case the default family has been customized
                if (layout.font.family() == INHERIT_FAMILY)
                        lf.setFamily(buffer.params().getFont().fontInfo().family());
-               InsetCollapsable const * icp = pars_[pit].inInset()->asInsetCollapsable();
+               // FIXME
+               // It ought to be possible here just to use Inset::getLayout() and skip
+               // the asInsetCollapsable() bit. Unfortunatley, that doesn't work right
+               // now, because Inset::getLayout() will return a default-constructed
+               // InsetLayout, and that e.g. sets the foreground color to red. So we
+               // need to do some work to make that possible.
+               InsetCollapsable const * icp = pars_[pit].inInset().asInsetCollapsable();
                if (!icp)
                        return lf;
                FontInfo icf = icp->getLayout().font();
@@ -111,12 +117,7 @@ FontInfo Text::labelFont(Buffer const & buffer, Paragraph const & par) const
                // In case the default family has been customized
                if (layout.labelfont.family() == INHERIT_FAMILY)
                        lf.setFamily(buffer.params().getFont().fontInfo().family());
-               InsetCollapsable const * icp = par.inInset()->asInsetCollapsable();
-               if (!icp)
-                       return lf;
-               FontInfo icf = icp->getLayout().labelfont();
-               icf.realize(lf);
-               return icf;
+               return lf;
        }
 
        FontInfo font = layout.labelfont;
@@ -190,7 +191,7 @@ void Text::setInsetFont(BufferView const & bv, pit_type pit,
 // return past-the-last paragraph influenced by a layout change on pit
 pit_type Text::undoSpan(pit_type pit)
 {
-       pit_type end = paragraphs().size();
+       pit_type const end = paragraphs().size();
        pit_type nextpit = pit + 1;
        if (nextpit == end)
                return nextpit;
@@ -234,7 +235,7 @@ void Text::setLayout(Cursor & cur, docstring const & layout)
        pit_type undopit = undoSpan(end - 1);
        recUndo(cur, start, undopit - 1);
        setLayout(cur.buffer(), start, end, layout);
-       updateLabels(cur.buffer());
+       cur.buffer().updateLabels();
 }
 
 
@@ -293,7 +294,7 @@ void Text::changeDepth(Cursor & cur, DEPTH_CHANGE type)
        }
        // this handles the counter labels, and also fixes up
        // depth values for follow-on (child) paragraphs
-       updateLabels(cur.buffer());
+       cur.buffer().updateLabels();
 }