Home | History | Annotate | Download | only in app_list
      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