]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCaption.cpp
How about if we write a script to do some of this and stop doing it
[lyx.git] / src / insets / InsetCaption.cpp
index b5bfbc36fe71e3201a3266613025b78e1bc23907..7eb0889dd708cee78bab6c01e0d7a5f017ab16e4 100644 (file)
@@ -64,6 +64,14 @@ void InsetCaption::write(ostream & os) const
 }
 
 
+docstring InsetCaption::name() const
+{
+       if (type_.empty())
+               return from_ascii("Caption");
+       return from_utf8("Caption:" + type_);
+}
+
+
 void InsetCaption::read(Lexer & lex)
 {
 #if 0
@@ -167,6 +175,7 @@ Inset * InsetCaption::editXY(Cursor & cur, int x, int y)
 bool InsetCaption::insetAllowed(InsetCode code) const
 {
        switch (code) {
+       // code that is not allowed in a caption
        case FLOAT_CODE:
        case TABULAR_CODE:
        case WRAP_CODE:
@@ -255,7 +264,11 @@ docstring InsetCaption::xhtml(XHTMLStream & xs, OutputParams const & rp) const
 {
        if (rp.html_disable_captions)
                return docstring();
-       xs << StartTag("div", "class='float-caption'");
+       string attr = "class='float-caption";
+       if (!type_.empty())
+               attr += " float-caption-" + type_;
+       attr += "'";
+       xs << StartTag("div", attr);
        docstring def = getCaptionAsHTML(xs, rp);
        xs << EndTag("div");
        return def;
@@ -294,7 +307,7 @@ docstring InsetCaption::getCaptionAsHTML(XHTMLStream & xs,
 }
 
 
-void InsetCaption::updateLabels(ParIterator const & it)
+void InsetCaption::updateLabels(ParIterator const & it, bool out)
 {
        Buffer const & master = *buffer().masterBuffer();
        DocumentClass const & tclass = master.params().documentClass();
@@ -329,7 +342,7 @@ void InsetCaption::updateLabels(ParIterator const & it)
        }
 
        // Do the real work now.
-       InsetText::updateLabels(it);
+       InsetText::updateLabels(it, out);
 }