summaryrefslogtreecommitdiff
path: root/sc/inc
AgeCommit message (Collapse)Author
2018-07-11sc: Prefer std::vector to std::deque or std::stackTakeshi Abe
as the queue is modified only by either appending or clear(). Change-Id: I6866c047eaf7149221c77ff4f1f3759dbf10492e Reviewed-on: https://gerrit.libreoffice.org/57182 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-11loplugin:useuniqueptr in ScModelObjNoel Grandin
Change-Id: I12635d45555bc59d14134b8eef3e093f3fd4e6a0 Reviewed-on: https://gerrit.libreoffice.org/57242 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-10[API CHANGE] tdf#65353 Add more doc. settings more embedding fontsTomaž Vajngerl
- Add setting to embed used fonts only - Add setting for filtering of Latin, Asian, Complex script fonts Change-Id: I8d093ed05fdcef3715616c008f6eeaa8cfbcc850 Reviewed-on: https://gerrit.libreoffice.org/57167 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-10loplugin:useuniqueptr in ScCellFormatsEnumerationNoel Grandin
Change-Id: I5551b65d4c7fea7e38d7c5b40af7c1803218b960 Reviewed-on: https://gerrit.libreoffice.org/57203 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-08Added XML data providerVikas Mahato
Change-Id: Ib5727912977eb79cdf1f84bf874919beafc693eb Reviewed-on: https://gerrit.libreoffice.org/56356 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-07-06Generalize FG cycle detection for...Dennis Francis
...cycles involving a mix of formula-groups and plain formula-cells which are not grouped. This fixes a crash in tdf#104213/1 Change-Id: I63b8b7379e4e5eaf322a3318f061a9e5fbc931ef Reviewed-on: https://gerrit.libreoffice.org/57031 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-07-06add a selection for the DB range to Dataprovider dlgMarkus Mohrhard
Change-Id: I02c63b46e21cd8d04e6b515e2cbbee08743d5657 Reviewed-on: https://gerrit.libreoffice.org/49459 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-07-05use std::unique_ptr for ScTable in ScDocumentNoel Grandin
Change-Id: Ic817fbd7953afe9007f9ec6071f53c8beca6dd18 Reviewed-on: https://gerrit.libreoffice.org/56949 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04loplugin:useuniqueptr in ScDPDataDimensionNoel Grandin
Change-Id: I74d6fd6a291d518c26180836706e4195f1144c8f Reviewed-on: https://gerrit.libreoffice.org/56944 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04Resolves: tdf#117458 let Enter move left/right again, tdf#68290 follow-upEike Rathke
Regression from commit b0a391d62c1df7525069a02913a52af940d92ecc CommitDate: Tue Jan 30 23:12:04 2018 +0100 Circular movement of cursor in a table with hidden columns/rows, tdf#68290 related where for nMoveX case nNewX - nCurX and nNewY - nCurY were both 0. Also don't abuse the bMarked flag for GetNextPos() as bUnprotected if nothing is marked, in which case also bKeepSel doesn't make sense. Change-Id: I59af09f1cfa397e68ce16d151ba7eee6e6598a75 Reviewed-on: https://gerrit.libreoffice.org/56935 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2018-07-04loplugin:useuniqueptr in ScChart2DataSequenceNoel Grandin
Change-Id: I340d9fbde1aa53097c162b61505593ee6d9fde35 Reviewed-on: https://gerrit.libreoffice.org/56902 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04loplugin:useuniqueptr in ScCellTextDataNoel Grandin
Change-Id: I60a0ffe27b2bbd7d2661fc0fa288730cb71be0b2 Reviewed-on: https://gerrit.libreoffice.org/56904 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04loplugin:useuniqueptr in ScCellsEnumerationNoel Grandin
Change-Id: I2ab494c977e6c877064ba6561d850b62bef2b438 Reviewed-on: https://gerrit.libreoffice.org/56911 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04loplugin:useuniqueptr in ScCellRangesBaseNoel Grandin
Change-Id: I4416b012f20c71885211350e605e7ad856642fea Reviewed-on: https://gerrit.libreoffice.org/56909 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04loplugin:useuniqueptr in ScSimpleEditSourceHelperNoel Grandin
Change-Id: Iebe62753d9e6f83f985e4c55fb938d5861613898 Reviewed-on: https://gerrit.libreoffice.org/56903 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-03loplugin:useuniqueptr in ScHeaderFooterTextDataNoel Grandin
Change-Id: Ia359ee8e9e4876f6bbf86702c476c9f9602295a0 Reviewed-on: https://gerrit.libreoffice.org/56832 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-03loplugin:useuniqueptr in ScFunctionAccessNoel Grandin
Change-Id: I678bfbc54a1c35540bb7f2b76f4f7e5c7c62b23c Reviewed-on: https://gerrit.libreoffice.org/56826 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-03loplugin:useuniqueptr in ScHeaderFieldsObjNoel Grandin
Change-Id: Ibf9251880e658605e83179c9de7ac2104d2c1c14 Reviewed-on: https://gerrit.libreoffice.org/56825 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-02tdf#109042 : Add support for multivariate regression...Dennis Francis
to regression tool. This means we now support more than one X variable(independent variable). One caveat is that all X variable observations needs to be present adjacent to each other in the same table. For example if data is grouped by columns, a valid organization of X variables look like :- X Variables ----> A B C ... XVar1 XVar2 XVar3 ... XVarN | 0.1 0.45 0.32 ... Observations 0.34 0.23 0.54 ... | 0.23 0.56 0.90 ... | 0.32 0.11 0.78 ... V This patch also makes our regression tool output to have similar structure to what Excel and Gnumeric does. This means more statistical measures are added including confidence intervals for all parmeter estimates. We already have support for Logarithmic and Power regression in addition to plain Linear regression. This patch's multivariate support extends to all of these types of regressions. Earlier all regression statistics were computed separately from scratch, which mostly compute the same regression multiple times. This would slow things down if the data-set being analysed is big. This is not true anymore as we use LINEST() formula. LINEST() formula provides all the necessary statistics needed in regression analysis, so here it is called just once and its output components are referenced to compute other statistics(derived). Following are the UI changes for the regression dialog box :- 1. Changed the regression-type selectors from check-boxes to radio-buttons. So only one type of regression can be done at a time. This is because the output of a single regression type itself shows a lot of information and if do all types of regression, it is hard to read and interpret especially for bigger data-sets with lots of X variables. 2. Allow the variable's ranges to have label in them, via a checkbox. If labels are provided, they are used to annotate the variable specific statistics and the user can easily identify the stats corresponding to each variable. 3. More robust input validity checks, with error messages at the bottom of the dialog to let the user know which of their entry is invalid. 4. User can enter the confidence level (default = 95%) for computing the confidence intervals of each estimate. 5. Make residual computations optional via a check-box, as this involves writing a table with all X's and Y with predicted Y and residual for each observation. If the data-set is big, or the user just care about the estimates and confidence intervals, they can avoid this. Finally the patch includes a uitest that tests all 3 types of regressions with a small dataset. The ground truths for the tests were obtained by running regression tool in Gnumeric. Change-Id: I9762b716eae14b9fbd16e2c7228edf9e1930dc93 Reviewed-on: https://gerrit.libreoffice.org/56809 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-06-29loplugin:useuniqueptr in ScAnnotationEditSourceNoel Grandin
Change-Id: Ia1ba66e511fc5ad9b0871d04df859cd79d7521a5 Reviewed-on: https://gerrit.libreoffice.org/56621 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-29loplugin:useuniqueptr in ScCellFieldsObjNoel Grandin
Change-Id: I894abfcfd9b2710a1aa81cca94158dbe4a7d9eeb Reviewed-on: https://gerrit.libreoffice.org/56620 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-28loplugin:useuniqueptr in ScModuleNoel Grandin
Change-Id: I6433050af217668800c7257433c11bfec37d9634 Reviewed-on: https://gerrit.libreoffice.org/56557 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-27loplugin:useuniqueptr in ScUnoAddInCollectionNoel Grandin
Change-Id: Ic38eab88f68952549af3417c3e85020877c95446 Reviewed-on: https://gerrit.libreoffice.org/56498 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-27loplugin:useuniqueptr in ScConsDataNoel Grandin
Change-Id: I0f9392d95ec2887ee62d1486f63600693a8b4dca Reviewed-on: https://gerrit.libreoffice.org/56497 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-27use optional ScInterpreterContext in ScColumn::GetString()Luboš Luňák
Otherwise calc's threading asserts with fdo#37765-1. Change-Id: Ic2500f2218bf62c4d05f1c5284e62a53c0598b53 Reviewed-on: https://gerrit.libreoffice.org/56484 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-06-27loplugin:useuniqueptr in ScSheetEventsNoel Grandin
Change-Id: I7dce11ddf85fc92d6ac69ea307c4c1c181521460 Reviewed-on: https://gerrit.libreoffice.org/56492 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-26More Implicit intersection computationDennis Francis
Do implicit intersection computation for for single parameter functions while generating RPN token array when the argument is a doubleref with relative row references. This optimization is not done when under forced array mode or matrix formula mode. The computation logic was already present in ScInterpreter, so factored it out and reused. This also adds unit tests to ensure correctness of II computation for various cases. Change-Id: I509c3f6f811aa036b1dc3296e8f68904b26c3c49 Reviewed-on: https://gerrit.libreoffice.org/53885 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2018-06-26sc: replace ScCaptionPtr with std::shared_ptr, tdf#117997, tdf#117228Henry Castro
Change-Id: I9b6a2c2504c9ce060906ac3bf156721709fef2f3 Reviewed-on: https://gerrit.libreoffice.org/55490 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2018-06-26tdf#42949 Fix more IWYU warnings in sc/inc/d*Gabor Kelemen
Found with bin/find-unneeded-includes These were quite a bit entangled with each other thus a lot of fallout management was necessary. Also try harder to use fw declarations in files already checked Change-Id: Ia69c3a0d66ec2763ac03094aaa1b646a290d3cfa Reviewed-on: https://gerrit.libreoffice.org/56361 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-26loplugin:useuniqueptr in ScConsolidateParamNoel Grandin
Change-Id: I451315b844e759db3084220a1c889f47775189e3 Reviewed-on: https://gerrit.libreoffice.org/56331 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-26loplugin:useuniqueptr in ScFuncDescNoel Grandin
Change-Id: I2b4843bea22c097d377351833e0215153f6721ad Reviewed-on: https://gerrit.libreoffice.org/56330 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-25loplugin:useuniqueptr in AutoFormatSwBlobNoel Grandin
Change-Id: I0cea421c5306eec66999c58ed8a5c2fa8766d60a Reviewed-on: https://gerrit.libreoffice.org/56329 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-25loplugin:useuniqueptr in ScDocumentNoel Grandin
Change-Id: I117424b6d28d4cc6cc6d7146f9df861a8075a791 Reviewed-on: https://gerrit.libreoffice.org/56320 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-25tdf#118296 Grid line color cannot be revertedMaxim Monastirsky
Use same approach as in Tools > Options... > LibreOffice > Application Colors. Change-Id: I5061709222cde2591e2937cdd67bbb5b6ad7f3f8 Reviewed-on: https://gerrit.libreoffice.org/56344 Tested-by: Jenkins Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com> Tested-by: Heiko Tietze <tietze.heiko@gmail.com>
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-22disable calc's threading for external referencesLuboš Luňák
Since the code uses ScExternalRefManager, which caches values, so better just disable it. Can be seen e.g. with fdo#78490-1 (and mnOpenCLMinimumFormulaGroupSize disabled). The doc actually asserts in GetFormatTable() called from ScExternalRefManager, but there seems to be no point in fixing just the assert if the whole class is possibly problematic. Change-Id: I4ace488414fd15b4ad0b88da51205b02c561c7a6 Reviewed-on: https://gerrit.libreoffice.org/56289 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Luboš Luňák <l.lunak@collabora.com>
2018-06-21Do dependency computation checks for OpenCL and...Dennis Francis
software interpreter like in CPU threading. This patch also reworks the cycle detection to make it more robust. Since the dependency computation also does cycle detection, there is no need to disable group-calc(threaded/OpenCL/SW Interpreter) for non-leaf nodes in recursive interpret. The rework of cycle detection ensures that it fixes tdf#95748 correctly. Change-Id: I460addb768eedc0914491a3d24ae7220c3afbb20 Reviewed-on: https://gerrit.libreoffice.org/55665 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins
2018-06-21discard cached cell values if the cell changesLuboš Luňák
FormulaGroupContext is actually a cache of cell results for OpenCL, but the cached values are not always properly discarded. Happens e.g. with testFormulaDepTracking in sc_ucalc fails if OpenCL is forced for it (i.e. with mnOpenCLMinimumFormulaGroupSize disabled), because a SetString() call for a cell doesn't invalidate the cache. This obviously reduces the cache hit rate a bit, but according to my tests it's not that bad (in fact the cache doesn't seem to get used that often, so I even wonder if it's worth it). Change-Id: Ia7ef2214956861d26ca3a42b84f9fecbff8316d0 Reviewed-on: https://gerrit.libreoffice.org/56087 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-06-21loplugin:useuniqueptr in ScChangeTrackNoel Grandin
Change-Id: I98f9263660c6c9cfe03b47f0a71dc92d26aa2859 Reviewed-on: https://gerrit.libreoffice.org/56199 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-21loplugin:useuniqueptr in ScDPObjectNoel Grandin
Change-Id: I6e1f44d4e59ef15f08692e97ad90c3ffc23cdc8c Reviewed-on: https://gerrit.libreoffice.org/56200 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-20loplugin:useuniqueptr in ScColContainerNoel Grandin
Change-Id: Icb4fffb27535a767b307c1d01e5bc96372c98352 Reviewed-on: https://gerrit.libreoffice.org/56108 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-20tdf#42949 Fix IWYU warnings in sc/inc/[ux]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here and a bit of fallout management Change-Id: I53d2c5dc9e16a64a143b16316d2aeab05023d866 Reviewed-on: https://gerrit.libreoffice.org/56076 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-18tdf#42949 Fix IWYU warnings in sc/inc/[Tt]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here and a bit of fallout management. Change-Id: I347377d7bb2a0cf8acda1ad28b5cc79bb954ab7d Reviewed-on: https://gerrit.libreoffice.org/55726 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-18do not make calc's threading depend on openclLuboš Luňák
This should have been part of e0e21f2747c19dae13332f4e59949c717aa114f3. Change-Id: I5942b9a907f876ff7173971b27f72b8a6c97f8dc
2018-06-18use std::atomic rather than OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIERLuboš Luňák
Sources such as http://preshing.com/20130930/double-checked-locking-is-fixed-in-cpp11/ or https://en.wikipedia.org/wiki/Double-checked_locking suggest that it wasn't possible to reliably do a portable double-checked initialization before C++11. It may be true that for all platforms we support those memory barriers are in fact not needed (which seems to be the assumption behind OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER being empty), and looking at the generated assembly here on x86-64 seems to confirm that, but in the worst case then this is a more chatty and standard way of writing a no-op. I don't want to use threadsafe statics or std::call_once() because ScGlobal::Clear() does cleanup, which would be non-trivial to do with these, and also some functions may not necessarily always force creation of the singleton when touching the pointer, so it can't be easily hidden behind a single function call. The need to explicitly use load() with delete (thus preventing DELETEZ) looks like a Clang bug to me. Change-Id: Id3b0ef4b273ed25a5c154f90cde090ea1f9674fb Reviewed-on: https://gerrit.libreoffice.org/55851 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-06-17tdf#71850 delete string "case-sensitive" in function wizzard EUROCONVERTZdeněk Crhonek
Change-Id: I9ab56279c748eae1e54f4cecc799db1aee2e2601 Reviewed-on: https://gerrit.libreoffice.org/55716 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2018-06-17tdf#42949 Fix IWYU warnings in sc/inc/P*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ic46d80186b0eb69e7bd8553278ffc9043b9b4bef Reviewed-on: https://gerrit.libreoffice.org/55768 Tested-by: Jenkins Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-06-15clean up calc'c choosing between threading and OpenCLLuboš Luňák
Now there's just one place to decide what is used first, in InterpretFormulaGroup(). Place in other places now checks both threading and OpenCL, which should be cheap, but it also allows e.g. falling back from OpenCL to threading if it doesn't work out for a specific formula group. Change-Id: I0cac55197c5278174d303691c20f77b842995c84 Reviewed-on: https://gerrit.libreoffice.org/55885 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins
2018-06-15tdf#96099 Remove some trivial std::vector iterator typedefsArkadiy Illarionov
Change-Id: Iced10ed59c475dff4d33ff06151b2015a27a860b Reviewed-on: https://gerrit.libreoffice.org/55715 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-06-15move SetNumberFormat() calls out of calc threadsLuboš Luňák
As it modifies ScAttrArray, which is not thread-safe (has std::vector per each column, so multiple threads may try resize it etc.). So if threaded calculation is done, delay the calls to the main thread. Change-Id: I3d87665c0dd0d40f0c2efbcf8958240ee5580233 Reviewed-on: https://gerrit.libreoffice.org/55602 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins