summaryrefslogtreecommitdiff
path: root/sc/inc/dociter.hxx
AgeCommit message (Collapse)Author
2023-07-11tdf#123026 xlsx import: recalc optimal row height on importJustin Luth
This patch depends on the previous patch for this bug report, which allows each sheet to hold its own default row height. The given height for the row might not be enough to fit the content. If the row is set to use optimal height, that will be corrected as soon as the row is edited. Obviously, it should not require an edit to be correct on FILEOPEN, so this patch recalculates after loading the document. This might have a very negative effect on the time needed to open a file. I couldn't duplicate the XLS method because Library_scfilt.mk doesn't link to ScSizeDeviceProvider. The existing UpdateAllRowHeights wasn't designed to allow any performance improvements, so I made a new one. The new one is based on the newer ScDocRowHeightUpdater class - so perhaps the older method can be phased out. This new UpdateAllRowHeights could replace the XLS bSetRowHeights clause - with hopefully some performance benefit. I'm not sure I'm ready for the regression hate that would come from the inevitable performance implications. Testing however doesn't suggest a huge slowdown. I tested with time make sc.check before the fix I was getting 16m 4s +- 10s after the fix I was getting 16m 25s +- 10s Specific test showing the need for these patches: make CppunitTest_sc_subsequent_filters_test2 \ CPPUNIT_TEST_NAME=testTdf123026_optimalRowHeight Impacted unit tests (without the previous patch) are documented in earlier patchsets. make CppunitTest_sc_subsequent_export_test \ CPPUNIT_TEST_NAME=testMiscRowHeightExport make CppunitTest_sc_subsequent_export_test2 make CppunitTest_sc_jumbosheets_test CPPUNIT_TEST_NAME=testTdf134553 Change-Id: I6d020c1a5137dd4f05e20e82b1764a102b7f56d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140260 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-11ScValueIterator ScDocument& parameter is now superfluousEike Rathke
Since commit 3be1cdce9d92cbadca1b276b3193c727032ea717 ScInterpreterContext is passed that has it. Just a minor change for a const ScDocument&. Change-Id: I388ff55393056c52f85d7543fcfb6c549fc2a346 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139759 Tested-by: Eike Rathke <erack@redhat.com> Reviewed-by: Eike Rathke <erack@redhat.com>
2022-09-09GetCurNumFmtInfo is always called with the same context as given in ctorCaolán McNamara
Change-Id: Ic3aefaa5ddd26b5cb44bfc299f7ae7188f205d17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139638 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-09always pass ScInterpreterContext to ScValueIteratorCaolán McNamara
its available at every call site Change-Id: I764962d1d2330c414e02ed215b4a0c5be2979145 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139637 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-18create getter for ScCellValue::mpFormulaNoel Grandin
so we can assert that it has the correct tag type Change-Id: Iab13a6d6ea1783c69395f06f28732769e5fe8b18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136059 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-17create getter for ScCellValue::mpEditTextNoel Grandin
so we can assert that it has the correct tag type Change-Id: I984c22ae2527d652f2d4194227dc1173793300c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136054 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-16make meType in ScCellValue privateNoel Grandin
as a first step to wrapping up the internals of this class and adding some asserts Change-Id: Ic13ddd917948dbf3fd6d73f44b8efcc727726baf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135994 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-22move query-related iterators to a new separate fileLuboš Luňák
dociter.cxx/hxx are already quite big as it is, and the query iterators are more about queries than about iterating the document. Change-Id: I49e3a5636e4f366efb8b4968f54567d2716ade35 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133323 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-04-12don't ignore GetDefPattern() in ScHorizontalAttrIteratorLuboš Luňák
As said in the previous commit, the default pattern is the default style that can be edited by the user, so it's principially incorrect to simply ignore it. If needed for performance, then it needs to be done explicitly. This change currently should not affect anything, as ScHorizontalAttrIterator is used only in tests. Change-Id: I31f153d427cdfd6e98a4d7a3584cfa89676d4c33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132912 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-03-23tdf#124176 Use pragma once in s*Vincent LE GARREC
sc, scaddins, sccomp, scripting Change-Id: Ia99fec9e238033821cb784810edd4762c09bd5db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112049 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2020-09-25change pointers to references where never possible to be nullptrsCaolán McNamara
and drop some null checks then shown not to be needed Change-Id: I2806eeb64f43072a34aecd46424dbd063a119b7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103356 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-24some places where ScDocument* is never passed a nullptrCaolán McNamara
Change-Id: Ic15bebe20cdea9df2cd5afd7af666bc76c88c8c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103277 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-18ScCellValue::getString never called with a null ScDocument*Caolán McNamara
Change-Id: Idff982e715b012e35e0abd0b904f4b83d7f6f51a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103007 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-18ScCellIterator never passed a null ScDocument*Caolán McNamara
Change-Id: I5d8ea1533fe861cf969c2999343da217c82d54e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103006 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-13ScDBQueryDataIterator is never passed a null ScDocumentCaolán McNamara
Change-Id: Ibcf9e6c212186fe1f8bc9d03413e4efc423c62d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102527 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-13establish ScValueIterator::pDoc is never nullCaolán McNamara
Change-Id: Ie9b60da4993bc1255dab4784f876e4fae0a45bbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102524 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-12Revert "loplugin:constfields in sc"Noel Grandin
This reverts commit fb1d3b580763a333bbbfe115d09e1b5cd8849675. Now that we know that making fields has negative side effects like disabling assignment operator generation. Change-Id: Ib48334ffbeb2c768896dd8ced6818aa0b9910b0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90333 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-25sc: rowcol: tdf#50916 convert segmenttreeNoel Grandin
Change-Id: Ia05d1bc60a76a8bbf65afe5b0459ce213be9bfbe Reviewed-on: https://gerrit.libreoffice.org/83646 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-21ScQueryParam can be allocated inline in ScQueryCellIteratorNoel Grandin
Change-Id: I9debf80755a3950cc34be280af8006e52006b14a Reviewed-on: https://gerrit.libreoffice.org/83313 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-20tdf#128812 speed up loading calc doc with lots of countifNoel Grandin
by creating a copy of ScQueryCellIterator that is specialised for this use-case. Takes the opening time from 50s to 8s on my machine. Change-Id: I193a7c181a5dfed6fecf75e871729d73625d0df6 Reviewed-on: https://gerrit.libreoffice.org/83299 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-01loplugin:finalclasses in sc/incNoel Grandin
Change-Id: I6a08a86262deae4bed3a05f77d3041a568f23595 Reviewed-on: https://gerrit.libreoffice.org/81853 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-26loplugin:constmethod in scNoel Grandin
Change-Id: I78c4fb4acf21756f91582caee5e30e3ad1fc2ae4 Reviewed-on: https://gerrit.libreoffice.org/79543 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-09tdf#42949 Fix IWYU warnings in sc/incGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. New IWYU and recent developments in f-u-i helped to identify some non self contained files, those were fixed too. Change-Id: I3b33b0dee7d7c9afc136510898039cab53990ddf Reviewed-on: https://gerrit.libreoffice.org/74980 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-04-05tdf#50916 Makes numbers of columns dynamic.Noel Grandin
With this commit we are making numbers of columns dynamic, but the number of maximum supported columns will be the same (1024). Such approach will allow us to check issues (eg. performance, LO format etc.), and improve it. Increasing number of maximum columns, will be done in separate commit. Change-Id: Ibac4101e9ffc05e3548eca1c198f6319ac7ff9aa Reviewed-on: https://gerrit.libreoffice.org/44802 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-03-26flatten TabRangesNoel Grandin
no need to declare this separately, saves one pointer hop Change-Id: I14fd82a9448c43ddfa0b6179a3b79cf6d364130d Reviewed-on: https://gerrit.libreoffice.org/69687 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-15loplugin:constfields in scNoel Grandin
Change-Id: If326175d571d15752efd1b63df45b2bc785f7541 Reviewed-on: https://gerrit.libreoffice.org/61653 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-22loplugin:useuniqueptr in ScDBQueryDataIteratorNoel Grandin
Change-Id: I53b458c39ec6fd8b64110d9cdd1ccbd9f850dc08 Reviewed-on: https://gerrit.libreoffice.org/59361 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-07tdf#42949 Fix remaining IWYU warnings in sc/incGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. With this patch, find-unneeded-includes gives no more problems Change-Id: I24e62be7a387d7fd97a36f54eed0ba9d83ddaf0c Reviewed-on: https://gerrit.libreoffice.org/58667 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-22use ScInterpreterContext in ScValueIteratorLuboš Luňák
Otherwise GetFormatTable() asserts with fdo#74507-1 (and mnOpenCLMinimumFormulaGroupSize disabled). Change-Id: Ic624076bd552a2f8370f942063e8b79ca703d9fc Reviewed-on: https://gerrit.libreoffice.org/56288 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Luboš Luňák <l.lunak@collabora.com>
2018-06-14Remove now unused ScCellIterator::hasEmptyData()Eike Rathke
Change-Id: I716df68580ecee147d45ff5a408c82c5010089bf
2018-05-25tdf#42949 Fix IWYU warnings in sc/inc/[gh]*Gabor Kelemen
Found with bin/find-unneeded-includes Simple removal proposals are dealt with here and a bit of fallout management Change-Id: Ia6f8d4ca46d7b218f5827052ced5641367bd4478 Reviewed-on: https://gerrit.libreoffice.org/54683 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-10tdf#42949 Fix IWYU warnings in sc/inc/d*Gabor Kelemen
Found with bin/find-unneeded-includes Mostly removal proposals are dealt with here and a few trivial substitutions in small headers Change-Id: Ic4b2e48f1e55fc5d10e3dab16cfee1e358a8e917 Reviewed-on: https://gerrit.libreoffice.org/54005 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-12-19wrap scoped enum around css::util::NumberFormatNoel Grandin
Change-Id: Icab5ded8bccdb95f79b3fa35ea164f47919c68fa Reviewed-on: https://gerrit.libreoffice.org/46339 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-11-24consistently use sal_uInt32 for number formats in scNoel Grandin
instead of a mix of short/sal_uLong/sal_uInt32 Change-Id: Ie5bd26e1a6f716c0c4e174a6d560827084b3f421 Reviewed-on: https://gerrit.libreoffice.org/45159 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-21Introduce ScInterpreterContextTor Lillqvist
Possibly later things that need to be thread-local can be handled through the ScInterpreterContext. Why handle some thread-local things through the ScDocument::maNonThreaded and ScDocument::maThreadSpecific mechanism, and others through this ScInterpreterContext? Good question. Share SvNumberFormatter across worker threads and use mutex to protect SvNumberFormatter::IsNumberFormat() Change-Id: I372e5fbd9a19785f55f0faf4a4bedc5fc1ef3e03
2017-08-23loplugin:constparam in sc part2Noel Grandin
Change-Id: I4fd18096d7d22d8c146a2437906187d5df1cb268 Reviewed-on: https://gerrit.libreoffice.org/41447 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-01Bin default value for a bool parameter that was defaulted in only one placeTor Lillqvist
Change-Id: Ie5d4339639a034c4be991c9302576a116866b085
2017-07-13loplugin:useuniqueptr in scNoel Grandin
Change-Id: I004e1f0292c8a40515880546574255ab835dbdbe Reviewed-on: https://gerrit.libreoffice.org/39875 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-04loplugin:unusedfields in sc part3Noel Grandin
Change-Id: I7323e8644e5d336d52fa21b063264b0847b5e780 Reviewed-on: https://gerrit.libreoffice.org/39064 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-29ScRowBreakIterator::NOT_FOUND can be constexprTor Lillqvist
Change-Id: I33310e400ba8cdb15669704d96de8a3dbbe43be1 Reviewed-on: https://gerrit.libreoffice.org/39386 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2017-01-13new loplugin: useuniqueptr: sc part 1Noel Grandin
Change-Id: Ic96fd3b56b2063df0882168a7d02725d3c50515f Reviewed-on: https://gerrit.libreoffice.org/32961 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-11loplugin:countusersofdefaultparams in sc(part2)Noel Grandin
Change-Id: I1e2a0969ca7e9e0f75079a171150269dfed26507 Reviewed-on: https://gerrit.libreoffice.org/30755 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-07loplugin:expandablemethods in scNoel Grandin
Change-Id: Ib417c5e978fca563f8c0ef0dbe6b9d50fead9828 Reviewed-on: https://gerrit.libreoffice.org/30566 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-26convert SUBTOTAL constants to typed_flags_setNoel Grandin
Change-Id: If3d7f874d11de1eac53dc37c3e86667236db493e
2016-09-23convert formula error codes to scoped enumNoel Grandin
Change-Id: I5ff214bf1ec9031e30344bc125bc99916fd11bfb Reviewed-on: https://gerrit.libreoffice.org/28897 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-09-15loplugin:singlevalfields in sc..vclNoel Grandin
Change-Id: I68752a3daf5ddd8581c07759b8be2c1dabbb9258
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-07-27loplugin:singlevalfields in sc(part4)Noel Grandin
Change-Id: I77bcfc0103f638cd3eddb676ee88a4749bc74b1b Reviewed-on: https://gerrit.libreoffice.org/26687 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-23loplugin:constantparam in scNoel Grandin
Change-Id: I437367b8c6960db730a69c020ba82792a9170d01
2016-03-04loplugin:unuseddefaultparam in scNoel Grandin
Change-Id: Id461fc600bec5fe372875c2dcf405997fcf9f0b4