#include "funcrequest.h"
#include "gettext.h"
#include "LaTeXFeatures.h"
+#include "outputparams.h"
+#include "sgml.h"
#include "frontends/LyXView.h"
{}
-void InsetRef::priv_dispatch(LCursor & cur, FuncRequest const & cmd)
+void InsetRef::doDispatch(LCursor & cur, FuncRequest & cmd)
{
switch (cmd.action) {
case LFUN_MOUSE_PRESS:
// Eventually trigger dialog with button 3 not 1
if (cmd.button() == mouse_button::button3)
- cur.bv().owner()->dispatch(FuncRequest(LFUN_REF_GOTO, getContents()));
+ cur.bv().owner()->dispatch(FuncRequest(LFUN_LABEL_GOTO, getContents()));
else
InsetCommandMailer("ref", *this).showDialog(&cur.bv());
return;
return;
default:
- return InsetCommand::priv_dispatch(cur, cmd);
+ return InsetCommand::doDispatch(cur, cmd);
}
}
}
-int InsetRef::linuxdoc(Buffer const &, ostream & os,
- OutputParams const &) const
+int InsetRef::linuxdoc(Buffer const & buf, ostream & os,
+ OutputParams const & runparams) const
{
- os << "<ref id=\"" << getContents()
+ os << "<ref id=\"" << sgml::cleanID(buf, runparams, getContents())
<< "\" name=\"" << getOptions() << "\" >";
return 0;
}
-int InsetRef::docbook(Buffer const &, ostream & os,
- OutputParams const &) const
+int InsetRef::docbook(Buffer const & buf, ostream & os,
+ OutputParams const & runparams) const
{
- if (getOptions().empty()) {
- os << "<xref linkend=\"" << getContents() << "\">";
+ if (getOptions().empty() && runparams.flavor == OutputParams::XML) {
+ os << "<xref linkend=\"" << sgml::cleanID(buf, runparams, getContents()) << "\" />";
+ } else if (getOptions().empty()) {
+ os << "<xref linkend=\"" << sgml::cleanID(buf, runparams, getContents()) << "\">";
} else {
- os << "<link linkend=\"" << getContents()
+ os << "<link linkend=\"" << sgml::cleanID(buf, runparams, getContents())
<< "\">" << getOptions() << "</link>";
}
}
+int InsetRef::textString(Buffer const & buf, ostream & os,
+ OutputParams const & op) const
+{
+ return plaintext(buf, os, op);
+}
+
+
void InsetRef::validate(LaTeXFeatures & features) const
{
if (getCmdName() == "vref" || getCmdName() == "vpageref")