| Index: chrome/browser/ui/views/bubble/bubble.h
|
| diff --git a/chrome/browser/ui/views/bubble/bubble.h b/chrome/browser/ui/views/bubble/bubble.h
|
| deleted file mode 100644
|
| index edbd745d7ef2c9e44ce7658b91284e2ec2b431a8..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/bubble/bubble.h
|
| +++ /dev/null
|
| @@ -1,269 +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 CHROME_BROWSER_UI_VIEWS_BUBBLE_BUBBLE_H_
|
| -#define CHROME_BROWSER_UI_VIEWS_BUBBLE_BUBBLE_H_
|
| -#pragma once
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/observer_list.h"
|
| -#include "ui/base/accelerators/accelerator.h"
|
| -#include "ui/base/animation/animation_delegate.h"
|
| -#include "ui/views/bubble/bubble_border.h"
|
| -#include "ui/views/view.h"
|
| -
|
| -#if defined(USE_AURA)
|
| -#include "ui/views/widget/native_widget_aura.h"
|
| -#elif defined(OS_WIN)
|
| -#include "ui/views/widget/native_widget_win.h"
|
| -#elif defined(TOOLKIT_USES_GTK)
|
| -#include "ui/views/widget/native_widget_gtk.h"
|
| -#endif
|
| -
|
| -// Bubble is used to display an arbitrary view above all other windows.
|
| -// Think of Bubble as a tooltip that allows you to embed an arbitrary view
|
| -// in the tooltip. Additionally the Bubble renders an arrow pointing at
|
| -// the region the info bubble is providing the information about.
|
| -//
|
| -// To use an Bubble, invoke Show() and it'll take care of the rest. The Bubble
|
| -// insets the contents for you, so the contents typically shouldn't have any
|
| -// additional margins.
|
| -
|
| -class BorderContents;
|
| -#if defined(OS_WIN) && !defined(USE_AURA)
|
| -class BorderWidgetWin;
|
| -#endif
|
| -class Bubble;
|
| -
|
| -namespace ui {
|
| -class SlideAnimation;
|
| -}
|
| -
|
| -namespace views {
|
| -class Widget;
|
| -}
|
| -
|
| -class BubbleDelegate {
|
| - public:
|
| - // Called after the Bubble has been shown.
|
| - virtual void BubbleShown() {}
|
| -
|
| - // Called when the Bubble is closing and is about to be deleted.
|
| - // |closed_by_escape| is true if the close is the result of the user pressing
|
| - // escape.
|
| - virtual void BubbleClosing(Bubble* bubble, bool closed_by_escape) = 0;
|
| -
|
| - // Whether the Bubble should be closed when the Esc key is pressed.
|
| - virtual bool CloseOnEscape() = 0;
|
| -
|
| - // Whether the Bubble should fade in when opening. When trying to determine
|
| - // whether to use FadeIn, consider whether the bubble is shown as a direct
|
| - // result of a user action or not. For example, if the bubble is being shown
|
| - // as a direct result of a mouse-click, we should not use FadeIn. However, if
|
| - // the bubble appears as a notification that something happened in the
|
| - // background, we use FadeIn.
|
| - virtual bool FadeInOnShow() = 0;
|
| -
|
| - // The name of the window to which this delegate belongs.
|
| - virtual string16 GetAccessibleName();
|
| -};
|
| -
|
| -// TODO(sky): this code is ifdef-tastic. It might be cleaner to refactor the
|
| -// WidgetFoo subclass into a separate class that calls into Bubble.
|
| -// That way Bubble has no (or very few) ifdefs.
|
| -class Bubble
|
| -#if defined(USE_AURA)
|
| - : public views::NativeWidgetAura,
|
| -#elif defined(OS_WIN)
|
| - : public views::NativeWidgetWin,
|
| -#elif defined(TOOLKIT_USES_GTK)
|
| - : public views::NativeWidgetGtk,
|
| -#endif
|
| - public ui::AcceleratorTarget,
|
| - public ui::AnimationDelegate {
|
| - public:
|
| - class Observer {
|
| - public:
|
| - // See BubbleDelegate::BubbleClosing for when this is called.
|
| - virtual void OnBubbleClosing() = 0;
|
| - };
|
| -
|
| - // Shows the Bubble.
|
| - // |parent| is set as the parent window.
|
| - // |contents| are the contents shown in the bubble.
|
| - // |position_relative_to| is a rect in screen coordinates at which the Bubble
|
| - // will point.
|
| - // Show() takes ownership of |contents| and deletes the created Bubble when
|
| - // another window is activated. You can explicitly close the bubble by
|
| - // invoking Close().
|
| - // |arrow_location| specifies preferred bubble alignment.
|
| - // You may provide an optional |delegate| to:
|
| - // - Be notified when the Bubble is closed.
|
| - // - Prevent the Bubble from being closed when the Escape key is
|
| - // pressed (the default behavior).
|
| - static Bubble* Show(views::Widget* parent,
|
| - const gfx::Rect& position_relative_to,
|
| - views::BubbleBorder::ArrowLocation arrow_location,
|
| - views::BubbleBorder::BubbleAlignment alignment,
|
| - views::View* contents,
|
| - BubbleDelegate* delegate);
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| - // Shows the Bubble without grabbing the focus. Doesn't set the Escape
|
| - // accelerator so user code is responsible for closing the bubble on pressing
|
| - // the Esc key. Others are the same as above. TYPE_POPUP widget is used
|
| - // to achieve the focusless effect. If |show_while_screen_is_locked| is true,
|
| - // a property is set telling the window manager to continue showing the bubble
|
| - // even while the screen is locked.
|
| - static Bubble* ShowFocusless(
|
| - views::Widget* parent,
|
| - const gfx::Rect& position_relative_to,
|
| - views::BubbleBorder::ArrowLocation arrow_location,
|
| - views::BubbleBorder::BubbleAlignment alignment,
|
| - views::View* contents,
|
| - BubbleDelegate* delegate,
|
| - bool show_while_screen_is_locked);
|
| -#endif
|
| -
|
| - // Resizes and potentially moves the Bubble to best accommodate the
|
| - // contents preferred size.
|
| - void SizeToContents();
|
| -
|
| - // Whether the Bubble should fade away when it closes. Generally speaking,
|
| - // we use FadeOut when the user selects something within the bubble that
|
| - // causes the bubble to dismiss. We don't use it when the bubble gets
|
| - // deactivated as a result of clicking outside the bubble.
|
| - void set_fade_away_on_close(bool fade_away_on_close) {
|
| - fade_away_on_close_ = fade_away_on_close;
|
| - }
|
| -
|
| - // Whether the Bubble should automatically close when it gets deactivated.
|
| - void set_close_on_deactivate(bool close_on_deactivate) {
|
| - close_on_deactivate_ = close_on_deactivate;
|
| - }
|
| -
|
| - // Overridden from NativeWidget:
|
| - virtual void Close() OVERRIDE;
|
| -
|
| - // Overridden from ui::AnimationDelegate:
|
| - virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE;
|
| - virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
|
| -
|
| -#ifdef UNIT_TEST
|
| - views::View* contents() const { return contents_; }
|
| -#endif
|
| -
|
| - void AddObserver(Observer* obs) {
|
| - observer_list_.AddObserver(obs);
|
| - }
|
| -
|
| - void RemoveObserver(Observer* obs) {
|
| - observer_list_.RemoveObserver(obs);
|
| - }
|
| -
|
| - static const SkColor kBackgroundColor;
|
| -
|
| - protected:
|
| - Bubble();
|
| -#if defined(OS_CHROMEOS)
|
| - Bubble(views::Widget::InitParams::Type type,
|
| - bool show_while_screen_is_locked);
|
| -#endif
|
| - virtual ~Bubble();
|
| -
|
| - // Creates the Bubble.
|
| - virtual void InitBubble(views::Widget* parent,
|
| - const gfx::Rect& position_relative_to,
|
| - views::BubbleBorder::ArrowLocation arrow_location,
|
| - views::BubbleBorder::BubbleAlignment alignment,
|
| - views::View* contents,
|
| - BubbleDelegate* delegate);
|
| -
|
| - // Instantiates and returns the BorderContents this Bubble should use.
|
| - // Subclasses can return their own BorderContents implementation.
|
| - virtual BorderContents* CreateBorderContents();
|
| -
|
| -#if defined(USE_AURA)
|
| - // Overridden from NativeWidgetAura:
|
| - virtual void OnLostActive() OVERRIDE;
|
| -#elif defined(OS_WIN)
|
| - // Overridden from NativeWidgetWin:
|
| - virtual void OnActivate(UINT action, BOOL minimized, HWND window) OVERRIDE;
|
| -#elif defined(TOOLKIT_USES_GTK)
|
| - // Overridden from NativeWidgetGtk:
|
| - virtual void OnActiveChanged() OVERRIDE;
|
| -#endif
|
| -
|
| -#if defined(OS_WIN) && !defined(USE_AURA)
|
| - // The window used to render the padding, border and arrow.
|
| - BorderWidgetWin* border_;
|
| -#else
|
| - // The view displaying the border.
|
| - BorderContents* border_contents_;
|
| -#endif
|
| -
|
| - private:
|
| - enum ShowStatus {
|
| - kOpen,
|
| - kClosing,
|
| - kClosed
|
| - };
|
| -
|
| - // Closes the window notifying the delegate. |closed_by_escape| is true if
|
| - // the close is the result of pressing escape.
|
| - void DoClose(bool closed_by_escape);
|
| -
|
| - // Animates to a visible state.
|
| - void FadeIn();
|
| - // Animates to a hidden state.
|
| - void FadeOut();
|
| -
|
| - // Animates to a visible/hidden state (visible if |fade_in| is true).
|
| - void Fade(bool fade_in);
|
| -
|
| - void RegisterEscapeAccelerator();
|
| - void UnregisterEscapeAccelerator();
|
| -
|
| - // Overridden from AcceleratorTarget:
|
| - virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) OVERRIDE;
|
| -
|
| - // The delegate, if any.
|
| - BubbleDelegate* delegate_;
|
| -
|
| - // The animation used to fade the bubble out.
|
| - scoped_ptr<ui::SlideAnimation> animation_;
|
| -
|
| - // The current visibility status of the bubble.
|
| - ShowStatus show_status_;
|
| -
|
| - // Whether to fade away when the bubble closes.
|
| - bool fade_away_on_close_;
|
| -
|
| - // Whether to close automatically when the bubble deactivates. Defaults to
|
| - // true.
|
| - bool close_on_deactivate_;
|
| -
|
| -#if defined(TOOLKIT_USES_GTK)
|
| - // Some callers want the bubble to be a child control instead of a window.
|
| - views::Widget::InitParams::Type type_;
|
| -#endif
|
| -#if defined(OS_CHROMEOS)
|
| - // Should we set a property telling the window manager to show this window
|
| - // onscreen even when the screen is locked?
|
| - bool show_while_screen_is_locked_;
|
| -#endif
|
| -
|
| - gfx::Rect position_relative_to_;
|
| - views::BubbleBorder::ArrowLocation arrow_location_;
|
| -
|
| - views::View* contents_;
|
| -
|
| - bool accelerator_registered_;
|
| -
|
| - ObserverList<Observer> observer_list_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(Bubble);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_UI_VIEWS_BUBBLE_BUBBLE_H_
|
|
|