Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: ui/app_list/views/start_page_view.h

Issue 439703002: Allow app list tiles to show search results in the experimental app list. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/app_list/views/start_page_view.h
diff --git a/ui/app_list/views/start_page_view.h b/ui/app_list/views/start_page_view.h
index b429f8b7fd9979e1246f819d69224ff129986d59..901b6ee7d5544929c96b71d6cbe716c2b0a5c085 100644
--- a/ui/app_list/views/start_page_view.h
+++ b/ui/app_list/views/start_page_view.h
@@ -6,24 +6,25 @@
#define UI_APP_LIST_VIEWS_START_PAGE_VIEW_H_
#include "base/basictypes.h"
-#include "ui/app_list/app_list_model_observer.h"
+#include "base/memory/weak_ptr.h"
+#include "ui/app_list/app_list_model.h"
#include "ui/app_list/app_list_view_delegate_observer.h"
#include "ui/app_list/views/search_box_view_delegate.h"
+#include "ui/base/models/list_model_observer.h"
#include "ui/views/view.h"
namespace app_list {
class AppListMainView;
-class AppListModel;
class AppListViewDelegate;
class SearchResultListView;
class TileItemView;
// The start page for the experimental app list.
class StartPageView : public views::View,
+ public ui::ListModelObserver,
public SearchBoxViewDelegate,
- public AppListViewDelegateObserver,
- public AppListModelObserver {
+ public AppListViewDelegateObserver {
public:
StartPageView(AppListMainView* app_list_main_view,
AppListViewDelegate* view_delegate);
@@ -53,22 +54,30 @@ class StartPageView : public views::View,
void SetShowState(ShowState show_state);
void SetModel(AppListModel* model);
+ // Updates UI with model.
+ void Update();
+
+ // Schedules an Update() call using |update_factory_|. Does nothing if there
+ // is a pending call.
+ void ScheduleUpdate();
+
// Overridden from SearchBoxViewDelegate:
virtual void QueryChanged(SearchBoxView* sender) OVERRIDE;
// Overridden from AppListViewDelegateObserver:
virtual void OnProfilesChanged() OVERRIDE;
- // Overridden from AppListModelObserver:
- virtual void OnAppListModelStatusChanged() OVERRIDE;
- virtual void OnAppListItemAdded(AppListItem* item) OVERRIDE;
- virtual void OnAppListItemDeleted() OVERRIDE;
- virtual void OnAppListItemUpdated(AppListItem* item) OVERRIDE;
+ // Overriden from ui::ListModelObserver:
Matt Giuca 2014/08/06 08:54:53 nit: Overridden (you specifically introduced a spe
calamity 2014/08/12 05:03:37 Done.
+ virtual void ListItemsAdded(size_t start, size_t count) OVERRIDE;
+ virtual void ListItemsRemoved(size_t start, size_t count) OVERRIDE;
+ virtual void ListItemMoved(size_t index, size_t target_index) OVERRIDE;
+ virtual void ListItemsChanged(size_t start, size_t count) OVERRIDE;
// The parent view of ContentsView which is the parent of this view.
AppListMainView* app_list_main_view_;
- AppListModel* model_; // Owned by AppListSyncableService.
+ AppListModel::SearchResults*
+ search_results_model_; // Owned by AppListSyncableService.
AppListViewDelegate* view_delegate_; // Owned by AppListView.
@@ -81,6 +90,9 @@ class StartPageView : public views::View,
ShowState show_state_;
+ // The factory that consolidates multiple Update() calls into one.
+ base::WeakPtrFactory<StartPageView> update_factory_;
Matt Giuca 2014/08/06 08:54:53 // ScheduleUpdate() generates a single weak pointe
calamity 2014/08/12 05:03:37 Done.
+
DISALLOW_COPY_AND_ASSIGN(StartPageView);
};

Powered by Google App Engine
This is Rietveld 408576698