summaryrefslogtreecommitdiff
path: root/sd/source/ui/dlg/PaneShells.cxx
diff options
context:
space:
mode:
authorSarper Akdemir <sarper.akdemir.extern@allotropia.de>2024-04-04 07:18:38 +0300
committerSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2024-04-11 11:02:01 +0200
commit291919476294f62d7af9b8b7060d138728897ee7 (patch)
treefbefb7f2bf02ec5c2f9a333818af3bc918d1b60b /sd/source/ui/dlg/PaneShells.cxx
parent8d85da5616bab28c1df226bcbf4fe777b14b363e (diff)
tdf#33603: sd: rework notes panel
To be able to support various dispatch commands, sidebar, proper user configuration, and more - reworked the previous notes panel implementation as a sd::View/sd::ViewShell pair that plays nice with Impress framework. To be able to support TextObjectBar(Shell) functionality, without having TextObjectBar as a SubShell (In the current sd::framework implementation AFAICS, SubShells are only possible for the MainViewShell - this doesn't work for notes panel which is never used as the MainViewShell.). A workaround is implemented where NotesPanel inherits dispatching slots from TextObjectBar, and for these inherited slots forwards the calls to TextObjectBar's implementation. This workaround could be removed if/when, SubShell support outside of MainViewShell is implemented. Known issues/TODO: - Drag & Drop crashes / doesn't work. - Some notes placeholder syncing problems on page change, edit mode change. - A rendering issue related to resizing when ArrangeGUIElements isn't called on resize. Change-Id: I588a4854fbedf6556e001fee1693b32410cbc23f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165770 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Diffstat (limited to 'sd/source/ui/dlg/PaneShells.cxx')
-rw-r--r--sd/source/ui/dlg/PaneShells.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/sd/source/ui/dlg/PaneShells.cxx b/sd/source/ui/dlg/PaneShells.cxx
index 77e411aaedc2..ab523bf7c83c 100644
--- a/sd/source/ui/dlg/PaneShells.cxx
+++ b/sd/source/ui/dlg/PaneShells.cxx
@@ -50,6 +50,23 @@ LeftImpressPaneShell::~LeftImpressPaneShell()
{
}
+//===== BottomImpressPaneShell ==================================================
+
+static SfxSlot aBottomImpressPaneShellSlots_Impl[]
+ = { { 0, SfxGroupId::NONE, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr,
+ 0, SfxDisableFlags::NONE, "" } };
+
+SFX_IMPL_INTERFACE(BottomImpressPaneShell, SfxShell)
+
+void BottomImpressPaneShell::InitInterface_Impl()
+{
+ GetStaticInterface()->RegisterChildWindow(::sd::BottomPaneImpressChildWindow::GetChildWindowId());
+}
+
+BottomImpressPaneShell::BottomImpressPaneShell() { SetName("BottomImpressPane"); }
+
+BottomImpressPaneShell::~BottomImpressPaneShell() {}
+
//===== LeftDrawPaneShell =====================================================
static SfxSlot aLeftDrawPaneShellSlots_Impl[] =