summaryrefslogtreecommitdiff
path: root/chart2/source
AgeCommit message (Collapse)AuthorFilesLines
12 hoursPass context and resource string down to boost::locale separatelyNoel Grandin7-11/+11
because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
5 daysgetArray->getConstArrayNoel Grandin1-1/+1
Change-Id: I951dd4a02c9ead98e7eb13ae2995ba2e1e57b38a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119740 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
7 daysdrop some unneeded includesCaolán McNamara1-1/+0
Change-Id: I200d2936e97475dedc67801631222da12c777729 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119649 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
9 daysuse officecfg for SvtCJKOptionsNoel Grandin2-9/+5
and remove some unused options Change-Id: I487a233de4f7414012e5405f2c2e1f9c8b8fb4f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119554 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
9 daysdrop SvtLanguageOptions classNoel Grandin3-3/+6
since it is just a wrapper over SvtCJKOptions and SvtCTLOptions. Later I will replace those two with the equivalent officecfg calls Change-Id: I61c5667a05f75d42643175f2c28c29d7a590b15c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119516 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
12 daysuse officecfg to retrieve PrettyPrintingNoel Grandin1-2/+2
Change-Id: Ia815acdb8050316293e23801d3ed5bfbeb3ab386 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119417 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
14 daysOPropertySet doesn't need a pimplNoel Grandin4-280/+139
also inline some of the standalone lambda/functor classes Change-Id: I0a19a1d3cb7f5b3d02348f1ab57bae08b3ab089a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119379 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
14 daysno need for pimpl in ObjectHierarchyNoel Grandin2-129/+64
also convert some methods to return const tChildContainer & instead of copying a container Change-Id: Ie56451a7ee2b8ac25f21b781b97b0c7fe485b940 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119378 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-19Move svl::Items to include/svl/whichranges.hxx, and unify its usageMike Kaganski5-21/+21
... in WhichRangesContainer and SfxItemSet ctors. Now it's not needed to explicitly use 'value' in WhichRangesContainer's ctor, or create an instance for use in SfxItemSet ctor (svl::Items is already defined as a template value of corresponding type). Instead of WhichRangesContainer Foo(svl::Items<1, 2>::value); SfxItemSet Bar(rItemPool, svl::Items<1, 2>{}); now use: WhichRangesContainer Foo(svl::Items<1, 2>); SfxItemSet Bar(rItemPool, svl::Items<1, 2>); Change-Id: I4681d952b6442732025e5a26768098878907a238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119157 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-15use WhichRangesContainer in chart2Noel Grandin28-138/+94
Change-Id: Iedb30b5dae868953517c0bb87fcfc91d747ae65f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118995 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-15WhichRangesContainer, reduce malloc in SfxItemSetNoel Grandin2-8/+6
SfxItemSet shows up in perf profiles frequently, and the hottest part is the malloc of the two arrays we need. But most of the time, one of those arrays is a compile-time constant. So this change introduces (*) WhichRangesContainer, which manages whether the SfxItemSet owns the array it points at or not. (*) a static const member in svl::Items (idea from mkaganski) to store the data. Change-Id: Icb8cdbc4d54fd76739565c575e16a744515e5355 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118703 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-03Purge out when safe rtl::math ( isValidArcArg / sin / cos )BaiXiaochun4-93/+94
/** If a value is a valid argument for sin(), cos(), tan(). IEEE 754 specifies that absolute values up to 2^64 (=1.844e19) for the radian must be supported by trigonometric functions. Unfortunately, at least on x86 architectures, the FPU doesn't generate an error pattern for values >2^64 but produces erroneous results instead and sets only the "invalid operation" (IM) flag in the status word :-( Thus the application has to handle it itself. */ chart2/source/tools/RelativePositionHelper.cxx Function name: RelativePositionHelper::getCenterOfAnchoredObject From here: suppose it's related to the orientation of the chart << 2^64 chart2/source/view/main/LabelPositionHelper.cxx LabelPositionHelper::LabelPositionHelper Suppose: setup label position. There won't be angles grater than 360º. chart2/source/view/main/PlottingPositionHelper.cxx PolarPlottingPositionHelper::transformUnitCircleToScene Suppose: maybe disc chart orientation? Internal angle should be safe. chart2/source/view/main/ShapeFactory.cxx ShapeFactory::getSizeAfterRotation Suppose: rotate shape Internal angle should be safe. drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx Constant 100% safe sc/source/core/data/documen4.cxx bool ScDocument::Solver Suppose: the tangent is being used as numerical derivative (Regula falsi algorithm) So no impossible angles scaddins/source/analysis/bessel.cxx Filtered it out as bad imput Change-Id: Ib348cca6ce13263d087b6731f93f58d8a15cc725 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118193 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2021-07-01Purge out rtl::math::setInfBaiXiaochun5-51/+34
Change-Id: I71af8273c672a4cbcbfefafffd0003ab266dcce6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118132 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-30Purge out rtl::math::setNanBaiXiaochun29-255/+173
Change-Id: If8794c105e279afd4437517d3e61f2f900eb6490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118123 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-29constructing SaveOptions just to read default versionNoel Grandin2-2/+2
can be a little expensive sometimes, since it loads a bunch of other stuff at the same time. So create a custom method that just loads the version Change-Id: Ic480d95c4d64c68e57faf1b52f1d102141b7e246 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118047 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-28loplugin:indentation improve checks for brace alignmentNoel Grandin2-5/+5
Change-Id: I333100fda7e181f68f36b03279b3fbb8cb768310 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117615 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-26tdf#110993 - Corrected spline calculationAndreas Heinisch1-1/+1
The algorithm in Numerical Recipies in C, 2nd edition in Section 3.3, page 166 states a division rather than a multiplication. Change-Id: I2530c506bc48726539e3de99016892e50d6bb87e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115465 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-06-24tdf#142793 chart UI: fix option "Secondary Y Axis" on sidebarBalazs Varga1-5/+8
Attaching a data series to the secondary axis didn't enable the secondary axis at the right side of the chart using the sidebar (unlike in data series local menu -> Format Data Series... -> Options). Test: Click on the chart, select one of the data series, and enable Data Series -> Align Series to Axis -> Secondary Y Axis. Change-Id: I2cb99458af724471d4d04cac8c2c9013f41634fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117048 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2021-06-22tdf#142851 Chart UI: fix empty Chart Type dialogTünde Tóth1-1/+2
Chart Type dialog was empty, when the chart type of the chart was unsupported. Regression from commit: 4ff983b930dc15658aa531759d3f1e5b9586aeab (Related: tdf#142049 restore some elements default visibility in the ui) Change-Id: I057e6b9218edee398af8311c46b922ca76a9bcb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117173 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2021-06-17use string_view in the Translate APINoel Grandin2-3/+4
Change-Id: I0bb0ea9d39ed623928060ffd3f2e2bc36ba33209 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117272 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-13Assert on valid order of which ids in ranges on SfxItemSet creationMike Kaganski2-60/+61
This allows to make sure we actually use sorted which ranges, and then it's safe to call SfxItemSet::MergeRange when needed. Also this change relaxes the previous requirement that ranges must be separated by at least one; this allows to have adjacent ranges, like in RES_FRMATR_BEGIN, RES_FRMATR_END-1, RES_GRFATR_BEGIN, RES_GRFATR_END-1, where RES_FRMATR_END is equal to RES_GRFATR_BEGIN. Allowing this makes possible to (1) self-document the ranges, so it's clear which ranges are included; and (2) be safe in case when these constants would change, so that the one merged range would not unexpectedly contain everything inserted between RES_FRMATR_END and RES_GRFATR_BEGIN. Change-Id: Iaad0f099b85059b3aa318a347aa7fbd3f6d455c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116909 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-11Simplify vector initializationsJulien Nabet2-6/+2
Change-Id: Icf8972be204799e9b3b3824ab18d8584911fe1c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117061 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-06-10tdf#139658 OOXML: fix broken chart import at labels with quotesTünde Tóth1-2/+10
During the import of the internal data table, incomplete parsing of category labels with escaped quotation marks resulted broken category labels and charts. Change-Id: If5af3d527b80d1e055562f589bdaf17096ad49f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116714 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2021-06-08Simplify Sequences initializations (chart2)(part 2)Julien Nabet1-10/+5
Change-Id: If03d2f7f22c65aaebe236d9b33e6609d31660387 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116810 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-06-08Simplify Sequences initializations (chart2)(part1)Julien Nabet10-64/+18
Change-Id: I97ddde9659f337932b4165b794a769b83882126d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116802 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-05-31tdf#142467: Update comments with GCC bug IDStephan Bergmann1-1/+2
Change-Id: I71052f8db941733ab4e4b1b36cbf1fcb28eac9d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116420 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-28no need to allocate these on the heapNoel Grandin3-30/+29
Change-Id: Ic1a1577ed837d3fa2b7b99474f4cee30300628f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116290 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-26tdf#142467 crash on calling 'getInfoHelper' in final classCaolán McNamara1-1/+2
IPropertyArrayHelper & rInfo = getInfoHelper(); crashes when CandleStickChartType is final for unknown reasons. I see this with gcc-11.1.1-1.fc34.x86_64 in 7-1 locally but also in the fedora libreoffice-7.0.6 built with gcc-10 so this isn't a recent problem. #1 0x00007ffff6f4fe91 in cppu::OPropertySetHelper::getFastPropertyValue(int) (this=this@entry=0x5bdd588, nHandle=nHandle@entry=3) at cppuhelper/source/propshlp.cxx:549 #2 0x00007fffad45e9ff in chart::CandleStickChartType::getSupportedMandatoryRoles() (this=0x5bdd520) at chart2/source/model/template/CandleStickChartType.cxx:219 Change-Id: Ia029162587da1fc00df32866863deb186c7e11bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116196 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-23stlFindInsert: No unnecessary search before insertion to mapMuhammet Kara3-6/+3
Change-Id: I7d1dc5d524a8a6f43f8371250d9e6f3c9c7a2589 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115995 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2021-05-21add Toggleable as a separate thing to a ButtonCaolán McNamara34-67/+67
and inherit ToggleButton from both it and Button Change-Id: If0e500aca8d0ffa087cb5e2bfc1786372fbff4eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115921 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-21tdf#138556 Don’t add Open Values to stock chart types 1 and 3Aritz Erkiaga5-2/+71
A new function was defined, XdataInterpreter::getChartTypeSpecificData. Being 100% chart-type-agnostic when retrieving chart data is impossible; candlestick charts can have different numbers of sequences per series, and this information is not present in any other chart type. Change-Id: I0f54b09202c42667331b083d54d90e4ceee81083 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113075 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-19tdf#142364 exception thrown during destructionCaolán McNamara14-65/+100
Change-Id: I4e06ac82108e5381cd11fbd6407e1ce1e85c3ac6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115822 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-19tdf#124295 - Always select a 3D scheme in the chart wizardAndreas Heinisch8-42/+61
Change-Id: Ic0a39b4cb6f7af6fbdd99fc93677a0c2d966234d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115671 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-05-17split OutputDevice from WindowNoel Grandin4-10/+10
as part of a longer-term goal of doing our widget rendering only inside a top-level render- context. I moved all of the OutputDevice-related code that existed in vcl::Window into a new subclass of OutputDevice called WindowOutputDevice. Notes for further work (*) not sure why we are getting an 1x1 surface in SvpSalGraphics::releaseCairoContext, but to fix it I clamp the size there (*) might have to dump VCLXDevice, and move it's code down into VCLXWindow and VCLXVirtualDevice (*) can we remove use of VCLXDevice in other places, in favour of just talking to the VCL code? Change-Id: I105946377f5322677d6f7d0c1c23847178a720b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113204 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-17fix leak in CommandDispatchNoel Grandin2-21/+11
Change-Id: I0249b18fd40f4f5ef95e2101286dc25782c42eb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115684 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-14Directly initialize vectors in VCartesianAxis.cxxJulien Nabet1-9/+3
since we've got all the information from the beginning. Change-Id: I4045c8fd5ab5653cd390ceb29cfef76bd6c520a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115587 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-05-14Avoid temporary var + directly initialize vector in VDataSeries.cxxJulien Nabet1-4/+5
Change-Id: Ief280ca4cb2cdadfc41f7c98bdec4044475c7daf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115588 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-05-13Revert "simplify the vcl<->toolkit connection"Noel Grandin1-1/+1
because it introduces a link-time dependency of vcl on toolkit, and toolkit already depends on vcl This reverts commit f7a86c5cdf4323c99d26512bf78de7f7c380667d. Change-Id: Ibdd4f3e8221d70e2abd8fcbda67f85af3ac0396e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115547 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-12simplify the vcl<->toolkit connectionNoel Grandin1-1/+1
No need to store two different pointers and hide the underlying class behind an UNO interface Change-Id: I72c55e912caa9eae1cffa6c9d1b1d480e5668d40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115496 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-12fix ubsan use-after-freeNoel Grandin1-0/+25
after commit 2ed8c34bca56c1a30d727b21d9096cb77e88197a Date: Wed May 5 10:54:44 2021 +0200 use a single global item pool for chart2 draw model Change-Id: I5f6b1b1917f60c9a8603b58368da8b34f174f7db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115478 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-12fix some VirtualDevice leaksNoel Grandin1-1/+1
Change-Id: I645543fa27ca8b75b36ed7798f0af7b81fd09f49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115477 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-09clang-tidy error: Returning null referenceNoel Grandin1-2/+1
[clang-analyzer-core.uninitialized.UndefReturn,-warnings-as-errors] Change-Id: Idfb848f343d9c71655848a32a19c03c0e6893b7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115265 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-08ref-count SfxItemPoolNoel Grandin2-15/+6
so we can remove SfxItemPoolUser, which is a right performance hog when we have large calc spreadsheets Change-Id: I344002f536f6eead5cf98c6647dd1667fd9c8874 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115247 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-07use a single global item pool for chart2 draw modelNoel Grandin4-35/+36
which exposed a bug in SvxUnoNameItemTable::replaceByName Change-Id: If3207df6d46a2185b78ea5c3e1c145527b42d7cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115126 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-07add utility method to get last pool in chainNoel Grandin1-10/+1
Change-Id: If21defdf1b59219e3b81d803423713972412da7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115244 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-05Resolves: tdf#142049 expand widget to use unused extra spaceCaolán McNamara1-1/+2
Change-Id: I7ff6aa4feeccd790b6176cb60b6adb9b21db0f63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115135 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-02throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewriteStephan Bergmann8-14/+14
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-02tdf#79049 speed up OOXML workbook load (4)Noel Grandin1-2/+1
Optimise LocaleDataWrapper for reads by initialising the data we in the constructor, so we don't need any kind of locking Reduces load time from 34s to 28s. Change-Id: I4bd3bddb30b70ba015fe5b1372534f9507762b74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114960 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-29loplugin:stringadd simplify some *StringBuffer operationsNoel Grandin1-40/+14
pulled from a larger patch which I created with a more permissive variant of this plugin Change-Id: I7abf1f3f09e84703b6e0e52fe9587dff691b2187 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-29rename ECKEN -> CORNERNoel Grandin1-1/+1
Change-Id: I24438213431bd2866e2bcefc8a054a03bc975ef4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114841 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>