146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef ATHENA_HOME_APP_LIST_VIEW_DELEGATE_H_ 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define ATHENA_HOME_APP_LIST_VIEW_DELEGATE_H_ 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/macros.h" 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "ui/app_list/app_list_view_delegate.h" 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace app_list { 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class SearchProvider; 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace athena { 17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class AppModelBuilder; 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class AppListViewDelegate : public app_list::AppListViewDelegate { 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) explicit AppListViewDelegate(AppModelBuilder* model_builder); 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual ~AppListViewDelegate(); 2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) void RegisterSearchProvider(app_list::SearchProvider* search_provider); 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) private: 27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) void SearchResultChanged(); 2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // Overridden from app_list::AppListViewDelegate: 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool ForceNativeDesktop() const OVERRIDE; 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void SetProfileByPath(const base::FilePath& profile_path) OVERRIDE; 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual app_list::AppListModel* GetModel() OVERRIDE; 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual app_list::SpeechUIModel* GetSpeechUI() OVERRIDE; 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void GetShortcutPathForApp( 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& app_id, 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const base::Callback<void(const base::FilePath&)>& callback) OVERRIDE; 3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void StartSearch() OVERRIDE; 3846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void StopSearch() OVERRIDE; 3946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OpenSearchResult(app_list::SearchResult* result, 4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) bool auto_launch, 4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) int event_flags) OVERRIDE; 4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void InvokeSearchResultAction(app_list::SearchResult* result, 4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) int action_index, 4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) int event_flags) OVERRIDE; 4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual base::TimeDelta GetAutoLaunchTimeout() OVERRIDE; 4646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void AutoLaunchCanceled() OVERRIDE; 4746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void ViewInitialized() OVERRIDE; 4846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void Dismiss() OVERRIDE; 4946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void ViewClosing() OVERRIDE; 5046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual gfx::ImageSkia GetWindowIcon() OVERRIDE; 5146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OpenSettings() OVERRIDE; 5246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OpenHelp() OVERRIDE; 5346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OpenFeedback() OVERRIDE; 5446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void ToggleSpeechRecognition() OVERRIDE; 5546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void ShowForProfileByPath( 5646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const base::FilePath& profile_path) OVERRIDE; 5746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual views::View* CreateStartPageWebView(const gfx::Size& size) OVERRIDE; 586e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual std::vector<views::View*> CreateCustomPageWebViews( 596e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const gfx::Size& size) OVERRIDE; 6046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool IsSpeechRecognitionEnabled() OVERRIDE; 6146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual const Users& GetUsers() const OVERRIDE; 6246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual bool ShouldCenterWindow() const OVERRIDE; 6346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 6446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) scoped_ptr<app_list::AppListModel> model_; 6546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) scoped_ptr<app_list::SpeechUIModel> speech_ui_; 6646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) Users users_; 6746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 68f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) std::vector<app_list::SearchProvider*> search_providers_; 69f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 7046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(AppListViewDelegate); 7146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 7246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace athena 7446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 7546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // ATHENA_HOME_APP_LIST_VIEW_DELEGATE_H_ 76