mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
A couple of minor bug fixes and cleanups
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4574 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
52d30225b8
commit
0a8631ad44
@ -1,3 +1,12 @@
|
||||
2002-07-09 John Levon <moz@compsoc.man.ac.uk>
|
||||
|
||||
* lengthcommon.h: whitespace
|
||||
|
||||
* lyxfunc.C: update scrollbar after goto paragraph
|
||||
|
||||
* lyxtext.h: factor out page break drawing, and fix it so
|
||||
page break/added space paints as selected nicely
|
||||
|
||||
2002-07-09 John Levon <moz@compsoc.man.ac.uk>
|
||||
|
||||
* BufferView_pimpl.C: add FIXMEs, clean up a little
|
||||
|
@ -1,3 +1,9 @@
|
||||
2002-07-09 John Levon <moz@compsoc.man.ac.uk>
|
||||
|
||||
* Painter.C:
|
||||
* Painter.h: make frame/background painting optional
|
||||
for rectText
|
||||
|
||||
2002-07-05 Angus Leeming <leeming@lyx.org>
|
||||
|
||||
* lyx_gui.h (hexname): new function.
|
||||
|
@ -67,9 +67,15 @@ Painter & Painter::rectText(int x, int baseline,
|
||||
|
||||
font_metrics::rectText(str, font, width, ascent, descent);
|
||||
|
||||
if (frame != LColor::none) {
|
||||
rectangle(x, baseline - ascent, width, ascent + descent, frame);
|
||||
}
|
||||
|
||||
if (back != LColor::none) {
|
||||
fillRectangle(x + 1, baseline - ascent + 1, width - 1,
|
||||
ascent + descent - 1, back);
|
||||
}
|
||||
|
||||
text(x + 3, baseline, str, font);
|
||||
return *this;
|
||||
}
|
||||
|
@ -151,12 +151,17 @@ public:
|
||||
virtual Painter & text(int x, int y,
|
||||
char c, LyXFont const & f) = 0;
|
||||
|
||||
/// draw a string and enclose it inside a rectangle
|
||||
/**
|
||||
* Draw a string and enclose it inside a rectangle. If
|
||||
* back color is specified, the background is cleared with
|
||||
* the given color. If frame is specified, a thin frame is drawn
|
||||
* around the text with the given color.
|
||||
*/
|
||||
Painter & rectText(int x, int baseline,
|
||||
string const & string,
|
||||
LyXFont const & font,
|
||||
LColor::color back,
|
||||
LColor::color frame);
|
||||
LColor::color back = LColor::none,
|
||||
LColor::color frame = LColor::none);
|
||||
|
||||
/// draw a string and enclose it inside a button frame
|
||||
Painter & buttonText(int x,
|
||||
|
@ -110,7 +110,7 @@ public:
|
||||
* @param bv the bufferview
|
||||
* @return true if a change was necessary
|
||||
*
|
||||
* Scrolls the screen so that the cursor is visible,
|
||||
* Scrolls the screen so that the cursor is visible
|
||||
*/
|
||||
virtual bool fitCursor(LyXText *, BufferView *);
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
2002-07-09 John Levon <moz@compsoc.man.ac.uk>
|
||||
|
||||
* xscreen.C: add const
|
||||
|
||||
2002-07-09 Angus Leeming <leeming@lyx.org>
|
||||
|
||||
* xformsImage.C (scale): use boost::tie.
|
||||
|
@ -206,7 +206,7 @@ void XScreen::draw(LyXText * text, BufferView * bv, unsigned int y)
|
||||
if (cursor_visible_) hideCursor();
|
||||
|
||||
int const old_first = text->first_y;
|
||||
bool internal = (text == bv->text);
|
||||
bool const internal = (text == bv->text);
|
||||
text->first_y = y;
|
||||
|
||||
// is any optimization possible?
|
||||
|
@ -1393,11 +1393,11 @@ string const LyXFunc::dispatch(kb_action action, string argument)
|
||||
owner->view()->buffer(bufferlist.loadLyXFile(s));
|
||||
}
|
||||
|
||||
// Set the cursor
|
||||
owner->view()->setCursorFromRow(row);
|
||||
|
||||
// Recenter screen
|
||||
owner->view()->center();
|
||||
// see BufferView_pimpl::center()
|
||||
owner->view()->updateScrollbar();
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1427,8 +1427,9 @@ string const LyXFunc::dispatch(kb_action action, string argument)
|
||||
owner->view()->setState();
|
||||
owner->showState();
|
||||
|
||||
// Recenter screen
|
||||
owner->view()->center();
|
||||
// see BufferView_pimpl::center()
|
||||
owner->view()->updateScrollbar();
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -589,6 +589,9 @@ private:
|
||||
/// paint appendix marker
|
||||
void paintRowAppendix(DrawRowParams & p);
|
||||
|
||||
/// paint page break marker. Returns its height.
|
||||
int paintPageBreak(string const & label, int y, DrawRowParams & p);
|
||||
|
||||
/// paint env depth bar
|
||||
void paintRowDepthBar(DrawRowParams & p);
|
||||
|
||||
|
65
src/text.C
65
src/text.C
@ -3308,9 +3308,7 @@ int LyXText::drawLengthMarker(DrawRowParams & p, string const & prefix,
|
||||
|
||||
p.pain->rectText(leftx + 2 * arrow_size + 5,
|
||||
start + ((end - start) / 2) + d,
|
||||
str, font,
|
||||
backgroundColor(),
|
||||
backgroundColor());
|
||||
str, font);
|
||||
|
||||
// top arrow
|
||||
p.pain->line(leftx, ty1, midx, ty2, LColor::added_space);
|
||||
@ -3327,6 +3325,30 @@ int LyXText::drawLengthMarker(DrawRowParams & p, string const & prefix,
|
||||
}
|
||||
|
||||
|
||||
int LyXText::paintPageBreak(string const & label, int y, DrawRowParams & p)
|
||||
{
|
||||
LyXFont pb_font;
|
||||
pb_font.setColor(LColor::pagebreak).decSize();
|
||||
|
||||
int w = 0;
|
||||
int a = 0;
|
||||
int d = 0;
|
||||
font_metrics::rectText(label, pb_font, w, a, d);
|
||||
|
||||
int const text_start = p.xo + ((p.width - w) / 2);
|
||||
int const text_end = text_start + w;
|
||||
|
||||
p.pain->rectText(text_start, y + d, label, pb_font);
|
||||
|
||||
p.pain->line(p.xo, y, text_start, y,
|
||||
LColor::pagebreak, Painter::line_onoffdash);
|
||||
p.pain->line(text_end, y, p.xo + p.width, y,
|
||||
LColor::pagebreak, Painter::line_onoffdash);
|
||||
|
||||
return 3 * defaultHeight();
|
||||
}
|
||||
|
||||
|
||||
void LyXText::paintFirstRow(DrawRowParams & p)
|
||||
{
|
||||
Paragraph * par = p.row->par();
|
||||
@ -3345,22 +3367,8 @@ void LyXText::paintFirstRow(DrawRowParams & p)
|
||||
|
||||
// draw a top pagebreak
|
||||
if (parparams.pagebreakTop()) {
|
||||
int const y = p.yo + y_top + 2*defaultHeight();
|
||||
p.pain->line(p.xo, y, p.xo + p.width, y,
|
||||
LColor::pagebreak, Painter::line_onoffdash);
|
||||
|
||||
int w = 0;
|
||||
int a = 0;
|
||||
int d = 0;
|
||||
|
||||
LyXFont pb_font;
|
||||
pb_font.setColor(LColor::pagebreak).decSize();
|
||||
font_metrics::rectText(_("Page Break (top)"), pb_font, w, a, d);
|
||||
p.pain->rectText((p.width - w)/2, y + d,
|
||||
_("Page Break (top)"), pb_font,
|
||||
backgroundColor(),
|
||||
backgroundColor());
|
||||
y_top += 3 * defaultHeight();
|
||||
y_top += paintPageBreak(_("Page Break (top)"),
|
||||
p.yo + y_top + 2 * defaultHeight(), p);
|
||||
}
|
||||
|
||||
// draw the additional space if needed:
|
||||
@ -3523,22 +3531,8 @@ void LyXText::paintLastRow(DrawRowParams & p)
|
||||
|
||||
// draw a bottom pagebreak
|
||||
if (parparams.pagebreakBottom()) {
|
||||
LyXFont pb_font;
|
||||
pb_font.setColor(LColor::pagebreak).decSize();
|
||||
int const y = p.yo + y_bottom - 2 * defaultHeight();
|
||||
|
||||
p.pain->line(p.xo, y, p.xo + p.width, y, LColor::pagebreak,
|
||||
Painter::line_onoffdash);
|
||||
|
||||
int w = 0;
|
||||
int a = 0;
|
||||
int d = 0;
|
||||
font_metrics::rectText(_("Page Break (bottom)"), pb_font, w, a, d);
|
||||
p.pain->rectText((ww - w) / 2, y + d,
|
||||
_("Page Break (bottom)"),
|
||||
pb_font, backgroundColor(), backgroundColor());
|
||||
|
||||
y_bottom -= 3 * defaultHeight();
|
||||
y_bottom -= paintPageBreak(_("Page Break (bottom)"),
|
||||
p.yo + y_bottom - 2 * defaultHeight(), p);
|
||||
}
|
||||
|
||||
// draw the additional space if needed:
|
||||
@ -3612,6 +3606,7 @@ void LyXText::paintLastRow(DrawRowParams & p)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LyXText::paintRowText(DrawRowParams & p)
|
||||
{
|
||||
Paragraph * par = p.row->par();
|
||||
|
Loading…
Reference in New Issue
Block a user