summaryrefslogtreecommitdiff
path: root/formula
AgeCommit message (Collapse)AuthorFilesLines
2018-06-26More Implicit intersection computationDennis Francis2-6/+20
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-05tdf#42949 remove unused compheler includes ..Jochen Nitschke2-2/+0
and fix the fallout Change-Id: I15bc5d626f4d157cbc69a87392078b41e621d14e Reviewed-on: https://gerrit.libreoffice.org/54882 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-05-18tdf#116511: Drop questionable check for more keyboard inputTor Lillqvist1-23/+15
For some reason, on macOS, when this is being invoked through the shortcut, Application::AnyInput( VclInputFlags::KEYBOARD ) returns true, so the code thinks that there is more keyboard input and won't call UpdateTokenArray(), which sets m_pTokenArray. I think that optmisation is questionable, especially as the exact semantics of our event loop API, like Application::AnyInput(), is under-defined and probably can and will change in various minor ways when people work on improving it on the Mac (and perhaps other platforms, too). (The event loop etc certainly needs improvement on the Mac. Consider the "WindowServer grows to tens of gigabytes when running make check" issue which is closely related. Unfortunately nobody has come up with a simple fix for that yet, exactly because we use our event loop related APIs in so imaginative ways all over the code, and fixing one thing usually breaks another.) Change-Id: I865d46e5ee69609ad58bc915ff949e0f3602d8f5 Reviewed-on: https://gerrit.libreoffice.org/54448 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-05-17disable also ocStyle for Calc's threadingLuboš Luňák2-1/+27
The ocStyle token is only in the RPN tokens, the raw tokens array contains only ocName, so it's necessary to check also RPN tokens. Prevents a crash with tdf#91220/1 because of ScInterpreter::ScStyle() causing a SfxBroadcaster::Broadcast() call. Change-Id: I7fa04114b698918569014322c721751ab3d8c62f Reviewed-on: https://gerrit.libreoffice.org/54326 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-05-17loplugin:unusedfields in formula..registryNoel Grandin1-10/+8
Change-Id: I031654d8bb4f1788d364ef4f8d3bf7a05fadb148 Reviewed-on: https://gerrit.libreoffice.org/54454 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-14loplugin:useuniqueptr in FormulaTokenArrayNoel Grandin1-7/+8
Change-Id: I5716295d2f0c88c6daf0570941d5dd4c5ff03a33 Reviewed-on: https://gerrit.libreoffice.org/54168 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-28tdf#114479: compute implicit sum ranges for ocSumIf,ocAverageIf...Dennis Francis1-0/+20
and update the sum-range token in RPN array while creation of the RPN array itself. + Adds unit tests. + In ScParallelismTest unit test, enable threading in its setUp() method and restore the original setting in tearDown(). Change-Id: Iee9b7759210a82950181a418eb92766a6cf891fc Reviewed-on: https://gerrit.libreoffice.org/49465 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2018-04-14look for check buttons without underlinesCaolán McNamara1-0/+1
Change-Id: Ia9963190cf3dccbfa82951a3f2c0e29e00171429 Reviewed-on: https://gerrit.libreoffice.org/52847 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-11new loplugin:unusedvariablemoreNoel Grandin1-3/+0
collection of heuristics to look for local variables that are never read from i.e. do not contribute to the surrounding logic This is an expensive plugin, since it walks up the parent tree, so it is off by default. Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06 Reviewed-on: https://gerrit.libreoffice.org/52450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-03pass area param to DBG_UNHANDLED_EXCEPTIONNoel Grandin1-2/+2
and update sallogareas plugin to enforce this Change-Id: Id0782c8a1f619372e10d931aec3c6a4743a4c86a Reviewed-on: https://gerrit.libreoffice.org/52249 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-01remove unused processfactory.hxx includesJochen Nitschke1-1/+0
and fix fallout Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee Reviewed-on: https://gerrit.libreoffice.org/52206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-03-20Avoid creating a compiler for matrix check if there is no matrix supportEike Rathke1-5/+4
... as indicated by m_pBtnMatrix hidden for reportdesign. tdf#116468 cleansing. Change-Id: I1727dcc9875f0728805bac63cc6c1f1533394c6c
2018-03-20Resolves: tdf#116468 do not check array/matrix context for reportdesignEike Rathke1-10/+19
It doesn't have any, and worse, there's no currently active OpCode symbol map that could be used to create strings from tokens. Regression from commit bf1ffc64128f5b96d7c2fcc7adc81cbc25e232fd Date: Sun Jul 16 15:18:09 2017 +0200 FormulaDlg_Impl::UpdateValues: evaluate in force-array context if present Change-Id: I77c2035fdd0926f67fcc85e7090f30485b4e312c
2018-03-17Use for-range loops in embeddedobj, embedserv and formulaJulien Nabet2-10/+6
Change-Id: I56e1bace8ab8312524e681d3865a1a89d523812d Reviewed-on: https://gerrit.libreoffice.org/51459 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-03-06Resolves: tdf#116215 fewer array of references cases, tdf#58874 relatedEike Rathke2-1/+6
In particular if in any ForceArray context use the matrix result instead of the array of references list. Change-Id: I72328a690760637f6d31fadba447641c64711a67
2018-03-05Resolves: tdf#116188 set min version on all .ui files to 3.18Caolán McNamara4-4/+4
which is already the min for the runtime Change-Id: Ifebe099f1f94a36f65a31989689400327a823dcd Reviewed-on: https://gerrit.libreoffice.org/50776 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-01drop old tools/gen methods in accessibility..formulaNoel Grandin1-1/+1
Change-Id: I075e29173945200854f2ef8e420867871659766a Reviewed-on: https://gerrit.libreoffice.org/50446 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-26use less RGB_COLORDATANoel Grandin1-1/+1
part of removing ColorData Change-Id: If31b5b88545529863377e9a178f45f4516bf6cbb Reviewed-on: https://gerrit.libreoffice.org/50345 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-25convert all help responses to gtk's -11Caolán McNamara1-3/+3
and ok responses to gtk's -5 and cancel responses to gtk's -6 and close responses to gtk's -7 and yes responses to gtk's -8 and no responses to gtk's -9 Change-Id: Ia1a261a3a711ed9f5d8c0b0c639897c3064bb08c Reviewed-on: https://gerrit.libreoffice.org/50206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-23no point in a checkbutton having a responseCaolán McNamara1-1/+0
Change-Id: I2376336617d5ef324e03fa8a93137d3273dabc60 Reviewed-on: https://gerrit.libreoffice.org/50195 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-20Resolves: tdf#115879 treat NOT as the 1-parameter function that it isEike Rathke2-32/+6
... instead of a low precedence unary operator with an odd behaviour. This wasn't documented nor specified but maybe needed for old(est) binary file format compatibility. Generate an error for anything else than a context of a function with one argument. There might be some corner cases of documents where some old usage leads to error now, of which some may have worked by accident, but some not as intended. Related, the internal not exposed (but available) NEG was classified similar as a unary operator but corectly handled as function at all places. Classified as an ordinary 1-parameter function as well. Change-Id: I3d84a6382243c8d64313e37346f81c857e71be95 Reviewed-on: https://gerrit.libreoffice.org/50055 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2018-02-16Revert "loplugin:changetoolsgen in filter..framework" and reapply pluginNoel Grandin1-1/+1
because I (a) forgot to insert parentheses which changes the meaning of some expressions and (b) I now use the AdjustFoo calls when changing unary operations, which reads much better This reverts commit bf8a6cacd06d7c1961b5db8cc79ee4bbdb342e43. Change-Id: I4b5a9bf0c38ee1b57af91e6b7f184f1e8807f6f7 Reviewed-on: https://gerrit.libreoffice.org/49843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-14loplugin:changetoolsgen in filter..frameworkNoel Grandin1-1/+1
Change-Id: I622da8a0c096c74efd97326451c4576b230f0483 Reviewed-on: https://gerrit.libreoffice.org/49701 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-14Fix typosAndrea Gelmini1-1/+1
Change-Id: I76d50754a660e006e5913b89caa491cc21d6f9dc Reviewed-on: https://gerrit.libreoffice.org/49588 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-02-12Use FormulaCompiler::IsOpCodeJumpCommand() where applicableEike Rathke1-5/+5
Change-Id: I295e842da0192c21d318357caa574062085acd9d
2018-01-16Fix typosAndrea Gelmini1-1/+1
Change-Id: I078626eaa3155cc429320cc8c1532003b382b22a Reviewed-on: https://gerrit.libreoffice.org/47855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-15More loplugin:cstylecast: formulaStephan Bergmann1-1/+1
Change-Id: I0a6f4eaf49282a6aa74b24ea62736065d1786f58
2018-01-15convert a<b?a:b to std::min(a,b)Noel Grandin1-2/+2
with something like git grep -nP '(.*)\s*<\s*(.*)\s*\?\s*\g1\s*:\s*\g2' -- *.?xx Change-Id: Id5078b35961847feb78a66204fdb7598ee63fd23 Note: we also convert a>b?b:a Reviewed-on: https://gerrit.libreoffice.org/47736 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-12More loplugin:cstylecast: formulaStephan Bergmann4-10/+10
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I924954aefd471386805082f11a2d33db2746c49a
2017-12-22lokdialog: Allow switching language of some of the ResMgr's.Jan Holesovsky1-2/+1
This way, it is possible to have all the strings translated in dialogs even when different users use different languages. [It was already possible to have different languages previously, but not everything in the dialog has switched - like the buttons at the bottom of the dialogs etc.] Change-Id: I29a5ae6d31a370eec60397884200b684ec1bf5b9 Reviewed-on: https://gerrit.libreoffice.org/46417 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/46979 Tested-by: Jenkins <ci@libreoffice.org>
2017-12-20loplugin:unusedindexMike Kaganski1-7/+5
Change-Id: Id69dcfde5c8b5d39c272916e7c1bcc649f720888 Reviewed-on: https://gerrit.libreoffice.org/46829 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19wrap scoped enum around css::util::NumberFormatNoel Grandin2-20/+20
Change-Id: Icab5ded8bccdb95f79b3fa35ea164f47919c68fa Reviewed-on: https://gerrit.libreoffice.org/46339 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-12-14No need to keep these whitelisted functions decorated with SAL_CALLStephan Bergmann1-3/+3
The only effect SAL_CALL effectively has on LO-internal code is to change non- static member functions from __thiscall to __cdecl in MSVC (where all other functions are __cdecl by default, anyway). (For 3rd-party code, it could be argued that SAL_CALL is useful on function declarations in the URE stable interface other than non-static member functions, too, in case 3rd-party code uses a compiler switch to change the default calling convention to something other than __cdecl. But loplugin:salcall exempts the URE stable interface, anyway.) One could argue that SAL_CALL, even if today it effectively only affects non- static member functions in MSVC, could be extended in the future to affect more functions on more platforms. However, the current code would already not support that. For example, 3af500580b1c82eabd60335c9ebc458a3f68850c "loplugin:salcall fix functions" changed FrameControl_createInstance in UnoControls/source/base/registercontrols.cxx to no longer be SAL_CALL, even though its address (in ctl_component_getFacrory, in the same file) is passed to cppuhelper::createSingleFactory as an argument of type cppu::ComponentInstantiation, which is a pointer to SAL_CALL function. Change-Id: I3acbf7314a3d7868ed70e35bb5c47bc11a0b7ff6 Reviewed-on: https://gerrit.libreoffice.org/46436 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-11loplugin:salcall fix functionsNoel Grandin1-1/+1
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-08loplugin:salcall vcl builder methodsNoel Grandin1-1/+1
these don't need to be SAL_CALL, and the function pointer definition was not annotated SAL_CALL either Change-Id: I3082d3d34c53dc723ad8d2083010fd0de0e89a1e Reviewed-on: https://gerrit.libreoffice.org/46067 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-01loplugin:unusedfieldsNoel Grandin1-8/+8
The mnRequestedLength fields in formula/ were introduced in commit 6ef6dd0122b8e44d8547ec31f40def42173e4e41 Author: Kohei Yoshida <kohei.yoshida@collabora.com> Date: Wed Feb 26 14:32:57 2014 -0500 Store the length of originally requested array size prior to trimming. but then partially removed in commit d7f1f91b194da1cb96e66268ce7ef38602aa5754 Author: Noel Grandin <noel@peralex.com> Date: Mon Mar 3 13:29:43 2014 +0200 remove unused code in formula/vectortoken Change-Id: Ic56b6e42682131ee45df7838867145f980f3d601 Reviewed-on: https://gerrit.libreoffice.org/45571 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-21Assert also new FormulaToken::SetDoubleType() virtual dummyEike Rathke1-1/+1
Change-Id: I4532d0329dc7cd2609bc96abba140aba3f3d36f3
2017-11-21cache FormulaToken for doublesDennis Francis1-0/+10
Change-Id: Ic0b4dff6f03ef3f88bd150e798fa2d83dfb0f486
2017-11-15Assert all FormulaToken::Set...() virtual dummy methodsEike Rathke1-9/+10
Attempting to set on a wrong token type can never be right. Change-Id: I788221505a628f40dfbb9c2ee7c92ac789529303
2017-11-02loplugin:finalclasses in formsNoel Grandin3-9/+3
Change-Id: I0f849fd104699e2861aaba2d4be38168e80703b0 Reviewed-on: https://gerrit.libreoffice.org/44189 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-26vcl: make MapMode constructor explicitMichael Stahl3-3/+3
Insert constructor everywhere, except a couple places that apparently want to compare GetMapUnit(). Change-Id: I1910deb60562e5e949203435e827057f70a3f988
2017-10-23loplugin:includeform: formulaStephan Bergmann16-49/+49
Change-Id: I50b898e477e0842577bcc648540e7f4b66d5b693
2017-10-17turn implicit container explicit in buildable notebooksCaolán McNamara1-3/+27
as in interim measure for SfxTabDialogs we throw away the TabPage if its not suitable for reuse Change-Id: Ic5776ca3d2a8cb6bf41f33df01b211f81c62a842 Reviewed-on: https://gerrit.libreoffice.org/43134 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-02Tone down excessive directional chars in Back/Next buttonsAdolfo Jayme Barrientos1-2/+2
This tiny inconsistency with other software has annoyed me for too long. Change-Id: Ieef8cdcf13f1cea0e414fbe086e45a4e05895467
2017-09-25Rename GetSelectEntryCount -> GetSelectedEntryCountSamuel Mehrbrodt1-1/+1
Change-Id: I405b347b404ed0acb3b6a0204e0b914a7698ce25 Reviewed-on: https://gerrit.libreoffice.org/42284 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-09-21Rename GetSelectEntryPos -> GetSelectedEntryPosSamuel Mehrbrodt1-3/+3
Change-Id: I0bd4cb463575af843c72d9c8aaf91742203532a4 Reviewed-on: https://gerrit.libreoffice.org/42283 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-09-21Rename GetSelectEntry -> GetSelectedEntrySamuel Mehrbrodt1-1/+1
Change-Id: Ibb7d8c59c0e61b0e87455bd78f241d8691dd9dce Reviewed-on: https://gerrit.libreoffice.org/42282 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2017-09-11clang-tidy modernize-use-emplace in editeng..frameworkNoel Grandin1-3/+3
Change-Id: I7739c4f77c856d34f8484754244df13d8fef840e Reviewed-on: https://gerrit.libreoffice.org/42151 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-07tdf#107135 Add missing ODFF function SEARCHB.Winfried Donkers1-0/+6
Change-Id: Ic72693ad8f33fb94c171751f82680eabad1d3d6d Reviewed-on: https://gerrit.libreoffice.org/41900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-08-11convert std::map::insert to std::map::emplace IINoel Grandin1-1/+1
Change-Id: Ief8bd59c903625ba65b75114b7b52c3b7ecbd331 Reviewed-on: https://gerrit.libreoffice.org/41019 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>