This source file includes following definitions.
- off_tooltip
- SetIcon
- SetSpeechRecognitionButton
- SetHintText
- SetSelectionModel
- SetText
- AddObserver
- RemoveObserver
#include "ui/app_list/search_box_model.h"
#include "base/metrics/histogram.h"
#include "ui/app_list/search_box_model_observer.h"
namespace app_list {
SearchBoxModel::SpeechButtonProperty::SpeechButtonProperty(
const gfx::ImageSkia& on_icon,
const base::string16& on_tooltip,
const gfx::ImageSkia& off_icon,
const base::string16& off_tooltip)
: on_icon(on_icon),
on_tooltip(on_tooltip),
off_icon(off_icon),
off_tooltip(off_tooltip) {
}
SearchBoxModel::SpeechButtonProperty::~SpeechButtonProperty() {
}
SearchBoxModel::SearchBoxModel() {
}
SearchBoxModel::~SearchBoxModel() {
}
void SearchBoxModel::SetIcon(const gfx::ImageSkia& icon) {
icon_ = icon;
FOR_EACH_OBSERVER(SearchBoxModelObserver, observers_, IconChanged());
}
void SearchBoxModel::SetSpeechRecognitionButton(
scoped_ptr<SearchBoxModel::SpeechButtonProperty> speech_button) {
speech_button_ = speech_button.Pass();
FOR_EACH_OBSERVER(SearchBoxModelObserver,
observers_,
SpeechRecognitionButtonPropChanged());
}
void SearchBoxModel::SetHintText(const base::string16& hint_text) {
if (hint_text_ == hint_text)
return;
hint_text_ = hint_text;
FOR_EACH_OBSERVER(SearchBoxModelObserver, observers_, HintTextChanged());
}
void SearchBoxModel::SetSelectionModel(const gfx::SelectionModel& sel) {
if (selection_model_ == sel)
return;
selection_model_ = sel;
FOR_EACH_OBSERVER(SearchBoxModelObserver,
observers_,
SelectionModelChanged());
}
void SearchBoxModel::SetText(const base::string16& text) {
if (text_ == text)
return;
if (text_.empty() && !text.empty()) {
UMA_HISTOGRAM_ENUMERATION("Apps.AppListSearchCommenced", 1, 2);
}
text_ = text;
FOR_EACH_OBSERVER(SearchBoxModelObserver, observers_, TextChanged());
}
void SearchBoxModel::AddObserver(SearchBoxModelObserver* observer) {
observers_.AddObserver(observer);
}
void SearchBoxModel::RemoveObserver(SearchBoxModelObserver* observer) {
observers_.RemoveObserver(observer);
}
}