commit: Sophisticated fields framework.


Subject: commit: Sophisticated fields framework.
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Tue Nov 07 2000 - 19:15:55 CST


         
Hi everyone,
            This commit gives abi the ability to generate sophisticated
fields. It is based on the work of Keith Stribley with lots of extensions
and improvements by me.

To try it out choose "Insert Field" then piecetable type and you have a
choice of "Keiths Test" or "Martins Test". Keith's test work almost
perfectly. "Martins test" generates a mulit-line field and doesn't work
perfectly yet. For a start you can't import a file with a Martin Test in
it because expat barfs on

<br/> within the field construct.

I would really like help from an XML expert to explain why this happens
and to help fix it.

If worses comes to worse we can just strip line-breaks out of the export
for fields and Martin Test will work.

The other main problem with "Martin Test" is that it clears the first line
of the page after insertion.

I'm confident these problems can solved. Once inserted the
piecetable fields can be
bolded/underlined/font-changed/right/left/center-justified/super-sub
scripted like normal test except you can't add any text to it and you can
only delete it as one big blob. Undo's work. Pasting doesn't because we
don't export fields to rtf yet.

This commit also fixes some more bugs in the list code.

In any case I think we can undebug most of the field code exccept for the
PieceTable tests which should clearly stay in debug.

If you have a look at the code in src/text/ptbl/xp/fd_Field.cpp you can
see the simple thing I did to generate a multi-line field. We can use this
generate a Table of Contents pretty easily along with some left and
right-justified tabs to position the chapter and page numbers
respectively.

Enjoy and help fix our new feature :-)

Martin

CVS:
----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: src/af/util/xp/ut_types.h src/hello/ap/xp/ap_View.cpp
CVS: src/text/fmt/xp/fb_LineBreaker.cpp
CVS: src/text/fmt/xp/fl_AutoNum.cpp src/text/fmt/xp/fl_AutoNum.h
CVS: src/text/fmt/xp/fl_BlockLayout.cpp
CVS: src/text/fmt/xp/fl_BlockLayout.h
CVS: src/text/fmt/xp/fl_DocListener.cpp
CVS: src/text/fmt/xp/fl_Layout.cpp src/text/fmt/xp/fl_Layout.h
CVS: src/text/fmt/xp/fp_Fields.h src/text/fmt/xp/fp_Line.cpp
CVS: src/text/fmt/xp/fp_Run.cpp src/text/fmt/xp/fp_Run.h
CVS: src/text/fmt/xp/fp_TextRun.cpp src/text/fmt/xp/fp_TextRun.h
CVS: src/text/fmt/xp/fv_View.cpp src/text/fmt/xp/fv_View.h
CVS: src/text/ptbl/xp/Makefile src/text/ptbl/xp/pd_Document.cpp
CVS: src/text/ptbl/xp/pd_Document.h src/text/ptbl/xp/pf_Frag.cpp
CVS: src/text/ptbl/xp/pf_Frag.h src/text/ptbl/xp/pf_Frag_Object.cpp
CVS: src/text/ptbl/xp/pf_Frag_Object.h
CVS: src/text/ptbl/xp/pf_Frag_Text.cpp
CVS: src/text/ptbl/xp/pf_Frag_Text.h
CVS: src/text/ptbl/xp/pt_PT_Append.cpp
CVS: src/text/ptbl/xp/pt_PT_ChangeObject.cpp
CVS: src/text/ptbl/xp/pt_PT_ChangeSpan.cpp
CVS: src/text/ptbl/xp/pt_PT_DeleteObject.cpp
CVS: src/text/ptbl/xp/pt_PT_DeleteSpan.cpp
CVS: src/text/ptbl/xp/pt_PT_DeleteStrux.cpp
CVS: src/text/ptbl/xp/pt_PT_FmtMark.cpp
CVS: src/text/ptbl/xp/pt_PT_InsertObject.cpp
CVS: src/text/ptbl/xp/pt_PT_InsertSpan.cpp
CVS: src/text/ptbl/xp/pt_PT_InsertStrux.cpp
CVS: src/text/ptbl/xp/pt_PT_Undo.cpp
CVS: src/text/ptbl/xp/pt_PieceTable.cpp
CVS: src/text/ptbl/xp/pt_PieceTable.h
CVS: src/text/ptbl/xp/pt_VarSet.cpp src/text/ptbl/xp/pt_VarSet.h
CVS: src/text/ptbl/xp/px_CR_Object.cpp
CVS: src/text/ptbl/xp/px_CR_Object.h
CVS: src/text/ptbl/xp/px_CR_Span.cpp src/text/ptbl/xp/px_CR_Span.h
CVS: src/text/ptbl/xp/px_ChangeHistory.cpp
CVS: src/text/ptbl/xp/px_ChangeHistory.h
CVS: src/text/ptbl/xp/px_ChangeRecord.h src/wp/ap/xp/ap_String_Id.h
CVS: src/wp/impexp/xp/ie_exp_AbiWord_1.cpp
CVS: src/wp/impexp/xp/ie_imp_AbiWord_1.cpp
CVS: src/wp/impexp/xp/ie_imp_AbiWord_1.h
CVS: src/wp/impexp/xp/ie_imp_XML.cpp src/wp/impexp/xp/ie_imp_XML.h
CVS:
----------------------------------------------------------------------



This archive was generated by hypermail 2b25 : Tue Nov 07 2000 - 19:17:12 CST