[go: nahoru, domu]

blob: 614973370f465966646c3a208bfec92284a7f421 [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.
#include "ash/app_list/model/search/search_result.h"
#include <map>
#include "ash/app_list/model/search/search_result_observer.h"
#include "ui/base/models/image_model.h"
#include "ui/base/models/menu_model.h"
namespace ash {
SearchResult::SearchResult()
: metadata_(std::make_unique<SearchResultMetadata>()) {}
SearchResult::~SearchResult() {
for (auto& observer : observers_)
observer.OnResultDestroying();
}
void SearchResult::SetMetadata(std::unique_ptr<SearchResultMetadata> metadata) {
metadata_ = std::move(metadata);
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::SetIcon(const gfx::ImageSkia& icon) {
metadata_->icon = icon;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::SetChipIcon(const gfx::ImageSkia& chip_icon) {
metadata_->chip_icon = chip_icon;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::set_title(const std::u16string& title) {
metadata_->title = title;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::SetBadgeIcon(const ui::ImageModel& badge_icon) {
metadata_->badge_icon = badge_icon;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::SetRating(float rating) {
metadata_->rating = rating;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::SetFormattedPrice(const std::u16string& formatted_price) {
metadata_->formatted_price = formatted_price;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::SetActions(const Actions& sets) {
metadata_->actions = sets;
for (auto& observer : observers_)
observer.OnMetadataChanged();
}
void SearchResult::AddObserver(SearchResultObserver* observer) {
observers_.AddObserver(observer);
}
void SearchResult::RemoveObserver(SearchResultObserver* observer) {
observers_.RemoveObserver(observer);
}
void SearchResult::Open(int event_flags) {}
void SearchResult::InvokeAction(int action_index, int event_flags) {}
} // namespace ash