diff options
Diffstat (limited to 'ui/aura/client')
-rw-r--r-- | ui/aura/client/activation_client.cc | 23 | ||||
-rw-r--r-- | ui/aura/client/activation_client.h | 42 | ||||
-rw-r--r-- | ui/aura/client/activation_delegate.cc | 24 | ||||
-rw-r--r-- | ui/aura/client/activation_delegate.h | 43 | ||||
-rw-r--r-- | ui/aura/client/aura_constants.cc | 15 | ||||
-rw-r--r-- | ui/aura/client/aura_constants.h | 52 | ||||
-rw-r--r-- | ui/aura/client/stacking_client.h | 8 |
7 files changed, 31 insertions, 176 deletions
diff --git a/ui/aura/client/activation_client.cc b/ui/aura/client/activation_client.cc deleted file mode 100644 index 8106ca2..0000000 --- a/ui/aura/client/activation_client.cc +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ui/aura/client/activation_client.h" - -#include "ui/aura/client/aura_constants.h" -#include "ui/aura/root_window.h" - -namespace aura { - -// static -void ActivationClient::SetActivationClient(ActivationClient* client) { - RootWindow::GetInstance()->SetProperty(kRootWindowActivationClient, client); -} - -// static -ActivationClient* ActivationClient::GetActivationClient() { - return reinterpret_cast<ActivationClient*>( - RootWindow::GetInstance()->GetProperty(kRootWindowActivationClient)); -} - -} // namespace aura diff --git a/ui/aura/client/activation_client.h b/ui/aura/client/activation_client.h deleted file mode 100644 index 547f9ab..0000000 --- a/ui/aura/client/activation_client.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef UI_AURA_CLIENT_ACTIVATION_CLIENT_H_ -#define UI_AURA_CLIENT_ACTIVATION_CLIENT_H_ -#pragma once - -#include "ui/aura/aura_export.h" - -namespace aura { - -class Window; - -// An interface implemented by an object that manages window activation. -class AURA_EXPORT ActivationClient { - public: - // Sets/Gets the activation client on the RootWindow. - static void SetActivationClient(ActivationClient* client); - static ActivationClient* GetActivationClient(); - - // Activates |window|. If |window| is NULL, nothing happens. - virtual void ActivateWindow(Window* window) = 0; - - // Deactivates |window|. What (if anything) is activated next is up to the - // client. If |window| is NULL, nothing happens. - virtual void DeactivateWindow(Window* window) = 0; - - // Retrieves the active window, or NULL if there is none. - virtual aura::Window* GetActiveWindow() = 0; - - // Returns true if |window| can be focused. To be focusable, |window| must - // exist inside an activatable window. - virtual bool CanFocusWindow(Window* window) const = 0; - - protected: - virtual ~ActivationClient() {} -}; - -} // namespace aura - -#endif // UI_AURA_CLIENT_ACTIVATION_CLIENT_H_ diff --git a/ui/aura/client/activation_delegate.cc b/ui/aura/client/activation_delegate.cc deleted file mode 100644 index 18688f0..0000000 --- a/ui/aura/client/activation_delegate.cc +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ui/aura/client/activation_delegate.h" - -#include "ui/aura/client/aura_constants.h" -#include "ui/aura/window.h" - -namespace aura { - -// static -void ActivationDelegate::SetActivationDelegate(Window* window, - ActivationDelegate* delegate) { - window->SetProperty(kActivationDelegateKey, delegate); -} - -// static -ActivationDelegate* ActivationDelegate::GetActivationDelegate(Window* window) { - return reinterpret_cast<ActivationDelegate*>( - window->GetProperty(kActivationDelegateKey)); -} - -} // namespace aura diff --git a/ui/aura/client/activation_delegate.h b/ui/aura/client/activation_delegate.h deleted file mode 100644 index dd2933e..0000000 --- a/ui/aura/client/activation_delegate.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef UI_AURA_CLIENT_ACTIVATION_DELEGATE_H_ -#define UI_AURA_CLIENT_ACTIVATION_DELEGATE_H_ -#pragma once - -#include "ui/aura/aura_export.h" - -namespace aura { - -class Event; -class Window; - -// An interface implemented by an object that configures and responds to changes -// to a window's activation state. -class AURA_EXPORT ActivationDelegate { - public: - // Sets/Gets the ActivationDelegate on the Window. No ownership changes. - static void SetActivationDelegate(Window* window, - ActivationDelegate* delegate); - static ActivationDelegate* GetActivationDelegate(Window* window); - - // Returns true if the window should be activated. |event| is either the mouse - // event supplied if the activation is the result of a mouse, or the touch - // event if the activation is the result of a touch, or NULL if activation is - // attempted for another reason. - virtual bool ShouldActivate(Event* event) = 0; - - // Sent when the window is activated. - virtual void OnActivated() = 0; - - // Sent when the window loses active status. - virtual void OnLostActive() = 0; - - protected: - virtual ~ActivationDelegate() {} -}; - -} // namespace aura - -#endif // UI_AURA_CLIENT_ACTIVATION_DELEGATE_H_ diff --git a/ui/aura/client/aura_constants.cc b/ui/aura/client/aura_constants.cc index c1d0d6e..9536a1f 100644 --- a/ui/aura/client/aura_constants.cc +++ b/ui/aura/client/aura_constants.cc @@ -6,19 +6,14 @@ namespace aura { -// Alphabetical sort. -const char kActivationDelegateKey[] = "ActivationDelegate"; const char kAlwaysOnTopKey[] = "AlwaysOnTop"; -const char kDragDropDelegateKey[] = "DragDropDelegate"; -const char kModalKey[] = "Modal"; const char kRestoreBoundsKey[] = "RestoreBounds"; -const char kRootWindowDragDropClientKey[] = "RootWindowDragDropClient"; -const char kRootWindowTooltipClientKey[] = "RootWindowTooltipClient"; -const char kRootWindowActiveWindow[] = "RootWindowActiveWindow"; -const char kRootWindowActivationClient[] = "RootWindowActivationClient"; -const char kShadowTypeKey[] = "ShadowType"; const char kShowStateKey[] = "ShowState"; const char kTooltipTextKey[] = "TooltipText"; -// Alphabetical sort. +const char kModalKey[] = "Modal"; +const char kShadowTypeKey[] = "ShadowType"; +const char kRootWindowDragDropClientKey[] = "RootWindowDragDropClient"; +const char kDragDropDelegateKey[] = "DragDropDelegate"; +const char kRootWindowTooltipClientKey[] = "RootWindowTooltipClient"; } // namespace aura diff --git a/ui/aura/client/aura_constants.h b/ui/aura/client/aura_constants.h index f5f2920..c756396 100644 --- a/ui/aura/client/aura_constants.h +++ b/ui/aura/client/aura_constants.h @@ -9,47 +9,15 @@ #include "ui/aura/aura_export.h" namespace aura { - -// Alphabetical sort. - -// A property key to store the activation delegate for a window. The type of the -// value is |aura::ActivationDelegate*|. -AURA_EXPORT extern const char kActivationDelegateKey[]; +// Window property keys that are shared between aura_shell and chrome/views. // A property key to store always-on-top flag. The type of the value is boolean. AURA_EXPORT extern const char kAlwaysOnTopKey[]; -// A property key to store the drag and drop delegate for a window. The type of -// the value is |aura::WindowDragDropDelegate*|. -AURA_EXPORT extern const char kDragDropDelegateKey[]; - -// A property key to store the boolean property of window modality. -AURA_EXPORT extern const char kModalKey[]; - // A property key to store the restore bounds for a window. The type // of the value is |gfx::Rect*|. AURA_EXPORT extern const char kRestoreBoundsKey[]; -// A property key to store the drag and drop client for the root window. The -// type of the value is |aura::DragDropClient*|. -AURA_EXPORT extern const char kRootWindowDragDropClientKey[]; - -// A property key to store the tooltip client for the root window. The type of -// the value is |aura::TooltipClient*|. -AURA_EXPORT extern const char kRootWindowTooltipClientKey[]; - -// A property key to store what the client defines as the active window on the -// RootWindow. The type of the value is |aura::Window*|. -AURA_EXPORT extern const char kRootWindowActiveWindow[]; - -// A property key to store a client that handles window activation. The type of -// the value is |aura::ActivationClient*|. -AURA_EXPORT extern const char kRootWindowActivationClient[]; - -// A property key for a value from aura::ShadowType describing the drop shadow -// that should be displayed under the window. If unset, no shadow is displayed. -AURA_EXPORT extern const char kShadowTypeKey[]; - // A property key to store ui::WindowShowState for a window. // See ui/base/ui_base_types.h for its definition. AURA_EXPORT extern const char kShowStateKey[]; @@ -58,8 +26,24 @@ AURA_EXPORT extern const char kShowStateKey[]; // is |string16*|. AURA_EXPORT extern const char kTooltipTextKey[]; -// Alphabetical sort. +// A property key to store the boolean property of window modality. +AURA_EXPORT extern const char kModalKey[]; + +// A property key for a value from aura::ShadowType describing the drop shadow +// that should be displayed under the window. If unset, no shadow is displayed. +AURA_EXPORT extern const char kShadowTypeKey[]; + +// A property key to store the drag and drop client for the root window. The +// type of the value is |aura::DragDropClient*|. +AURA_EXPORT extern const char kRootWindowDragDropClientKey[]; + +// A property key to store the drag and drop delegate for a window. The type of +// the value is |aura::WindowDragDropDelegate*|. +AURA_EXPORT extern const char kDragDropDelegateKey[]; +// A property key to store the tooltip client for the root window. The type of +// the value is |aura::TooltipClient*|. +AURA_EXPORT extern const char kRootWindowTooltipClientKey[]; } // namespace aura #endif // UI_AURA_CLIENT_AURA_CONSTANTS_H_ diff --git a/ui/aura/client/stacking_client.h b/ui/aura/client/stacking_client.h index 6e89636..26d137b 100644 --- a/ui/aura/client/stacking_client.h +++ b/ui/aura/client/stacking_client.h @@ -21,6 +21,14 @@ class AURA_EXPORT StackingClient { // an opportunity to inspect the window and add it to a default parent window // of its choosing. virtual void AddChildToDefaultParent(Window* window) = 0; + + // Returns true if |window| can be activated or deactivated. + // A window manager typically defines some notion of "top level window" that + // supports activation/deactivation. + virtual bool CanActivateWindow(Window* window) const = 0; + + // Returns the window that should be activated other than |ignore|. + virtual Window* GetTopmostWindowToActivate(Window* ignore) const = 0; }; } // namespace aura |