OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ |
7 | 7 |
8 #include "ui/views/controls/button/button.h" | 8 #include "ui/views/controls/button/button.h" |
9 #include "ui/views/widget/widget_delegate.h" | 9 #include "ui/views/window/dialog_delegate.h" |
10 | 10 |
11 class AppListControllerDelegate; | 11 class AppListControllerDelegate; |
12 | 12 |
13 namespace views { | 13 namespace views { |
14 class LabelButton; | 14 class LabelButton; |
15 class Widget; | 15 class Widget; |
16 } | 16 } |
17 | 17 |
18 // The contents view for an App List Dialog, which covers the entire app list | 18 // The contents view for an App List Dialog, which covers the entire app list |
19 // and adds a close button. | 19 // and adds a close button. |
20 class AppListDialogContentsView : public views::WidgetDelegateView, | 20 class AppListDialogContentsView : public views::DialogDelegateView, |
21 public views::ButtonListener { | 21 public views::ButtonListener { |
22 public: | 22 public: |
23 AppListDialogContentsView( | 23 AppListDialogContentsView( |
24 AppListControllerDelegate* app_list_controller_delegate, | 24 AppListControllerDelegate* app_list_controller_delegate, |
25 views::View* dialog_body); | 25 views::View* dialog_body); |
26 virtual ~AppListDialogContentsView(); | 26 virtual ~AppListDialogContentsView(); |
27 | 27 |
28 // Create a |dialog| window Widget with the specified |parent|. The dialog | 28 // Create a |dialog| window Widget with the specified |parent|. The dialog |
29 // will be resized to fill the body of the app list. | 29 // will be resized to fill the body of the app list. |
30 static views::Widget* CreateDialogWidget(gfx::NativeWindow parent, | 30 static views::Widget* CreateDialogWidget(gfx::NativeWindow parent, |
(...skipping 10 matching lines...) Expand all Loading... |
41 virtual views::NonClientFrameView* CreateNonClientFrameView( | 41 virtual views::NonClientFrameView* CreateNonClientFrameView( |
42 views::Widget* widget) OVERRIDE; | 42 views::Widget* widget) OVERRIDE; |
43 | 43 |
44 // Overridden from views::ButtonListener: | 44 // Overridden from views::ButtonListener: |
45 virtual void ButtonPressed(views::Button* sender, | 45 virtual void ButtonPressed(views::Button* sender, |
46 const ui::Event& event) OVERRIDE; | 46 const ui::Event& event) OVERRIDE; |
47 | 47 |
48 protected: | 48 protected: |
49 // Overridden from views::WidgetDelegate: | 49 // Overridden from views::WidgetDelegate: |
50 virtual ui::ModalType GetModalType() const OVERRIDE; | 50 virtual ui::ModalType GetModalType() const OVERRIDE; |
51 virtual ui::AXRole GetAccessibleWindowRole() const OVERRIDE; | |
52 virtual void WindowClosing() OVERRIDE; | 51 virtual void WindowClosing() OVERRIDE; |
53 | 52 |
54 private: | 53 private: |
55 // Weak. Owned by the AppListService singleton. | 54 // Weak. Owned by the AppListService singleton. |
56 AppListControllerDelegate* app_list_controller_delegate_; | 55 AppListControllerDelegate* app_list_controller_delegate_; |
57 | 56 |
58 views::View* dialog_body_; | 57 views::View* dialog_body_; |
59 views::LabelButton* close_button_; | 58 views::LabelButton* close_button_; |
60 | 59 |
61 DISALLOW_COPY_AND_ASSIGN(AppListDialogContentsView); | 60 DISALLOW_COPY_AND_ASSIGN(AppListDialogContentsView); |
62 }; | 61 }; |
63 | 62 |
64 #endif // CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ | 63 #endif // CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ |
OLD | NEW |