summaryrefslogtreecommitdiff
path: root/include/editeng/unoedprx.hxx
AgeCommit message (Collapse)Author
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS and macOS is still Xcode 9.3 according to README.md). And mechanically rewrite all code to use o3tl::optional instead of boost::optional. One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus -Werror=maybe-uninitialized" should no longer be necessary (and whose check happened to no longer trigger for GCC 10 trunk, even though that compiler would still emit bogus -Wmaybe-uninitialized for uses of boost::optional under --enable-optimized, which made me ponder whether this switch from boost::optional to std::optional would be a useful thing to do; I keep that configure.ac check for now, though, and will only remove it in a follow up commit). Another longer-term benefit is that the code is now already in good shape for an eventual switch to std::optional (a switch we would have done anyway once we no longer need to support Xcode < 10). Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses boost::property_tree::ptree::get_child_optional returning boost::optional, so let it keep using boost::optional for now. After a number of preceding commits have paved the way for this change, this commit is completely mechanical, done with > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g' (before committing include/o3tl/optional.hxx, and relying on some GNU features). It excludes some files where mention of boost::optional et al should apparently not be changed (and the sub-repo directory stubs). It turned out that all uses of boost::none across the code base were in combination with boost::optional, so had all to be rewritten as o3tl::nullopt. Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b Reviewed-on: https://gerrit.libreoffice.org/84128 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-29loplugin:finalclasses in editengNoel Grandin
Change-Id: Ie9da2c57fa9cd355dc5826cf5afd1c5b84cd22d7 Reviewed-on: https://gerrit.libreoffice.org/81648 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-21loplugin:virtualdead unused param in EditEngine::FieldClickedNoel Grandin
Change-Id: Iffe075960308d5058cb7535e9216caa37aabe0c5 Reviewed-on: https://gerrit.libreoffice.org/81232 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-27loplugin:methodcycles more graph theory for the winNoel Grandin
implemeent a reduction approach, which is good at finding virtual methods that only themselves or their virtual partners. The accessibility GetVisArea stuff is dead since commit 891e41fac81fbd8d5cdb277b26639abfd25a7143 Date: Wed Apr 4 11:23:22 2018 +0200 dead code in AccessibleTextHelper_Impl::UpdateVisibleChildren Change-Id: I78d9d8bca585ecec8394f2c3fe2baa93db0e58f5 Reviewed-on: https://gerrit.libreoffice.org/60912 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-10store Color using boost::optional in EditCharAttribFieldNoel Grandin
Change-Id: If4af5991be51cdb035c0bc0fb7668844df703073 Reviewed-on: https://gerrit.libreoffice.org/54022 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-12make SvxEditSource::Clone return std::unique_ptrNoel Grandin
Change-Id: If0d93024a642cc80a2a84d0c15525af1c0596546 Reviewed-on: https://gerrit.libreoffice.org/52715 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-28SvxAccessibleTextIndex::mnEEIndex need not be bounded sal_uInt16Stephan Bergmann
It was originally introduced with type USHORT (a909acb7009acadffa53e74ea05ddb88803490f1 "#98735# Refactored unoedit/unoedacc.cxx"), then shortly after changed to sal_Int32 (a0089a21f047ce8b5378b45f1535269e3600d681 "#98735# Fixed various off-by-one mistakes"), presumably because it needed to hold values slightly larger than USHRT_MAX. But at least since the surrounding code has been changed to use sal_Int32 throughout (e.g., structs like EPosition and ESeleciton in include/editeng/editdata.hxx with 3cbfcee36dd16e451d76c561eaaaee0ff29b01a5 "xub_StrLen and tools/string.hxx final straw"), there appears to be no more reason to effectively restrict mnEEIndex to sal_uInt16 values. Change-Id: I78f02be1f2736a626a836ac992230a74cc669fd3 Reviewed-on: https://gerrit.libreoffice.org/48766 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-03-31tdf#82580 tools: rename Rectangle to tools::RectangleMiklos Vajna
Mostly generated using make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle" Except some modules have their own foo::tools namespace, so there have to use ::tools::Rectangle. This commit just moves the class from the global namespace, it does not update pre/postwin.h yet. Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2 Reviewed-on: https://gerrit.libreoffice.org/35923 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-02-16convert EditEngineAttribs to scoped enumNoel Grandin
and drop unused EditEngineAttribs_HardAndPara enumerator Change-Id: Ic1fcddc6adeb5317f96bcef9b6f715b26d901a8d
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-25new loplugin: countusersofdefaultparamsNoel Grandin
Change-Id: I79e2c690f3e664c14af12cf763dd5a8ac20d6b04 Reviewed-on: https://gerrit.libreoffice.org/28353 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-05loplugin:constantparam in editengNoel Grandin
Change-Id: If8342112e0657014266133954269b9396085a27d Reviewed-on: https://gerrit.libreoffice.org/23807 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-18loplugin:constantfunction in editengNoel Grandin
Change-Id: I8f8414b4867d3248e6d836ed8037de4da41b97f1 Reviewed-on: https://gerrit.libreoffice.org/23331 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
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-02-07loplugin:deletedspecialStephan Bergmann
Change-Id: Ia5cdc216ef4e5ebb11709fa1079e70c9ac2ff360
2015-01-26followup code removal after changing virtual methods to non-virtualNoel Grandin
This cleanups up indentation and removes dead classes. This is a followup patch to commit 272b1dd55797aacf511fb4342b0054e3697243f6 "new loplugin: change virtual methods to non-virtual" Change-Id: I1c2139589cf8cb23bb9808defe22c51039d38de1
2015-01-26new loplugin: change virtual methods to non-virtualNoel Grandin
Where we can prove that the virtual method is never overriden. In the case of pure-virtual methods, we remove the method entirely. Sometimes this leads to entire methods and fields being eliminated. Change-Id: I138ef81c95f115dbd8c023a83cfc7e9d5d6d14ae
2014-09-24Replace some std::auto_ptr function parameters with std::unique_ptrStephan Bergmann
Change-Id: Ic66d325fd9559c6dde9556c26e5b2a7e60376c49
2014-07-23convert SfxItemState constants to a proper enumNoel Grandin
and while we're at it - use the enum type all over the place instead of passing around sal_uInt16 - don't use bitwise logic on enum values - use enum values instead of numeric constants Change-Id: I7f24cb4d242e1c00703e7bbcf1a00c18ef1e9fd4
2014-07-17Renamed brdcst.[hc]xx to SfxBroadcaster.[hc]xxTobias Lippert
- Remove includes from files where they are not needed. - Update pch files Change-Id: I0188e3934ef429008c1ef495ab1d5b27f38664d5 Reviewed-on: https://gerrit.libreoffice.org/10342 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-06-09loplugin: inlinesimplememberfunctionsNoel Grandin
Change-Id: I42119f656ca528286fb25d2d36c0af54b7d04a6b
2014-04-04cleanup up the EditEngine::GetAttribs callNoel Grandin
It was using a bool parameter, but passing various constants through it. Make the constants into an enum, and use the enum in the GetAttribs call. Change-Id: I3010397dfe83b24db3946b9dea2fb37f4393abdd
2014-04-01Explicitly mark overriding destructors as "virtual"Stephan Bergmann
It appears that the C++ standard allows overriding destructors to be marked "override," but at least some MSVC versions complain about it, so at least make sure such destructors are explicitly marked "virtual." Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-03-26First batch of adding SAL_OVERRRIDE to overriding function declarationsStephan Bergmann
...mostly done with a rewriting Clang plugin, with just some manual tweaking necessary to fix poor macro usage. Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-03editeng: sal_Bool->boolNoel Grandin
Change-Id: Icfda5e8e774b9b5a6c3d99b636e4ce772b93139d
2014-03-03editeng: sal_Bool->boolNoel Grandin
Change-Id: I4fc276e320294d57eb667b6db8e5eff078bc28b3
2014-03-03editeng: sal_Bool->boolNoel Grandin
this had to be done in conjunction with changing include/svx/unoshtxt.hxx because there are two virtual methods "bool IsValid" in two different base classes and some subclasses are overriding both base-class methods at once. Change-Id: Ib43fc5000b443057caaa513b4efeaa6fd16e4260
2014-02-27editeng: sal_Bool->boolNoel Grandin
Change-Id: Ic59e48341f69b8c6e6fe77b05eeebac56a2c53e7
2014-02-13coverity#707769 Uninitialized pointer fieldCaolán McNamara
Change-Id: I449173ea1c4418cc2cc978862fe465e33e7b4338
2014-02-12sal_Bool->boolNoel Grandin
Change-Id: Ie477a46fae2b8c4deb55435f3769ba74037dd259
2014-02-03xub_StrLen and tools/string.hxx final strawNorbert Thiebaud
Thre is still some 0xffff limit left and possibly some less than gracefully handled overflow/error cases Change-Id: I00957ee3a30b02f73918ea49d7353056263dc638 Reviewed-on: https://gerrit.libreoffice.org/7787 Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2013-11-26Integrate branch of IAccessible2Steve Yin
WaE: Reorder initializations to prevent compiler warnings. (cherry picked from commit c05431aa92fa2c7c7258418a6ecd651b5c26d982) WaE: unname unused variable to prevent compiler warnings. (cherry picked from commit 2259256a390c4b6f83cfb5dbe4a65df5032aee47) Conflicts: editeng/source/accessibility/AccessibleEditableTextPara.cxx ad61537527a74670af266feb9e4d26d2d654daf7 66044902b8d94fc15d4c30270e6cc419fb7d3565 Change-Id: I3ec9798f2c7d854824722c0cf44b62128b4f4cb4
2013-11-09fdo#65108 inter-module includes <>Norbert Thiebaud
Change-Id: I82b0309c4430a8393e17b9a30a6e898f82c0f25c
2013-10-23fixincludeguards.sh: include/editengThomas Arnhold
Change-Id: I5a172bb12b62940b9994b2740e054b43145b08f0
2013-09-04String to OUStringThomas Arnhold
Change-Id: I8c51db8fce8c5eea1ac7bd5751aa7f3212ef1166 Reviewed-on: https://gerrit.libreoffice.org/5790 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2013-05-10resolved fdo#35756 import more than 64k HTML table cellsEike Rathke
Enhanced EditEngine to be able to hold more than 64k paragraphs. Used also in RTF import Calc and Writer, so that could benefit as well. * changed all EditEngine,Outliner,... related paragraph index/count variables from sal_uInt16 to sal_Int32 * sal_Int32 instead of sal_uInt32 to match accessibility API * matched some Outliner methods' paragraph parameters from sal_uLong to sal_Int32 * containers capable to hold size_t nevertheless are limited to a maximum of sal_Int32 * changed definition of EE_PARA_NOT_FOUND and EE_PARA_ALL to SAL_MAX_INT32 + added EE_PARA_MAX_COUNT and EE_TEXTPOS_MAX_COUNT to initialize ESelection with what previously were hard coded 0xFFFF all over the place + for similar reason added EE_TEXTPOS_ALL corresponding to EE_PARA_ALL to initialize an ESelection spanning all available text like aSel(0,0,EE_PARA_ALL,EE_TEXTPOS_ALL) Change-Id: I62d1b9c399cd709a4f93dbac31b219a61c46ec00 Reviewed-on: https://gerrit.libreoffice.org/3838 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2013-04-26XubString->OUStringCaolán McNamara
Change-Id: I32c867e43bfb50a57261414107caae60f616d703
2013-04-23execute move of global headersBjoern Michaelsen
see https://gerrit.libreoffice.org/#/c/3367/ and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a