summaryrefslogtreecommitdiff
path: root/sw/inc/ndole.hxx
AgeCommit message (Collapse)Author
2023-04-14add a route to get writer Floating Frame links under 'manage links'Caolán McNamara
Change-Id: If90ff71d6a96342574799312f764badaf97980eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150349 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-10-25tdf#149189 detect and handle graphic change on Sw OLEArmin Le Grand (allotropia)
If in any way a used SW OLE Chart gets changed (example in task uses a script and UNO API), detect this and react accordingly. Use getGraphicVersion() from EmbeddedObjectRef to decide when to reset bufferd graphic data. It gets incremented at all occasions where the graphic changes due to being used for a similar case already. An alternative would be to extend SwOLEListener_Impl with a XModifyListener as it is done in EmbedEventListener_Impl, that would require all the (add|remove)ModifyListener calls and/ managing these, plus having a 2nd listener to these when EmbeddedObjectRef already provides that. Tried that this works also if an alternative would be needed. Change-Id: Ic27088b0241aa4b5ecfc3c2b6e64994d720b3546 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141803 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-08-13pass SwNode instead of SwNodeIndex to SwNode constructorsNoel Grandin
part of the process of hiding the internals of SwPosition Change-Id: I0b2dd3e24c82c1551a7275ffc78991823354858a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138224 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-04clang-tidy modernize-pass-by-value in swNoel Grandin
Change-Id: Ie5c250c64f95e649d33d3f3da7b54e81a4b81d0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137781 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-25sw: allow viewing OLE objects in protected sectionsMiklos Vajna
The problem was that we don't allow even opening embedded objects in protected sections, which means the content of multi-page embedded objects can't even be viewed in protected sections, which probably goes too far. Fix this relaxing the condition in SwEditWin::MouseButtonDown() to allow launching the OLE object on double-click, and then make sure that the native data is not updated in SfxInPlaceClient_Impl::saveObject() and the replacement image is not updated in svt::EmbedEventListener_Impl::stateChanged(). This is complicated by only the Writer layout knowing if a given OLE object is anchored in a protected frame, so pass down a callback to sfx2/ and svtools/ to check if the OLE object is protected. Not copying the protected bit has the benefit of behaving correctly if the section turns into non-protected: copying would not work properly, as SfxInPlaceClient is created on demand, so not re-created when the protectedness of the section is changed. Change-Id: Ib3a8f2092d27dc1ebd3ef355c95a4a473988b163 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125815 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-02-05cid#1472781 silence Uncaught exceptionCaolán McNamara
Change-Id: I898e6f2778b0db2850e051b0603ec9305f875477 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110460 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-09~SwModify: do not silently tolerate clients registered past deathBjoern Michaelsen
- Make SwFormat/SwContentNode explicitly resetting the page desc. before death instead of SwFormatPageDesc trying to do that on the dying hint: * the dying hints is send _after_ the SwFormat/SwContentNode dtor are completed, so the RTTI magic did not work anyway * simply resetting the attribute in a final dtor and make SwFormatPageDesc just check to never get a dying hint (because it should have been destructed by reset) is a lot less errorprone. Change-Id: I231f1729729491ba7544e5ba93d81192b212e2ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108648 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2020-11-24tdf#42949 Fix new IWYU warnings in directory swGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I4bb84c3f401aba8a3dede9cec3a7f2187a2ba02a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106473 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-04MakeCopy family never called with a null SwDoc* argCaolán McNamara
Change-Id: I4ba4569a529425a5e92fb3f82990e34ae4db3228 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103877 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2019-12-05make some classes module privateNoel Grandin
Mark some stuff SAL_DLLPUBLIC_RTTI in include/vcl/metaact.hxx in order to make ASAN happy. Change-Id: I97febe0968bf58b9cbe60ce647f0ada25e6f4bb0 Reviewed-on: https://gerrit.libreoffice.org/84202 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-27crashtesting: export of fdo50613-3.odt to docx crashesCaolán McNamara
there are multiple objects in the doc and the ole cache hovers at the max size at which it wants to purge excess object. On save to docx, object a's chart model is fetched in order to save it, this triggers activating that object a, so object b is purged from the cache. storeOwn is called on b to save it to the document persist storage. During save of object b to document persist, ChartView::getExplicitValuesForAxis is called, which calls impl_updateView which eventually calls lcl_setDefaultWritingMode. *if* IsCTLFontEnabled is on, then chart digs through its parents objects looking for a chart in order to see what the writing direction is at the insertion point of the chart, or failing that for the page its on) (this also seems dubious as it might be any chart, not the current chart) To see if the object is a chart it calls getPropertyValue("CLSID") which brings the object into the ole cache, another object is purged from the cache, and the object purged is object b (which is in progress of getting purged already) object b is now purged in the inner case, so when control is returned to the outer storeOwn the object properties have been deleted and all is lost disallow a purge within a purge Change-Id: Ia21e794759aa82b6bcf39c638be8b47ac58a9bb3 Reviewed-on: https://gerrit.libreoffice.org/83808 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-13sw doc model xml dump: improve OLE node handlingMiklos Vajna
So it's possible to see if we have a dummy, common or OLE embedding. Change-Id: I8c241211a149ca5261fdf8171cd2814fced8de79 Reviewed-on: https://gerrit.libreoffice.org/77403 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2018-09-19sw: add a real create-no-frames flag to MakeCopy/MakeTextNodeMichael Stahl
SwNodes::CopyNodes calling MakeCopy() and then immediately DelFrames() considered silly. Apparently SwOLENode/SwGrfNode don't actually create frames anyway since that is done via their SwFrameFormats, so they just ignore the parameter. Change-Id: I8a8f52da1d25bb5689345e956a33aebd727e8fc7
2018-09-19sw_redlinehide_2: fix ordering of SplitNode usage of ContentIdxStoreMichael Stahl
The problem is that now the ctor of SwTextFrame will check the redline positions, but the call to MakeFramesForAdjacentContentNode() happens before the call to ContentIdxStore::Restore() that updates the SwPositions of the redlines, hence they point to the wrong node. Try to fix this by not calling Restore directly but pass in a closure to SwTextNode::SplitContentNode() so that it can call ContentIdxStore::Restore() before frames are created and redline positions are checked. Also remove the useless SwContentNode::SplitContentNode() - only the SwTextNode override actually did anything. Change-Id: I2088fd124d04cf354f4f0f691a50ff5217d778d7
2018-07-13Refresh linked OLE representation when OLE updatedArmin Le Grand
Change-Id: If949778779f1a91901412938d0b0298e1d7cfc3e Reviewed-on: https://gerrit.libreoffice.org/57357 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2018-06-29loplugin:useuniqueptr in SwOLEObjNoel Grandin
Change-Id: I36b14c31bfdf66b158dd2cf8f6a7a125d52cddb5 Reviewed-on: https://gerrit.libreoffice.org/56627 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-01-02loplugin:passstuffbyref improved return in swNoel Grandin
Change-Id: I4484ac461761e4c46364b4f473c7e62f8ec72103 Reviewed-on: https://gerrit.libreoffice.org/47243 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-23loplugin:includeform: swStephan Bergmann
Change-Id: Ifc3c4c31a31ee7189eeab6f1af30b94d64f2f92a
2017-10-17use rtl::Reference in SwOLEObjNoel Grandin
instead of manual ref-counting Change-Id: I26e55ec7803e60f090f093b5584faec74ebbb8bb Reviewed-on: https://gerrit.libreoffice.org/43419 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-22sw: prefix members of SwOLEObjMiklos Vajna
Change-Id: I55f2b9c1c518a569dc36d968450b94efeffa4c5f Reviewed-on: https://gerrit.libreoffice.org/41410 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-08-15sw: prefix members of SwOLENodeMiklos Vajna
Change-Id: I2b79ae40afad8c392f219f1798ce44b41649e5b9 Reviewed-on: https://gerrit.libreoffice.org/41163 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-08-04loplugin:constparams in sw part4Noel Grandin
Change-Id: Ic42b2691869b61ba906222db893e284d8b9c39c1 Reviewed-on: https://gerrit.libreoffice.org/40767 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-06add COVERITY_NOEXCEPT_FALSECaolán McNamara
to markup dtors that coverity warns might throw exceptions which won't throw in practice, or where std::terminate is an acceptable response if they do Change-Id: I32b94814e8245372e1d1dc36be0d81e3564042f4 Reviewed-on: https://gerrit.libreoffice.org/38318 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-11-29convert ND constants to o3tl::typed_flagsNoel Grandin
Change-Id: I5fe3df5515017ec24db1184e8aca823714fcfdb3 Reviewed-on: https://gerrit.libreoffice.org/31343 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-04loplugin:countusersofdefaultparams in swNoel Grandin
Change-Id: I65beb17816641cff6a07379b7ba234afe26806b3 Reviewed-on: https://gerrit.libreoffice.org/29488 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-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-07-27improve passstuffbyref return analysisNoel Grandin
Change-Id: I4258bcc97273d8bb7a8c4879fac02a427f76e18c Reviewed-on: https://gerrit.libreoffice.org/27317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-07sw: tdf#50613 fix async chart load handlingArmin Le Grand
Especially if synchronous loading is requested, an async worker is on the way and we would need to 'wait' for the data. Change-Id: I20f9938738c1b46bda6b9a7f5a761e82153aed3b
2016-07-07tdf#50613 add support to load charts asynchronouslyArmin Le Grand
Generating primitives for chart visualisation can be moved to a paralell executed task that loads the chart, thus speeding up initial visualization. This is not possible for e.g. PDF or print targets, only for edit visualization. On fallback, the replacement images of the charts are used which are metafiles and have less quality as primitives, but load quicker. Change-Id: I68caa9e1bec50832bce535b5f54633d53cdef037
2016-07-07tdf#50613 buffer OLE primitives for chartsArmin Le Grand
If OLE is a chart, buffer the primitives used for presentation as info at the SwOLEObj, after getting them the first time using the ChartHelper. Change-Id: I6d7486185f6eac450de9328d37ea800f424f351b
2016-07-07loplugin:passstuffbyref also for {css::uno,rtl}::ReferenceStephan Bergmann
Change-Id: I7e7cdfa5efaf18bb47d40947d4e1d91a2c9b5a57
2016-04-14loplugin:passstuffbyref in swNoel Grandin
Change-Id: I124bdd4f28c7d7508e77b902dfa23c398454bf38
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I01e11fa956a249974e77dce9deebe79311f098d0
2015-11-06com::sun::star->css in sw/incNoel Grandin
Change-Id: I6ffdb1deaa32156c65f997a1a1056928b7cd863d Reviewed-on: https://gerrit.libreoffice.org/19803 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30sw: prefix members of SwNodeMiklos Vajna
Change-Id: I3ce33c8ea0c09948785621785d199ece6eda128a
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-05-20bin/rename-sw-abbreviations.shlibreoffice-5-0-branch-pointChristian Lohmaier
renames the most annoying abbreviations in Writer (and partially in the shared code too). Change-Id: I9a62759138126c1537cc5c985ba05cf54d6132d9
2015-02-07loplugin:deletedspecialStephan Bergmann
Change-Id: Ia2b137e0167966a3d0b60f3c642a106834da8f1c
2014-11-10loplugin: cstylecastNoel Grandin
Change-Id: If7ada4cba0b1098bba304f1ec9b860ec7df75e7a
2014-11-07Remove unused Graphic member of SwOLENodeZolnai Tamás
Change-Id: Iaff7e86a8e11e9befc6feacdafd3a78a1971bbcd
2014-04-30sw: sal_Bool->boolNoel Grandin
Change-Id: I324a0ffde2ddcca105451c19e7aadcfad15211d8
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-27Second batch of adding SAL_OVERRIDE 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: Ie656f9d653fc716f72ac175925272696d509038f
2014-03-16sal_Bool to boolMatteo Casalin
Change-Id: I01986d22cfc6544cbad39c3276d272d0520e3f53
2014-02-27Remove visual noise from swAlexander Wilms
Conflicts: sw/inc/unodraw.hxx sw/inc/unoframe.hxx sw/sdi/swriter.sdi sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unoparagraph.cxx sw/source/filter/ww8/rtfexportfilter.cxx sw/source/ui/inc/unotxvw.hxx sw/source/ui/lingu/hyp.cxx sw/source/ui/lingu/sdrhhcwrap.cxx sw/source/ui/uno/swdetect.hxx Change-Id: Ic0a3fb2392187c277c9b36915ffb10dcf0317908 Reviewed-on: https://gerrit.libreoffice.org/8322 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2013-12-20typo fixesAndras Timar
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
2013-12-02Integrate branch of IAccessible2Steve Yin
Conflicts: everything Change-Id: I9619634ee1e60d449025c006803da29c1e9d14b3
2013-11-05fixincludeguards.sh: swThomas Arnhold
Change-Id: I8e0889200d1a1c36e53022a74792728efd66c2fc