summaryrefslogtreecommitdiff
path: root/sw/inc/docary.hxx
AgeCommit message (Collapse)Author
2019-11-06make some classes module-privateNoel Grandin
Change-Id: I00ab3a3f6a8bbc85320e7b4fd1aa13af798e7e4c Reviewed-on: https://gerrit.libreoffice.org/82062 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-04loplugin:finalclasses in sw/incNoel Grandin
Change-Id: I084502d8c5607f103ef987b54252ef95341f0bef Reviewed-on: https://gerrit.libreoffice.org/81981 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-24expand SwRangeRedlinePtrNoel Grandin
it is just obfuscating the code Change-Id: I72491d4861d06bd032bb014314c18605967aa3c9 Reviewed-on: https://gerrit.libreoffice.org/72824 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-23use SAL_MAX_INT32 for npos in SwRedlineTableNoel Grandin
sooner or later someone is going to need more than 65535 redlines Change-Id: I34a913a0beaac14b64b58964ace022210a8eac40 Reviewed-on: https://gerrit.libreoffice.org/72773 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-05-23convert nsRedlineType_t to scoped enumNoel Grandin
and move the auto-format embedded flag to a separate field Change-Id: I02155702389178fbfdf874f592d47a29f8759974 Reviewed-on: https://gerrit.libreoffice.org/72771 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-28use unique_ptr for SwFieldTypesNoel Grandin
Change-Id: Iddfc94618e70d3ca8414d526e58746720610c552 Reviewed-on: https://gerrit.libreoffice.org/69861 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-28use unique_ptr for SwTOXTypesNoel Grandin
Change-Id: I66e6ce7f2d5f2b9ba8bbf6046a87f2d208a9a768 Reviewed-on: https://gerrit.libreoffice.org/69860 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-10-25sw: fix some IWYU warningsMiklos Vajna
Change-Id: Ic7e6aa31e5c6d210101da7223a294092ab5b7481 Reviewed-on: https://gerrit.libreoffice.org/62334 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-09-19sw: SwRedlineTable::DeleteAndDestroy() is surprisingly dangerousMichael Stahl
At least with the randomised test, it can happen that deleting one redline will recursively delete other redlines that are located in the hidden content section of the redline, or at least try to and crash because those have already been deleted before. The callers will either delete 1 redline, or delete all of them via DeleteAndDestroyAll(), so put a safer loop into DeleteAndDestroyAll() and have DeleteAndDestroy() only delete 1. Change-Id: I9c4225544a43a4a03f4eb7b6f56e7fe848c8ca54
2018-07-27sw: 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.; and by removing explicitly user- provided functions that do the same as their implicitly-defined counterparts, but may prevent implicitly declared copy functions from being defined as non- deleted in the future. (Even if such a user-provided function was declared non-inline in an include file, the apparently-used implicitly-defined copy functions are already include, so why bother with non-inline functions.) Change-Id: Ib4a48431398d40858d9e2ee1fd685b1f223a5423 Reviewed-on: https://gerrit.libreoffice.org/58168 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-27-Werror=deprecated-copy (GCC trunk towards GCC 9)Stephan Bergmann
SwVectorModifyBase and its DestructorPolicy look like they beg for clean up, but it's not immediately clear to me what the best solution would be, so just mark the dangerous status quo with a TODO comment for now. Change-Id: I24164553baefb124969d4ac37247dabdaead0cd5 Reviewed-on: https://gerrit.libreoffice.org/58169 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-25sw: fix remaining IWYU warnings in inc/*.hxxMiklos Vajna
Also check for not needed forward declarations. Change-Id: I92759f3f40d9458fd192665b39b87a78d8b97e5a Reviewed-on: https://gerrit.libreoffice.org/53418 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-02-08Fix some IWYU warningsMiklos Vajna
Change-Id: Ie1639cc4017d696ea3fd9ffb96f1559aa3ac6397 Reviewed-on: https://gerrit.libreoffice.org/49340 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-30loplugin:unused-returns in swNoel Grandin
Change-Id: I753fcdd35d461880a8d8160213cabd465cfde967 Reviewed-on: https://gerrit.libreoffice.org/48189 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-13Fix typosAndrea Gelmini
Change-Id: Ia544298334364ece3b3963a4adc00c5e01189b91 Reviewed-on: https://gerrit.libreoffice.org/44654 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Page <aptitude@btconnect.com>
2017-10-23loplugin:includeform: swStephan Bergmann
Change-Id: Ifc3c4c31a31ee7189eeab6f1af30b94d64f2f92a
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-06-28-Werror=ignored-qualifiers (GCC 8)Stephan Bergmann
Change-Id: Icc576de378c27764aa50457f8d548564eb4a3aec
2017-06-01ofz: InsertWithValidRanges didn't report that it deleted its argument anymoreCaolán McNamara
since... commit ddd84d08c9bb6e00fbd9a73bd52a28688a8c1ba7 Date: Fri Jul 20 17:16:03 2012 +0200 Convert SV_DECL_PTRARR_SORT_DEL(_SwRedlineTbl) to o3tl::sorted_vector Change-Id: Ie7edc6b32b373619d4c0ac154da93650743049cf otherwise that p = nullptr line at the end doesn't make sense Change-Id: Ibd5230beb87240cba4b3896dfa2217e25a4db697 Reviewed-on: https://gerrit.libreoffice.org/37760 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-05-06coverity#1405890 Unchecked dynamic_castCaolán McNamara
Change-Id: Ib17e612d8d9b9e9fb712f3fdb4dba24d583a6dba
2017-05-03tdf#88555 sw: reduce usage of dynamic_cast in SwFormatsModifyBase::ContainsMichael Stahl
This is a bad idea as the function is sometimes used to check if a SwFormat has been deleted, which can happen in Undo. Replace with ContainsFormat() and IsAlive(), and don't require a non-const SwFormat parameter so that the dynamic_cast using one isn't called all the time but only called once where it's safe. Change-Id: Ib74b79629f5c8ed432a912ada5974a6d816e7d31
2017-05-03tdf#88555 sw: remove dynamic_cast from SwFrameFormats::ContainsMichael Stahl
This is a bad idea as the function is sometimes used to check if a SwFrameFormat has been deleted, which can happen in Undo, and for SwCallMouseEvent before commit 32403675bf9d2d0380956f9a82da71593edbb53c Replace with ContainsFormat() and IsAlive(), and don't require a non-const SwFrameFormat parameter. Change-Id: I87ede94dfbfe7f6985f13faab4c156015c3a5fc0
2017-05-02Revert "SwTOXTypes can just be a std::vector typedef"Noel Grandin
This reverts commit f894da4e687302702d14218138f96ed1c4983124. the default behaviour of SwVectorModifyBase is to free the elements in it's destructor Change-Id: I7a34fe5cc3cb8ffbcbb92068f4bb816dfd9acd43 Reviewed-on: https://gerrit.libreoffice.org/37168 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-02Revert "SwFieldTypes can just be a std::vector typedef"Caolán McNamara
This reverts commit 5eaad8eb1d46b6f85605c5ac210e8b1397b18b22. cause it now leaks as the ~SwVectorModifyBase base deletes the entries Change-Id: I02374f4b439b9cf3e8f331aa9c6892b4418f37f0
2017-05-02SwFieldTypes can just be a std::vector typedefNoel Grandin
Change-Id: I10b43a71c8cedc6efbb30056d3da7fd431f04791 Reviewed-on: https://gerrit.libreoffice.org/37121 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-01SwTOXTypes can just be a std::vector typedefNoel Grandin
Change-Id: I0b20f4dfdbc692e9122f64a11b65bd4234e00ee7 Reviewed-on: https://gerrit.libreoffice.org/37120 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-04-13Removed duplicated includesAndrea Gelmini
No automatic tools. Manual checked and tested. Change-Id: Ife260fa4e1d786cf81f2917a901664cc54943754 Reviewed-on: https://gerrit.libreoffice.org/36371 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-17sw lok: Use unique redline identifier, instead of array indicesPranav Kant
Use a static integer counter as identifier to each redline Change few unit-tets that was testing redlines by using a hardcoded array index. Instead use these unique redline identifiers now. Change-Id: I63aec3fc8ab10d0dad0c936600d16e96999a2bcd Reviewed-on: https://gerrit.libreoffice.org/35276 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-03-16Fix typosAndrea Gelmini
Change-Id: I1488e2147fa0cd4a821eb5bfe172a58a4e396ace Reviewed-on: https://gerrit.libreoffice.org/35224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2017-03-14sw lok: Notify when redline position is changed + unit testPranav Kant
Make RedlineNotification function a static member of SwRedlineTable class Change-Id: Ifbd6014198838b1106e873c9563d215e95b3572d Reviewed-on: https://gerrit.libreoffice.org/35177 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@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-03-03Remove uses of SAL_CONSTEXPR in LIBO_INTERNAL_ONLYStephan Bergmann
Change-Id: I9a7dc7c83302b3361f056fcf6636bbba7672f15f Reviewed-on: https://gerrit.libreoffice.org/34840 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-02Complete the transition of SwRedlineTable::size_typeStephan Bergmann
...from 9ca8a63fff65acf2ea13b391495ad232f4636548 "Use consistent integer types in the SwRedlineTable interface". This all started as an attempt to reduce the number of places a to-be-committed improved loplugin:loopvartoosmall complains about. Lets see where it ends... SwRedlineTable::size_type is now the size_type of the underlying std::vector, no longer sal_uInt16 from ancient times. I tried hard to find all places that are affected by this change, changing types of affected variables and non-static data members as needed. Some notes: * The original code used USHRT_MAX as a "not found" value. I replaced that with a new SwRedlineTable::npos, of type SwRedlineTable::size_type but still for now of value USHRT_MAX. This should eventually be changed to something more sensible, like std::numeric_limits<SwRedlineTable::size_type>::max() (which is best done after we have constexpr support in all toolchains, so that npos can be constexpr). It is important that the value of npos is towards positive infinity, as many places in the code use for (i = f(); // may return npos i < table.size(); ++i) table[i] ... * There are some borders where values of SwRedlineTable::size_type are converted into different types, for various reasons. But all of those other types should be large enough for practical purposes (at least 32 bits wide): MakrEntry::m_nIdx: long int SvxRedlinTable::InsertEntry: sal_uIntPtr nPos SwRangeRedline: size_t SwRedlineItr: sal_Int32 SwVbaRevision::GetPosition: sal_Int32 SwXRedlines: sal_Int32 * .uno:TrackedChangeIndex= transports textual representations of such values. libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx treats them purely as strings, while SwTiledRenderingTest converts them to int. * TODO: The one place I'm unsure about is SfxUInt16Items with IDs FN_REDLINE_ACCEPT_DIRECT, FN_REDLINE_REJECT_DIRECT, and FN_REDLINE_NEXT_CHANGE in sw/source/uibase/uiview/view2.cxx. For now, I kept those as SfxUInt16Items and take care to "map" USHRT_MAX to npos when reading from those items. But I have no idea where instances of those items would actually be created, and what it would mean to change those items' types? Change-Id: Ib7a14dc67e2b970766966e43f4732abd9f045ff8 Reviewed-on: https://gerrit.libreoffice.org/34775 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-01Use consistent integer types in the SwRedlineTable interfaceStephan Bergmann
ddd84d08c9bb6e00fbd9a73bd52a28688a8c1ba7 "Convert SV_DECL_PTRARR_SORT_DEL(_SwRedlineTbl) to o3tl::sorted_vector" had introduced size and operator[] operating on underlying vector's size_type, but had left the other functions at sal_uInt16. Keep everything at sal_uInt16 for now until fixing everything to use that underlying vector size_type instead. Change-Id: I92570dcb8ab5fa88b52e2b24899b833829693a88
2016-11-18includes should be at the top of the fileNoel Grandin
not randomly scattered through the code found with something like: git ls-files *.cpp | xargs grep -Pzl "(?s){.*#include" Change-Id: I9c242fa4ef99e8677f2800d7ec9f16d16e488351 Reviewed-on: https://gerrit.libreoffice.org/30952 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-24sw: Avoid inheritance from std::vectorTakeshi Abe
Change-Id: I09ae81fa3fbd89060dd1a993952d9bb67ddb101e Reviewed-on: https://gerrit.libreoffice.org/30125 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-10-20loplugin:expandablemethodds in sw(part1)Noel Grandin
Change-Id: Ic3a558e6b646b6b6bc4cb7e09a00695553023534 Reviewed-on: https://gerrit.libreoffice.org/30073 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-22loplugin:unusedmethods in sc..vclNoel Grandin
Change-Id: I70fcf95dfd3db05b4fd6e5cee37866f673d3afa8 Reviewed-on: https://gerrit.libreoffice.org/29183 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-08-29loplugin:overrideStephan Bergmann
Change-Id: I07167541ae506c7ac0a4fbcdbf14fbfaa163a200
2016-08-29Don't inheritate from boost::multi_indexJan-Marek Glogowski
Drops all using statements and the namespace aliases. This is more in the spirit of tdf#75757. Change-Id: Id7c81baea0e2d1af151b7b9bdce8d9fe5f7a2089
2016-08-29Convert SwFrameFormats to boost::multi_indexJan-Marek Glogowski
This is almost the same situation as SwPageDescs. What makes this more complicated is the fact, that actually duplicated draw objects are allowed, in regard to the key values "type" and "name". And actually for some types, duplicate names are not allowed, e.g. SwDoc::FindFlyByName( const OUString& rName, sal_Int8 nNdTyp ) expects a single result! Change-Id: I6e0ea1099c1c1e6cfe90926170e27179722e88b8
2016-02-29loplugin:unuseddefaultparam in sw (part3)Noel Grandin
Change-Id: Ibff7ac9718929349ee7daa3febb0f8fe4a9fa4db
2016-02-08loplugin:unusedmethodsNoel Grandin
using an idea from dtardon: <dtardon> noelgrandin, hi. could you try to run the unusedmethods clang plugin with "make build-nocheck"? that would catch functions that are only used in tests. e.g., i just removed the whole o3tl::range class, which has not been used in many years, but htere was a test for it... <noelgrandin> dtardon, interesting idea! Sure, I can do that. Change-Id: I5653953a426a2186a1e43017212d87ffce520387 Reviewed-on: https://gerrit.libreoffice.org/22041 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-25bin/rename-sw-abbreviations.shlibreoffice-5-1-branch-pointRobinson Tryon
This commit renames the most annoying abbreviations in Writer (and partially in the shared code too). Change-Id: I77e5134f42f25e3786afa36b7a505c7e3237a9e8
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I01e11fa956a249974e77dce9deebe79311f098d0
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12loplugin:mergeclassesNoel Grandin
Change-Id: Ia4ae4f17fba9775fc53618ab1662c10e37ee4be3
2015-06-18Added test for del of table redlines rhbz#1198848Varun
Change-Id: I76f236adee86ffb75496bc36f0d6b0ac7d646afd Reviewed-on: https://gerrit.libreoffice.org/16347 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>