#include "Lsstream.h"
#include "lyxlex.h"
#include "lyxrc.h"
-#include "Lsstream.h"
+#include "metricsinfo.h"
+#include "dimension.h"
#include "frontends/Dialogs.h"
#include "frontends/LyXView.h"
return DISPATCHED;
}
- case LFUN_INSET_DIALOG_UPDATE:
+ case LFUN_INSET_DIALOG_UPDATE:
InsetIncludeMailer(*this).updateDialog(cmd.view());
return DISPATCHED;
return DISPATCHED;
default:
- return UNDISPATCHED;
+ return InsetButton::localDispatch(cmd);
}
}
}
-Inset * InsetInclude::clone(Buffer const & buffer, bool) const
+Inset * InsetInclude::clone() const
{
- Params p(params_);
- p.masterFilename_ = buffer.fileName();
+ //Params p(params_);
+ //p.masterFilename_ = buffer.fileName();
+#warning FIXME: broken cross-doc copy/paste - must fix
- return new InsetInclude(p);
+ return new InsetInclude(params_);
}
int InsetInclude::latex(Buffer const * buffer, ostream & os,
- LatexRunParams const & runparams,
- bool /*fs*/) const
+ LatexRunParams const & runparams) const
{
string incfile(params_.cparams.getContents());
}
-int InsetInclude::ascent(BufferView * bv, LyXFont const & font) const
+void InsetInclude::metrics(MetricsInfo & mi, Dimension & dim) const
{
- return preview_->previewReady() ?
- preview_->pimage()->ascent() : InsetButton::ascent(bv, font);
-}
-
-
-int InsetInclude::descent(BufferView * bv, LyXFont const & font) const
-{
- return preview_->previewReady() ?
- preview_->pimage()->descent() : InsetButton::descent(bv, font);
-}
-
-
-int InsetInclude::width(BufferView * bv, LyXFont const & font) const
-{
- return preview_->previewReady() ?
- preview_->pimage()->width() : InsetButton::width(bv, font);
+ if (preview_->previewReady()) {
+ dim.asc = preview_->pimage()->ascent();
+ dim.des = preview_->pimage()->descent();
+ dim.wid = preview_->pimage()->width();
+ } else {
+ InsetButton::metrics(mi, dim);
+ }
+ dim_ = dim;
}
-void InsetInclude::draw(BufferView * bv, LyXFont const & font, int y,
- float & xx) const
+void InsetInclude::draw(PainterInfo & pi, int x, int y) const
{
- cache(bv);
+ cache(pi.base.bv);
if (!preview_->previewReady()) {
- InsetButton::draw(bv, font, y, xx);
+ InsetButton::draw(pi, x, y);
return;
}
if (!preview_->monitoring())
preview_->startMonitoring();
- int const x = int(xx);
- int const w = width(bv, font);
- int const d = descent(bv, font);
- int const a = ascent(bv, font);
- int const h = a + d;
+ Dimension dim;
+ MetricsInfo mi;
+ mi.base.bv = pi.base.bv;
+ mi.base.font = pi.base.font;
+ metrics(mi, dim);
+ dim_ = dim;
- bv->painter().image(x, y - a, w, h,
+ pi.pain.image(x, y - dim.asc, dim.wid, dim.height(),
*(preview_->pimage()->image()));
-
- xx += w;
}
ostringstream os;
LatexRunParams runparams;
runparams.flavor = LatexRunParams::LATEX;
- parent().latex(view()->buffer(), os, runparams, false);
+ parent().latex(view()->buffer(), os, runparams);
return STRCONV(os.str());
}
if (in.empty())
return;
-
+
istringstream data(STRCONV(in));
LyXLex lex(0,0);
lex.setStream(data);