Chromium Code Reviews| Index: views/bubble/bubble_delegate.h |
| diff --git a/views/bubble/bubble_delegate.h b/views/bubble/bubble_delegate.h |
| index 32cf0a459b6a5fd3cf7ab4e36f04c25a298b8a06..4885dff7bcdce0bb53633df8abdc082691ac80c7 100644 |
| --- a/views/bubble/bubble_delegate.h |
| +++ b/views/bubble/bubble_delegate.h |
| @@ -6,56 +6,47 @@ |
| #define VIEWS_BUBBLE_BUBBLE_DELEGATE_H_ |
| #pragma once |
| -#include <string> |
| - |
| #include "views/bubble/bubble_border.h" |
| -#include "views/view.h" |
| #include "views/widget/widget_delegate.h" |
| namespace views { |
| -class BubbleBorder; |
| + |
| class BubbleFrameView; |
| class BubbleView; |
| -class View; |
| -// BubbleDelegate interface to create bubble frame view and bubble client view. |
| +// BubbleDelegateView creates frame and client views for bubble Widgets. |
| +// BubbleDelegateView itself is the client's contents view. |
| // |
| /////////////////////////////////////////////////////////////////////////////// |
| -class VIEWS_EXPORT BubbleDelegate : public WidgetDelegate { |
| +class VIEWS_EXPORT BubbleDelegateView : public WidgetDelegateView { |
| public: |
| - virtual BubbleDelegate* AsBubbleDelegate() OVERRIDE; |
| - virtual ClientView* CreateClientView(Widget* widget) OVERRIDE; |
| - virtual NonClientFrameView* CreateNonClientFrameView() OVERRIDE; |
| + virtual ~BubbleDelegateView(); |
| - virtual SkColor GetFrameBackgroundColor() = 0; |
| - virtual gfx::Rect GetBounds() = 0; |
| - virtual BubbleBorder::ArrowLocation GetFrameArrowLocation() = 0; |
| + // Construct a Bubble Widget from the argument BubbleDelegateView. |
| + static Widget* ConstructBubble(BubbleDelegateView* bubble_delegate, |
| + Widget* parent_widget); |
| - const BubbleView* GetBubbleView() const; |
| - BubbleView* GetBubbleView(); |
| + // WidgetDelegate overrides: |
| + virtual View* GetContentsView() OVERRIDE { return this; } |
| + virtual ClientView* CreateClientView(Widget* widget) OVERRIDE; |
| + virtual NonClientFrameView* CreateNonClientFrameView() OVERRIDE; |
| - const BubbleFrameView* GetBubbleFrameView() const; |
| - BubbleFrameView* GetBubbleFrameView(); |
| + // Override Init to perform Contents View initialization for bubble sizing. |
| + virtual void Init() {} |
| - protected: |
| - virtual ~BubbleDelegate() {} |
| -}; |
| + // Get the arrow's target point in screen space. |
| + virtual gfx::Point GetArrowPoint() const; |
|
alicet1
2011/10/14 00:21:17
Is this the same as the anchor point? if so can it
|
| -// BubbleDelegateView to create bubble frame view and bubble client view. |
| -// |
| -/////////////////////////////////////////////////////////////////////////////// |
| -class VIEWS_EXPORT BubbleDelegateView : public BubbleDelegate, public View { |
| - public: |
| - explicit BubbleDelegateView(Widget* frame); |
| - virtual ~BubbleDelegateView(); |
| + // Get the arrow's location on the bubble. |
| + virtual BubbleBorder::ArrowLocation GetArrowLocation() const { |
| + return BubbleBorder::TOP_LEFT; |
| + } |
| - // Overridden from WidgetDelegate: |
| - virtual Widget* GetWidget() OVERRIDE; |
| - virtual const Widget* GetWidget() const OVERRIDE; |
| + // Get the color used for the background and border. |
| + virtual SkColor GetColor() const { return SK_ColorWHITE; } |
| - private: |
| - Widget* frame_; |
| - DISALLOW_COPY_AND_ASSIGN(BubbleDelegateView); |
| + BubbleView* GetBubbleView(); |
| + BubbleFrameView* GetBubbleFrameView(); |
| }; |
| } // namespace views |