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 UI_APP_LIST_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_ 6 #define UI_APP_LIST_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_ 7 8 #include "ui/app_list/app_list_export.h" 9 10 namespace app_list { 11 12 class SearchResult; 13 14 class 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_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_ 41