1// Copyright 2013 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 UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_ 6#define UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_ 7 8#include "ui/app_list/app_list_export.h" 9 10namespace app_list { 11 12class SearchResult; 13 14class APP_LIST_EXPORT SearchResultListViewDelegate { 15 public: 16 // Invoked to open given |result|. |event_flags| contains the flags of the 17 // keyboard/mouse event that triggers the "open" request. Delegate could use 18 // the |event_flags| information to choose different ways to open the result. 19 virtual void OpenResult(SearchResult* result, 20 int event_flags) = 0; 21 22 // Called to invoke a custom action on |result|. |action_index| corresponds 23 // to the index of the icon in |result.action_icons()| that was activated. 24 virtual void InvokeResultAction(SearchResult* result, 25 int action_index, 26 int event_flags) = 0; 27 28 // Called when the app represented by |result| is installed. 29 virtual void OnResultInstalled(SearchResult* result) = 0; 30 31 // Called when the app represented by |result| is uninstalled. 32 virtual void OnResultUninstalled(SearchResult* result) = 0; 33 34 protected: 35 virtual ~SearchResultListViewDelegate() {} 36}; 37 38} // namespace app_list 39 40#endif // UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_ 41