summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-02-19 20:54:17 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-02-20 11:28:21 +0100
commit41fe604a2e48c8c921a29bf4240abf8929582e2e (patch)
tree83ea7489f9bdd77f61ab3b4c464c51ef56918979 /vcl
parent1e0ade8b56c644868a72156186ab5c83e2abfb69 (diff)
merge together interimdockparent usage
and their uses of VclBuilder can be contained to vcl Change-Id: I0cbbd3175e4ec857187b7f1716232a3514fe9605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111251 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/control/calendar.cxx13
-rw-r--r--vcl/source/window/dockwin.cxx20
2 files changed, 25 insertions, 8 deletions
diff --git a/vcl/source/control/calendar.cxx b/vcl/source/control/calendar.cxx
index 1d714e914e56..e35dc353d442 100644
--- a/vcl/source/control/calendar.cxx
+++ b/vcl/source/control/calendar.cxx
@@ -1546,23 +1546,21 @@ namespace
};
}
-struct ImplCFieldFloatWin : public DockingWindow
+struct ImplCFieldFloatWin : public InterimDockingWindow
{
explicit ImplCFieldFloatWin(vcl::Window* pParent);
virtual void dispose() override;
virtual ~ImplCFieldFloatWin() override;
virtual void GetFocus() override;
- VclPtr<vcl::Window> mxBox;
std::unique_ptr<ImplCFieldFloat> mxWidget;
};
ImplCFieldFloatWin::ImplCFieldFloatWin(vcl::Window* pParent)
- : DockingWindow(pParent, "InterimDockParent", "vcl/ui/interimdockparent.ui")
- , mxBox(m_pUIBuilder->get("box"))
+ : InterimDockingWindow(pParent)
{
setDeferredProperties();
- mxWidget.reset(new ImplCFieldFloat(mxBox.get()));
+ mxWidget.reset(new ImplCFieldFloat(m_xBox.get()));
}
ImplCFieldFloatWin::~ImplCFieldFloatWin()
@@ -1573,13 +1571,12 @@ ImplCFieldFloatWin::~ImplCFieldFloatWin()
void ImplCFieldFloatWin::dispose()
{
mxWidget.reset();
- mxBox.disposeAndClear();
- DockingWindow::dispose();
+ InterimDockingWindow::dispose();
}
void ImplCFieldFloatWin::GetFocus()
{
- DockingWindow::GetFocus();
+ InterimDockingWindow::GetFocus();
if (!mxWidget)
return;
mxWidget->GrabFocus();
diff --git a/vcl/source/window/dockwin.cxx b/vcl/source/window/dockwin.cxx
index 42a42889a6c6..b2c45fd6c4da 100644
--- a/vcl/source/window/dockwin.cxx
+++ b/vcl/source/window/dockwin.cxx
@@ -1058,4 +1058,24 @@ IMPL_LINK_NOARG(DockingWindow, ImplHandleLayoutTimerHdl, Timer*, void)
setPosSizeOnContainee();
}
+InterimDockingWindow::InterimDockingWindow(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rFrame, bool bTearable)
+ : DockingWindow(pParent,
+ !bTearable ? OString("InterimDockParent") : OString("InterimTearableParent"),
+ !bTearable ? OUString("vcl/ui/interimdockparent.ui") : OUString("vcl/ui/interimtearableparent.ui"),
+ rFrame)
+ , m_xBox(m_pUIBuilder->get("box"))
+{
+}
+
+InterimDockingWindow::~InterimDockingWindow()
+{
+ disposeOnce();
+}
+
+void InterimDockingWindow::dispose()
+{
+ m_xBox.clear();
+ DockingWindow::dispose();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */