Some Table bugs...

From: Martin Sevior (msevior@physics.unimelb.edu.au)
Date: Fri Jul 12 2002 - 05:46:01 EDT

  • Next message: Martin Sevior: "commit: Delete whole tables."

    MG wote in with some table problems. Many of these can be fixed by other
    people. (uwog ?) Anyway feel free to dive in help out!
    -----------------------
    Naturally there are a lot that I'm sure you'll take care of but I think
    I'll keep you aprised(sp?) of the more obscure ones.

    - Cursor is offset so that it overlaps into the row below.
    --------------------------

    This is a table line drawing bug I think.

    This only seems to happen for tables of less than 3 rows. The appropriate
    code is in fp_TableContainer.cpp

    fp_CellTainer::setToAllocation(...)

    ------------------------------

            On a related note, there are no menu stubs for vertical alignment
    (top/bottom/center). I only mention this because the other features
    that haven't been implemented yet have useless stubs to remind martin (
    d= just kidding ).

    -------------------------------

    Right it would not be hard to implement fixed row heights but I'm not sure
    I want to do that yet. Feel to make a case for fixed height rows :-)

    --------------------------

    - Takes 3 right arrows to move to the next cell right, 1 left arrow to
    move to the adjacent cell on the left, and more importantly you cant
    move to the cell below via the down arrow.

    --------------------------

    The three keypresses bit, we just have to put some code into
    fv_View_protected.cpp::_cursorMotion(...) to detect if the point is on a
    cell/table boundary and keep moving in the same direction until it is not
    (provided we don't hit the end of document).

    This is a bit harder. We have to hit test below the current line and look
    for a table container. lookin advanceLine in fv_View.cpp

    Once there we have to look for the closest cell then the closet line. All
    this code uses mapXYtoPosition of the container classes.
    --------------------------------

    - If I move the left border of a cell further left than the right border
    of the cell to its left i get a new cell of min size (1 char) between
    the two while the original cell (whose border i moved) is at its old
    size but its text squeezed to the left border in the same 1char manner
    and a fscked up top ruler. I shouldn't be allowed to do that (-:
    ----------------------------------------

    uwog? Can you detect and disallow this in ap_TopRuler?

    ----------------------------------------------

    Also, I like your left ruler display of the row borders but maybe you
    could make it significantly thinner or at least reflect the thickness of
    the row borders?

    ---------------------------------------------------------

    This is a small tweak to the ap_LeftRuler.cpp code. Someone should feel
    free to implement it. It's really easy. Just look for some method to draw
    CellMarkers.

    -------------------------------------------------------------

     If you need more evidence or screenshots or what not I can
    provide them.

    All valid, feel free to fix some of them! The leftRuler one is the easiest
    :-)

    Thanks for the awesome work!

    He he :-) It's been real fun to do this. A perfect example of why hacking
    is fun. Take an abstract idea and develop it into reality. Like building
    with lego. Anyway other people should follow uwog's example and hack on
    them too ;-)

    Cheers

    Martin



    This archive was generated by hypermail 2.1.4 : Fri Jul 12 2002 - 05:50:55 EDT