Index: chrome/browser/ui/views/app_list/app_list_dialog_contents_view.h |
diff --git a/chrome/browser/ui/views/app_list/app_list_dialog_contents_view.h b/chrome/browser/ui/views/app_list/app_list_dialog_contents_view.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3c20f4f3ea9d28860be61e47bde10bced627bcb0 |
--- /dev/null |
+++ b/chrome/browser/ui/views/app_list/app_list_dialog_contents_view.h |
@@ -0,0 +1,55 @@ |
+// Copyright 2014 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_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ |
+#define CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ |
+ |
+#include "ui/gfx/native_widget_types.h" |
+#include "ui/views/controls/button/button.h" |
+#include "ui/views/widget/widget_delegate.h" |
+ |
+namespace views { |
+class LabelButton; |
+class Widget; |
+} |
+ |
+// The contents view for an App List Dialog, which covers the entire app list |
+// and adds a close button. |
+class AppListDialogContentsView : public views::WidgetDelegateView, |
+ public views::ButtonListener { |
+ public: |
+ AppListDialogContentsView(); |
+ virtual ~AppListDialogContentsView(); |
+ |
+ // Create a |dialog| window Widget with the specified |parent|. The dialog |
+ // will be resized to fill the body of the app list. |
+ static views::Widget* CreateDialogWidget(AppListDialogContentsView* dialog, |
+ gfx::NativeView parent); |
+ |
+ // Overridden from views::View: |
+ virtual void Layout() OVERRIDE; |
+ |
+ // Overridden from views::WidgetDelegate: |
+ virtual views::View* GetInitiallyFocusedView() OVERRIDE; |
+ virtual views::View* GetContentsView() OVERRIDE; |
+ virtual views::ClientView* CreateClientView(views::Widget* widget) OVERRIDE; |
+ virtual views::NonClientFrameView* CreateNonClientFrameView( |
+ views::Widget* widget) OVERRIDE; |
+ |
+ // Overridden from views::ButtonListener: |
+ virtual void ButtonPressed(views::Button* sender, |
+ const ui::Event& event) OVERRIDE; |
+ |
+ protected: |
+ // Overridden from views::WidgetDelegate: |
+ virtual ui::ModalType GetModalType() const OVERRIDE; |
+ virtual ui::AXRole GetAccessibleWindowRole() const OVERRIDE; |
+ |
+ private: |
+ views::LabelButton* close_button_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AppListDialogContentsView); |
+}; |
+ |
+#endif // CHROME_BROWSER_UI_VIEWS_APP_LIST_APP_LIST_DIALOG_CONTENTS_VIEW_H_ |