Kaydet (Commit) b4487b0f authored tarafından Jan Holesovsky's avatar Jan Holesovsky

lokdialog: Move the LogicInvalidate from Dialog down to Window.

Another step towards the autofilter popup working...

Change-Id: I4907a23fcd0fc64da0c7f51e2f36b1657a17638c
üst e2ae221f
...@@ -75,7 +75,6 @@ protected: ...@@ -75,7 +75,6 @@ protected:
public: public:
SAL_DLLPRIVATE bool IsInClose() const { return mbInClose; } SAL_DLLPRIVATE bool IsInClose() const { return mbInClose; }
virtual void doDeferredInit(WinBits nBits) override; virtual void doDeferredInit(WinBits nBits) override;
virtual void LogicInvalidate(const tools::Rectangle* pRectangle) override;
void InvalidateFloatingWindow(const Point& rPos); void InvalidateFloatingWindow(const Point& rPos);
void CloseFloatingWindow(); void CloseFloatingWindow();
......
...@@ -1065,6 +1065,7 @@ public: ...@@ -1065,6 +1065,7 @@ public:
virtual void Invalidate( InvalidateFlags nFlags = InvalidateFlags::NONE ); virtual void Invalidate( InvalidateFlags nFlags = InvalidateFlags::NONE );
virtual void Invalidate( const tools::Rectangle& rRect, InvalidateFlags nFlags = InvalidateFlags::NONE ); virtual void Invalidate( const tools::Rectangle& rRect, InvalidateFlags nFlags = InvalidateFlags::NONE );
virtual void Invalidate( const vcl::Region& rRegion, InvalidateFlags nFlags = InvalidateFlags::NONE ); virtual void Invalidate( const vcl::Region& rRegion, InvalidateFlags nFlags = InvalidateFlags::NONE );
virtual void LogicInvalidate(const tools::Rectangle* pRectangle) override;
void Validate(); void Validate();
bool HasPaintEvent() const; bool HasPaintEvent() const;
void Update(); void Update();
......
...@@ -895,21 +895,6 @@ void Dialog::CloseFloatingWindow() ...@@ -895,21 +895,6 @@ void Dialog::CloseFloatingWindow()
pNotifier->notifyWindowChild(GetLOKWindowId(), "close", Point(0, 0)); pNotifier->notifyWindowChild(GetLOKWindowId(), "close", Point(0, 0));
} }
void Dialog::LogicInvalidate(const tools::Rectangle* pRectangle)
{
if (comphelper::LibreOfficeKit::isDialogPainting())
return;
if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
{
std::vector<vcl::LOKPayloadItem> aPayload;
if (pRectangle)
aPayload.push_back(std::make_pair(OString("rectangle"), pRectangle->toString()));
pNotifier->notifyWindow(GetLOKWindowId(), "invalidate", aPayload);
}
}
void Dialog::ensureRepaint() void Dialog::ensureRepaint()
{ {
// ensure repaint // ensure repaint
......
...@@ -1189,6 +1189,22 @@ void Window::Invalidate( const vcl::Region& rRegion, InvalidateFlags nFlags ) ...@@ -1189,6 +1189,22 @@ void Window::Invalidate( const vcl::Region& rRegion, InvalidateFlags nFlags )
} }
} }
void Window::LogicInvalidate(const tools::Rectangle* pRectangle)
{
if (comphelper::LibreOfficeKit::isDialogPainting())
return;
if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
{
// In case we are routing the window, notify the client
std::vector<vcl::LOKPayloadItem> aPayload;
if (pRectangle)
aPayload.push_back(std::make_pair(OString("rectangle"), pRectangle->toString()));
pNotifier->notifyWindow(GetLOKWindowId(), "invalidate", aPayload);
}
}
void Window::Validate() void Window::Validate()
{ {
if ( !comphelper::LibreOfficeKit::isActive() && (!IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight) ) if ( !comphelper::LibreOfficeKit::isActive() && (!IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment