[Libreoffice-commits] online.git: Changes to 'feature/calc-coordinates'

Dennis Francis (via logerrit) logerrit at kemper.freedesktop.org
Sun May 17 11:55:31 UTC 2020


New branch 'feature/calc-coordinates' available with the following commits:
commit fd906af8060d786516f0a5b2c53c86d4a74d2306
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 16 18:36:04 2020 +0530

    Initialize outlines ds on empty outline
    
    Change-Id: If845991272a05f026fad7819d39ff4b23622abae

commit 0322608d0f85a988c62e4e498e6087eafc7f4eed
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 16 18:07:56 2020 +0530

    call refreshViewData() on setpart message...
    
    if the part is not hidden. The member _selectedPart is already set
    to the new part in Parts.js's setPart(), as a result the code inside
    the if was never getting executed. There is no need to call
    map.setPart() as this was also done in Parts.js setPart(), and finally
    there are no handler for 'setpart' event as of now, so lets remove the
    fire() call too. All of this was not a problem when the
    '.uno:ViewRowColumnHeader' data source was used, because that data
    was getting requested unintentionally as part of related scroll events
    during a sheet switch.
    
    Change-Id: I3ea3916ba738d9616e822659fc64903eda8f99cf

commit d8df7c1e314b8bf9131d998af7a5a0dfee7299b8
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 16 16:41:29 2020 +0530

    Add ability to get first match in binarySearch
    
    (more details in the comments)
    This can help in a corner case (very improbable though) when we query
    for the exact end-position of a span with trailing empty span.  Lets do
    the right thing, even if that does happen only extremely rarely.
    
    Change-Id: Ib1370811c257e6ef3d52d29caf2963641bad8e40

commit cc349b742513ce175d54351e2f0ba0da0a5c34a5
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 16 15:09:51 2020 +0530

    Make the newly added interfaces more robust
    
    against wrong argument counts/types.
    
    Change-Id: Ibfed2ba4f3e907ef8a038a3b13b3081cc6248c20

commit 2c6413f209a862a2b7cf06bdf25ba05a19d837d6
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 16 14:12:10 2020 +0530

    Reuse binarySearch routine in L.SpanList search functions
    
    Change-Id: I2f5411ef4da6b236978c08e3ea03ee05f9c8dabc

commit 7f8bbe6cfb1a261bf1f082b9c955f938eb3eb3bb
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 16 11:14:17 2020 +0530

    Restore the scope of 'offset' tampering code
    
    as it was before 317afcecb4
    
    This 'adjustment' was just meant for refreshViewData() or whatever it
    was called before, to indicate that both column/row headers/gridlines
    should be updated, no matter what the actual offset is (probably only
    meant for zoom changes?). The offset passed to refreshViewData is only
    going to be used as a boolean flag.
    
    This patch fixes the row/col headers getting a off-by-one pixel when
    changing zooms with the new data-source (.uno:SheetGeometryData). If
    using the older source (.uno:ViewRowColumnHeader), this bug is hidden
    because of the delay for fetching the JSON everytime before painting the
    headers.
    
    TODO: Refactor all calls of refreshViewData to get rid of the 'offset'
    and this adjustment code and only send the boolean flags to
    refreshViewData().
    
    Change-Id: I4c30e8f06a6a2d58b9a9a89e283d7a214d00b99c

commit 1b91a8d16f61698acf21820805a4e342eb8df268
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Fri May 15 23:12:16 2020 +0530

    enforce bound-checks on setViewArea()
    
    Change-Id: Ic129181095c301ce27421bac5d3f1f94d1932248

commit 85b687bf8721e72ef374689e6f30ac592d527f2a
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Fri May 15 22:43:19 2020 +0530

    call refreshViewData after 'scrolloffset' is fired
    
    otherwise the header controls won't have the right position info
    when refreshViewData causes an ~immediate header/gridline rendering
    (.uno:SheetGeometryData source). This was not a problem in case of
    .uno:ViewRowColumnHeader source, because of the roundtrip delay for
    getting the msg from core.
    
    Change-Id: I48298dbfb8d62acc64adbfd662a5304b856d702a

commit 4abb6c004cd46dc8f062e455053562f80e23c5a2
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Fri May 15 22:05:44 2020 +0530

    Don't ask core for sheet-geometry data for invalidateheader msgs
    
    We may need to have a dedicated sheetgeometrychanged msg for geometry
    changes like change of col/row sizes, hidden/filtered, groups/outline
    states.
    
    Change-Id: I45a8038546c66797aed4b58f11c6450cbe6e2965

commit 7887f9c537fb94e5d5e50f9a9c5f03d5d219337a
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Fri May 15 08:12:03 2020 +0530

    use SheetGeometry data to draw headers/gridlines if enabled
    
    Change-Id: If146512a50c24f5fd81f6df7e0a3746f70bf21f9

commit 238d9f5d0984732be914ee25192f81d1e6081148
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Thu May 14 23:11:07 2020 +0530

    Round down when computing row/col index from tile-twips position
    
    And lets not unnecessarily extend the cellrange in the view as the
    computation is accurate.
    
    Change-Id: I62de80ce42430c62a399d4e39bafab7896217bf1

commit 830710fb756013c40392a97762afefbeaf47fdac
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Thu May 14 22:49:30 2020 +0530

    add table outline query interfaces
    
    Change-Id: Ibd26592e321af1dca5ee7ff369e58b1f51dc480b

commit e1baf6d92702ec3dadffa51203746b6ec08286b5
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Tue May 12 10:52:50 2020 +0530

    introduce .uno:SheetGeometryData requester/handler
    
    Change-Id: Iaeef462346f22996daddb583c459a5f67aa6c290

commit 1871d25055f0b3ed15671af1e08feab8f8ca74b6
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sat May 9 20:34:37 2020 +0530

    add sheet-geometry datastructures
    
    to parse, store the .uno:SheetGeometryData JSON efficiently although it
    is optimized for fast querying. L.SheetGeometry is the external class
    that exposes all necessary sheet query interfaces.
    
    Change-Id: I24df8d85734a6cdf9c393fd2c3c5ed4de0ea29f3

commit 67c4639ca896283e555eeb471f17c8246e6869e0
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Mon May 11 21:31:25 2020 +0530

    move the 'updaterowcolumnheaders' event handling code
    
    from L.Control.Scroll to a new method requestViewRowColumnData() under
    L.CalcTileLayer which is arguably a more appropriate place for it and
    change all the places that calls map.fire() to emit
    'updaterowcolumnheaders' to call the new method directly.
    
    This helps to improve the code readability a bit by being more explicit
    and also avoid an unnecessary indirection while code grepping.
    
    This also makes it much easier to introduce the change in data source
    from .uno:ViewRowColumnHeaders to .uno:SheetGeometryData by avoiding
    lots of abrupt changes in one go.
    
    Change-Id: Ia42d7586f06e28a5715fac278967a445089308af

commit 35bb3d84ca5abe0cf06a5b46042cad68eb9dd324
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Mon May 11 15:17:49 2020 +0530

    Move the ViewRowColumnHeaders handling code into its own method
    
    _handleViewRowColumnHeadersMsg()
    
    Change-Id: Ib0b83941dcc9bc0bed42269fafbc61fcd7877bc6

commit 6be4e590cfb5d4d2d7a038f46af185c715a5c257
Author: Dennis Francis <dennis.francis at collabora.com>
Date:   Sun May 10 01:57:01 2020 +0530

    Do not rely on js ordering of multi event execution
    
    On getting a .uno:ViewRowColumnHeaders message, the order of header
    painting should be the headers elements first, then the cursor
    indication on the header, then the selection area indication on the
    header if any. More importantly none of these painting will be correct
    if the data in the tickMap member of both headers is stale.
    
    As of now all three of these are executed by three different events.
    Lets avoid depending on the implicit ordering of execution of these and
    do these synchronously as part of the main event
    ('viewrowcolumnheaders') handler.
    
    Change-Id: I4da29ba893c408af45159073e4389481b2eaecc7



More information about the Libreoffice-commits mailing list