summaryrefslogtreecommitdiff
path: root/include/svl/poolitem.hxx
AgeCommit message (Collapse)Author
2019-04-25WIP: Further preparations for deeper Item changesArmin Le Grand
(1) Migrated all still existing binary load/save stuff in SfxPoolItem to legacy files. Isolated from Item implementations. Adapted all usages. No more methods Create/Store needed, also GetVersion removed (2) Removed operator= for SfxPoolItem. Adapted all usages. Goal ist to handle Items more as Objects ('Object-Oriented') in the sense to move/handle instances, not to copy one instance over another one (which is more and more problematic with hard to copy content as UNO API stuff or similar). This lead to much more usages of std::shared_ptr which correlates well with future plans fr Items (see dev branch). Next logic step will be to also remove copy constructor Linux build and corrections done Fixed Writer test and removed unused defines Fixed another unused m,acro Started to unify the AutoFormat stuff Changes to OUString constructor usages, tests completely No idea why, but SfxStringItem constructor which takes a OUString& now insists of not getting ::OUString's handed in - changed all 'SfxStringItem.*OUString.*".*"' accordingly Change-Id: Ibed7358b18fb019994a7490332b9d797a6694c29 Reviewed-on: https://gerrit.libreoffice.org/71075 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2019-04-20tdf#81765 slow loading of .ods with >1000 of conditional formatsNoel Grandin
This takes the loaing time from 1m38 to 15s. Speed up finding existing pool items in the pool by storing a sorted_vector, sorted by a compare operator on the item. memcmp is faster than operator< on std::vector because operator< seems to be trying to use some kind of lexicographical compare Change-Id: Id72527106d604adb8cd2d158bb42f89e2b16a85d Reviewed-on: https://gerrit.libreoffice.org/71009 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-28use the xmlTextWriterPtr typedef consistentlyNoel Grandin
this is the single biggest chunk of stuff my upcoming paramtypedef loplugin will warn about, so do it separately Change-Id: I412e69e76406d6d947101885d4cd92c65e021508 Reviewed-on: https://gerrit.libreoffice.org/68486 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-14tdf#42949 Fix IWYU warnings in include/svl/*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ide75232858599c275e023c2300201090acd22307 Reviewed-on: https://gerrit.libreoffice.org/63237 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-10-25return std::unique_ptr from CloneSetWhichNoel Grandin
Change-Id: I709122cb8cd7c257e7eb2bd564c529689e6d555a Reviewed-on: https://gerrit.libreoffice.org/62350 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-02Silence new Clang trunk -Wdefaulted-function-deletedStephan Bergmann
This mostly affects explicitly defaulted functions that had recently been user- declared to silence new GCC trunk -Wdeprecated-copy. It is not entirely clear to me what the best approach is overall, see my mail <http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20181001/245321.html> "Re: r343285 - [cxx2a] P0641R2: (Some) type mismatches on defaulted functions only", but lets just explicitly delete those functions for now. Change-Id: If8c72f612f67a8feb8b03c2fb988c807e704ef03 Reviewed-on: https://gerrit.libreoffice.org/61259 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-27svl: avoid -Werror=deprecated-copy (GCC trunk towards GCC 9)Stephan Bergmann
...by explicitly defaulting the copy/move functions (and, where needed in turn, also a default ctor) for classes that have a user-declared dtor that does nothing other than an implicitly-defined one would do, but needs to be user- declared because it is virtual and potentially serves as a key function to emit the vtable, or is non-public, etc. Change-Id: I8c900426c49701afc94094115ec0c2d5b1af90d9 Reviewed-on: https://gerrit.libreoffice.org/58102 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-16use implict conversion operator in TypedWhichIdNoel Grandin
instead of spreading calls to Which() everywhere. Change-Id: Ie32d106e44f5cb583908eeebe254ab8b8168ae61 Reviewed-on: https://gerrit.libreoffice.org/44760 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-15TypedWhichIdNoel Grandin
use a strong-typedef template to give which IDs a type, which we can carry around to do a (a) little bit more convenience when Get()'ing them and (b) a little bit of enforcement of which PoolItem subclass each ID uses Fix a bug in casting EE_PARA_BULLETSTATE to the wrong subclass in AccessibleEditableTextPara::_correctValues Change-Id: I015ce8b3b0f6d21308af182afa3caf122c877a5b Reviewed-on: https://gerrit.libreoffice.org/44587 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-28clang-tidy modernize-use-equals-default in svlJochen Nitschke
SfxPoolItem has a copy constructor and its copy assignment operator is deleted. Derived classes have a implicit defined copy constructor too, if all members are copy constructible. This patch removes default able copy constructors on such items. Note: clang-tidy only finds functions defined in source, inlined functions in headers are picked manualy. Change-Id: I7e642a2ecf139420c53f6fcb39208918dd1a8d52 Reviewed-on: https://gerrit.libreoffice.org/43003 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-16svl: Match SfxItemState::SET with css::frame::status::ItemState::SETTakeshi Abe
It had been overlooked over 10 years. Change-Id: I6ef58a5d960a5ae7609334dd6294cdef96cf891f Reviewed-on: https://gerrit.libreoffice.org/43190 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-09-29inline SfxPoolItem copy constructorJochen Nitschke
as delegating constructor. In preparation to remove default able copy constructors of derived classes. Change-Id: I516efa70ef2a06079194aafbf630e151138c6bbc Reviewed-on: https://gerrit.libreoffice.org/42923 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-08-16Removing unused serialisation codeVarun Dhall
Change-Id: Id31c8de69043d393f005f83d5c7eba878af5119c Reviewed-on: https://gerrit.libreoffice.org/41149 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-07-31make IntlWrapper arg to GetPresentation non-implicit and non-optionalCaolán McNamara
which requires explicitly adding null in 1) SdrItemBrowserControl::SetAttributes(const SfxItemSet* pSet, const SfxItemSet* p2ndSet) where SdrItemBrowserControl is only used by SdrItemBrowser and the only use of that is within DBG_UTIL in SdrPaintView 2) SwCursorShell::GetContentAtPos( const Point& rPt, within a #ifdef DBG_UTIL block in 3) SvxSearchDialog::BuildAttrText_Impl( OUString& rStr, bool bSrchFlag ) const where the other branch uses SvxResId 4) SfxPoolItem::dumpAsXml(xmlTextWriterPtr pWriter) const 5) XFillStyleItem::dumpAsXml(xmlTextWriterPtr pWriter) const looks very much like all uses (outside the dumpers) are intended to be in the ui locale results in that INetContentTypes::GetPresentation always called with UI Locale Change-Id: I5a110c107838b4db3c355476426d6532f2b6ce52 Reviewed-on: https://gerrit.libreoffice.org/40538 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-06-13Let SfxSetItem ctor take SfxItemSet by unique_ptrStephan Bergmann
Change-Id: I219dd03477862169cd50eecc14822f6a023f879a
2017-06-06Perf-sc: tdf#100709 SfxPoolItem::IsVoidItem() instead of dynamic_castEike Rathke
SfxItemSet::GetItemState() before, Ir: 4 048 231 416 after, Ir: 2 577 117 709 Change-Id: I26d8b91ad5d851011a670b38b7b98e5582c319cf
2017-05-23enhance useuniqueptr lopluginNoel Grandin
teach it to look for the following sequence in a destructor: delete m_pfoo; m_pfoo = nullptr; Change-Id: Icd6271a63a024e32b53cc9e599f8f59952160380 Reviewed-on: https://gerrit.libreoffice.org/37900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-03Remove redundant 'inline' keywordStephan Bergmann
...from function definitions occurring within class definitions. Done with a rewriting Clang plugin (to be pushed later). Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8 Reviewed-on: https://gerrit.libreoffice.org/34874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-27use a define for invalid SfxPoolItemJochen Nitschke
and use helper function IsInvalidItem() more Change-Id: Ifd651a336a7bd4ef4f945219d765afb827465438 Reviewed-on: https://gerrit.libreoffice.org/33611 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Tested-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-01-25loplugin: unnecessary destructor svl..svtoolsNoel Grandin
Change-Id: Ie96dda7194c83ba88693f8c91899c732d704a4bd Reviewed-on: https://gerrit.libreoffice.org/33515 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-28svl: change SfxPoolItem ref-count to sal_uInt32Michael Stahl
Fixes the inconsistency between potentially 64-bit sal_uLong and the max-value macros that are ~2^32. Change-Id: I895c674819cf4766cb2c7441f670bc1305362a74
2016-10-28svl: SfxPoolItem reference counting assertionsMichael Stahl
Change-Id: Ice2ec9a4592a1fad36913ae7d089aa8c63dfc669
2016-09-22convert SfxItemKind to scoped enumJochen Nitschke
reduced size because it is stored in widely used SfxPoolItem. converted 'if' chains to 'switch case' Change-Id: Id9b5e375b681c88e8c91c561abd1a50610aa4815 Reviewed-on: https://gerrit.libreoffice.org/29186 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-21convert SfxItemPresentation to scoped enumNoel Grandin
Change-Id: Ibf605706a9f804ab509ac4f92f5f88fcf3daebc1 Reviewed-on: https://gerrit.libreoffice.org/29131 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-21add dumpAsXml() to more pool itemsNoel Grandin
Change-Id: I276109148bab8180ce2442f5ee69722357362453
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
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-09-05correct copy and paste in debug messageJochen Nitschke
Change-Id: I6898c78d412544f0e2a44d7d48140731b676821a Reviewed-on: https://gerrit.libreoffice.org/28669 Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-19Resolves: coverity#705366 Mixing enum typesCaolán McNamara
and coverity#705367 Mixing enum types coverity#705371 Mixing enum types coverity#982694 Mixing enum types coverity#1027717 Mixing enum types coverity#1371228 Mixing enum types coverity#1371242 Mixing enum types coverity#1371280 Mixing enum types coverity#1371310 Mixing enum types MapUnit and SfxMapUnit share the same values and are freely cast from one to the other. Now that commit d30a4298bdb5ba53cd1fe659f2b742f218a2e527 Date: Thu Aug 11 15:02:19 2016 +0200 loplugin:unusedenumconstants in package..svtools removed the SfxMapUnit entries that were directly unused, they don't match anymore and casting from one to the other is dangerous. Why there was two of these anyway escapes me, get rid of SfxMapUnit and just use MapUnit universally Change-Id: I4db5dcd04b59be2f85b62b728f96c90afe00c57e Reviewed-on: https://gerrit.libreoffice.org/28234 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-08-12loplugin:unusedenumconstants in package..svtoolsNoel Grandin
Change-Id: I8136b93b9303ebecafd791159e813c335b1bc172 Reviewed-on: https://gerrit.libreoffice.org/28052 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-23Clean up uses of Any::getValue() in svlStephan Bergmann
Change-Id: I2005ce59d6211181ed039eaff60ffd31084e1d40
2016-05-27tdf#34465 remove calls to SfxItemSet::Put(const SfxPoolItem&, sal_uInt16)Noel Grandin
and put an assert in SfxPoolItem::SetWhich() so nothing new creeps in. Change-Id: I6497650fa61ffb2b6941ffff2d471c8f117be1df Reviewed-on: https://gerrit.libreoffice.org/24324 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-18update unusedmethods plugin to deal with constructorsNoel Grandin
and fix the operator< implementations in some of the other plugins too. Change-Id: Ie5631e0cdc8d2a994ad2af2533cdb558a6cfc035 Reviewed-on: https://gerrit.libreoffice.org/25057 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-13loplugin:unusedmethods unused return value in include/svlNoel Grandin
Change-Id: I759fe8769daccea07c2157bfb5912df8ba285534
2016-01-12Mark some classes as finalStephan Bergmann
...namely exactly those for which fa91dd31f39a24329d288d4e1cda28db3a16af0d "5th step to remove tools/rtti.hxx" (which is assumed the culprit in tdf#96067 "Crash on undo row inserts") had replaced exact-type checks of the form v->Type() == TYPE(X) with type-or-subtype-of checks of the form dynamic_cast<X *>(v) != nullptr which is only sound if X is a final class. (Except for one case already handled differently in 791ad3e170bcb5a2daedac77932dc9822f7f1092 "Stick to exact-type check.") Change-Id: Ia822c55c7c0e982d42c6a97589307e577721e324
2015-11-115th step to remove tools/rtti.hxxOliver Specht
tools/rtti.hxx removed completed the interface of some Sdr.* Items and removed pseudo items Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a Reviewed-on: https://gerrit.libreoffice.org/19837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I0f2f81dae91f62639e79799b1bed1b2df1fd79ab
2015-10-23com::sun::star->css in include/sot to include/typelibNoel Grandin
Change-Id: I9cd92b53370a6b6018d2f7c648890f9c014a27de
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-09-29Renamed wrongly prefixed boolean variablesStefan Heinemann
Fixed tdf#94269 Change-Id: I63109cc4e095bad680d7637a065080ea368860ae Reviewed-on: https://gerrit.libreoffice.org/18851 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-08-14remove default value from SfxPoolItem::PutValueNoel Grandin
more useful to make it explicit. Specifically, otherwise my defaultvalue clang plugin would want to remove lots of places that contains #define constants which, while technically the same as the default value, convey semantic information which is quite useful. Change-Id: I918ad5b0e73ba279fa1b1489b62d900339ff71eb
2015-07-20loplugin:unusedmethods svlNoel Grandin
Change-Id: If86cc43fda4d138cf7f678d81fa2b35f68f3c03b Reviewed-on: https://gerrit.libreoffice.org/17162 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-06loplugin:unusedmethods svlNoel Grandin
Change-Id: Ic136cce6abef44291b7236a6d709f0eee391f311 Reviewed-on: https://gerrit.libreoffice.org/16784 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-06-11missing includeStephan Bergmann
Change-Id: I7ac5607f911d3ffc469fe01fcf708899f3e23e57
2015-06-11minor clean upStephan Bergmann
Change-Id: Ib4fb12e187eb4bad7da04425328d1f5cdf851654
2015-06-10Remove unnecessary Bool2AnyStephan Bergmann
(It feels better to use explicitly bool-typed css::uno::makeAny<bool>(x) rather than implicitly typed css::uno::makeAny(x) or css::uno::Any(x), in case x is not already of type bool.) Change-Id: I282b3764bb207aeae9f13cc981e68e8ef2b8ab93
2015-06-08tdf#90804 remove SfxFieldUnit enumAndras Timar
b78d881520f2eb658180e2c90ffee3d30a80f0ae removed unused values from SfxFieldUnit enum. This broke the mapping between SfxFieldUnit and FieldUnit. In fact SfxFieldUnit was redundant. Change-Id: I13c7e7d708c6eeab0de192f4cd110b0a23989a31 Reviewed-on: https://gerrit.libreoffice.org/16150 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2015-04-28expand and remove DECL_PTRHINT macroNoel Grandin
since there are only 2 uses of it Change-Id: I49543168d5d9aeaae66d99663707657d67002fdc Reviewed-on: https://gerrit.libreoffice.org/15531 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-04-01Replace remaining getCppuType et al with cppu::UnoTypeStephan Bergmann
Change-Id: I641a3a1e2cf2c789844940d7231015cb85e3b8bc
2015-03-28Clean up C-style casts from pointers to voidStephan Bergmann
Change-Id: I4ce94a1cbe0567a829de977aaa9fd1cdbff71788