summaryrefslogtreecommitdiff
path: root/include/svx/svdpage.hxx
AgeCommit message (Collapse)Author
13 hourstdf#118171 - Snap rectangles of objects without line widthAndreas Heinisch
Change-Id: I10d984438826362035add494e0a2431824e36519 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183142 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Jenkins
2025-03-06Revert "tdf#165504 restore SdrPage::GetLayoutName virtual"Xisco Fauli
This reverts commit 5137fcc47f8e40dcba991db1f57dc1b395bbf970. The commit I bisected in https://bugs.documentfoundation.org/show_bug.cgi?id=165504#c3 was actually the same as tdf#164463 which got fixed in 960db01dbfe2f916b91782da03532fae1f836445 "Resolves: tdf#164463 we need to pass a copy of the LayoutName" So this revert is not necessary. I'm really sorry for all the inconveniences caused. Change-Id: Ice96b06220decf8078658b61ca721638cc8d2254 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182578 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-03-05tdf#165504 restore SdrPage::GetLayoutName virtualCaolán McNamara
revert commit 235c230cd348600ce7385cc580c45a7be3572704 CommitDate: Tue Oct 22 09:17:02 2024 +0200 We don't need a virtual here and commit 960db01dbfe2f916b91782da03532fae1f836445 CommitDate: Sat Dec 28 22:13:40 2024 +0100 Resolves: tdf#164463 we need to pass a copy of the LayoutName Change-Id: Iecc486eca72e4d752527e77a9817dc4bed663cc2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182445 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2025-01-06Drop unneeded forward declarations from include/ even harderGabor Kelemen
test drive the new bin/find-unneeded-includes --fwdecl mode with iwyu 0.23 instead of 0.21, this seems to find more unneeded fw declarations Change-Id: I451e571c70eb74f46c799753e3c5a53c0110da36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179707 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-10-22We don't need a virtual hereCaolán McNamara
Only known SdPages need this Change-Id: Id504cd1ec318fa8cce43d11f03c628e7457f7634 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175369 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-09-03When a shape is selected, send other shapes' rectangles.Gökay Şatır
GitHub issue link: * https://github.com/CollaboraOnline/online/issues/9689 Also add OrdNum property to ExtraInfo in order to exclude the selected shape from the list. Check new properties in tiledrendering test. Change-Id: I544e2c8089510f47b0cc0f25e368cad6d459cb2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172730 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-07-07move UniqueID to tools and rework to increase counter in constructorTomaž Vajngerl
In the tools module it can be used in more other modules. Changed the instantiation to increase the counter already in the constructor, so no need to check if the ID is 0. Also test for UniqueID Change-Id: I77c80461875c69496a7e218534d16d6550c168c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170061 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-07-06UniqueID class that generates and stores a uniqueID for an objectTomaž Vajngerl
UniqueID generates an unique ID (unique for all users of UniqueID) and keeps the value for the object's life time. Change-Id: Ic2cc1665e57b1984c231a050f82a330c9dcf1ffc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169691 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170017 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-11annot: document new annotation classes and methodsTomaž Vajngerl
Change-Id: I71d1055a30e0e8eedcd8fa71b47e74e90f1aac93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168595 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-11annot: change include to forward declarationTomaž Vajngerl
Change-Id: Ibf35554b707254fa5f901e3137adb28ba46a98ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168515 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-05annot: add {add,remove}Annotation that don't notifyTomaž Vajngerl
Add addAnnotationNoNotify method, that doesn't broadcast that an annotation was added, and change addAnnotation to call the method and in addition call the broadcast bits. Previously all this had happened in the addAnnotation without the choice to not broadcast. Change removeAnnotation in a similar way. Change-Id: Ie15a386a8b8d4493d5b41fcbcb55924a693b46d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168429 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-05-03sd, svx: Return new annotation instead of using out paramMichael Weghorn
Let `SdrPage::createAnnotation` et al. return the newly created annotation rather than using an out parameter, which makes this more straightforward. Change-Id: Iee0561859756522ef33680c2cc9b492541a31d5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167019 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-04-26annot: moved more of Annotation and dependencies into svxTomaž Vajngerl
Moved the holder of annotations from SdPage to SvxPage, so that the vector holding the annotations and accessors are on SvxPage and adapted the code. This also changes the type od most parameters on most methods from sd::Annotation to sdr::annotation::Annotation and adapted the code. Moved AnnotationEnumeration into svx, as it was needed in svx already. Change-Id: Iab17aa881443f58adfb9158959db00ed24076279 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166494 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-04-19loplugin:constantparamNoel Grandin
Change-Id: I58e31ffdfc87a15e82bce54afd47ff3906159707 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166293 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-18reduce symbol visibility in svxNoel Grandin
Change-Id: I8d103f3607f273677f075ae800f2f8477c751e83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164927 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-07tdf#159931: pptx export: export each used slide layout for a masterSarper Akdemir
attempts to fix the slideLayout reference related regression from Idb6b88ebe87a83818d8eb27a1fa087652a002c0c. To correctly export the all used slideLayout instances for a given master, iterate through sdr::PageUsers of that master and figure out all used layouts. Change-Id: I0f58befac1ba4d5ec01aeedbb5f611c83683dcf8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164468 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-12-04svx: prefix members of SdrPageGridFrameListMiklos Vajna
See tdf#94879 for motivation. Change-Id: Ieb5630a9aaa1d5ae51915e0fe6892e43e9c2e629 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160292 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-11-20svx: prefix members of SdrPageGridFrameMiklos Vajna
See tdf#94879 for motivation. Change-Id: I0542a137fa8598e97f84defbc284993c665c1fc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159729 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-11-13svx: prefix members of SdrPageMiklos Vajna
See tdf#94879 for motivation. Change-Id: I9b3b1116bca80a5c587931e4c8da9ac31e1faa5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159353 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-18use more SdrObjList::begin/end in svxNoel Grandin
Change-Id: I362a2e12492391338b63708e4b329fc77ac363c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158113 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-18tdf#155410 shave 1% cost off SdrGroup::GetLayerNoel Grandin
by avoiding repeated indexed lookup into the std::deque inside SdrObjList Change-Id: Ifcf736d0ecef1239b8a236fe1937f347a3d49e4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158104 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-27Change theme location to SdrModel and SdrPage (master page only)Tomaž Vajngerl
In Writer and Calc we only have one theme per document, so the theme can be stored inside the SdrModel. For Imporess/Draw the theme is defined per master page, so it needs to be stored on the master page. This changes the implementation to reflect that. In addition refactor all the usages in writer and calc to get and set the theme to SdrModel, when needed and rename the methods on the SdrPageProperties from {Get,Set}Theme to {get,set}Theme. Change-Id: I0cc3b332c029c28d15f8cda748c578c2a54a5c61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156128 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-06-05lok: callback to send the updated theme palette when theme changesTomaž Vajngerl
The callback sends the updated theme color palette when the theme changes or initially when the view is registered, so the client should always have the up-to-date theme color palette stored, so it can just show the color picker with the theme at any time without the need to call the server. Change-Id: I7cceccc46c2fad23ba89e6d3f3643e37f8dab292 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152589 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-06-05tdf#155504 Add "Fix" function to shapesSamuel Mehrbrodt
Change-Id: I9494207b0bcdf121034f79d936aeadd95cecdf23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152494 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-04-08use shared_ptr for model::Theme instead of unique_ptrTomaž Vajngerl
Also change other cases to use the shared_ptr so there is no need to do copies and replace some of docmodel/theme/Theme.hxximports with forward declarations. Change-Id: I4588cb25e05e5f3e535011fffb68a8075b05aecc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147691 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-03-01create a default theme when SdrPage and SdrModel are createdTomaž Vajngerl
For a document it is expected that it always has a theme available so we need to create a theme with some default attributes set (a default color scheme for now) when we create a SdrModel and SdrPage (only for Writer currently). This also changes some ColorSets, SdrPage, SdrModel methods, to use better return types (cost& instead of raw pointers and vice versa depending on the use case). Change-Id: I874247784b845109e42567e3f45647dda46ccf3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146816 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-01-27move Theme class to own file inside docmodelTomaž Vajngerl
Also move Theme from svx to model namespace so it is consistent with other classes in docmodel. Theme header also includes ThemeSupplementalFont, ThemeFont, FontScheme classes that are used by the Theme and were also moved to docmodel. These may be moved to its own file in the future when they are used in more places. Change-Id: Ic409bea8e5298adc2b039b529c4f7b01cf64f03e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146221 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-08-29ref-count SdrObjectNoel Grandin
Which means we can get rid of the majestic hack of ScCaptionPtr Previously, SdrObject was manually managed, and the ownership passed around in very complicated fashion. Notes: (*) SvxShape has a strong reference to SdrObject, where previously it had a weak reference. It is now strong since otherwise the SdrObject will go away very eagerly. (*) SdrObject still has a weak reference to SvxShape (*) In the existing places that an SdrObject is being deleted, we now just clear the reference (*) instead of SwVirtFlyDrawObj removing itself from the page that contains inside it's destructor, make the call site do the removing from the page. (*) Needed to take the SolarMutex in UndoManagerHelper_Impl::impl_clear because this can be called from UNO (e.g. sfx2_complex JUnit test) and the SdrObjects need the SolarMutex when destructing. (*) handle a tricky situation with SwDrawVirtObj in the SwDrawModel destructor because the existing code wants mpDrawObj in SwAnchoredObject to be sometimes owning, sometimes not, which results in a cycle with the new code. Change-Id: I4d79df1660e386388e5d51030653755bca02a163 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138837 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-01tdf#137544 ReformatAllEdgeObjects use recursionNoel Grandin
rather than SdrObjListIter, which wants to build a vector of all the child objects, of which there are a great many Change-Id: If6a4213b94e2ef2133100e406fb435b82944ac18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136719 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-21use 64bit for window sizes (tdf#147458)Luboš Luňák
Change-Id: Iaa240aeae8bacbff6bccd9bf0721a02414b6f47d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130288 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-01-04use deque in SdrObjListNoel Grandin
which has much better performance for (a) inserting stuff at the front (b) appending large numbers of items something that happens when constructing large charts - shaves 5% off the load time for large sample bar chart Change-Id: I3ebccbfdc75e4df3ec88eb2dde46acfe0ab0ae7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127940 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-19PPTX import: handle <a:clrScheme name="...">Miklos Vajna
We had doc model for this, but the UNO API and the PPTX import was missing. Change-Id: I199e9cc235a783d91700ce74f17d442f41d3c3f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125532 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-11-18import pptx color schemes as color setsSarper Akdemir
initial import work for color sets. Themes (which we get the color schemes from) in MSO can be different for each master - will need to support that too. [ Miklos: actually added that per-master-page support. ] (cherry picked from commit 3b21d166f585dcdf8d576d166aeff3cfd4694aab, from the feature/themesupport2 branch) Change-Id: Ia06d2645018e6bfa70817bbddba2374641ae13dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125477 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-09-15loplugin:unnecessaryvirtualNoel Grandin
Change-Id: Ia7617a0fd4413cbaafaae8fbfee2b2ea819fde8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122136 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-11clang:optin.performance.Padding in svx,editengNoel Grandin
Excessive padding in 'struct svx::SpellPortion' (18 padding bytes, where 2 is optimal). Excessive padding in 'class SvxNumRule' (11 padding bytes, where 3 is optimal). Excessive padding in 'struct SpellInfo' (10 padding bytes, where 2 is optimal). Excessive padding in 'struct ImpEditEngine::LineAreaInfo' (14 padding bytes, where 6 is optimal). Excessive padding in 'class ImpChainLinkProperties' (5 padding bytes, where 1 is optimal). Excessive padding in 'class TextChainFlow' (20 padding bytes, where 4 is optimal). Excessive padding in 'class SdrObjList' (13 padding bytes, where 5 is optimal). Excessive padding in 'class SdrLayer' (12 padding bytes, where 4 is optimal). Change-Id: I17b1c40bfe553c7635dc6177845dc92956cd0fae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121942 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-09tdf#144052 speedup inserting large chartsNoel Grandin
we don't need to immediately re-order objects when setting the Z-order, just set the dirty flag and we can calculate the proper order layout. This takes the time for the chart to appear from multiple minutes to 20sec for me. Change-Id: If80569da09469423f19f9fe82b40dfbdac14f161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121806 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-01clang-tidy:readability-redundant-member-initNoel Grandin
Change-Id: I78339f1df1f0c55c7edaa552940b07d1ada3aeb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121386 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-31svx: cleanup some forward decls, unneeded pragma once, whitespaceTomaž Vajngerl
Change-Id: I26cd723e0ffe907a7aa8cb4f73ba6bfbd6db5fbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119719 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-06-19loplugin:finalclassesNoel Grandin
improve the plugin to detect more cases. I only apply the new final changes to classes in /include here. Which reveals that RoadmapWizard::getPageController( TabPage* _pCurrentPage ) will always return nullptr Also needed to sprinkle some SAL_DLLPUBLIC_TEMPLATE around to workaround Visual Studio linking problems. Change-Id: Iadb7d46a9e0e73dabce562375ca013c0fea6690c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117365 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-17svx: pragma once for some SdrObject subclassesTomaž Vajngerl
Change-Id: Ibbadf5069fbf5327a8a5964a3003bf6e258fd00b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117351 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-05-29std::unique_ptr -> std::optionalNoel Grandin
Change-Id: I15779eca607f27a758575f4f095910277aa85eda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116377 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-25tdf#134734 svx,sd: BackgroundFullSizeMichael Stahl
There is already a boolean SdPage::mbBackgroundFullSize, UNO property and ODF import/export, but curiously no trace of it ever doing anything. There is some mystery handling of SID_ATTR_PAGE_EXT2 there but in the dialog that is only handled for SVX_PAGE_MODE_CENTER from Calc for a completely different purpose. Move mbBackgroundFullSize to base class SdrPage so that ViewContactOfMasterPageDescriptor can access it to paint. There's an oddity in the handling of the property where the dialog works on the master page and not on the current slide, not sure why it was implemented this way. Change-Id: If6e1329e3f77e0a1a7226d5e51ceb221ea86c401 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112783 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-03-07ref-count SdrPageNoel
which simplifies ownership handling, particularly with regard to undo/redo Change-Id: Ie8f300ebfdae6db3c06f78a87e35a07497d6b825 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111991 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-23inline typedef WeakSdrObjectContainerTypeNoel Grandin
Change-Id: Icdbdc73552b81a71d2551c36f54218deba6149bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96949 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-03use more compact namespace syntax in /includeNoel Grandin
excluding the UDK headers of course Change-Id: Iac7ab83d60265f7d362c860776f1de9d5e444ec0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93268 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-13Revert "loplugin:constfields in svx"Noel Grandin
This reverts commit 1a6397030381a45f27ab7a2a02e6e6d0f9987c84. Change-Id: Iaa706bb4ea3144ef57ab359b982400abc589b97e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90454 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-02tdf#128302: Split SVXCORE_DLLPUBLIC from SVX_DLLPUBLICStephan Bergmann
Using SVX_DLLPUBLIC for both Library_svxcore and Library_svx had started to cause failures with clang-cl on Windows now, presumably due to devirtualization: > linectrl.o : error LNK2001: unresolved external symbol "protected: virtual void __cdecl SvxMetricField::DataChanged(class DataChangedEvent const &)" (?DataChanged@SvxMetricField@@MEAAXAEBVDataChangedEvent@@@Z) > linectrl.o : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl SvxMetricField::PreNotify(class NotifyEvent &)" (?PreNotify@SvxMetricField@@MEAA_NAEAVNotifyEvent@@@Z) > linectrl.o : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl SvxMetricField::EventNotify(class NotifyEvent &)" (?EventNotify@SvxMetricField@@MEAA_NAEAVNotifyEvent@@@Z) > linectrl.o : error LNK2001: unresolved external symbol "protected: virtual void __cdecl SvxMetricField::Modify(void)" (?Modify@SvxMetricField@@MEAAXXZ) > linectrl.o : error LNK2001: unresolved external symbol "private: virtual bool __cdecl SvxFillAttrBox::PreNotify(class NotifyEvent &)" (?PreNotify@SvxFillAttrBox@@EEAA_NAEAVNotifyEvent@@@Z) > linectrl.o : error LNK2001: unresolved external symbol "private: virtual bool __cdecl SvxFillAttrBox::EventNotify(class NotifyEvent &)" (?EventNotify@SvxFillAttrBox@@EEAA_NAEAVNotifyEvent@@@Z) > C:\lo-clang\core\instdir\program\svxcorelo.dll : fatal error LNK1120: 6 unresolved externals Replacing certain uses of SVX_DLLPUBLIC with the newly introduced SVXCORE_DLLPUBLIC (include/svx/svxdllapi.h) has been done on Linux as follows: > git grep -w --line-number -e SVX_DLLPUBLIC --and --not -e '#define SVX_DLLPUBLIC' >LINES to produce a file LINES containing all 640 uses. (Conveniently, all uses happen to be on different lines.) Manually create a file TOKENS with 640 corresponding lines, each containing the (class or function) name that is made SVX_DLLPUBLIC by in the corresponding line in LINES. Then > nm -D --def instdir/program/libsvxcorelo.so | grep -ivw '[vw]' | c++filt >SVXCORESYMS > nm -D --def instdir/program/libsvxlo.so | grep -ivw '[vw]' | c++filt >SVXSYMS > n=$(cat TOKENS | wc -l) > for ((i=1;i<="$n";++i)); do > tok=$(head -n "$i" TOKENS | tail -1) > printf @ > grep -Fw "$tok" SVXCORESYMS >/dev/null && printf svxcore > printf @ > grep -Fw "$tok" SVXSYMS >/dev/null && printf svx > printf '@ ' > head -n "$i" LINES | tail -1 > done to generate 640 output lines detailing for each SVX_DLLPUBLIC name occurrene whether it is mentioned in exports from neither (@@@), only from svx (@@svx@), only from svxcore (@svxcore@@), or from both libraries (@svxcore@svx@). The numbers that gives is 10 @@@ 180 @@svx@ 424 @svxcore@@ 26 @svxcore@svx@ The 10 @@@ ask for follow-up clean up, but most of them are just left as SVX_DLLPUBLIC for now. The exceptions are sxv::ITextProvider (include/svx/itextprovider.hxx) and SdrCustomShapeGeometryItem::PropertyPairHash (include/svx/sdasitm.hxx, where PropertyPairHash is a member struct of SVXCORE_DLLPUBLIC SdrCustomShapeGeometryItem). Keeping them as SVX_DLLPUBLIC would cause "unresolved externals" errors when linking Library_svxcore on Windows. The 180 @@svx@ are fine to keep as-is, and the 424 @svxcore@@ need rewriting. The 26 @svxcore@svx@ needed manual inspection to decide (in some cases, the chosen name in TOKENS was a too generic function name like Fill, in other cases it was the name of a class exported from one library but also mentioned in the arguments of a function exported from the other). And for sdr::table::SdrTableObj the class itself is defined in svxcore while the static member functions ExportAsRTF and ImportAsRTF are defined in svx. But MSVC does not allow to mark the class as SVXCORE_DLLPUBLIC and the two static member functions as SVX_DLLPLUBIC, so move the two functions out of the class. (There appears to be no real necessity that they were static member functions in the first place; they don't even need to be friends of the class. Nevertheless, this mixture of functionality from svxcore and svx in include/svx/svdotable.hxx may ask for follow-up clean up, one way or another.) All the output lines that need rewriting (all the @svxcore@@ ones, and the manually picked subset of @@@ and @svxcore@svx@ ones) are copied into a new file CHANGE (containing 451 lines). Then > sed -E -e 's|^@.*@.*@ ([^:]+):([0-9]+):.*$|sed -i -e "\2 s/SVX_DLLPUBLIC/SVXCORE_DLLPUBLIC/" \1|' <CHANGE >COMMANDS > . COMMANDS to do the changes. Change-Id: If9b6dd1c9e9ba2eb883dbdac4385d28c6fc8a203 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87794 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-06loplugin:unnecessaryvirtualNoel Grandin
Change-Id: Ibffbd0f5d30ec14cace3638b2bb47c91a583711c Reviewed-on: https://gerrit.libreoffice.org/82171 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-28tdf#125191 Give object copies unique namesJim Raykowski
This patch makes a unique name for a copy of an object having a user given name. Change-Id: I14a7f45cc02962fc34a1532dd5db1cb9657b41d3 Reviewed-on: https://gerrit.libreoffice.org/77500 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-25speed-up shape import if shapes need z-order rearrangingKatarina Behrens
setting z-order individually on each shape and broadcasting is O(n^2) (remaining shapes also need reordering) and this is bad bad bad for performance Change-Id: Ic9c9137a097f6ff524192693910f221885f77cc4 Reviewed-on: https://gerrit.libreoffice.org/75055 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>