Index: chrome/browser/ui/views/first_run_bubble_view_views.h |
diff --git a/chrome/browser/ui/views/first_run_bubble_view_views.h b/chrome/browser/ui/views/first_run_bubble_view_views.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f93613929bf2953dd389ad851112be807d5b928 |
--- /dev/null |
+++ b/chrome/browser/ui/views/first_run_bubble_view_views.h |
@@ -0,0 +1,199 @@ |
+// 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_FIRST_RUN_BUBBLE_VIEW_VIEWS_H_ |
+#define CHROME_BROWSER_UI_VIEWS_FIRST_RUN_BUBBLE_VIEW_VIEWS_H_ |
+#pragma once |
+ |
+#include "views/bubble/bubble_border.h" |
+#include "views/bubble/bubble_delegate.h" |
+#include "views/controls/button/button.h" |
+#include "views/controls/button/text_button.h" |
+#include "views/focus/focus_manager.h" |
+#include "views/widget/widget.h" |
+ |
+class Profile; |
+ |
+namespace views { |
+class ImageButton; |
+class Label; |
+class NativeTextButton; |
+}; |
+ |
+ |
+// FirstRunBubbleViewBase ------------------------------------------------------ |
+// Base class for implementations of the first run bubble views. |
+class FirstRunBubbleViewBase : public views::View, |
+ public views::ButtonListener, |
+ public views::FocusChangeListener { |
+ public: |
+ // Called by FirstRunBubble to request focus for the proper button |
+ // in the FirstRunBubbleView variants when it is shown. |
+ virtual void BubbleShown() = 0; |
+}; |
+ |
+// FirstRunBubbleViewViews ----------------------------------------------------- |
+class FirstRunBubbleViewViews : public views::BubbleDelegateView { |
+ public: |
+ FirstRunBubbleViewViews(Profile* profile, |
+ views::Widget* parent, |
+ const gfx::Rect& position_relative_to, |
+ views::BubbleBorder::ArrowLocation arrow_location); |
+ virtual ~FirstRunBubbleViewViews(); |
+ |
+ // view::BubbleDelegate: |
+ virtual SkColor GetFrameBackgroundColor(); |
+ virtual gfx::Rect GetBounds(); |
+ virtual views::BubbleBorder::ArrowLocation GetFrameArrowLocation(); |
+ virtual views::Widget* GetWidget() OVERRIDE; |
msw
2011/10/13 23:09:22
You shouldn't need to override GetWidget/GetConten
|
+ virtual const views::Widget* GetWidget() const OVERRIDE; |
+ virtual views::View* GetContentsView(); |
+ private: |
+ Profile* profile_; |
+ views::Widget* parent_; |
+ const gfx::Rect position_relative_to_; |
+ views::BubbleBorder::ArrowLocation arrow_location_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FirstRunBubbleViewViews); |
+}; |
+ |
+// FirstRunBubbleView ---------------------------------------------------------- |
+class FirstRunBubbleView : public FirstRunBubbleViewBase { |
+ public: |
+ FirstRunBubbleView(views::Widget* widget, Profile* profile); |
+ // FirstRunBubbleViewBase: |
+ virtual void BubbleShown(); |
+ |
+ private: |
+ virtual ~FirstRunBubbleView(); |
+ |
+ // Overridden from View: |
+ virtual void ButtonPressed(views::Button* sender, const views::Event& event); |
+ virtual void Layout(); |
+ virtual gfx::Size GetPreferredSize(); |
+ |
+ // FocusChangeListener: |
+ virtual void FocusWillChange(View* focused_before, View* focused_now); |
+ |
+ private: |
+ views::Widget* widget_; |
+ views::Label* label1_; |
+ views::Label* label2_; |
+ views::Label* label3_; |
+ views::NativeTextButton* change_button_; |
+ views::NativeTextButton* keep_button_; |
+ Profile* profile_; |
+ DISALLOW_COPY_AND_ASSIGN(FirstRunBubbleView); |
+}; |
+ |
+// FirstRunOEMBubbleViewViews -------------------------------------------------- |
+class FirstRunOEMBubbleViewViews : public views::BubbleDelegateView { |
+ public: |
+ FirstRunOEMBubbleViewViews(Profile* profile, |
+ views::Widget* parent, |
+ const gfx::Rect& position_relative_to, |
+ views::BubbleBorder::ArrowLocation arrow_location); |
+ virtual ~FirstRunOEMBubbleViewViews(); |
+ |
+ // view::BubbleDelegate: |
+ virtual SkColor GetFrameBackgroundColor(); |
+ virtual gfx::Rect GetBounds(); |
+ virtual views::BubbleBorder::ArrowLocation GetFrameArrowLocation(); |
+ virtual views::Widget* GetWidget() OVERRIDE; |
+ virtual const views::Widget* GetWidget() const OVERRIDE; |
+ virtual views::View* GetContentsView(); |
+ private: |
+ Profile* profile_; |
+ views::Widget* parent_; |
+ const gfx::Rect position_relative_to_; |
+ views::BubbleBorder::ArrowLocation arrow_location_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FirstRunOEMBubbleViewViews); |
+}; |
+ |
+// FirstRunOEMBubbleView ------------------------------------------------------ |
+ |
+class FirstRunOEMBubbleView : public FirstRunBubbleViewBase { |
+ public: |
+ FirstRunOEMBubbleView(views::Widget* widget, Profile* profile); |
+ |
+ // FirstRunBubbleViewBase: |
+ virtual void BubbleShown(); |
+ |
+ private: |
+ virtual ~FirstRunOEMBubbleView(); |
+ |
+ // Overridden from View: |
+ virtual void ButtonPressed(views::Button* sender, const views::Event& event); |
+ virtual void Layout(); |
+ virtual gfx::Size GetPreferredSize(); |
+ |
+ // FocusChangeListener: |
+ virtual void FocusWillChange(View* focused_before, View* focused_now); |
+ |
+ views::Widget* widget_; |
+ views::Label* label1_; |
+ views::Label* label2_; |
+ views::Label* label3_; |
+ views::ImageButton* close_button_; |
+ Profile* profile_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FirstRunOEMBubbleView); |
+}; |
+ |
+// FirstRunMinimalBubbleViewViews ---------------------------------------------- |
+class FirstRunMinimalBubbleViewViews : public views::BubbleDelegateView { |
+ public: |
+ FirstRunMinimalBubbleViewViews( |
+ Profile* profile, |
+ views::Widget* parent, |
+ const gfx::Rect& position_relative_to, |
+ views::BubbleBorder::ArrowLocation arrow_location); |
+ virtual ~FirstRunMinimalBubbleViewViews(); |
+ |
+ // view::BubbleDelegate: |
+ virtual SkColor GetFrameBackgroundColor(); |
+ virtual gfx::Rect GetBounds(); |
+ virtual views::BubbleBorder::ArrowLocation GetFrameArrowLocation(); |
+ virtual views::Widget* GetWidget() OVERRIDE; |
+ virtual const views::Widget* GetWidget() const OVERRIDE; |
+ virtual views::View* GetContentsView(); |
+ private: |
+ Profile* profile_; |
+ views::Widget* parent_; |
+ const gfx::Rect position_relative_to_; |
+ views::BubbleBorder::ArrowLocation arrow_location_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FirstRunMinimalBubbleViewViews); |
+}; |
+ |
+// FirstRunMinimalBubbleView -------------------------------------------------- |
+class FirstRunMinimalBubbleView : public FirstRunBubbleViewBase { |
+ public: |
+ FirstRunMinimalBubbleView(views::Widget* widget, Profile* profile); |
+ |
+ // FirstRunBubbleViewBase: |
+ virtual void BubbleShown(); |
+ |
+ private: |
+ virtual ~FirstRunMinimalBubbleView(); |
+ |
+ // Overridden from View: |
+ virtual void ButtonPressed(views::Button* sender, |
+ const views::Event& event) { } |
+ virtual void Layout(); |
+ virtual gfx::Size GetPreferredSize(); |
+ |
+ // FocusChangeListener: |
+ virtual void FocusWillChange(View* focused_before, View* focused_now); |
+ |
+ views::Widget* widget_; |
+ views::Label* label1_; |
+ views::Label* label2_; |
+ Profile* profile_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FirstRunMinimalBubbleView); |
+}; |
+ |
+#endif // CHROME_BROWSER_UI_VIEWS_FIRST_RUN_BUBBLE_VIEW_VIEWS_H_ |