#include "gettext.h"
#include "lyxfont.h"
#include "BufferView.h"
-#include "Painter.h"
#include "lyxtext.h"
+#include "insets/insettext.h"
#include "support/LOstream.h"
+#include "debug.h"
using std::ostream;
using std::endl;
-InsetMarginal::InsetMarginal()
- : InsetCollapsable()
-{
- setLabel(_("margin"));
- LyXFont font(LyXFont::ALL_SANE);
- font.decSize();
- font.decSize();
- font.setColor(LColor::footnote);
- setLabelFont(font);
- setAutoCollapse(false);
- setInsetName("Marginal");
-}
-
-void InsetMarginal::Write(Buffer const * buf, ostream & os) const
+InsetMarginal::InsetMarginal()
+ : InsetFootlike()
{
- os << getInsetName() << "\n";
- InsetCollapsable::Write(buf, os);
+ setLabel(_("margin"));
+ setInsetName("Marginal");
}
-Inset * InsetMarginal::Clone() const
+Inset * InsetMarginal::Clone(Buffer const &) const
{
- InsetMarginal * result = new InsetMarginal;
- result->init(this);
-
- result->collapsed = collapsed;
- return result;
+ InsetMarginal * result = new InsetMarginal;
+ result->inset->init(inset);
+
+ result->collapsed = collapsed;
+ return result;
}
-char const * InsetMarginal::EditMessage() const
+string const InsetMarginal::EditMessage() const
{
- return _("Opened Marginal Note Inset");
+ return _("Opened Marginal Note Inset");
}
int InsetMarginal::Latex(Buffer const * buf,
ostream & os, bool fragile, bool fp) const
{
- os << "\\marginpar{%\n";
-
- int i = InsetText::Latex(buf, os, fragile, fp);
- os << "}%\n";
-
- return i + 2;
-}
-
-
-bool InsetMarginal::InsertInset(BufferView * bv, Inset * inset)
-{
- if (!InsertInsetAllowed(inset))
- return false;
-
- return InsetText::InsertInset(bv, inset);
-}
-
-
-bool InsetMarginal::InsertInsetAllowed(Inset * inset) const
-{
- if ((inset->LyxCode() == Inset::FOOT_CODE) ||
- (inset->LyxCode() == Inset::MARGIN_CODE)) {
- return false;
- }
- return true;
+ os << "\\marginpar{%\n";
+
+ int i = inset->Latex(buf, os, fragile, fp);
+ os << "}%\n";
+
+ return i + 2;
}
-LyXFont InsetMarginal::GetDrawFont(BufferView * bv,
- LyXParagraph * p, int pos) const
+bool InsetMarginal::InsertInsetAllowed(Inset * in) const
{
- LyXFont fn = getLyXText(bv)->GetFont(bv->buffer(), p, pos);
- fn.decSize().decSize();
- return fn;
+ if ((in->LyxCode() == Inset::FOOT_CODE) ||
+ (in->LyxCode() == Inset::MARGIN_CODE)) {
+ return false;
+ }
+ return true;
}