#include "debug.h"
using std::ostream;
+using std::auto_ptr;
void InsetNote::init()
}
-InsetBase * InsetNote::clone() const
+auto_ptr<InsetBase> InsetNote::clone() const
{
- return new InsetNote(*this);
+ return auto_ptr<InsetBase>(new InsetNote(*this));
}
}
+bool InsetNote::showInsetDialog(BufferView * bv) const
+{
+ InsetNoteMailer("note", const_cast<InsetNote &>(*this)).showDialog(bv);
+ return true;
+}
+
+
dispatch_result InsetNote::localDispatch(FuncRequest const & cmd)
{
BufferView * bv = cmd.view();
return DISPATCHED;
}
case LFUN_INSET_EDIT:
- if (cmd.button() != mouse_button::button3)
+ if (cmd.button() != mouse_button::button3)
return InsetCollapsable::localDispatch(cmd);
return UNDISPATCHED;
case LFUN_INSET_DIALOG_UPDATE:
InsetNoteMailer("note", *this).updateDialog(bv);
return DISPATCHED;
case LFUN_MOUSE_RELEASE:
- if (cmd.button() == mouse_button::button3 && cmd.x < button_length
- && cmd.y >= button_top_y && cmd.y <= button_bottom_y) {
+ if (cmd.button() == mouse_button::button3 && hitButton(cmd)) {
InsetNoteMailer("note", *this).showDialog(bv);
return DISPATCHED;
}
string const pt = params_.type;
int i = 0;
- if (pt == "Comment") os << "%\n\\begin{comment}\n"; // remember to validate
- if (pt == "Greyedout") os << "%\n\\textcolor[gray]{0.8}{";
- if (pt != "Note") {
+ if (pt == "Comment")
+ // verbatim
+ os << "%\n\\begin{comment}\n";
+ else if (pt == "Greyedout")
+ // we roll our own macro
+ os << "%\n\\begin{lyxgreyedout}\n";
+
+ if (pt != "Note")
i = inset.latex(buf, os, runparams);
- }
+
if (pt == "Comment") {
os << "%\n\\end{comment}\n";
- i += 3;
- }
- if (pt == "Greyedout") {
- os << "%\n}";
+ i += 3;
+ } else if (pt == "Greyedout") {
+ os << "%\n\\end{lyxgreyedout}\n";
i += 2;
}
return i;
}
-int InsetNote::linuxdoc(Buffer const *, std::ostream &) const
-{
- return 0;
+int InsetNote::linuxdoc(Buffer const * buf, std::ostream & os) const
+{
+ string const pt = params_.type;
+
+ int i = 0;
+ if (pt == "Comment")
+ os << "<comment>\n";
+
+ if (pt != "Note")
+ i = inset.linuxdoc(buf, os);
+
+ if (pt == "Comment") {
+ os << "\n</comment>\n";
+ i += 3;
+ }
+ return i;
}
int InsetNote::docbook(Buffer const * buf, std::ostream & os, bool mixcont) const
{
- int i = 0;
string const pt = params_.type;
- // incomplete, untested - MV
- if (pt != "Note")
+
+ int i = 0;
+ if (pt == "Comment")
+ os << "<remark>\n";
+
+ if (pt != "Note")
i = inset.docbook(buf, os, mixcont);
- return i;
+
+ if (pt == "Comment") {
+ os << "\n</remark>\n";
+ i += 3;
+ }
+ return i;
}
void InsetNote::validate(LaTeXFeatures & features) const
{
- if (params_.type == "Comment")
+ if (params_.type == "Comment")
features.require("verbatim");
- if (params_.type == "Greyedout")
+ if (params_.type == "Greyedout") {
features.require("color");
+ features.require("lyxgreyedout");
+ }
inset.validate(features);
}
}
-string const InsetNoteMailer::inset2string() const
+string const InsetNoteMailer::inset2string(Buffer const &) const
{
return params2string(name_, inset_.params());
}
type = lex.getString();
}
}
-