From: André Pönitz Date: Sat, 21 Oct 2006 07:24:11 +0000 (+0000) Subject: move the only remaining function in lyxrow_func to paragraph X-Git-Tag: 1.6.10~12298 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=19cf66f397268c0f040edbc7a02728057535c742;p=features.git 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 --- diff --git a/src/Bidi.C b/src/Bidi.C index 67e2e4e5f9..2721ef87ce 100644 --- a/src/Bidi.C +++ b/src/Bidi.C @@ -14,7 +14,6 @@ #include "buffer.h" #include "lyxfont.h" #include "lyxrow.h" -#include "lyxrow_funcs.h" #include "lyxrc.h" #include "paragraph.h" diff --git a/src/Makefile.am b/src/Makefile.am index fee2730973..be347d6b42 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -216,8 +216,6 @@ lyx_SOURCES = \ lyxrc.h \ lyxrow.C \ lyxrow.h \ - lyxrow_funcs.C \ - lyxrow_funcs.h \ lyxserver.C \ lyxserver.h \ lyxsocket.C \ diff --git a/src/lyxrow_funcs.C b/src/lyxrow_funcs.C deleted file mode 100644 index 9ea8768a7d..0000000000 --- a/src/lyxrow_funcs.C +++ /dev/null @@ -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 - -#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 diff --git a/src/lyxrow_funcs.h b/src/lyxrow_funcs.h deleted file mode 100644 index 9fc7e11987..0000000000 --- a/src/lyxrow_funcs.h +++ /dev/null @@ -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 diff --git a/src/paragraph.C b/src/paragraph.C index 9bd237dd93..f655993f8a 100644 --- a/src/paragraph.C +++ b/src/paragraph.C @@ -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 diff --git a/src/paragraph.h b/src/paragraph.h index 7543feec68..887898abc5 100644 --- a/src/paragraph.h +++ b/src/paragraph.h @@ -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_; } diff --git a/src/rowpainter.C b/src/rowpainter.C index ce48d1cd74..3ca696147f 100644 --- a/src/rowpainter.C +++ b/src/rowpainter.C @@ -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) { diff --git a/src/text.C b/src/text.C index b06eb1912e..b6d69c991b 100644 --- a/src/text.C +++ b/src/text.C @@ -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; diff --git a/src/text2.C b/src/text2.C index 353527462c..d88edd4af9 100644 --- a/src/text2.C +++ b/src/text2.C @@ -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;