mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 13:31:49 +00:00
fix bug 2022
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10439 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c8c45171e8
commit
087c1bf17d
@ -1,3 +1,8 @@
|
||||
2005-09-12 Georg Baum <Georg.Baum@post.rwth-aachen.de>
|
||||
|
||||
* insetvspace.C (metrics): include label text
|
||||
* insetvspace.[Ch] (label): new, needed for the above
|
||||
|
||||
2005-08-10 Jürgen Spitzmüller <j.spitzmueller@gmx.de>
|
||||
|
||||
* insetbase.[Ch]: new bool neverIndent() which indicates if
|
||||
|
@ -102,10 +102,21 @@ void InsetVSpace::write(Buffer const &, ostream & os) const
|
||||
}
|
||||
|
||||
|
||||
string const InsetVSpace::label() const
|
||||
{
|
||||
static string const label = _("Vertical Space");
|
||||
return label + " (" + space_.asGUIName() + ')';
|
||||
}
|
||||
|
||||
|
||||
namespace {
|
||||
int const arrow_size = 4;
|
||||
}
|
||||
|
||||
|
||||
void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const
|
||||
{
|
||||
int size = 10;
|
||||
int const arrow_size = 4;
|
||||
int const space_size = space_.inPixels(*mi.base.bv);
|
||||
|
||||
LyXFont font;
|
||||
@ -119,7 +130,12 @@ void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const
|
||||
|
||||
dim.asc = size / 2;
|
||||
dim.des = size / 2;
|
||||
dim.wid = 10 + 2 * ADD_TO_VSPACE_WIDTH;
|
||||
int w = 0;
|
||||
int a = 0;
|
||||
int d = 0;
|
||||
font.decSize();
|
||||
font_metrics::rectText(label(), font, w, a, d);
|
||||
dim.wid = ADD_TO_VSPACE_WIDTH + 2 * arrow_size + 5 + w;
|
||||
|
||||
dim_ = dim;
|
||||
}
|
||||
@ -127,25 +143,20 @@ void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const
|
||||
|
||||
void InsetVSpace::draw(PainterInfo & pi, int x, int y) const
|
||||
{
|
||||
static std::string const label = _("Vertical Space");
|
||||
|
||||
setPosCache(pi, x, y);
|
||||
|
||||
x += ADD_TO_VSPACE_WIDTH;
|
||||
|
||||
int const arrow_size = 4;
|
||||
int const start = y - dim_.asc;
|
||||
int const end = y + dim_.des;
|
||||
|
||||
// the label to display (if any)
|
||||
string str;
|
||||
string const str = label();
|
||||
// y-values for top arrow
|
||||
int ty1, ty2;
|
||||
// y-values for bottom arrow
|
||||
int by1, by2;
|
||||
|
||||
str = label + " (" + space_.asGUIName() + ")";
|
||||
|
||||
if (space_.kind() == VSpace::VFILL) {
|
||||
ty1 = ty2 = start;
|
||||
by1 = by2 = end;
|
||||
@ -171,7 +182,7 @@ void InsetVSpace::draw(PainterInfo & pi, int x, int y) const
|
||||
font.setColor(LColor::added_space);
|
||||
font.decSize();
|
||||
font.decSize();
|
||||
font_metrics::rectText(str, font, w, a, d);
|
||||
font_metrics::rectText(label(), font, w, a, d);
|
||||
|
||||
pi.pain.rectText(x + 2 * arrow_size + 5, y + d,
|
||||
str, font, LColor::none, LColor::none);
|
||||
|
@ -56,6 +56,8 @@ protected:
|
||||
|
||||
private:
|
||||
virtual std::auto_ptr<InsetBase> doClone() const;
|
||||
///
|
||||
std::string const label() const;
|
||||
|
||||
///
|
||||
VSpace space_;
|
||||
|
Loading…
Reference in New Issue
Block a user