blob: e2ee64e37fd5101b4d5c9455339844190b12fc18 [file] [log] [blame]
// Copyright 2017 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_VIEWS_SEARCH_RESULT_ANSWER_CARD_VIEW_H_
#define UI_APP_LIST_VIEWS_SEARCH_RESULT_ANSWER_CARD_VIEW_H_
#include "ui/app_list/views/search_result_container_view.h"
namespace app_list {
class AppListViewDelegate;
// Result container for the search answer card.
class APP_LIST_EXPORT SearchResultAnswerCardView
: public SearchResultContainerView {
public:
explicit SearchResultAnswerCardView(AppListViewDelegate* view_delegate);
~SearchResultAnswerCardView() override;
// Overridden from views::View:
const char* GetClassName() const override;
// Overridden from SearchResultContainerView:
void OnContainerSelected(bool from_bottom,
bool directional_movement) override;
void NotifyFirstResultYIndex(int y_index) override {}
int GetYSize() override;
int DoUpdate() override;
void UpdateSelectedIndex(int old_selected, int new_selected) override;
bool OnKeyPressed(const ui::KeyEvent& event) override;
views::View* GetSelectedView() const override;
views::View* SetFirstResultSelected(bool selected) override;
private:
class SearchAnswerContainerView;
// Pointer to the container of the search answer; owned by the view hierarchy.
// It's visible iff we have a search answer result.
SearchAnswerContainerView* const search_answer_container_view_;
DISALLOW_COPY_AND_ASSIGN(SearchResultAnswerCardView);
};
} // namespace app_list
#endif // UI_APP_LIST_VIEWS_SEARCH_RESULT_ANSWER_CARD_VIEW_H_