5c6ee09126631342939ae8766fe36083d8c011e3 introduced a different
algorithm for reference handling during sort. Unfortunately that clashed
with the SC_CLONECELL_ADJUST3DREL introduced a little earlier resulting
in relative 3D references effectively being "adjusted" twice.
Furthermore, in-sort-range range references to one row (or column) were
not adapted to the move at all if the formula within the range listened
only to ranges and not a single cell. Added collecting and adjusting
area listeners for this.
Last but not least, external (relative) references need to be treated
the same as internal 3D references, making them point to the same
location after the sort.
Change-Id: I492768b525f95f1c43d1c6e7a63a36cce093fa5a
...'com::sun:⭐:sheet::XSpreadsheets2::importSheet', previous versions of
the compiler did not override when parameters only differed by const/volatile
qualifiers.
XSpreadsheets2.hdl defines this as:
virtual ::sal_Int32 SAL_CALL importSheet( const ::css::uno::Reference< ::css::sheet::XSpreadsheetDocument >& srcDoc, const ::rtl::OUString& srcName, ::sal_Int32 nDestPosition )
Change-Id: I286fa542a2124a85d7b835f257865f8a05c23f96
This for the first time writes external references (hopefully) correctly
and adds the necessary relationship streams and the externalLink streams
with sheetData. At least Excel 2013 loaded the result without
complaining, so do we.
Change-Id: I3d615490a60c5420ae13c0bfc6297642d86a07b9
* No need to re-compile RPN token array on reference change alone. We do that
when the formula contains one or more names that have been updated.
* Adjust undo code to get it to work without relying on ref undo document,
which would cause the token arrays to be unnecessarily recompiled.
* Whatever else need to be changed in order to pass all unit tests.
Change-Id: I99e86d23320aca8900fef011da23a9d34e42751e
since all two of the actual call-sites only care about whether
it is a valid presentation or not, not what kind of presentation it is.
Change-Id: I75717c88878d37b2897741b0c833ff283b3fee59
drop the ePresentation parameter, since all 4 of the callsites use
SFX_ITEM_PRESENTATION_COMPLETE as the parameter value,
and just inline the value into the method.
Change-Id: I42c8eae82837c9f9d4edc886d7c760f57b129125
This "end of list" flag determines whether the row insertion was an
automatic insertion at the bottom. Calc doesn't use this at the moment
but Excel uses it to differentiate a normal row insertion from an
automatic one.
Change-Id: I6b28669d816c54d1dc1e4c106918ba688415788d
We need to pass the role of the data sequence in order to avoid unreliable
guess work when importing static value array.
Also, not all Excel's scatter plots have real numeric X values; some have
textural X values in which case Excel switch to generating 1, 2, 3, ... as
X values. When importing to our chart implementation, using "categories" role
in such cases instead of "values-x" results in a more faithful chart rendering.
Change-Id: If4bc1f650bb024dcd1b1b36537f457fb38404a78
Find places where we are returning a pointer to something, where we can
be returning a reference.
e.g.
class A {
struct X x;
public X* getX() { return &x; }
}
which can be:
public X& getX() { return x; }
Change-Id: I796fd23fd36a18aedf6e36bc28f8fab4f518c6c7
This was actually just one element of all that contributed to this bug.
Unfortunately it's a bit hard to test the others.
Change-Id: I7a0d88c0b829e7b7859aecfc20df87f6837ecb4a