vcl/Library_vclplug_qt5.mk        |    1 
 vcl/Library_vclplug_qt6.mk        |    1 
 vcl/inc/qt5/QtInstance.hxx        |    5 
 vcl/inc/qt5/QtInstanceBuilder.hxx |   79 ++++++++++
 vcl/inc/qt6/QtInstanceBuilder.hxx |    1 
 vcl/qt5/QtInstance.cxx            |   53 ++++---
 vcl/qt5/QtInstanceBuilder.cxx     |  285 ++++++++++++++++++++++++++++++++++++++
 vcl/qt6/QtInstanceBuilder.cxx     |    1 
 8 files changed, 405 insertions(+), 21 deletions(-)

New commits:
commit 10590d4f1f072630238a1e62fe48afb20ab41644
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Sep 18 10:24:36 2024 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Wed Sep 18 20:01:45 2024 +0200

    tdf#130857 qt weld: Move logic to find native Qt parent to helper
    
    Move the logic to find a QWidget parent mostly introduced
    in
    
        commit 1e2836665a1839f61cd8bfa46c54687f010e7e9d
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Fri Aug 30 18:17:53 2024 +0200
    
            tdf#162696 tdf#130857 qt weld: Get parent via SalInstanceWidget
    
    to a helper method, for reuse in `QtInstance::CreateBuilder`
    in an upcoming commit.
    
    Change-Id: Ied41e7f5054f08382668292042f2a9978c6bed91
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173593
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/inc/qt5/QtInstance.hxx b/vcl/inc/qt5/QtInstance.hxx
index df4a5eeaf26a..f82def9c830c 100644
--- a/vcl/inc/qt5/QtInstance.hxx
+++ b/vcl/inc/qt5/QtInstance.hxx
@@ -74,6 +74,8 @@ class VCLPLUG_QT_PUBLIC QtInstance : public QObject,
     DECL_DLLPRIVATE_LINK(updateStyleHdl, Timer*, void);
     void AfterAppInit() override;
 
+    static QWidget* GetNativeParentFromWeldParent(weld::Widget* pParent);
+
 private Q_SLOTS:
     bool ImplYield(bool bWait, bool bHandleAllCurrentEvents);
     static void deleteObjectLater(QObject* pObject);
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index da28848d1520..fbfc06ac61ee 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -798,6 +798,27 @@ void QtInstance::setActivePopup(QtFrame* pFrame)
     m_pActivePopup = pFrame;
 }
 
+QWidget* QtInstance::GetNativeParentFromWeldParent(weld::Widget* pParent)
+{
+    if (!pParent)
+        return nullptr;
+
+    if (QtInstanceWidget* pQtInstanceWidget = 
dynamic_cast<QtInstanceWidget*>(pParent))
+        return pQtInstanceWidget->getQWidget();
+
+    // the parent is not welded/not a native Qt widget; get QWidget via frame
+    if (SalInstanceWidget* pSalWidget = 
dynamic_cast<SalInstanceWidget*>(pParent))
+    {
+        if (vcl::Window* pWindow = pSalWidget->getWidget())
+        {
+            if (QtFrame* pFrame = 
static_cast<QtFrame*>(pWindow->ImplGetFrame()))
+                return pFrame->GetQWidget();
+        }
+    }
+
+    return nullptr;
+}
+
 std::unique_ptr<weld::Builder>
 QtInstance::CreateBuilder(weld::Widget* pParent, const OUString& rUIRoot, 
const OUString& rUIFile)
 {
@@ -829,27 +850,7 @@ weld::MessageDialog* 
QtInstance::CreateMessageDialog(weld::Widget* pParent,
     }
     else
     {
-        QWidget* pQtParent = nullptr;
-        if (pParent)
-        {
-            if (QtInstanceWidget* pQtInstanceWidget = 
dynamic_cast<QtInstanceWidget*>(pParent))
-            {
-                pQtParent = pQtInstanceWidget->getQWidget();
-            }
-            else
-            {
-                // the parent is not welded/not a native Qt widget; get 
QWidget via frame
-                if (SalInstanceWidget* pSalWidget = 
dynamic_cast<SalInstanceWidget*>(pParent))
-                {
-                    if (vcl::Window* pWindow = pSalWidget->getWidget())
-                    {
-                        if (QtFrame* pFrame = 
static_cast<QtFrame*>(pWindow->ImplGetFrame()))
-                            pQtParent = pFrame->GetQWidget();
-                    }
-                }
-            }
-        }
-
+        QWidget* pQtParent = GetNativeParentFromWeldParent(pParent);
         QMessageBox* pMessageBox = new QMessageBox(pQtParent);
         pMessageBox->setText(toQString(rPrimaryMessage));
         pMessageBox->setIcon(vclMessageTypeToQtIcon(eMessageType));
commit 9b3a2996e710fee11145dcbbe38a6f1e6f646ec8
Author:     OmkarAcharekar <omkarachareka...@gmail.com>
AuthorDate: Wed Sep 18 09:35:09 2024 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Wed Sep 18 20:01:32 2024 +0200

    tdf#130857 qt weld: Add QtInstanceBuilder skeleton
    
    Add new `QtInstanceBuilder` that derives from
    `weld::Builder` and is meant to use
    `weld::Widget` implementations using native
    Qt widgets.
    
    Override `SalInstance::CreateBuilder` in
    `QtInstance` to return an instance of the new
    `QtInstanceBuilder` for UI files that that one
    can handle/supports.
    
    As of now, `QtInstanceBuilder` doesn't yet
    implement what's needed, so
    `QtInstanceBuilder::IsUIFileSupported` currently
    still always returns `false`, meaning that
    `SalInstanceBuilder` is still always used in
    practice.
    
    The idea is to implement funcationality needed for a
    specific UI file/dialog in `QtInstanceBuilder`, then add
    it to the set of supported UI files in
    `QtInstanceBuilder::IsUIFileSupported`.
    This allows looking at one .ui file at a time and only having
    to implement what is relevant for that particular one, without
    having to implement the full weld API at once.
    
    The use of `QtInstanceBuilder` can completely be
    disabled by starting LO with environment variable
    `SAL_VCL_QT_NO_WELDED_WIDGETS` set.
    
    This commit is mostly extraced from Omkar Acharekar's WIP
    Gerrit change [1] (patch set 22) with some further
    adjustments by Michael Weghorn. Patch set 23
    of that WIP Gerrit change demonstrates adding
    support for a dialog (the "Save Document?" one), but
    still needs more work.
    
    [1] https://gerrit.libreoffice.org/c/core/+/161831
    
    Co-authored-by: Michael Weghorn <m.wegh...@posteo.de>
    Change-Id: If2d1ea30d43c2c1d84d64e577035489c8e158a7c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173592
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/Library_vclplug_qt5.mk b/vcl/Library_vclplug_qt5.mk
index bcd384bac1d6..b153e529c658 100644
--- a/vcl/Library_vclplug_qt5.mk
+++ b/vcl/Library_vclplug_qt5.mk
@@ -93,6 +93,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt5,\
     vcl/qt5/QtGraphics_Text \
     vcl/qt5/QtInstance \
     vcl/qt5/QtInstance_Print \
+    vcl/qt5/QtInstanceBuilder \
     vcl/qt5/QtInstanceButton \
     vcl/qt5/QtInstanceContainer \
     vcl/qt5/QtInstanceDialog \
diff --git a/vcl/Library_vclplug_qt6.mk b/vcl/Library_vclplug_qt6.mk
index 8bc7001ad5ac..a67231825a2e 100644
--- a/vcl/Library_vclplug_qt6.mk
+++ b/vcl/Library_vclplug_qt6.mk
@@ -92,6 +92,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt6,\
     vcl/qt6/QtGraphics_Text \
     vcl/qt6/QtInstance \
     vcl/qt6/QtInstance_Print \
+    vcl/qt6/QtInstanceBuilder \
     vcl/qt6/QtInstanceButton \
     vcl/qt6/QtInstanceContainer \
     vcl/qt6/QtInstanceDialog \
diff --git a/vcl/inc/qt5/QtBuilder.hxx b/vcl/inc/qt5/QtBuilder.hxx
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/vcl/inc/qt5/QtInstance.hxx b/vcl/inc/qt5/QtInstance.hxx
index 3d3aba9a2048..df4a5eeaf26a 100644
--- a/vcl/inc/qt5/QtInstance.hxx
+++ b/vcl/inc/qt5/QtInstance.hxx
@@ -144,6 +144,9 @@ public:
 
     virtual bool DoYield(bool bWait, bool bHandleAllCurrentEvents) override;
     virtual bool AnyInput(VclInputFlags nType) override;
+
+    std::unique_ptr<weld::Builder> CreateBuilder(weld::Widget* pParent, const 
OUString& rUIRoot,
+                                                 const OUString& rUIFile) 
override;
     virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent,
                                                      VclMessageType 
eMessageType,
                                                      VclButtonsType 
eButtonType,
diff --git a/vcl/inc/qt5/QtInstanceBuilder.hxx 
b/vcl/inc/qt5/QtInstanceBuilder.hxx
new file mode 100644
index 000000000000..747582d6f69c
--- /dev/null
+++ b/vcl/inc/qt5/QtInstanceBuilder.hxx
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#pragma once
+
+#include <string_view>
+
+#include <QtWidgets/QWidget>
+
+#include <rtl/ustring.hxx>
+#include <vcl/weld.hxx>
+
+class QtInstanceBuilder : public weld::Builder
+{
+public:
+    QtInstanceBuilder(QWidget* pParent, std::u16string_view sUIRoot,
+                      const std::u16string_view sUIFile);
+    ~QtInstanceBuilder();
+
+    static bool IsUIFileSupported(const OUString& rUIFile);
+
+    virtual std::unique_ptr<weld::MessageDialog> weld_message_dialog(const 
OUString& id) override;
+    virtual std::unique_ptr<weld::Dialog> weld_dialog(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Assistant> weld_assistant(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Window> create_screenshot_window() override;
+    virtual std::unique_ptr<weld::Widget> weld_widget(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Container> weld_container(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Box> weld_box(const OUString&) override;
+    virtual std::unique_ptr<weld::Paned> weld_paned(const OUString&) override;
+    virtual std::unique_ptr<weld::Frame> weld_frame(const OUString&) override;
+    virtual std::unique_ptr<weld::ScrolledWindow>
+    weld_scrolled_window(const OUString&, bool bUserManagedScrolling = false) 
override;
+    virtual std::unique_ptr<weld::Notebook> weld_notebook(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Button> weld_button(const OUString&) 
override;
+    virtual std::unique_ptr<weld::MenuButton> weld_menu_button(const 
OUString&) override;
+    virtual std::unique_ptr<weld::MenuToggleButton>
+    weld_menu_toggle_button(const OUString&) override;
+    virtual std::unique_ptr<weld::LinkButton> weld_link_button(const 
OUString&) override;
+    virtual std::unique_ptr<weld::ToggleButton> weld_toggle_button(const 
OUString&) override;
+    virtual std::unique_ptr<weld::RadioButton> weld_radio_button(const 
OUString&) override;
+    virtual std::unique_ptr<weld::CheckButton> weld_check_button(const 
OUString&) override;
+    virtual std::unique_ptr<weld::Scale> weld_scale(const OUString&) override;
+    virtual std::unique_ptr<weld::ProgressBar> weld_progress_bar(const 
OUString&) override;
+    virtual std::unique_ptr<weld::LevelBar> weld_level_bar(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Spinner> weld_spinner(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Image> weld_image(const OUString&) override;
+    virtual std::unique_ptr<weld::Calendar> weld_calendar(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Entry> weld_entry(const OUString&) override;
+    virtual std::unique_ptr<weld::SpinButton> weld_spin_button(const 
OUString&) override;
+    virtual std::unique_ptr<weld::MetricSpinButton> 
weld_metric_spin_button(const OUString&,
+                                                                            
FieldUnit) override;
+    virtual std::unique_ptr<weld::FormattedSpinButton>
+    weld_formatted_spin_button(const OUString&) override;
+    virtual std::unique_ptr<weld::ComboBox> weld_combo_box(const OUString&) 
override;
+    virtual std::unique_ptr<weld::EntryTreeView>
+    weld_entry_tree_view(const OUString&, const OUString&, const OUString&) 
override;
+    virtual std::unique_ptr<weld::TreeView> weld_tree_view(const OUString&) 
override;
+    virtual std::unique_ptr<weld::IconView> weld_icon_view(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Label> weld_label(const OUString&) override;
+    virtual std::unique_ptr<weld::TextView> weld_text_view(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Expander> weld_expander(const OUString&) 
override;
+    virtual std::unique_ptr<weld::DrawingArea>
+    weld_drawing_area(const OUString&, const a11yref& rA11yImpl = nullptr,
+                      FactoryFunction pUITestFactoryFunction = nullptr,
+                      void* pUserData = nullptr) override;
+    virtual std::unique_ptr<weld::Menu> weld_menu(const OUString&) override;
+    virtual std::unique_ptr<weld::Popover> weld_popover(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Toolbar> weld_toolbar(const OUString&) 
override;
+    virtual std::unique_ptr<weld::Scrollbar> weld_scrollbar(const OUString&) 
override;
+    virtual std::unique_ptr<weld::SizeGroup> create_size_group() override;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/qt5/QtMessageBox.hxx b/vcl/inc/qt5/QtMessageBox.hxx
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/vcl/inc/qt6/QtInstanceBuilder.hxx 
b/vcl/inc/qt6/QtInstanceBuilder.hxx
new file mode 100644
index 000000000000..afcd3094c331
--- /dev/null
+++ b/vcl/inc/qt6/QtInstanceBuilder.hxx
@@ -0,0 +1 @@
+#include "../qt5/QtInstanceBuilder.hxx"
\ No newline at end of file
diff --git a/vcl/qt5/QtBuilder.cxx b/vcl/qt5/QtBuilder.cxx
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index ea22cee085ea..da28848d1520 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -28,6 +28,7 @@
 #include <QtDragAndDrop.hxx>
 #include <QtFilePicker.hxx>
 #include <QtFrame.hxx>
+#include <QtInstanceBuilder.hxx>
 #include <QtMenu.hxx>
 #include <QtObject.hxx>
 #include <QtOpenGLContext.hxx>
@@ -797,6 +798,15 @@ void QtInstance::setActivePopup(QtFrame* pFrame)
     m_pActivePopup = pFrame;
 }
 
+std::unique_ptr<weld::Builder>
+QtInstance::CreateBuilder(weld::Widget* pParent, const OUString& rUIRoot, 
const OUString& rUIFile)
+{
+    if (!QtData::noWeldedWidgets() && 
QtInstanceBuilder::IsUIFileSupported(rUIFile))
+        return std::make_unique<QtInstanceBuilder>(nullptr, rUIRoot, rUIFile);
+    else
+        return SalInstance::CreateBuilder(pParent, rUIRoot, rUIFile);
+}
+
 weld::MessageDialog* QtInstance::CreateMessageDialog(weld::Widget* pParent,
                                                      VclMessageType 
eMessageType,
                                                      VclButtonsType 
eButtonsType,
diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx
new file mode 100644
index 000000000000..78d0622be3d3
--- /dev/null
+++ b/vcl/qt5/QtInstanceBuilder.cxx
@@ -0,0 +1,285 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <QtInstanceBuilder.hxx>
+
+#include <unordered_set>
+
+QtInstanceBuilder::QtInstanceBuilder(QWidget*, std::u16string_view, 
std::u16string_view) {}
+
+QtInstanceBuilder::~QtInstanceBuilder() {}
+
+bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile)
+{
+    // set of supported UI files - none yet
+    //
+    // The idea is to implement funcationality needed for a specific UI 
file/dialog
+    // in QtInstanceBuilder, then add it to the set of supported UI files here.
+    // This allows looking at one .ui file at a time and only having to 
implement
+    // what is relevant for that particular one, without having to implement 
the full
+    // weld API at once.
+    //
+    // see demo/WIP change: https://gerrit.libreoffice.org/c/core/+/161831
+    // for an example
+    static std::unordered_set<OUString> aSupportedUIFiles = {};
+
+    return aSupportedUIFiles.contains(rUIFile);
+}
+
+std::unique_ptr<weld::MessageDialog> 
QtInstanceBuilder::weld_message_dialog(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Dialog> QtInstanceBuilder::weld_dialog(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Assistant> QtInstanceBuilder::weld_assistant(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Window> QtInstanceBuilder::create_screenshot_window()
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Widget> QtInstanceBuilder::weld_widget(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Container> QtInstanceBuilder::weld_container(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Box> QtInstanceBuilder::weld_box(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Paned> QtInstanceBuilder::weld_paned(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Frame> QtInstanceBuilder::weld_frame(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::ScrolledWindow> 
QtInstanceBuilder::weld_scrolled_window(const OUString&, bool)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Notebook> QtInstanceBuilder::weld_notebook(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Button> QtInstanceBuilder::weld_button(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::MenuButton> QtInstanceBuilder::weld_menu_button(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::MenuToggleButton> 
QtInstanceBuilder::weld_menu_toggle_button(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::LinkButton> QtInstanceBuilder::weld_link_button(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::ToggleButton> 
QtInstanceBuilder::weld_toggle_button(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::RadioButton> QtInstanceBuilder::weld_radio_button(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::CheckButton> QtInstanceBuilder::weld_check_button(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Scale> QtInstanceBuilder::weld_scale(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::ProgressBar> QtInstanceBuilder::weld_progress_bar(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::LevelBar> QtInstanceBuilder::weld_level_bar(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Spinner> QtInstanceBuilder::weld_spinner(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Image> QtInstanceBuilder::weld_image(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Calendar> QtInstanceBuilder::weld_calendar(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Entry> QtInstanceBuilder::weld_entry(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::SpinButton> QtInstanceBuilder::weld_spin_button(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::MetricSpinButton> 
QtInstanceBuilder::weld_metric_spin_button(const OUString&,
+                                                                               
    FieldUnit)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::FormattedSpinButton>
+QtInstanceBuilder::weld_formatted_spin_button(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::ComboBox> QtInstanceBuilder::weld_combo_box(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::EntryTreeView>
+QtInstanceBuilder::weld_entry_tree_view(const OUString&, const OUString&, 
const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::TreeView> QtInstanceBuilder::weld_tree_view(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::IconView> QtInstanceBuilder::weld_icon_view(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Label> QtInstanceBuilder::weld_label(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::TextView> QtInstanceBuilder::weld_text_view(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Expander> QtInstanceBuilder::weld_expander(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::DrawingArea>
+QtInstanceBuilder::weld_drawing_area(const OUString&, const a11yref&, 
FactoryFunction, void*)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Menu> QtInstanceBuilder::weld_menu(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Popover> QtInstanceBuilder::weld_popover(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Toolbar> QtInstanceBuilder::weld_toolbar(const OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::Scrollbar> QtInstanceBuilder::weld_scrollbar(const 
OUString&)
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+std::unique_ptr<weld::SizeGroup> QtInstanceBuilder::create_size_group()
+{
+    assert(false && "Not implemented yet");
+    return nullptr;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/qt6/QtInstanceBuilder.cxx b/vcl/qt6/QtInstanceBuilder.cxx
new file mode 100644
index 000000000000..c645f3708ee3
--- /dev/null
+++ b/vcl/qt6/QtInstanceBuilder.cxx
@@ -0,0 +1 @@
+#include "../qt5/QtInstanceBuilder.cxx"
\ No newline at end of file

Reply via email to