summaryrefslogtreecommitdiff
path: root/sc/inc/refhint.hxx
AgeCommit message (Collapse)AuthorFilesLines
2016-12-08convert SFX_HINT to scoped enumNoel Grandin1-1/+1
Notes (*) In SC, BULK_DATACHANGED was or'ed into the hint id. Replaced with a dynamic_cast check. (*) In SC, removed the hint id field from ScIndexHint, no point in storing the hint id twice (*) Fold the SfxStyleSheetHintId enum into the new SfxHintId enum, no point in storing two different hint ids (*) In some cases, multiple #define's used to map to the same SFX_HINT value (notably the SFX_HINT_USER* values). I made all of those separate values. Change-Id: I990e2fb587335ebc51c9005588c6a44f768d9de5 Reviewed-on: https://gerrit.libreoffice.org/31751 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-23perf: eliminate SfxSimpleHint and move to SfxHint, tdf#87101 relatedEike Rathke1-1/+1
There were over 150 places in *::Notify() functions that did some dynamic_cast<SfxSimpleHint*> of which ~98% were unnecessary because the base class SfxHint passed was an SfxSimpleHint anyway. dynamic_cast operations come with quite some cost, so avoid if possible. Specifically for ScFormulaCell::Notify() that created a bottleneck in scenarios where cells were notified that already handled a previous notification. In mass operations doing the dynamic_cast before it could be decided whether having to act on it or not this made 2/3 of all time spent in the Notify() call. To get rid of that rename/move SfxSimpleHint to SfxHint and let classes derive from SfxHint instead of SfxSimpleHint. This comes only with a slight cost that an additional sal_uInt32 is transported in such hints, initialized to 0, but this is neglectable compared to the huge gain. For the rare cases where a Notify() actually expects both, an SfxHint (formerly SfxSimpleHint) and a derived hint, this changed order of the dynamic_cast involved so the simple SfxHint::GetId() is handled last. Modules using such combinations can further optimize by treating the simple SfxHint::GetId() first once verified that none of the other derived hints use an ID not equal to zero respectively none of the ID values the simple hint uses. Change-Id: I9fcf723e3a4487ceb92336189d23a62c344cf0ce Reviewed-on: https://gerrit.libreoffice.org/29205 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann1-6/+6
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-04-26C++11: disable ctors instead of not implementing them (sc)Jochen Nitschke1-2/+1
replace the old declare and don't implement pattern with C++11 delete keyword Change-Id: I96c71d512d8dab4ad7c806c2e871604163fc49c1 Reviewed-on: https://gerrit.libreoffice.org/24399 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2014-12-02fdo#86762 re-establish listeners to move cell broadcastersEike Rathke1-1/+17
... for UpdateReferenceOnSort=false Change-Id: Id90288660e317d6e47ee01ee3b5ff9058cfa18df
2014-11-25remove boost/unordered_map.hpp include from types.hxx.Kohei Yoshida1-0/+1
types.hxx is included by pretty much everyone inside sc. Let's not stick a boost header in there... Change-Id: Iaf2aa9e13d0e02437bcd9e71a0143432abfa0a7c
2014-07-31fdo#78555: Retain formula results when moving a range of cells.Kohei Yoshida1-1/+6
* No need to re-compile RPN token array on reference change alone. We do that when the formula contains one or more names that have been updated. * Adjust undo code to get it to work without relying on ref undo document, which would cause the token arrays to be unnecessarily recompiled. * Whatever else need to be changed in order to pass all unit tests. Change-Id: I99e86d23320aca8900fef011da23a9d34e42751e
2014-07-13fdo#81309: Adjust references during sort.Kohei Yoshida1-4/+26
Change-Id: I2b98610f6b774400ecfaffe2905201c27fcab33f
2014-06-26Make these non inline.Kohei Yoshida1-7/+7
Don't do this please... Change-Id: Id90490622bca10beabf7a1c92e51e55bc72a1db8
2014-06-17improve the inlinesimplememberfunctions clang pluginNoel Grandin1-3/+3
Change-Id: I6d5a952901648e01904ef5c37f953c517304d31e
2014-06-09loplugin: inlinesimplememberfunctionsNoel Grandin1-4/+4
Change-Id: I42119f656ca528286fb25d2d36c0af54b7d04a6b
2014-05-11fix-includes.pl: scThomas Arnhold1-2/+2
Change-Id: Iade3fedac5d2f8e978b7dd9c30f001d7d1564946
2014-05-01fdo#78079: Re-work sort by column to get it to do the right thing.Kohei Yoshida1-1/+19
Also fixed reference update problem. Change-Id: I06e6115ef969a011fdd5c92d5eb1927fb7ae789b
2014-04-19fixincludeguards.sh: scThomas Arnhold1-2/+2
sorry, huge one...
2014-03-15fdo#71491: Adjust reference during undo of drag-n-drop of cell range.Kohei Yoshida1-0/+62
Also with this commit, the signature of SvtListener::Notify() changes, by dropping the first argument which nobody uses. This change was necessary in order to call it directly without needing to pass any broadcaster instance. Change-Id: I6a1e97f0fb1e070d1d8f7db614690b04c9e8024e