Re: Patches for tables

Martin Sevior <[email protected]>
Newsgroups gmane.editors.abiword.devel
Message-ID <CAOJESBVTAwfo-Txz=NxJ_y=OyPQwpvAs5nWtyXindzRSRdcBZw@mail.gmail.com>
Hi Simon,

Please go ahead and commit this patch. Thanks very much!

Cheers

Martin


On Thu, Dec 27, 2012 at 4:14 AM, Simon Larochelle
<[email protected]> wrote:
>
> I made a patch to fix several issues with tables in abiword. The patch
> speeds up abiword when big tables are used (tables that are broken
> over tens of pages). A document with such a table can be loaded much
> faster than before and I can now edit a document with very little
> delays on most commands. I still have some important slowdowns for
> example when trying to erase the big table or when selecting a segment
> of the table.
>
> The patch also fixes several issues with broken tables such as
> - cells that extend on more than 2 pages
> - breaking of nested tables
> - breaking is done preferably along cell boundaries (the breaking is
> done along cell boundaries if the resulting amount of white space at
> the bottom of the page column is less than a given fraction of the
> page column (this fraction is a new table property); the breaking is
> done inside the cells otherwise).
> - breaking inside a cell has also been improved.
> - the line at the bottom of a broken table segment was sometimes
> printed at the wrong place. This is now fixed.
> - tables with footnotes: the space occupied by the footnotes are now
> accounted correctly when breaking the table
>
> Finally I fixed about half of the other bugs in the Editing - Tables category.
>
> Can I commit this patch to the SVN repository or should I wait after
> the release of version 3.0? The patch is fairly big. Here is the
> diff-stat (N.B.: the patch is composed of about 30 smaller patches in
> my git repository)
>
>  src/af/xap/gtk/xap_Gtk2Compat.h         |    1 +
>  src/af/xap/gtk/xap_UnixFrameImpl.cpp    |    7 +-
>  src/af/xap/xp/xav_Listener.h            |    3 +-
>  src/text/fmt/xp/fb_ColumnBreaker.cpp    |   72 +-
>  src/text/fmt/xp/fl_BlockLayout.cpp      |   14 +-
>  src/text/fmt/xp/fl_BlockLayout.h        |    2 +-
>  src/text/fmt/xp/fl_ContainerLayout.cpp  |   40 +
>  src/text/fmt/xp/fl_ContainerLayout.h    |    4 +
>  src/text/fmt/xp/fl_DocListener.cpp      |    7 +-
>  src/text/fmt/xp/fl_FootnoteLayout.cpp   |    3 +-
>  src/text/fmt/xp/fl_FrameLayout.cpp      |    4 +-
>  src/text/fmt/xp/fl_Layout.cpp           |   14 +-
>  src/text/fmt/xp/fl_Layout.h             |    3 +
>  src/text/fmt/xp/fl_TOCLayout.cpp        |    3 +-
>  src/text/fmt/xp/fl_TableLayout.cpp      |  110 +-
>  src/text/fmt/xp/fl_TableLayout.h        |   11 +-
>  src/text/fmt/xp/fp_Column.cpp           |    2 +-
>  src/text/fmt/xp/fp_Line.cpp             |   15 +-
>  src/text/fmt/xp/fp_Page.cpp             |   65 +-
>  src/text/fmt/xp/fp_Run.cpp              |    5 +-
>  src/text/fmt/xp/fp_TableContainer.cpp   | 2427 +++++++++++++------------------
>  src/text/fmt/xp/fp_TableContainer.h     |   68 +-
>  src/text/fmt/xp/fv_View.cpp             |  112 +-
>  src/text/fmt/xp/fv_View.h               |   28 +-
>  src/text/fmt/xp/fv_View_cmd.cpp         | 1146 ++++++---------
>  src/text/fmt/xp/fv_View_protected.cpp   |  153 +-
>  src/text/ptbl/xp/pd_Document.cpp        |   24 +
>  src/text/ptbl/xp/pd_Document.h          |    4 +-
>  src/text/ptbl/xp/pp_Property.cpp        |    1 +
>  src/text/ptbl/xp/pp_PropertyMap.cpp     |    1 +
>  src/text/ptbl/xp/pp_PropertyMap.h       |    1 +
>  src/text/ptbl/xp/pt_PT_DeleteSpan.cpp   |   34 +-
>  src/text/ptbl/xp/pt_PT_InsertStrux.cpp  |    1 +
>  src/text/ptbl/xp/pt_PieceTable.cpp      |   28 +
>  src/text/ptbl/xp/pt_PieceTable.h        |    3 +
>  src/wp/ap/xp/ap_EditMethods.cpp         |   30 +-
>  src/wp/ap/xp/ap_LeftRuler.cpp           |    6 +-
>  src/wp/ap/xp/ap_ML_ContextText.h        |    8 +-
>  src/wp/ap/xp/ap_Menu_ActionSet.cpp      |    4 +-
>  src/wp/ap/xp/ap_Menu_Id_List.h          |    4 +-
>  src/wp/ap/xp/ap_Menu_Layouts_Embedded.h |    4 +-
>  src/wp/ap/xp/ap_Menu_Layouts_MainMenu.h |    4 +-
>  src/wp/ap/xp/ap_String_Id.h             |   10 +-
>  src/wp/ap/xp/ap_TopRuler.cpp            |    5 +-
>  src/wp/impexp/xp/ie_imp_RTF.cpp         |   20 +-
>  45 files changed, 2002 insertions(+), 2509 deletions(-)
>
>
> Simon
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.