mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
move the only remaining function in lyxrow_func to paragraph
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15424 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c75c468e44
commit
19cf66f397
@ -14,7 +14,6 @@
|
||||
#include "buffer.h"
|
||||
#include "lyxfont.h"
|
||||
#include "lyxrow.h"
|
||||
#include "lyxrow_funcs.h"
|
||||
#include "lyxrc.h"
|
||||
#include "paragraph.h"
|
||||
|
||||
|
@ -216,8 +216,6 @@ lyx_SOURCES = \
|
||||
lyxrc.h \
|
||||
lyxrow.C \
|
||||
lyxrow.h \
|
||||
lyxrow_funcs.C \
|
||||
lyxrow_funcs.h \
|
||||
lyxserver.C \
|
||||
lyxserver.h \
|
||||
lyxsocket.C \
|
||||
|
@ -1,57 +0,0 @@
|
||||
/**
|
||||
* \file lyxrow_funcs.C
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Lars Gullik Bjønnes
|
||||
* \author André Pönitz
|
||||
*
|
||||
* Full author contact details are available in file CREDITS.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "lyxrow_funcs.h"
|
||||
#include "debug.h"
|
||||
#include "lyxlayout.h"
|
||||
#include "lyxrow.h"
|
||||
#include "paragraph.h"
|
||||
|
||||
|
||||
namespace lyx {
|
||||
|
||||
|
||||
bool hfillExpansion(Paragraph const & par, Row const & row, pos_type pos)
|
||||
{
|
||||
if (!par.isHfill(pos))
|
||||
return false;
|
||||
|
||||
// at the end of a row it does not count
|
||||
// unless another hfill exists on the line
|
||||
if (pos >= row.endpos()) {
|
||||
for (pos_type i = row.pos(); i < pos && !par.isHfill(i); ++i)
|
||||
return false;
|
||||
}
|
||||
|
||||
// at the beginning of a row it does not count, if it is not
|
||||
// the first row of a paragaph
|
||||
if (row.pos() == 0)
|
||||
return true;
|
||||
|
||||
// in some labels it does not count
|
||||
if (par.layout()->margintype != MARGIN_MANUAL
|
||||
&& pos < par.beginOfBody())
|
||||
return false;
|
||||
|
||||
// if there is anything between the first char of the row and
|
||||
// the specified position that is not a newline and not a hfill,
|
||||
// the hfill will count, otherwise not
|
||||
pos_type i = row.pos();
|
||||
while (i < pos && (par.isNewline(i) || par.isHfill(i)))
|
||||
++i;
|
||||
|
||||
return i != pos;
|
||||
}
|
||||
|
||||
|
||||
} // namespace lyx
|
@ -1,30 +0,0 @@
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file lyxrow_funcs.h
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Lars Gullik Bjønnes
|
||||
* \author André Pönitz
|
||||
*
|
||||
* Full author contact details are available in file CREDITS.
|
||||
*/
|
||||
|
||||
#ifndef LYXROW_FUNCS_H
|
||||
#define LYXROW_FUNCS_H
|
||||
|
||||
#include "support/types.h"
|
||||
|
||||
|
||||
namespace lyx {
|
||||
|
||||
class Paragraph;
|
||||
class Row;
|
||||
|
||||
bool hfillExpansion(Paragraph const & par, Row const & row,
|
||||
pos_type pos);
|
||||
|
||||
|
||||
} // namespace lyx
|
||||
|
||||
#endif
|
@ -1635,4 +1635,36 @@ void Paragraph::dump() const
|
||||
}
|
||||
|
||||
|
||||
bool Paragraph::hfillExpansion(Row const & row, pos_type pos) const
|
||||
{
|
||||
if (!isHfill(pos))
|
||||
return false;
|
||||
|
||||
// at the end of a row it does not count
|
||||
// unless another hfill exists on the line
|
||||
if (pos >= row.endpos()) {
|
||||
for (pos_type i = row.pos(); i < pos && !isHfill(i); ++i)
|
||||
return false;
|
||||
}
|
||||
|
||||
// at the beginning of a row it does not count, if it is not
|
||||
// the first row of a paragaph
|
||||
if (row.pos() == 0)
|
||||
return true;
|
||||
|
||||
// in some labels it does not count
|
||||
if (layout()->margintype != MARGIN_MANUAL && pos < beginOfBody())
|
||||
return false;
|
||||
|
||||
// if there is anything between the first char of the row and
|
||||
// the specified position that is not a newline and not a hfill,
|
||||
// the hfill will count, otherwise not
|
||||
pos_type i = row.pos();
|
||||
while (i < pos && (isNewline(i) || isHfill(i)))
|
||||
++i;
|
||||
|
||||
return i != pos;
|
||||
}
|
||||
|
||||
|
||||
} // namespace lyx
|
||||
|
@ -373,6 +373,8 @@ public:
|
||||
RowList const & rows() const { return rows_; }
|
||||
///
|
||||
RowSignature & rowSignature() const { return rowSignature_; }
|
||||
///
|
||||
bool hfillExpansion(Row const & row, pos_type pos) const;
|
||||
|
||||
/// LyXText::redoParagraph updates this
|
||||
Dimension & dim() { return dim_; }
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include "LColor.h"
|
||||
#include "lyxrc.h"
|
||||
#include "lyxrow.h"
|
||||
#include "lyxrow_funcs.h"
|
||||
#include "metricsinfo.h"
|
||||
#include "paragraph.h"
|
||||
#include "paragraph_funcs.h"
|
||||
@ -724,7 +723,7 @@ void RowPainter::paintText()
|
||||
|
||||
pain_.line(int(x_), y1, int(x_), y0, LColor::added_space);
|
||||
|
||||
if (hfillExpansion(par_, row_, pos)) {
|
||||
if (par_.hfillExpansion(row_, pos)) {
|
||||
int const y2 = (y0 + y1) / 2;
|
||||
|
||||
if (pos >= body_pos) {
|
||||
|
@ -41,7 +41,6 @@
|
||||
#include "lyxlex.h"
|
||||
#include "lyxrc.h"
|
||||
#include "lyxrow.h"
|
||||
#include "lyxrow_funcs.h"
|
||||
#include "metricsinfo.h"
|
||||
#include "paragraph.h"
|
||||
#include "paragraph_funcs.h"
|
||||
@ -2303,7 +2302,7 @@ int LyXText::cursorX(CursorSlice const & sl, bool boundary) const
|
||||
|
||||
x += singleWidth(par, pos, par.getChar(pos), font);
|
||||
|
||||
if (hfillExpansion(par, row, pos))
|
||||
if (par.hfillExpansion(row, pos))
|
||||
x += (pos >= body_pos) ? m.hfill : m.label_hfill;
|
||||
else if (par.isSeparator(pos) && pos >= body_pos)
|
||||
x += m.separator;
|
||||
|
@ -40,7 +40,6 @@
|
||||
#include "lyxfunc.h"
|
||||
#include "lyxrc.h"
|
||||
#include "lyxrow.h"
|
||||
#include "lyxrow_funcs.h"
|
||||
#include "paragraph.h"
|
||||
#include "paragraph_funcs.h"
|
||||
#include "ParagraphParameters.h"
|
||||
@ -812,7 +811,7 @@ pos_type LyXText::getColumnNearX(pit_type const pit,
|
||||
tmpx -= singleWidth(par, body_pos - 1);
|
||||
}
|
||||
|
||||
if (hfillExpansion(par, row, c)) {
|
||||
if (par.hfillExpansion(row, c)) {
|
||||
tmpx += singleWidth(par, c);
|
||||
if (c >= body_pos)
|
||||
tmpx += r.hfill;
|
||||
|
Loading…
Reference in New Issue
Block a user