app_list_view_delegate.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_VIEW_DELEGATE_H_
6#define CHROME_BROWSER_UI_APP_LIST_APP_LIST_VIEW_DELEGATE_H_
7
8#include <string>
9
10#include "base/basictypes.h"
11#include "base/compiler_specific.h"
12#include "base/memory/scoped_ptr.h"
13#include "chrome/browser/ui/app_list/app_list_controller.h"
14#include "ui/app_list/app_list_view_delegate.h"
15
16class AppsModelBuilder;
17class SearchBuilder;
18
19#if defined(USE_ASH)
20class AppSyncUIStateWatcher;
21#endif
22
23class AppListViewDelegate : public app_list::AppListViewDelegate {
24 public:
25  // The delegate will take ownership of the controller.
26  explicit AppListViewDelegate(AppListControllerDelegate* controller);
27  virtual ~AppListViewDelegate();
28
29 private:
30  // Overridden from app_list::AppListViewDelegate:
31  virtual void SetModel(app_list::AppListModel* model) OVERRIDE;
32  virtual void ActivateAppListItem(app_list::AppListItemModel* item,
33                                   int event_flags) OVERRIDE;
34  virtual void StartSearch() OVERRIDE;
35  virtual void StopSearch() OVERRIDE;
36  virtual void OpenSearchResult(const app_list::SearchResult& result,
37                                int event_flags) OVERRIDE;
38  virtual void InvokeSearchResultAction(const app_list::SearchResult& result,
39                                        int action_index,
40                                        int event_flags) OVERRIDE;
41  virtual void Close() OVERRIDE;
42  virtual void ViewClosing() OVERRIDE;
43  virtual void ViewActivationChanged(bool active) OVERRIDE;
44
45  scoped_ptr<AppsModelBuilder> apps_builder_;
46  scoped_ptr<SearchBuilder> search_builder_;
47  scoped_ptr<AppListControllerDelegate> controller_;
48
49#if defined(USE_ASH)
50  scoped_ptr<AppSyncUIStateWatcher> app_sync_ui_state_watcher_;
51#endif
52
53  DISALLOW_COPY_AND_ASSIGN(AppListViewDelegate);
54};
55
56#endif  // CHROME_BROWSER_UI_APP_LIST_APP_LIST_VIEW_DELEGATE_H_
57