From d25313d44f06867b7559f980667e409087b0fde1 Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Thu, 12 Aug 2010 21:19:49 +0000 Subject: [PATCH] Add listener for the tab location. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38067 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 2 ++ src/servers/app/DesktopListener.cpp | 12 ++++++++++++ src/servers/app/DesktopListener.h | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 02366ad9a4..51f02bb19b 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -1360,6 +1360,8 @@ Desktop::SetWindowTabLocation(Window* window, float location) if (changed) _RebuildAndRedrawAfterWindowChange(window, dirty); + InvokeSetWindowTabLocation(window, location); + return changed; } diff --git a/src/servers/app/DesktopListener.cpp b/src/servers/app/DesktopListener.cpp index 7ac97eb144..482771a0b6 100644 --- a/src/servers/app/DesktopListener.cpp +++ b/src/servers/app/DesktopListener.cpp @@ -187,6 +187,18 @@ DesktopObservable::InvokeSendWindowBehind(Window* window, Window* behindOf) } +void +DesktopObservable::InvokeSetWindowTabLocation(Window* window, float location) +{ + if (fWeAreInvoking) + return; + InvokeGuard invokeGuard(fWeAreInvoking); + + FOR_ALL_DESKTOP_LISTENER + listener->SetWindowTabLocation(window, location); +} + + bool DesktopObservable::InvokeSetDecoratorSettings(Window* window, const BMessage& settings) diff --git a/src/servers/app/DesktopListener.h b/src/servers/app/DesktopListener.h index dbeb267a44..d27a55beb3 100644 --- a/src/servers/app/DesktopListener.h +++ b/src/servers/app/DesktopListener.h @@ -51,6 +51,9 @@ public: virtual void MinimizeWindow(Window* window, bool minimize) = 0; + virtual void SetWindowTabLocation(Window* window, + float location) = 0; + virtual bool SetDecoratorSettings(Window* window, const BMessage& settings) = 0; virtual void GetDecoratorSettings(Window* window, @@ -94,6 +97,9 @@ public: void InvokeHideWindow(Window* window); void InvokeMinimizeWindow(Window* window, bool minimize); + void InvokeSetWindowTabLocation(Window* window, + float location); + bool InvokeSetDecoratorSettings(Window* window, const BMessage& settings); void InvokeGetDecoratorSettings(Window* window,