path: root/accessibility/inc/pch/precompiled_acc.hxx
AgeCommit message (Collapse)AuthorFilesLines
2022-07-20move wintypes.hxx from tools to vclChris Sherlock1-6/+7
Change-Id: Ief9949fd4252de9e33df172af07aa7ed097b5520 Reviewed-on: Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <>
2022-07-08[API CHANGE] Drop css::accessibility::XAccessibleStateSetNoel Grandin1-2/+0
which is internal API, unused (as far as I can tell) by external users. This state is purely a bitset (as implemented by utl::AccessibleStateSetHelper) so we can just return it as a 64-bit value. This shaves significant time off the performance profiles of code that loads very complex shapes, because this state is frequently used, and we no longer need to allocate a return value on the heap for every call. Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c Reviewed-on: Reviewed-by: Michael Weghorn <> Tested-by: Jenkins Reviewed-by: Noel Grandin <>
2021-11-29move PopupMenu::IsInExecute out of vcl/include/menu.hxxCaolán McNamara1-1/+2
Change-Id: I01af38dd57a645ea0afeaff033ce6d07dfe09535 Reviewed-on: Tested-by: Caolán McNamara <> Reviewed-by: Caolán McNamara <>
2021-09-28vcl: rename OutDevState to StackChris Sherlock1-2/+8
I have moved the header file to include/vcl/rendercontext as this will eventually be part of the RenderContext split from OutputDevice. State and associated enums have also been moved to the vcl namespace. I have also moved ComplexTextLayoutFlags into the vcl::text namespace. Change-Id: I0abbf560e75b45a272854b267e948c240cd69091 Reviewed-on: Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <>
2021-06-15vcl: outdevmap.hxx -> rendercontext/ImplMapRes.hxxChris Sherlock1-2/+15
Change-Id: I96e191999e43e1a4203d548eeacd386ed883cd8b Reviewed-on: Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <>
2021-04-08update PCHsLuboš Luňák1-1/+3
Change-Id: Ia9d04447f927e270a55500e7f35723a729bc01dd Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2021-03-21update pchesCaolán McNamara1-1/+2
Change-Id: I60e61133c305673bb305e41957f5414820c7c358 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2021-03-09Make sal/config.h the first in pchMike Kaganski1-2/+2
By convention, it should be the first include in C/CXX files; so use of pch should not break that. Change-Id: Ic329c5f39e8f48ad1778724368e262e48972342b Reviewed-on: Tested-by: Jenkins Reviewed-by: Mike Kaganski <>
2021-02-25allow use of FloatWinPopupFlags without including complete floatwin.hxxCaolán McNamara1-2/+1
Change-Id: Ica412938ead6f213668b3aa876bff81d8f512f1a Reviewed-on: Tested-by: Caolán McNamara <> Reviewed-by: Caolán McNamara <>
2021-02-19update pchesCaolán McNamara1-8/+1
Change-Id: Ic4586057346b6de700c1bb6ff4cd759a11bb3e4d Reviewed-on: Tested-by: Caolán McNamara <> Reviewed-by: Caolán McNamara <>
2021-02-08update pchesCaolán McNamara1-1/+2
Change-Id: Icf55ddda055d11b649e7607c2cdd8b6d6ddfefbc Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-12-07move various notebookbar widgets into vclCaolán McNamara1-2/+2
and we can drop their factories then Change-Id: I1e261886dd7700710ba628da4bbeeba65efa1531 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-12-04update pchesCaolán McNamara1-1/+3
Change-Id: I3e22c2000da03f6f3345353846213203993aa865 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-09-02move Edit into toolkit only headersCaolán McNamara1-1/+1
Change-Id: If51bf7143116721e8f16272cf8aff797651d5ed1 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-08-12SvTreeListBox can move into toolkit headers nowCaolán McNamara1-19/+4
Change-Id: I6b3b6ef1530a192f4b6bf87aa9688687063683ea Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-08-08loplugin:unusedmethodsNoel Grandin1-1/+0
Change-Id: I58819edd0965ff52c3fc6c20d84bc5951a79bbe2 Reviewed-on: Tested-by: Jenkins Reviewed-by: Noel Grandin <>
2020-07-12update pchesCaolán McNamara1-1/+12
Change-Id: I75602277a5a26b012a12f2c4f4b7ff5bb663b0b9 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-06-23move ListBox to toolkit-only headersCaolán McNamara1-2/+5
Change-Id: I6266dedb17cd7c3b730fc69804695536fef37cfc Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-04-26update pchesCaolán McNamara1-4/+2
Change-Id: I83a61da7dda6c72552eecd377f1c3744c92a797e Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-04-22uiobject.hxx only needs forward declaresCaolán McNamara1-3/+3
and update pches accordingly Change-Id: I411712532fd85961bffe6678416fcdc1d9c7f53d Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <>
2020-02-21Drop o3tl::optional wrapperStephan Bergmann1-1/+1 that macOS builds are guaranteed to have std::optional since 358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to Xcode 11.3 and macOS 10.14.4". The change is done mostly mechanically with > for i in $(git grep -Fl optional); do > sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \ > -e 's/\<o3tl::optional\>/std::optional/g' \ > -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i" > done > for i in $(git grep -Flw o3tl::nullopt); do > sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i" > done (though that causes some of the resulting #include <optional> to appear at different places relative to other includes than if they had been added manually), plus a few manual modifications: * adapt bin/find-unneeded-includes * adapt desktop/IwyuFilter_desktop.yaml * remove include/o3tl/optional.hxx * quote resulting "<"/">" as "&lt;"/"&gt;" in officecfg/registry/cppheader.xsl * and then solenv/clang-format/reformat-formatted-files Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273 Reviewed-on: Tested-by: Jenkins Reviewed-by: Stephan Bergmann <>
2020-02-01make update_pch also consider files in <module>/src/**/incLuboš Luňák1-1/+2
With --enable-pch=full there's not much difference between a "public" header in <module>/inc and a private one in <module>/src/somewhere/inc . And since the script searches recursively, this apparently helps to find even more headers for lower pch levels. Change-Id: I8483d0aa5b4fea5a59107c20a8aa5f1ef694af0a Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-12-04remove some unnecessary includes and update pchesCaolán McNamara1-17/+18
Change-Id: Ieee11f2ea3c5c18a84316a8b7c39a261afd720ed Reviewed-on: Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann1-1/+1
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <>, and our baseline for iOS and macOS is still Xcode 9.3 according to 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 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 '^$' -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/$' -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: Tested-by: Jenkins Reviewed-by: Stephan Bergmann <>
2019-10-18make bin/update_pch.s always include code in trivial #if'sLuboš Luňák1-4/+14
E.g. #ifdef LIBO_INTERNAL_ONLY is always true for code that builds with our PCHs. Change-Id: I3cf311ea3621b909105754cfea2cb0116b8b67f5 Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-05-12regenerate PCH headersLuboš Luňák1-3/+4
Change-Id: I4894023e42cbfa32916ee3ddfb2cfb5426cfc69f Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-05-09regenerate PCH headers for the 4 new levelsLuboš Luňák1-91/+31
Plus some build fixes triggered by this. Change-Id: I59b21def706598ceffd45ae5b1f0262ec9c1ad50 Reviewed-on: Tested-by: Jenkins Reviewed-by: Luboš Luňák <>
2019-04-28rename animate.hxx to animate/Animation.hxx, more changes followTomaž Vajngerl1-1/+1
This is the first step of refactoring Animation where it is needed to separate AnimationBitmap(s) from the Animation class, which is also responsible for displaying of animation. General idea is to make Graphic work only with AnimationBitmaps, which can be freely be swapped out and in, make copies - all transparantly from the actually displaying them and possibly it will also remove the need to copy the animation objects. Change-Id: If5d55ac1a5b26c3880d4f7602be57742b086f9da Reviewed-on: Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <>
2018-11-21weld SwCondCollPageCaolán McNamara1-4/+4
and put back original SvTreeListBox a11y factory use Change-Id: I4ad8ce29d8fed6ec5d44e9a1d641919a89226b79 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2018-11-07move SvTreeListBox to vclCaolán McNamara1-5/+5
Change-Id: I04a146d3d8a428ac1678827dc883525c40240a44 Reviewed-on: Tested-by: Jenkins Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2018-03-02delete colordata.hxxNoel Grandin1-1/+0
move what we still need into color.hxx Change-Id: Ied7e31eb16468aa334c666b1499a6262f16a6350 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2018-02-22Move include/sfx2/notebookbar/NotebookbarContextControl.hxx to include/vcl/Stephan Bergmann1-1/+1 it is included from other include/vcl/*.hxx files. (And moving it there helps the heuristic in an upcoming improvement of loplugin:dyncastvisibility.) Change-Id: I15e061fbaba8e82235afb5b312f7b38f26eec900 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2017-12-11tdf#63154 removed some solar.h referencesekuiitr1-1/+0
Change-Id: Ib3672f84acc54d5838ab7ccf02d368968aa8b5af Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Meeks <> Tested-by: Michael Meeks <>
2017-09-22Fresh run of bin/update_pch.shMike Kaganski1-27/+66
Change-Id: I69d4157aaf6570cecd51ea59df20556914942e06 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Mike Kaganski <>
2017-08-01move resmgr to unotoolsCaolán McNamara1-1/+1
and the vast majority of translations is to the ui language so default ctor with that arg and now drop OModuleResourceClient Change-Id: I3b85a560ffdfe5f019c2271ac56a5fe4a361522b
2017-07-21migrate to boost::gettextCaolán McNamara1-2/+0
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-07-15emfplus: create a wmf/emf/emf+ primitive based importerArmin Le Grand1-1/+1
First steps to organize an importer that can read/interpret wmf/emf/emf+ and deliver a primitive representation for the content by parsing it. Use the same mechanisms as already applied for Svg, so to reuse abilities to keep original binary data to allow save again and embedding in files and have an implemented replacement bitmap based representation. For this, unify the used helper classes to handle more than just Svg. For 1st try, add test code and static bool switches Change-Id: I6e0a82943541d811a8f8d65a84115569fcd8cee7
2017-06-12Remove VCLExternalSolarLock and IMutex.Arnaud Versini1-1/+0
Next step is to remove OContextEntryGuard. Change-Id: I9460fb67fba6f3bfb3c809b730c33f38d225a64e Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-04-25errinf.hxx moved out of tools and into vcl moduleChris Sherlock1-1/+1
ErrorInfo has a hard depency on VCL, yet is in the tools package. It is more appropriate to have it reside in the VCL module. Change-Id: Ica54a46c3a7f86cf0331ed7245234bea69c05650 Reviewed-on: Reviewed-by: Chris Sherlock <> Tested-by: Chris Sherlock <>
2017-04-20loplugin:unusedmethodsNoel Grandin1-1/+0
Change-Id: Ib7a9b1b0802ca751da258065e89b412b090bb672 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-09-23perf: eliminate SfxSimpleHint and move to SfxHint, tdf#87101 relatedEike Rathke1-1/+0
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: Reviewed-by: Eike Rathke <> Tested-by: Eike Rathke <>
2016-05-27Get rid of unnecessary directory levels $D/inc/$DTor Lillqvist1-16/+16
Change-Id: Ibf313b8948a493043006ebf3a8281487c1f67b48 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Tor Lillqvist <> Tested-by: Tor Lillqvist <>
2016-05-06connectivity: replace boost::remove_reference with std::remove_referenceMichael Stahl1-1/+0
Change-Id: I7c11fcdaf8065fa86d224ad2fab88b0bcb907255
2016-04-13tdf#94306 remove unused boost dependenciesJochen Nitschke1-1/+0
remove <boost/noncopyable.hpp> in pch and remove boost from makefile if it was the only boost entry. Change-Id: Icb945ae59c137571f4f63807601738eea5c3e831 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Stahl <>
2016-03-31tdf#97525 vcl: make DeletionListener internalJochen Nitschke1-1/+0
move include/vcl/impdel.hxx to vcl/inc/ include impdel.hxx in salframe.hxx remove vcl/impdel.hxx includes in pch add missing <list> includes Change-Id: Id146363b2e20ce0238542929c26a83efb1e8c4bd Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2016-02-08vcl: cmdevt.[hc]xx -> commandevent.[hc]xxChris Sherlock1-1/+1
Change-Id: I77b30f28ae5a6fad360d7cada9acfaa9c324408b Reviewed-on: Reviewed-by: Chris Sherlock <> Tested-by: Chris Sherlock <>
2016-02-02boost::hash->std::hashNoel Grandin1-1/+0
Change-Id: If4d1e4071995f07212fad958b0226d5824d168f8 Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2016-01-31OSL_THIS_FUNC is a rip-off of BOOST_CURRENT_FUNCTION so we can use thatCaolán McNamara1-1/+0
as a direct drop in I guess Change-Id: I3add63f1459f4e659019bd6db54da2f5431958ce Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2015-12-11No need for a separate <vcl/graph.h>Tor Lillqvist1-1/+0
Change-Id: I962544005b5d408f7c044a02eefe09b87d8a81fe
2015-11-15Fast PCH generator and optimized PCH filesAshod Nakashian1-48/+307
Ported to Python with improved performance and features. The new script is invoked from the same which calls it for each library in parallel, although it can be invoked directly. The ported script (update_pch) updates all PCH files in ~15 seconds where the old script took ~4500 seconds. In addition, the new script supports 3-tiered headers (system, module, and local) and is very flexible to support other improvement. It has a per-library optimal configuration settings that can be updated using another new scripts ( which finds optimal per-PCH settings. PCH files have been generated using the new scripts which builds significantly faster (2-3x, depending on module and configuration) and the intermediate binaries are noticably smaller (by several GBs). The new script stamps each generated PCH file with the command that generated it to make it trivial for users to update them, and also adds the command to invoke another script (update_pch_bisect) that helps find missing headers or conflicting headers that may break the build after updating the PCH. Finally update_pch has built-in unit-tests for makefile parsing and other core functionality. Change-Id: Ib933b50e50374d7e2e7e3e95ba8799b0cc8a27fa Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>