]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetFoot.cpp
Pure HTML output for math macros.
[lyx.git] / src / insets / InsetFoot.cpp
index d1e0097c420634a548f95bdc945b22034c3878c2..f311c1d61cfc227e57e46da070ed3975875ca322 100644 (file)
@@ -31,25 +31,31 @@ using namespace std;
 
 namespace lyx {
 
-InsetFoot::InsetFoot(Buffer const & buf)
+InsetFoot::InsetFoot(Buffer * buf)
        : InsetFootlike(buf)
 {}
 
 
-void InsetFoot::updateLabels(ParIterator const & it)
+void InsetFoot::updateBuffer(ParIterator const & it, UpdateType utype)
 {
        BufferParams const & bp = buffer().masterBuffer()->params();
        Counters & cnts = bp.documentClass().counters();
-       static docstring const foot = from_ascii("footnote");
+       if (utype == OutputUpdate) {
+               // the footnote counter is local to this inset
+               cnts.saveLastCounter();
+       }
        Paragraph const & outer = it.paragraph();
-       if (!outer.layout().intitle && cnts.hasCounter(foot)) {
-               cnts.step(foot);
-               custom_label_= translateIfPossible(getLayout().labelstring()) 
-                       + ' ' + cnts.theCounter(foot, outer.getParLanguage(bp)->code());
-               setLabel(custom_label_);
-       
+       InsetLayout const & il = getLayout();
+       docstring const & count = il.counter();
+       if (!outer.layout().intitle && cnts.hasCounter(count)) {
+               cnts.step(count, utype);
+               custom_label_= translateIfPossible(il.labelstring()) 
+                       + ' ' + cnts.theCounter(count, outer.getParLanguage(bp)->code());
+               setLabel(custom_label_);        
        }
-       InsetCollapsable::updateLabels(it);
+       InsetCollapsable::updateBuffer(it, utype);
+       if (utype == OutputUpdate)
+               cnts.restoreLastCounter();      
 }