/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
- *
+ *
* Copyright 1998-2001 The LyX Team.
*
* ====================================================== */
// within - This (optional) argument determines whether floats of this
// class will be numbered within some sectional unit of the
// document. For example, if within is equal to chapter, the
-// floats will be numbered within chapters.
+// floats will be numbered within chapters.
// \floatstyle{style}
// style - plain, boxed, ruled
// \floatname{float}{floatname}
//
// Lgb
-InsetFloat::InsetFloat(string const & type)
- : InsetCollapsable(), wide_(false)
+namespace {
+
+string floatname(string const & type)
{
- string lab(_("float:"));
- lab += type;
+ FloatList::const_iterator it = floatList[type];
+ if (it == floatList.end())
+ return type;
+
+ return _(it->second.name());
+}
+
+} // namespace anon
+
+
+InsetFloat::InsetFloat(BufferParams const & bp, string const & type)
+ : InsetCollapsable(bp), wide_(false)
+{
+ string lab(_("float: "));
+ lab += floatname(type);
setLabel(lab);
LyXFont font(LyXFont::ALL_SANE);
font.decSize();
} else {
os << "wide false\n";
}
-
+
InsetCollapsable::write(buf, os);
}
void InsetFloat::validate(LaTeXFeatures & features) const
{
if (contains(placement(), "H")) {
- features.require("floats");
+ features.require("float");
}
-
+
features.useFloat(floatType_);
InsetCollapsable::validate(features);
}
&& buf_placement != def_placement) {
placement = buf_placement;
}
-
+
os << "\\begin{" << tmptype << "}";
// We only output placement if different from the def_placement.
if (!placement.empty()) {
os << "[" << placement << "]";
}
-
+
os << "%\n";
-
+
int const i = inset.latex(buf, os, fragile, fp);
os << "\\end{" << tmptype << "}%\n";
-
+
return i + 2;
}
bool InsetFloat::showInsetDialog(BufferView * bv) const
{
if (!inset.showInsetDialog(bv)) {
- bv->owner()->getDialogs()->showFloat(const_cast<InsetFloat *>(this));
+ bv->owner()->getDialogs()->showFloat(const_cast<InsetFloat *>(this));
}
return true;
}
-void InsetFloat::insetButtonRelease(BufferView * bv, int x, int y, int button)
-{
-#if 1
- if ((x >= 0) && (x < button_length) &&
- (y >= button_top_y) && (y <= button_bottom_y) &&
- (button == 3))
- {
- showInsetDialog(bv);
- return;
- }
-#else
- if (button == 3) {
- showInsetDialog(bv);
- return;
- }
-#endif
- InsetCollapsable::insetButtonRelease(bv, x, y, button);
-}
-
-
-string const & InsetFloat::type() const
+string const & InsetFloat::type() const
{
return floatType_;
}
void InsetFloat::wide(bool w)
{
wide_ = w;
- if (wide_) {
- string lab(_("float:"));
- lab += floatType_;
+
+ string lab(_("float:"));
+ lab += floatname(floatType_);
+
+ if (wide_)
lab += "*";
- setLabel(lab);
- } else {
- string lab(_("float:"));
- lab += floatType_;
- setLabel(lab);
- }
+
+ setLabel(lab);
}