diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx index 22ef10a47904..1d0af8c3d45d 100644 --- a/cui/source/customize/acccfg.cxx +++ b/cui/source/customize/acccfg.cxx @@ -660,7 +660,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSfxAccCfgTabListBox(VclPtr xRowSet(pDatMan->getForm(), UNO_QUERY); diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx index b2f6c94ca5e4..6d1fe7eed0a2 100644 --- a/include/vcl/builder.hxx +++ b/include/vcl/builder.hxx @@ -82,30 +82,12 @@ public: //release ownership of pWindow, i.e. don't delete it void drop_ownership(const vcl::Window *pWindow); - //apply the properties of rProps to pWindow - static void set_properties(vcl::Window *pWindow, const stringmap &rProps); - - //Convert _ gtk markup to ~ vcl markup - static OUString convertMnemonicMarkup(const OUString &rIn); - - static OUString extractCustomProperty(stringmap &rMap); - static FieldUnit detectUnit(OUString const&); - - static bool extractDropdown(stringmap &rMap); - - //add a default value of 25 width-chars to a map if width-chars not set - static void ensureDefaultWidthChars(VclBuilder::stringmap &rMap); - //see m_aDeferredProperties, you need this for toplevel dialogs //which build themselves from their ctor. The properties on //the top level are stored in m_aDeferredProperties and need //to be applied post ctor void setDeferredProperties(); - //Helpers to retrofit all the existing code to the builder - static void reorderWithinParent(std::vector< vcl::Window*>& rChilds, bool bIsButtonBox); - static void reorderWithinParent(vcl::Window &rWindow, sal_uInt16 nNewPosition); - /// return UI-File name (without '.ui') const OString& getUIFile() const { @@ -399,6 +381,27 @@ private: void delete_by_window(vcl::Window *pWindow); }; +namespace BuilderUtils +{ + //apply the properties of rProps to pWindow + VCL_DLLPUBLIC void set_properties(vcl::Window *pWindow, const VclBuilder::stringmap &rProps); + + //Convert _ gtk markup to ~ vcl markup + VCL_DLLPUBLIC OUString convertMnemonicMarkup(const OUString &rIn); + + VCL_DLLPUBLIC OUString extractCustomProperty(VclBuilder::stringmap &rMap); + VCL_DLLPUBLIC FieldUnit detectUnit(OUString const&); + + VCL_DLLPUBLIC bool extractDropdown(VclBuilder::stringmap &rMap); + + //add a default value of 25 width-chars to a map if width-chars not set + VCL_DLLPUBLIC void ensureDefaultWidthChars(VclBuilder::stringmap &rMap); + + //Helpers to retrofit all the existing code to the builder + VCL_DLLPUBLIC void reorderWithinParent(std::vector< vcl::Window*>& rChilds, bool bIsButtonBox); + VCL_DLLPUBLIC void reorderWithinParent(vcl::Window &rWindow, sal_uInt16 nNewPosition); +} + template inline T* VclBuilder::get(VclPtr& ret, const OString& sID) { diff --git a/include/vcl/builderfactory.hxx b/include/vcl/builderfactory.hxx index c2bada89ffe2..8014832b3ac2 100644 --- a/include/vcl/builderfactory.hxx +++ b/include/vcl/builderfactory.hxx @@ -30,7 +30,7 @@ #define VCL_BUILDER_FACTORY_CONSTRUCTOR(typeName,arg2) \ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL make##typeName(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) \ { \ - OUString sBorder = VclBuilder::extractCustomProperty(rMap); \ + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); \ WinBits wb = arg2; \ if (!sBorder.isEmpty()) \ wb |= WB_BORDER; \ diff --git a/include/vcl/edit.hxx b/include/vcl/edit.hxx index 632e9b751ee7..75b571ff87ca 100644 --- a/include/vcl/edit.hxx +++ b/include/vcl/edit.hxx @@ -40,10 +40,10 @@ namespace i18n { class XExtendedInputSequenceChecker; }}}} +class VclBuilder; struct DDInfo; struct Impl_IMEInfos; - #define EDIT_NOLIMIT SAL_MAX_INT32 #define EDIT_UPDATEDATA_TIMEOUT 350 diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx index 71ca0d2f282b..7c2aa534fa69 100644 --- a/include/vcl/window.hxx +++ b/include/vcl/window.hxx @@ -433,7 +433,6 @@ namespace vcl { class Cursor; } class Dialog; class WindowImpl; class PaintHelper; -class VclBuilder; class VclSizeGroup; class OutputDevice; class Application; @@ -448,7 +447,6 @@ class PushButton; class RadioButton; class SystemChildWindow; class ImplBorderWindow; -class VclBuilder; class ImplDockingWindowWrapper; class ImplPopupFloatWin; class MenuFloatingWindow; @@ -495,7 +493,6 @@ class VCL_DLLPUBLIC Window : public ::OutputDevice friend class ::RadioButton; friend class ::SystemChildWindow; friend class ::ImplBorderWindow; - friend class ::VclBuilder; friend class ::PaintHelper; friend class ::LifecycleTest; diff --git a/sc/source/ui/cctrl/editfield.cxx b/sc/source/ui/cctrl/editfield.cxx index 1bbb5d649294..74e75e8d45be 100644 --- a/sc/source/ui/cctrl/editfield.cxx +++ b/sc/source/ui/cctrl/editfield.cxx @@ -48,7 +48,7 @@ ScDoubleField::ScDoubleField( vcl::Window* pParent, WinBits nStyle ) : extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeScDoubleField(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - VclBuilder::ensureDefaultWidthChars(rMap); + BuilderUtils::ensureDefaultWidthChars(rMap); rRet = VclPtr::Create(pParent, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK); } diff --git a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx index bc63af0afc9e..1fa759ad5dbd 100644 --- a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx +++ b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx @@ -150,7 +150,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeScTabBgColorValueSet(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinStyle = WB_TABSTOP; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinStyle |= WB_BORDER; rRet = VclPtr::Create(pParent, nWinStyle); @@ -473,7 +473,7 @@ IndexBox_Impl::IndexBox_Impl(vcl::Window* pParent, WinBits nStyle) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeIndexBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinBits |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinBits); @@ -879,7 +879,7 @@ void SearchBox_Impl::Select() extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSearchResultsBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinBits |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinBits); @@ -1140,7 +1140,7 @@ BookmarksBox_Impl::BookmarksBox_Impl(vcl::Window* pParent, WinBits nStyle) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeBookmarksBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinBits |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinBits); diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx index c940a789b1ca..36427600ea51 100644 --- a/svtools/source/contnr/fileview.cxx +++ b/svtools/source/contnr/fileview.cxx @@ -989,7 +989,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSvtFileView(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP; if (bDropdown) nWinBits |= WB_DROPDOWN; @@ -705,7 +705,7 @@ FontNameBox::FontNameBox( vcl::Window* pParent, WinBits nWinStyle ) : extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeFontNameBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP; if (bDropdown) nWinBits |= WB_DROPDOWN; @@ -1095,7 +1095,7 @@ Size FontStyleBox::GetOptimalSize() const extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeFontStyleBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP; if (bDropdown) nWinBits |= WB_DROPDOWN; @@ -1291,7 +1291,7 @@ FontSizeBox::FontSizeBox( vcl::Window* pParent, WinBits nWinSize ) : extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeFontSizeBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP; if (bDropdown) nWinBits |= WB_DROPDOWN; diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx index 8786336dfb01..2edd2699da38 100644 --- a/svx/source/dialog/dlgctrl.cxx +++ b/svx/source/dialog/dlgctrl.cxx @@ -1034,7 +1034,7 @@ HatchingLB::HatchingLB( vcl::Window* pParent, WinBits nWinStyle) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeHatchingLB(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinStyle = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinStyle |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinStyle); @@ -1074,7 +1074,7 @@ GradientLB::GradientLB( vcl::Window* pParent, WinBits aWB) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeGradientLB(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinStyle = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinStyle |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinStyle); @@ -1114,7 +1114,7 @@ BitmapLB::BitmapLB( vcl::Window* pParent, WinBits aWB) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeBitmapLB(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinStyle = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinStyle |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinStyle); @@ -1247,11 +1247,11 @@ LineLB::LineLB(vcl::Window* pParent, WinBits aWB) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeLineLB(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE|WB_TABSTOP; if (bDropdown) nWinBits |= WB_DROPDOWN; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinBits |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinBits); @@ -1345,11 +1345,11 @@ LineEndLB::LineEndLB( vcl::Window* pParent, WinBits aWB ) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeLineEndLB(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE|WB_TABSTOP; if (bDropdown) nWinBits |= WB_DROPDOWN; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinBits |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinBits); diff --git a/svx/source/dialog/langbox.cxx b/svx/source/dialog/langbox.cxx index aaa28edeccca..d36c93db7d7c 100644 --- a/svx/source/dialog/langbox.cxx +++ b/svx/source/dialog/langbox.cxx @@ -113,7 +113,7 @@ static bool lcl_SeqHasLang( const Sequence< sal_Int16 > & rLangSeq, sal_Int16 nL extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSvxLanguageBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP; - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); if (bDropdown) nBits |= WB_DROPDOWN; else @@ -126,7 +126,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSvxLanguageBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP; - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); if (bDropdown) nBits |= WB_DROPDOWN; else diff --git a/svx/source/dialog/relfld.cxx b/svx/source/dialog/relfld.cxx index b99bc88aad80..4bb9ba59caf4 100644 --- a/svx/source/dialog/relfld.cxx +++ b/svx/source/dialog/relfld.cxx @@ -38,8 +38,8 @@ SvxRelativeField::SvxRelativeField( extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSvxRelativeField(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - OUString const custom(VclBuilder::extractCustomProperty(rMap)); - FieldUnit const eUnit(VclBuilder::detectUnit(custom)); + OUString const custom(BuilderUtils::extractCustomProperty(rMap)); + FieldUnit const eUnit(BuilderUtils::detectUnit(custom)); rRet = VclPtr::Create(pParent, WB_BORDER | WB_SPIN | WB_REPEAT | WB_LEFT | WB_GROUP, diff --git a/svx/source/dialog/txencbox.cxx b/svx/source/dialog/txencbox.cxx index f476ae3bd52a..f02645980dc5 100644 --- a/svx/source/dialog/txencbox.cxx +++ b/svx/source/dialog/txencbox.cxx @@ -43,10 +43,10 @@ SvxTextEncodingBox::SvxTextEncodingBox( vcl::Window* pParent, WinBits nBits ) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSvxTextEncodingBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE; - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); if (bDropdown) nWinBits |= WB_DROPDOWN; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nWinBits |= WB_BORDER; VclPtrInstance pListBox(pParent, nWinBits); diff --git a/sw/source/ui/config/optload.cxx b/sw/source/ui/config/optload.cxx index 4a283717c990..597ae2c401aa 100644 --- a/sw/source/ui/config/optload.cxx +++ b/sw/source/ui/config/optload.cxx @@ -1003,7 +1003,7 @@ void CaptionComboBox::KeyInput(const KeyEvent& rEvt) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeCaptionComboBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { WinBits nBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK; - bool bDropdown = VclBuilder::extractDropdown(rMap); + bool bDropdown = BuilderUtils::extractDropdown(rMap); if (bDropdown) nBits |= WB_DROPDOWN; VclPtrInstance pComboBox(pParent, nBits); diff --git a/sw/source/ui/fldui/fldvar.cxx b/sw/source/ui/fldui/fldvar.cxx index dc5088625b35..446688d660c3 100644 --- a/sw/source/ui/fldui/fldvar.cxx +++ b/sw/source/ui/fldui/fldvar.cxx @@ -1260,12 +1260,12 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeSelectionListBox(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - VclBuilder::ensureDefaultWidthChars(rMap); + BuilderUtils::ensureDefaultWidthChars(rMap); rRet = VclPtr::Create(pParent, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK); } diff --git a/sw/source/uibase/utlui/condedit.cxx b/sw/source/uibase/utlui/condedit.cxx index a44d2af15ecb..20fd938bb89a 100644 --- a/sw/source/uibase/utlui/condedit.cxx +++ b/sw/source/uibase/utlui/condedit.cxx @@ -36,7 +36,7 @@ ConditionEdit::ConditionEdit(vcl::Window* pParent, WinBits nStyle) extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeConditionEdit(VclPtr & rRet, VclPtr & pParent, VclBuilder::stringmap & rMap) { - VclBuilder::ensureDefaultWidthChars(rMap); + BuilderUtils::ensureDefaultWidthChars(rMap); rRet = VclPtr::Create(pParent, WB_LEFT|WB_VCENTER|WB_BORDER|WB_3DLOOK); } diff --git a/sw/source/uibase/utlui/numfmtlb.cxx b/sw/source/uibase/utlui/numfmtlb.cxx index e93f9ce1525d..c3724d89e0ce 100644 --- a/sw/source/uibase/utlui/numfmtlb.cxx +++ b/sw/source/uibase/utlui/numfmtlb.cxx @@ -67,7 +67,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL makeNumFormatListBox(VclPtrsecond; - rMap.erase(aFind); - } - return sCustomProperty; -} - namespace { bool extractDrawValue(VclBuilder::stringmap& rMap) @@ -934,7 +922,7 @@ namespace nBits |= WB_SIZEABLE; if (extractCloseable(rMap)) nBits |= WB_CLOSEABLE; - OUString sBorder = VclBuilder::extractCustomProperty(rMap); + OUString sBorder = BuilderUtils::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nBits |= WB_BORDER; if (!extractDecorated(rMap)) @@ -952,20 +940,6 @@ namespace } } -FieldUnit VclBuilder::detectUnit(OUString const& rString) -{ - OUString const unit(extractUnit(rString)); - return detectMetricUnit(unit); -} - -void VclBuilder::ensureDefaultWidthChars(VclBuilder::stringmap &rMap) -{ - OString sWidthChars("width-chars"); - VclBuilder::stringmap::iterator aFind = rMap.find(sWidthChars); - if (aFind == rMap.end()) - rMap[sWidthChars] = "25"; -} - bool VclBuilder::extractGroup(const OString &id, stringmap &rMap) { VclBuilder::stringmap::iterator aFind = rMap.find(OString("group")); @@ -1065,18 +1039,6 @@ bool VclBuilder::extractModel(const OString &id, stringmap &rMap) return false; } -bool VclBuilder::extractDropdown(VclBuilder::stringmap &rMap) -{ - bool bDropdown = true; - VclBuilder::stringmap::iterator aFind = rMap.find(OString("dropdown")); - if (aFind != rMap.end()) - { - bDropdown = toBool(aFind->second); - rMap.erase(aFind); - } - return bDropdown; -} - bool VclBuilder::extractBuffer(const OString &id, stringmap &rMap) { VclBuilder::stringmap::iterator aFind = rMap.find(OString("buffer")); @@ -1272,7 +1234,7 @@ VclPtr VclBuilder::makeObject(vcl::Window *pParent, const OString & else if (name == "GtkButton") { VclPtr