diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-04-20 11:06:07 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-04-22 21:29:36 +0200 |
commit | 60f3e4b843da89678e022eed837ee66e726b1920 (patch) | |
tree | 4cffea5d364e3ed9bd3e68c7b471f313c237a98e /vcl | |
parent | 4a7ebfea57094b914c4b1c3e46936dbf67dec499 (diff) |
place an intermediate class as parent for SfxTabPages
so a SfxTabPage can be parented by a vcl::Window or a welded native notebook tabpage.
That ways the same SfxTabPage can be used at the same time in both a native dialog
or a vcl dialog. The impl can be changed to the weld api, and when hosted in a native
dialog the vcl impl of that will be instantiated, while native otherwise. e.g.
print options appearing in print options dialog and general options.
This allows incremental changeover.
Change-Id: I6f1fed1e8d0898b01853bb878757bad41cbf9bba
Reviewed-on: https://gerrit.libreoffice.org/53193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/salinst.hxx | 1 | ||||
-rw-r--r-- | vcl/source/app/salvtables.cxx | 5 | ||||
-rw-r--r-- | vcl/source/window/builder.cxx | 5 |
3 files changed, 11 insertions, 0 deletions
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx index 49091b6f577c..30bf126361e8 100644 --- a/vcl/inc/salinst.hxx +++ b/vcl/inc/salinst.hxx @@ -163,6 +163,7 @@ public: virtual OpenGLContext* CreateOpenGLContext() = 0; virtual weld::Builder* CreateBuilder(weld::Widget* pParent, const OUString& rUIRoot, const OUString& rUIFile); + virtual weld::Builder* CreateInterimBuilder(vcl::Window* pParent, const OUString& rUIRoot, const OUString& rUIFile); virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString& rPrimaryMessage); virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow); diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index fcfcdd90618c..1379984faa54 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -2043,6 +2043,11 @@ weld::Builder* SalInstance::CreateBuilder(weld::Widget* pParent, const OUString& return new SalInstanceBuilder(pParentWidget, rUIRoot, rUIFile); } +weld::Builder* SalInstance::CreateInterimBuilder(vcl::Window* pParent, const OUString& rUIRoot, const OUString& rUIFile) +{ + return new SalInstanceBuilder(pParent, rUIRoot, rUIFile); +} + weld::MessageDialog* SalInstance::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonsType, const OUString& rPrimaryMessage) { SalInstanceWidget* pParentInstance = dynamic_cast<SalInstanceWidget*>(pParent); diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 167094a3abe1..0cd56a7cd58c 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -130,6 +130,11 @@ weld::Builder* Application::CreateBuilder(weld::Widget* pParent, const OUString return ImplGetSVData()->mpDefInst->CreateBuilder(pParent, VclBuilderContainer::getUIRootDir(), rUIFile); } +weld::Builder* Application::CreateInterimBuilder(vcl::Window* pParent, const OUString &rUIFile) +{ + return ImplGetSVData()->mpDefInst->CreateInterimBuilder(pParent, VclBuilderContainer::getUIRootDir(), rUIFile); +} + weld::MessageDialog* Application::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString& rPrimaryMessage) { |