summaryrefslogtreecommitdiffstats
path: root/svx/source/tbxctrls/tbcontrl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/tbxctrls/tbcontrl.cxx')
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index ff8aeb8b6db8..0d06766d6ef2 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -321,6 +321,8 @@ public:
LanguageType& eSelectLanguage );
virtual ~SvxCurrencyList_Impl() override { disposeOnce(); }
virtual void dispose() override;
+
+ void PixelInvalidate(const tools::Rectangle* pRectangle) override;
};
class SvxStyleToolBoxControl;
@@ -2352,15 +2354,32 @@ SvxCurrencyList_Impl::SvxCurrencyList_Impl(
if ( nSelectedPos >= 0 )
m_pCurrencyLb->SelectEntryPos( nSelectedPos );
m_pCurrencyLb->Show();
+
+ auto parentNotifier = GetParentWithLOKNotifier();
+ if (parentNotifier)
+ SetLOKNotifier(parentNotifier->GetLOKNotifier());
}
void SvxCurrencyList_Impl::dispose()
{
+ ReleaseLOKNotifier();
m_xControl.clear();
m_pCurrencyLb.disposeAndClear();
ToolbarPopup::dispose();
}
+void SvxCurrencyList_Impl::PixelInvalidate(const tools::Rectangle* pRectangle)
+{
+ const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier();
+ if (pNotifier && pRectangle && GetPopUpWindowLOKId() != 0)
+ {
+ std::vector<vcl::LOKPayloadItem> aPayload;
+ aPayload.push_back(std::make_pair(OString("rectangle"), pRectangle->toString()));
+ pNotifier->notifyWindow(GetPopUpWindowLOKId(), "invalidate", aPayload);
+ }
+ svtools::ToolbarPopup::PixelInvalidate(pRectangle);
+}
+
SvxLineWindow_Impl::SvxLineWindow_Impl( svt::ToolboxController& rController, vcl::Window* pParentWindow ) :
ToolbarPopup( rController.getFrameInterface(), pParentWindow, WB_STDPOPUP | WB_MOVEABLE | WB_CLOSEABLE ),
m_aLineStyleLb( VclPtr<LineListBox>::Create(this) ),