summaryrefslogtreecommitdiff
path: root/chart2/source/view/charttypes/PieChart.cxx
AgeCommit message (Collapse)Author
2020-11-17tdf#138018 don't show leader lines inside pie chartTünde Tóth
Show leader lines to data labels in custom position only outside of pie chart, as intended. Change-Id: I87dee2d33f4f876ffca208f69a069e1f0bcee688 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105920 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-10-20cid#1468269 Uninitialized scalar fieldCaolán McNamara
Change-Id: I4457019570571c810265bf721cdefb0bdd65dd7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104551 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-19tdf#134121 pie chart: add leader linesTünde Tóth
to data labels with custom position. See commit 769433ad93040bc81f06672c8a2c01e2b76fece3 (tdf#90749 chart: add leader lines to custom data label positions) Change-Id: If5d912cc04993e59bd5ab93b644ea49ba8642b49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104410 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-10-09tdf#134978 Chart OOXML Import: fix pie chart label custom positionTünde Tóth
Follow-up of commit dff7a46fb46d1fa2a3ad674ee493ae2d59150fe3 (tdf#130032 Chart OOXML Import: fix data label custom position). Change-Id: Iaaf4ae654ac0c1b4896a53be6034e6c027412df0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102981 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-10-02tdf#137116 pie chart: improve BestFit position of data labelsTünde Tóth
Regression from commit: 2e1a1054a4a98415057e72269ace9db075d3b191 (tdf#136752 pie chart: improve data label position) Change-Id: I66943684957a220c81db7f928fbb47700b78d012 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103610 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-09-23tdf#136752 pie chart: improve data label positionTünde Tóth
to avoid chart distortion. Set the maximum text width of data point label shape based to the 80% of the remaining space, when text wrapping is enabled and the label placement is AVOID_OVERLAP. Change-Id: I174089ec62df3aa21b5d1f26f74d475945d83684 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102744 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-08-27tdf#136105 tdf#134883 pie chart: improve data label positionBalazs Varga
Set the maximum text width of data point label shape based on the remaining space, when text wrapping is enabled and the label placement is OUTSIDE. Change-Id: I9132658e44886000c692efadaee4841c4d3ffc7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101317 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-07-09tdf#134225 Chart view: fix moved date labelBalazs Varga
outside from pie chart. Do not need to check the sector size of a pie slice, before best fit algorithm, so we can use the CENTER position as a start position of BEST_FIT. Completion of c66cb6d6e4a843dc7c7d06e1c2c0723a6ff85fc5 (tdf#134029 Chart view: enable to move data label) Change-Id: Ie1a53784e7df2887282155113bf8bb607cdb09e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96945 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2020-06-19tdf#134029 Chart view: enable to move data labelBalazs Varga
if the position is 'Best Fit' and the data label is outside from the pie chart. To check the functionality of the patch: open the attached file http://bugs.documentfoundation.org/attachment.cgi?id=162039 and move the data label. Change-Id: I88546c64dd62ab40b35400b0330f7899ba09123f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96452 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2020-06-02tdf#133376 Chart view: improve BestFit position of data labelsBalazs Varga
Put exceeding data label outside the pie slice without overlapping the other pie slices. Change-Id: I220fd43f0d52c940cf3ef30764074776d19da184 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94859 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-04-27Make upcasting css::uno::Reference ctor require complete typesStephan Bergmann
The main reason for the "home-grown" UpCast introduced with 904b3d1fceee5827076758ed2a81f80cb73493ca "Up-cast conversion constructor for css::uno::Reference" in 2013 was probably that we could not yet rely on C++11 std::is_base_of back then. A (welcome) side effect was that the derived class could be incomplete. However, specializations of UpCast relying on whether or not T2 is incomplete are obviously an ODR violation if the type is incomplete in some TUs and complete (and derived from T1) in others. And even if UpCast had internal linkage, it would still be brittle that its behavior depends on the completeness of T2 at the point of the template's instantiation, and not necessarily at the point of use. That means we should better base that ctor on std::is_base_of (which we can do now since 39a1edd6fec902ef378acce8af42c4d7fba280d0 "Make css::uno::Reference upcast ctor LIBO_INTERNAL_ONLY"), which causes a compilation error at least on Clang and GCC if the completeness requirements are not met. This change fixes all the cases where types need to be complete now, plus any resulting loplugin:referencecasting warnings ("the source reference is already a subtype of the destination reference"). Change-Id: Ieb9e3552e90adbf2c5a5af933dcb872e20661a2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92950 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-19loplugin:flatten in chart2Noel Grandin
Change-Id: Iadc4da6515a7d82e7a92b33d74d589b61fa2c64f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92480 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-14tdf#130975 replace `rtl::math::isNan` with `std::isnan`.Yukio Siraichi
Change-Id: I5d53e6369d35093445b2efd8936bbf8c6775ff47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90451 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-06basegfx: B2DTuple replace operator[] with "get" and Axis2D enumTomaž Vajngerl
opertaor[] was used for index access of of x and y variables where 0 is x and 1 is y - similar like access to an array with 2 elements. This comes in handy when you write generic code where the algorithm is the same for x and y, but using index access operator doesn't look clean and is potentially dangerous. We know we only have 2 options (o and 1), but an index access allows for more. A solution to this is to have a normal "get" method, with an enum as parameter (Axis2D), which can only have values X or Y. Change-Id: I3f98d0149214808a336f25599350a78436236827 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90133 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-06-14Avoid -fsanitize=signed-integer-overflowStephan Bergmann
...as happens when loading xls/fdo76137-3.xls as obtained by bin/get-bugzilla-attachments-by-mimetype (i.e, the attachment at <https://bugs.documentfoundation.org/show_bug.cgi?id=76137#c6>): > chart2/source/view/charttypes/PieChart.cxx:1110:81: runtime error: signed integer overflow: 2025540036 + 157276681 cannot be represented in type 'int' > #0 in chart::PieChart::rearrangeLabelToAvoidOverlapIfRequested(com::sun::star::awt::Size const&) at chart2/source/view/charttypes/PieChart.cxx:1110:81 > #1 in chart::ChartView::impl_createDiagramAndContent(chart::CreateShapeParam2D const&, com::sun::star::awt::Size const&) at chart2/source/view/main/ChartView.cxx:1651:23 > #2 in chart::ChartView::createShapes2D(com::sun::star::awt::Size const&) at chart2/source/view/main/ChartView.cxx:3037:41 Change-Id: I52a8363db2ca37dbcf56e1c136d9ee2223add945 Reviewed-on: https://gerrit.libreoffice.org/74048 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-14loplugin:logexceptionnicely in chart2Noel Grandin
Change-Id: Ib7933723e5506578bbc85cc431d54d1ed8466376 Reviewed-on: https://gerrit.libreoffice.org/74019 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-09Fix typoAndrea Gelmini
Change-Id: I72fafb21ac51de7537622b5265af266073cdb293 Reviewed-on: https://gerrit.libreoffice.org/67576 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2018-12-28Fix typoAndrea Gelmini
Change-Id: Ibb25b79c1ec394eb04d40c5419e5cdffc17829f0 Reviewed-on: https://gerrit.libreoffice.org/65651 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-11-26tdf#42949 Fix IWYU warnings in chart2/source/view/*cxxGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I9ee3318c79d3b59f272a2a5f89c38b26afa05974 Reviewed-on: https://gerrit.libreoffice.org/63775 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-26Put text label outside of the pie if..Tamas Bunth
performLabelBestFitInnerPlacement fails. Change-Id: Ic84e8b42e02da2023b22a9406c44d462170c5305 Reviewed-on: https://gerrit.libreoffice.org/64015 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2018-09-06loplugin:simplifyconstruct in canvas..cuiNoel Grandin
Change-Id: I02eba1df117a9d0df42bcac13c3251cb4fa6da14 Reviewed-on: https://gerrit.libreoffice.org/60074 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-28tdf#42949 Fix IWYU warnings in chart2/source/inc/[l-z]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Some only-recently analyzed files were cleaned. Also tried harder to use more fw decls instead of blacklisting Change-Id: Ie4f8eb7065e44a2b5208d6da4fa8e3681a31820b Reviewed-on: https://gerrit.libreoffice.org/59420 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-08-11loplugin:mergeclasses AbstractShapeFactory into ShapeFactoryNoel Grandin
Change-Id: I9cc607bcc84a14ffdbe22bdbe1a038f5b22b719a Reviewed-on: https://gerrit.libreoffice.org/58871 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-04Remove local deg<->rad functions: use what we already have in basegfxMike Kaganski
Change-Id: I33848d0b973999f486bb980e78b51e3d109ed1bf Reviewed-on: https://gerrit.libreoffice.org/58582 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-08-03Move angle normalization code from various places to toolsMike Kaganski
Also rename svx angle normalization functions in include/svx/svdtrans.hxx, that deal with 100ths of degree, to avoid confusion: NormAngle180 -> NormAngle18000; NormAngle360 -> NormAngle36000. Some places were fixed that previously returned inclusive ranges (i.e., both 0 and 360), see changes in these files: chart2/source/view/main/PlottingPositionHelper.cxx chart2/source/view/main/PolarLabelPositionHelper.cxx chart2/source/view/main/ShapeFactory.cxx filter/source/graphicfilter/idxf/dxf2mtf.cxx sw/source/core/graphic/grfatr.cxx (the latter now matches the comment in the function). Change-Id: I9f274bbb4168360d60dceff02aeba6332c519a59 Reviewed-on: https://gerrit.libreoffice.org/58556 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-07-09Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories from a* to configmgr Change-Id: I6ea1a7f992b1f835f5bac7a725e1135abee3f85a Reviewed-on: https://gerrit.libreoffice.org/57170 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-11loplugin:useuniqueptr in VDataSeriesGroupNoel Grandin
Change-Id: Ic2425c3b4068b3ec8ce6ba9f48311c7d2ab6e933 Reviewed-on: https://gerrit.libreoffice.org/55525 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-01tdf#42949 Fix IWYU warnings in chart2/source/view/inc/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here and a bit of fallout management. Change-Id: I1eb30323e083afca7c024d494856ccc66c41482d Reviewed-on: https://gerrit.libreoffice.org/55037 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-03-04Modernize a bit chart2Julien Nabet
mainly by using for range loops + by using empty() instead of comparing begin and iterator or use size to test that a container has at least 2 elements Change-Id: I81f168d8c36a8b4195fbb0c1aee4983dab25d22c Reviewed-on: https://gerrit.libreoffice.org/50705 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-03inline ASSERT_EXCEPTION macro in chart2Noel Grandin
Change-Id: I6bdcde5fd416531e2cdd3c9ec160833f1022247c Reviewed-on: https://gerrit.libreoffice.org/44246 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23loplugin:includeform: chart2Stephan Bergmann
Change-Id: I5b455c684e7cd689d5160135246f3400363c7d40
2017-08-28tdf#62363: When pie chart sector is too small do "Outside" placementDennis Francis
...of its label when "Best fit" label placement setting is used. Change-Id: Id201d922505de0e134286f4772abe282bb0722bc Reviewed-on: https://gerrit.libreoffice.org/41572 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-08-08bug fix: tdf#111173Marco Cecchetti
Mostly based on patch by Julien Nabet: http://bugs.documentfoundation.org/attachment.cgi?id=135107 Thanks Julien! Change-Id: I02440be7dfa5881e5bf63710a9d3c4f261d00533 Reviewed-on: https://gerrit.libreoffice.org/40877 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-03loplugin:constparams in sdNoel Grandin
Change-Id: I833c6da99d5ccb8f6a8b5c905bee73b75fde0a89 Reviewed-on: https://gerrit.libreoffice.org/40700 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-02remove unnecessary use of 'this->'Noel Grandin
Change-Id: I5c115389af7d24c18ddaf5fbec8c00f35017a5b4 Reviewed-on: https://gerrit.libreoffice.org/40671 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-01loplugin:checkunusedparamsNoel Grandin
the "check for taking address of function" part was generating false+ Change-Id: Iad6203850901229b7b1b2f8938c68ec703cd343f Reviewed-on: https://gerrit.libreoffice.org/40613 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-27loplugin:constparams in chart2Noel Grandin
Change-Id: Ic325b79f04e04aa19e08a60db30b982d90f04c80 Reviewed-on: https://gerrit.libreoffice.org/40480 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-29PieChart::PieLabelInfo::moveAwayFrom bAlternativeMoveDirection is "TODO"Stephan Bergmann
...ever since the code's introduction in ed4d9ca0934aa1ab10470e1197edce7913c86f0d "INTEGRATION: CWS chart17: #i63857#, #i4039# more flexible placement of data point labels, best fit for pie labels" Change-Id: Iba1c98c186c0f2bf3e611d26c452d990eed1275a
2017-06-29ChartTypeHelper::getSupportedLabelPlacements nDimensionCount was ignoredStephan Bergmann
...ever since the code's integration with 124d934dffd8737db2d4375029c5a8b3880acaec "INTEGRATION: CWS chart17: #i63857#, #i4039# more flexible placement of data point labels, best fit for pie labels" Change-Id: I942d7ff128d0b9e42ede371f81860f3c67943879
2017-06-20loplugin:oncevar chart2Noel Grandin
Change-Id: I2dd0939db440b5357225395e88680dd0b0fdbf43 Reviewed-on: https://gerrit.libreoffice.org/38970 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-23loplugin:comparisonwithconstant in chart2Noel Grandin
Change-Id: I95787007b26cdcf0d5d1617ecd0e55d377b551d7 Reviewed-on: https://gerrit.libreoffice.org/37941 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-13cppcheck: unsignedLessThanZeroJochen Nitschke
some stuff cppcheck missed in this file. plus use empty() and front() Change-Id: I612078d503c555afd681526f95d17502ffd585ba Reviewed-on: https://gerrit.libreoffice.org/35094 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-12cppcheck: unsignedLessThanZeroJulien Nabet
Change-Id: I5c41c06f9bfa6c23a6984d2f7f5b118a13065da9 Reviewed-on: https://gerrit.libreoffice.org/35088 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-02-21loplugin:subtlezeroinit: chart2Stephan Bergmann
Change-Id: I9012f97b188195140504dacb262c212d46df675a
2017-02-17drop enum NormalAxisNoel Grandin
since we only ever use the Z enumerator Change-Id: Ia162a6be650704649f5232fff0fa229c7b346450
2017-02-15Drop :: prefix from std in c*/Tor Lillqvist
Change-Id: If078cda95fa6ccd37270a5e9d81cfa0b84e71155 Reviewed-on: https://gerrit.libreoffice.org/34324 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-02-03makeAny->Any in basctl..chart2Noel Grandin
Change-Id: Ief1cdffbfc59ab4e35ac945d020772ff84c50d61 Reviewed-on: https://gerrit.libreoffice.org/33867 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-16new loplugin: useuniqueptr: chart2Noel Grandin
Change-Id: Ic029ed28fd6de8cf4ee204585c1c6e0c8a4b67ff Reviewed-on: https://gerrit.libreoffice.org/32960 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-23loplugin:unnecessaryoverride (dtors) in chart2Stephan Bergmann
Change-Id: I013fd81467b353262e8de554a06a0b24e4deca6d
2016-10-06rtl::math::approxEqual(value,0.0) never yields true for value!=0.0Eike Rathke
... so replace with a simple value == 0.0 also in other modules than sc. Change-Id: Ie7316505a1cf9c15100114b45d300facceb03b7e Reviewed-on: https://gerrit.libreoffice.org/29575 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>