#include "Cursor.h"
#include "DispatchResult.h"
#include "InsetLabel.h"
+#include "Language.h"
#include "LaTeXFeatures.h"
#include "LyX.h"
#include "OutputParams.h"
void InsetRef::latex(otexstream & os, OutputParams const & rp) const
{
- string const cmd = getCmdName();
- docstring const data = getEscapedLabel(rp);
+ string const & cmd = getCmdName();
+ docstring const & data = getEscapedLabel(rp);
- if (rp.inulemcmd)
+ if (rp.inulemcmd > 0)
os << "\\mbox{";
if (cmd == "eqref" && buffer().params().use_refstyle) {
os << p.getCommand(rp);
}
- if (rp.inulemcmd)
+ if (rp.inulemcmd > 0)
os << "}";
}
}
-docstring InsetRef::xhtml(XHTMLStream & xs, OutputParams const &) const
+docstring InsetRef::xhtml(XHTMLStream & xs, OutputParams const & op) const
{
docstring const & ref = getParam("reference");
InsetLabel const * il = buffer().insetLabel(ref);
display_string = value;
else if (cmd == "pageref" || cmd == "vpageref")
// normally would be "on page #", but we have no pages.
- // FIXME this is wrong, as it should be the current language,
- // but it is better than _(), which is what we had before.
- display_string = buffer().B_("elsewhere");
+ display_string = translateIfPossible(from_ascii("elsewhere"),
+ op.local_font->language()->lang());
else if (cmd == "eqref")
display_string = '(' + value + ')';
else if (cmd == "formatted")
// properly in XHTML output yet (bug #8599).
// It might not be that hard to do. We have the InsetLabel,
// and we can presumably find its paragraph using the TOC.
- // We could then output the contents of the paragraph using
- // something?
+ // But the label might be referencing a section, yet not be
+ // in that section. So this is not trivial.
display_string = il->prettyCounter();
} else
display_string = ref;
}
-void InsetRef::forToc(docstring & os, size_t) const
+void InsetRef::forOutliner(docstring & os, size_t) const
{
// There's no need for details in the TOC, and a long label
// will just get in the way.
}
-InsetRef::type_info InsetRef::types[] = {
+InsetRef::type_info const InsetRef::types[] = {
{ "ref", N_("Standard"), N_("Ref: ")},
{ "eqref", N_("Equation"), N_("EqRef: ")},
{ "pageref", N_("Page Number"), N_("Page: ")},
}
+docstring InsetRef::getTOCString() const
+{
+ return tooltip_.empty() ? screen_label_ : tooltip_;
+}
+
} // namespace lyx