From ef59e6c4064973e58c923fbcfb51e68911cff8d8 Mon Sep 17 00:00:00 2001 From: "xiyuan@chromium.org" Date: Fri, 25 May 2012 00:16:17 +0000 Subject: app_list: Add search box and search result view for v2. - Add a SearchBoxModel that represents search box's icon, placeholder text, user typed text and selection model (current selection and cursor position); - Add a SearchBoxView that displays SearchBoxModel and observes SearchBoxModel changes via SearchBoxModelObserver; When user typed/changed text in search box, the view also fires query changed notification to its SearchBoxViewDelegate; - Add a SearchResult that carries an icon, two tagged texts; - Add a SearchResultView that displays a SearchResult; - Change AppListModel to be a master model that has three sub models: apps list, search box and search results; - Add a SearchResultListView that display search results sub model of AppListModel using a list of SeachResultView; The view supports up/down key navigation and when user selects a result via mouse click or enter key, it asks its SearchResultListViewDelegate to OpenResult; - Update AppListViewDelegate: - Add new methods: StartSearch, StopSearch and OpenResult; - Deleted no-longer needed UpdateModel method; - Rename OnAppListItemActivated -> ActivateAppListItem; - Update ash_shell's app_list to support a simple substr match search; - Add a SearchBuilder that implements the search via AutoCompleteController; - Other changes: - Rename AppListModelBuilder -> AppsModelBuilder; - Rename AppListModelView -> AppsGridView; BUG=125964 TEST=Manual. In ash_shell, it searches the 5 example apps. In ash/chrome, it should show similar results as omnibox. Review URL: https://chromiumcodereview.appspot.com/10386224 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138938 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/app_list/search_box_model_observer.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 ui/app_list/search_box_model_observer.h (limited to 'ui/app_list/search_box_model_observer.h') diff --git a/ui/app_list/search_box_model_observer.h b/ui/app_list/search_box_model_observer.h new file mode 100644 index 0000000..0393ade --- /dev/null +++ b/ui/app_list/search_box_model_observer.h @@ -0,0 +1,33 @@ +// 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_BOX_MODEL_OBSERVER_H_ +#define UI_APP_LIST_SEARCH_BOX_MODEL_OBSERVER_H_ +#pragma once + +#include "ui/app_list/app_list_export.h" + +namespace app_list { + +class APP_LIST_EXPORT SearchBoxModelObserver { + public: + // Invoked when icon is changed. + virtual void IconChanged() = 0; + + // Invoked when hint text is changed. + virtual void HintTextChanged() = 0; + + // Invoked when selection model is changed. + virtual void SelectionModelChanged() = 0; + + // Invoked when text is changed. + virtual void TextChanged() = 0; + + protected: + virtual ~SearchBoxModelObserver() {} +}; + +} // namespace app_list + +#endif // UI_APP_LIST_SEARCH_BOX_MODEL_OBSERVER_H_ -- cgit v1.1