Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef UI_APP_LIST_APP_LIST_MODEL_H_ | 5 #ifndef UI_APP_LIST_APP_LIST_MODEL_H_ |
| 6 #define UI_APP_LIST_APP_LIST_MODEL_H_ | 6 #define UI_APP_LIST_APP_LIST_MODEL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | |
| 9 | 10 |
| 10 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
| 11 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 12 #include "base/observer_list.h" | 13 #include "base/observer_list.h" |
| 13 #include "ui/app_list/app_list_export.h" | 14 #include "ui/app_list/app_list_export.h" |
| 14 #include "ui/app_list/app_list_item_list.h" | 15 #include "ui/app_list/app_list_item_list.h" |
| 15 #include "ui/app_list/app_list_item_list_observer.h" | 16 #include "ui/app_list/app_list_item_list_observer.h" |
| 17 #include "ui/app_list/search_result.h" | |
| 16 #include "ui/base/models/list_model.h" | 18 #include "ui/base/models/list_model.h" |
| 17 | 19 |
| 18 namespace app_list { | 20 namespace app_list { |
| 19 | 21 |
| 20 class AppListFolderItem; | 22 class AppListFolderItem; |
| 21 class AppListItem; | 23 class AppListItem; |
| 22 class AppListItemList; | 24 class AppListItemList; |
| 23 class AppListModelObserver; | 25 class AppListModelObserver; |
| 24 class SearchBoxModel; | 26 class SearchBoxModel; |
| 25 class SearchResult; | |
| 26 | 27 |
| 27 // Master model of app list that consists of three sub models: AppListItemList, | 28 // Master model of app list that consists of three sub models: AppListItemList, |
| 28 // SearchBoxModel and SearchResults. The AppListItemList sub model owns a list | 29 // SearchBoxModel and SearchResults. The AppListItemList sub model owns a list |
| 29 // of AppListItems and is displayed in the grid view. SearchBoxModel is | 30 // of AppListItems and is displayed in the grid view. SearchBoxModel is |
| 30 // the model for SearchBoxView. SearchResults owns a list of SearchResult. | 31 // the model for SearchBoxView. SearchResults owns a list of SearchResult. |
| 31 // NOTE: Currently this class observes |top_level_item_list_|. The View code may | 32 // NOTE: Currently this class observes |top_level_item_list_|. The View code may |
| 32 // move entries in the item list directly (but can not add or remove them) and | 33 // move entries in the item list directly (but can not add or remove them) and |
| 33 // the model needs to notify its observers when this occurs. | 34 // the model needs to notify its observers when this occurs. |
| 34 class APP_LIST_EXPORT AppListModel : public AppListItemListObserver { | 35 class APP_LIST_EXPORT AppListModel : public AppListItemListObserver { |
| 35 public: | 36 public: |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 109 // appropriate folder. | 110 // appropriate folder. |
| 110 void DeleteItem(const std::string& id); | 111 void DeleteItem(const std::string& id); |
| 111 | 112 |
| 112 // Call OnExtensionPreferenceChanged() for all items in the model. | 113 // Call OnExtensionPreferenceChanged() for all items in the model. |
| 113 void NotifyExtensionPreferenceChanged(); | 114 void NotifyExtensionPreferenceChanged(); |
| 114 | 115 |
| 115 // Sets wither or not folder UI should be enabled. If |folders_enabled| is | 116 // Sets wither or not folder UI should be enabled. If |folders_enabled| is |
| 116 // false, removes any non-OEM folders. | 117 // false, removes any non-OEM folders. |
| 117 void SetFoldersEnabled(bool folders_enabled); | 118 void SetFoldersEnabled(bool folders_enabled); |
| 118 | 119 |
| 120 // Filters the given |results| by |display_type|. The returned list is | |
| 121 // truncated to |max_results|. | |
| 122 static std::vector<SearchResult*> GetSearchResultsForDisplayType( | |
|
Matt Giuca
2014/08/06 08:54:53
Rename to FilterSearchResultsByDisplayType. ("Get"
calamity
2014/08/12 05:03:36
Done.
| |
| 123 SearchResults* results, | |
| 124 SearchResult::DisplayType display_type, | |
| 125 size_t max_results); | |
| 126 | |
| 119 AppListItemList* top_level_item_list() { return top_level_item_list_.get(); } | 127 AppListItemList* top_level_item_list() { return top_level_item_list_.get(); } |
| 120 | 128 |
| 121 SearchBoxModel* search_box() { return search_box_.get(); } | 129 SearchBoxModel* search_box() { return search_box_.get(); } |
| 122 SearchResults* results() { return results_.get(); } | 130 SearchResults* results() { return results_.get(); } |
| 123 Status status() const { return status_; } | 131 Status status() const { return status_; } |
| 124 bool folders_enabled() const { return folders_enabled_; } | 132 bool folders_enabled() const { return folders_enabled_; } |
| 125 | 133 |
| 126 private: | 134 private: |
| 127 // AppListItemListObserver | 135 // AppListItemListObserver |
| 128 virtual void OnListItemMoved(size_t from_index, | 136 virtual void OnListItemMoved(size_t from_index, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 163 Status status_; | 171 Status status_; |
| 164 ObserverList<AppListModelObserver> observers_; | 172 ObserverList<AppListModelObserver> observers_; |
| 165 bool folders_enabled_; | 173 bool folders_enabled_; |
| 166 | 174 |
| 167 DISALLOW_COPY_AND_ASSIGN(AppListModel); | 175 DISALLOW_COPY_AND_ASSIGN(AppListModel); |
| 168 }; | 176 }; |
| 169 | 177 |
| 170 } // namespace app_list | 178 } // namespace app_list |
| 171 | 179 |
| 172 #endif // UI_APP_LIST_APP_LIST_MODEL_H_ | 180 #endif // UI_APP_LIST_APP_LIST_MODEL_H_ |
| OLD | NEW |