commit: Re: commit: Fix changeStrux with revision Marks.

From: msevior_at_physics.unimelb.edu.au
Date: Fri Apr 16 2004 - 19:57:03 EDT

  • Next message: Mikey Cooper: "Re: Comitted: Re: Patch: Fix MSVC build error in ie_imp_RTF.cpp"

    > Hi Martin,
    >
    >> > not into
    >> >
    >> > "revisions=!1{}{font-face:Arial} props=font-face:Arial"
    >> >
    >> > the latter is what I got the impression your changes do. If we change
    >> > the actual props and attributes, we will not be able revert to the
    >> > previous state.
    >> >
    >>
    >> Yes you're right. This is exactly what they do.
    >
    > OK, in that case we have to revert this piece of code; setting the
    > props and attributes is essentially equivalent to bypassing the
    > revisions mode. (The code in pt_PT_ChangeStrux.cpp was more or less
    > working, the principal changes will need to be in the layout
    > classes.)
    >

    OK This is implemented now. It works as well as before.

    I do have a question about all this. Right now with revision marks on, you
    do a regular insert with the requested properties followed by a change
    strux with the revision marks.

    This is not a good idea for performance or undo.

    The performance thing is that every layout is built then rebuilt with the
    change strux.

    The undo is that unless the change strux is rolled into the insert with a
    glob marker, the change strux is popped off the undo stack seperately from
    the insert.

    You see this when you undo regular typing with the document history turned
    on.

    (compare with what happens with document history turned off. You see
    contiguous typing undone in one click as opposed to seperate clicks. It
    actually worse because depending on which click the user ends on the
    revision marks may or maynot be recorded for the last undo operation.)

    Anyway, wouldn't it be better to roll the revision mark generation into
    the initial operation? Then every action is atomic.

    Cheers

    Martin

    CVS: ----------------------------------------------------------------------
    CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
    CVS:
    CVS: Committing in .
    CVS:
    CVS: Modified Files:
    CVS: text/fmt/xp/fl_BlockLayout.cpp
    CVS: text/fmt/xp/fl_ContainerLayout.cpp
    CVS: text/fmt/xp/fl_DocLayout.cpp text/fmt/xp/fl_FootnoteLayout.cpp
    CVS: text/fmt/xp/fl_FrameLayout.cpp text/fmt/xp/fl_TOCLayout.cpp
    CVS: text/fmt/xp/fl_TableLayout.cpp
    CVS: text/ptbl/xp/pt_PT_ChangeStrux.cpp
    CVS: ----------------------------------------------------------------------
    Fix the revision marks for strux as outlined by Tomas.

    > Tomas
    >
    >



    This archive was generated by hypermail 2.1.4 : Fri Apr 16 2004 - 20:06:33 EDT