The VclBuilder code has a set of nice public symbols, one for each custom method that can be looked up by the relevant code to create those widgets (cf. vcl/source/window/builder.cxx). These are all declared by macros eg. VCL_BUILDER_FACTORY(FooType) checkout include/vcl/builderfactory.hxx But some of these constructor functions are over-complex and we can only partially macro-ise those eg. VCL_BUILDER_DECL_FACTORY(SwCaptionPreview) { WinBits nBits = 0; OString sBorder = VclBuilder::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nBits |= WB_BORDER; return VclPtr<SwCaptionPreview>::Create(pParent, nBits); } It would be great to go over these instances and move these pieces into a SwCaptionPreview constructor that takes a (VclBuilder::stringmap &rMap) parameter - meaning we can shrink the above to a new macro: VCL_BUILDER_FACTORY_CONSTRUCTOR(SwCaptionPreview) or something =) that is unless Caolan disagrees (?) Thanks !
Sorry for this naive question but what about taking benefit ot the cleanup to use templates instead of macros? I mean, I thought the first category had to be preferred to the last one (for different reasons one can find by Googling a bit). Unless it could be a necessary intermediate step and in this case, sorry for the noise! :-)
Heh - so, I've no idea how well all the C / linking declarations go with templates; we need: extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL as a prefix; at least for me that's easy to do via macros. Either way - whatever we do - having constructors that take the property map, and simple one-line factory definitions would be nice; then we can do what we want there =)
(In reply to Michael Meeks from comment #2) > Heh - so, I've no idea how well all the C / linking declarations go with > templates; we need: > > extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL > > as a prefix; at least for me that's easy to do via macros. Either way - > whatever we do - having constructors that take the property map, and simple > one-line factory definitions would be nice; then we can do what we want > there =) Thank you for your explanation, I didn't know about the C / linking. I don't know too if using template could be still an option (I know too little about templates) but I understand better now the choice of macros.
Migrating Whiteboard tags to Keywords: (easyHack, difficultyBeginner, skillCpp, topicCleanup)
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC) [NinjaEdit]
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=9937b8daa7c6b8012d9ce4f936e239d87f34a0d1 tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=10197c094b3267adc8071bcef482b64dc291deed tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=164d8e3b1aa660d65c1af9570e67b66520bd953a tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=02eaf40ba04e970d88e37ef15963a409e375a7ad tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=62e5010e5df379a26aa85ca9fd58bf872f020c36 tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c5f5b3e5334c52502c1de28828a44ad469c68850 tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
melikeyurtoglu committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=69d08efffeca1e38fce7b04226894871279a1696 tdf#91222 VclBuilder constructor cleanup It will be available in 5.3.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Julien Nabet committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=bb4cf1da125344d5ef4fe51b0f1549718a11affa tdf#91222 VclBuilder constructor cleanup It will be available in 5.4.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Hello, I tried to find "VCL_BUILDER_DECL_FACTORY" but couldn't find it. Is the bug resolved or is there anything else to do in this bug, IF yes, I want to work on this issue.
Hello, Just a little information, I git grepped VCL_BUILDER_DECL_FACTORY, but there is only "compilerplugins/clang/unusedmethods.py" file exist, also nothing can found in Opengrok. Seems like the bug resolved.
Ok, let's close