blob: e45ac4b3bc7c9275ff1b6ae400c8682dea78be7d [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_APP_LIST_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_
#define UI_APP_LIST_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_
#include "ui/app_list/app_list_export.h"
namespace app_list {
class SearchResult;
class APP_LIST_EXPORT SearchResultListViewDelegate {
public:
// Invoked to open given |result|. |event_flags| contains the flags of the
// keyboard/mouse event that triggers the "open" request. Delegate could use
// the |event_flags| information to choose different ways to open the result.
virtual void OpenResult(SearchResult* result,
int event_flags) = 0;
// Called to invoke a custom action on |result|. |action_index| corresponds
// to the index of the icon in |result.action_icons()| that was activated.
virtual void InvokeResultAction(SearchResult* result,
int action_index,
int event_flags) = 0;
// Called when the app represented by |result| is installed.
virtual void OnResultInstalled(SearchResult* result) = 0;
// Called when the app represented by |result| is uninstalled.
virtual void OnResultUninstalled(SearchResult* result) = 0;
protected:
virtual ~SearchResultListViewDelegate() {}
};
} // namespace app_list
#endif // UI_APP_LIST_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_