Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: ash/shell/app_list.cc

Issue 10388032: Move app list from ash to ui. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: fix nits in #3 Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "ash/app_list/app_list_item_model.h"
6 #include "ash/app_list/app_list_item_view.h"
7 #include "ash/app_list/app_list_model.h"
8 #include "ash/app_list/app_list_view.h"
9 #include "ash/app_list/app_list_view_delegate.h"
10 #include "ash/shell.h" 5 #include "ash/shell.h"
11 #include "ash/shell_delegate.h" 6 #include "ash/shell_delegate.h"
12 #include "ash/shell/example_factory.h" 7 #include "ash/shell/example_factory.h"
13 #include "ash/shell/toplevel_window.h" 8 #include "ash/shell/toplevel_window.h"
14 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "ui/app_list/app_list_item_model.h"
11 #include "ui/app_list/app_list_item_view.h"
12 #include "ui/app_list/app_list_model.h"
13 #include "ui/app_list/app_list_view.h"
14 #include "ui/app_list/app_list_view_delegate.h"
15 #include "ui/views/examples/examples_window.h" 15 #include "ui/views/examples/examples_window.h"
16 16
17 namespace ash { 17 namespace ash {
18 namespace shell { 18 namespace shell {
19 19
20 namespace { 20 namespace {
21 21
22 class WindowTypeLauncherItem : public ash::AppListItemModel { 22 class WindowTypeLauncherItem : public app_list::AppListItemModel {
23 public: 23 public:
24 enum Type { 24 enum Type {
25 TOPLEVEL_WINDOW = 0, 25 TOPLEVEL_WINDOW = 0,
26 NON_RESIZABLE_WINDOW, 26 NON_RESIZABLE_WINDOW,
27 LOCK_SCREEN, 27 LOCK_SCREEN,
28 WIDGETS_WINDOW, 28 WIDGETS_WINDOW,
29 EXAMPLES_WINDOW, 29 EXAMPLES_WINDOW,
30 LAST_TYPE, 30 LAST_TYPE,
31 }; 31 };
32 32
33 WindowTypeLauncherItem(Type type) : type_(type) { 33 explicit WindowTypeLauncherItem(Type type) : type_(type) {
34 SetIcon(GetIcon(type)); 34 SetIcon(GetIcon(type));
35 SetTitle(GetTitle(type)); 35 SetTitle(GetTitle(type));
36 } 36 }
37 37
38 static SkBitmap GetIcon(Type type) { 38 static SkBitmap GetIcon(Type type) {
39 static const SkColor kColors[] = { 39 static const SkColor kColors[] = {
40 SK_ColorRED, 40 SK_ColorRED,
41 SK_ColorGREEN, 41 SK_ColorGREEN,
42 SK_ColorBLUE, 42 SK_ColorBLUE,
43 SK_ColorYELLOW, 43 SK_ColorYELLOW,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 break; 101 break;
102 } 102 }
103 } 103 }
104 104
105 private: 105 private:
106 Type type_; 106 Type type_;
107 107
108 DISALLOW_COPY_AND_ASSIGN(WindowTypeLauncherItem); 108 DISALLOW_COPY_AND_ASSIGN(WindowTypeLauncherItem);
109 }; 109 };
110 110
111 class ExampleAppListViewDelegate : public ash::AppListViewDelegate { 111 class ExampleAppListViewDelegate : public app_list::AppListViewDelegate {
112 public: 112 public:
113 ExampleAppListViewDelegate() : model_(NULL) {} 113 ExampleAppListViewDelegate() : model_(NULL) {}
114 114
115 private: 115 private:
116 // Overridden from ash::AppListViewDelegate: 116 // Overridden from ash::AppListViewDelegate:
117 virtual void SetModel(AppListModel* model) OVERRIDE { 117 virtual void SetModel(app_list::AppListModel* model) OVERRIDE {
118 model_ = model; 118 model_ = model;
119 } 119 }
120 120
121 virtual void UpdateModel(const std::string& query) OVERRIDE { 121 virtual void UpdateModel(const std::string& query) OVERRIDE {
122 DCHECK(model_ && model_->item_count() == 0); 122 DCHECK(model_ && model_->item_count() == 0);
123 123
124 for (int i = 0; 124 for (int i = 0;
125 i < static_cast<int>(WindowTypeLauncherItem::LAST_TYPE); 125 i < static_cast<int>(WindowTypeLauncherItem::LAST_TYPE);
126 ++i) { 126 ++i) {
127 WindowTypeLauncherItem::Type type = 127 WindowTypeLauncherItem::Type type =
128 static_cast<WindowTypeLauncherItem::Type>(i); 128 static_cast<WindowTypeLauncherItem::Type>(i);
129 129
130 std::string title = WindowTypeLauncherItem::GetTitle(type); 130 std::string title = WindowTypeLauncherItem::GetTitle(type);
131 if (title.find(query) != std::string::npos) 131 if (title.find(query) != std::string::npos)
132 model_->AddItem(new WindowTypeLauncherItem(type)); 132 model_->AddItem(new WindowTypeLauncherItem(type));
133 } 133 }
134 } 134 }
135 135
136 virtual void OnAppListItemActivated(ash::AppListItemModel* item, 136 virtual void OnAppListItemActivated(app_list::AppListItemModel* item,
137 int event_flags) OVERRIDE { 137 int event_flags) OVERRIDE {
138 static_cast<WindowTypeLauncherItem*>(item)->Activate(event_flags); 138 static_cast<WindowTypeLauncherItem*>(item)->Activate(event_flags);
139 } 139 }
140 140
141 AppListModel* model_; 141 virtual void Close() OVERRIDE {
142 DCHECK(ash::Shell::HasInstance());
143 if (Shell::GetInstance()->GetAppListTargetVisibility())
144 Shell::GetInstance()->ToggleAppList();
145 }
146
147 app_list::AppListModel* model_;
142 148
143 DISALLOW_COPY_AND_ASSIGN(ExampleAppListViewDelegate); 149 DISALLOW_COPY_AND_ASSIGN(ExampleAppListViewDelegate);
144 }; 150 };
145 151
146 } // namespace 152 } // namespace
147 153
148 ash::AppListViewDelegate* CreateAppListViewDelegate() { 154 app_list::AppListViewDelegate* CreateAppListViewDelegate() {
149 return new ExampleAppListViewDelegate; 155 return new ExampleAppListViewDelegate;
150 } 156 }
151 157
152 } // namespace shell 158 } // namespace shell
153 } // namespace ash 159 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shell.cc ('k') | ash/shell/example_factory.h » ('j') | ash/wm/app_list_controller.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698