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

Side by Side Diff: ui/app_list/views/apps_grid_view.h

Issue 27438002: Store AppItems as pages in AppListModel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_VIEWS_APPS_GRID_VIEW_H_ 5 #ifndef UI_APP_LIST_VIEWS_APPS_GRID_VIEW_H_
6 #define UI_APP_LIST_VIEWS_APPS_GRID_VIEW_H_ 6 #define UI_APP_LIST_VIEWS_APPS_GRID_VIEW_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 class ApplicationDragAndDropHost; 45 class ApplicationDragAndDropHost;
46 class AppListItemView; 46 class AppListItemView;
47 class AppsGridViewDelegate; 47 class AppsGridViewDelegate;
48 class PageSwitcher; 48 class PageSwitcher;
49 class PaginationModel; 49 class PaginationModel;
50 50
51 // AppsGridView displays a grid for AppListModel::Apps sub model. 51 // AppsGridView displays a grid for AppListModel::Apps sub model.
52 class APP_LIST_EXPORT AppsGridView : public views::View, 52 class APP_LIST_EXPORT AppsGridView : public views::View,
53 public views::ButtonListener, 53 public views::ButtonListener,
54 public ui::ListModelObserver,
55 public PaginationModelObserver, 54 public PaginationModelObserver,
56 public AppListModelObserver { 55 public AppListModelObserver {
57 public: 56 public:
58 enum Pointer { 57 enum Pointer {
59 NONE, 58 NONE,
60 MOUSE, 59 MOUSE,
61 TOUCH, 60 TOUCH,
62 }; 61 };
63 62
64 // Constructs the app icon grid view. |delegate| is the delegate of this 63 // Constructs the app icon grid view. |delegate| is the delegate of this
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 // Updates from model. 168 // Updates from model.
170 void Update(); 169 void Update();
171 170
172 // Updates page splits for item views. 171 // Updates page splits for item views.
173 void UpdatePaging(); 172 void UpdatePaging();
174 173
175 // Updates the number of pulsing block views based on AppListModel status and 174 // Updates the number of pulsing block views based on AppListModel status and
176 // number of apps. 175 // number of apps.
177 void UpdatePulsingBlockViews(); 176 void UpdatePulsingBlockViews();
178 177
179 views::View* CreateViewForItemAtIndex(size_t index); 178 views::View* CreateViewForItemAtIndex(size_t page_idx, size_t item_idx);
180 179
181 // Convert between the model index and the visual index. The model index 180 // Convert between the model index and the visual index. The model index
182 // is the index of the item in AppListModel. The visual index is the Index 181 // is the index of the item in AppListModel. The visual index is the Index
183 // struct above with page/slot info of where to display the item. 182 // struct above with page/slot info of where to display the item.
184 Index GetIndexFromModelIndex(int model_index) const; 183 Index GetIndexFromModelIndex(int model_index) const;
185 int GetModelIndexFromIndex(const Index& index) const; 184 int GetModelIndexFromIndex(const Index& index) const;
186 185
187 void SetSelectedItemByIndex(const Index& index); 186 void SetSelectedItemByIndex(const Index& index);
188 bool IsValidIndex(const Index& index) const; 187 bool IsValidIndex(const Index& index) const;
189 188
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 // buffer area surrounding it. 242 // buffer area surrounding it.
244 bool IsPointWithinDragBuffer(const gfx::Point& point) const; 243 bool IsPointWithinDragBuffer(const gfx::Point& point) const;
245 244
246 // Handles start page layout and transition animation. 245 // Handles start page layout and transition animation.
247 void LayoutStartPage(); 246 void LayoutStartPage();
248 247
249 // Overridden from views::ButtonListener: 248 // Overridden from views::ButtonListener:
250 virtual void ButtonPressed(views::Button* sender, 249 virtual void ButtonPressed(views::Button* sender,
251 const ui::Event& event) OVERRIDE; 250 const ui::Event& event) OVERRIDE;
252 251
253 // Overridden from ListModelObserver:
254 virtual void ListItemsAdded(size_t start, size_t count) OVERRIDE;
255 virtual void ListItemsRemoved(size_t start, size_t count) OVERRIDE;
256 virtual void ListItemMoved(size_t index, size_t target_index) OVERRIDE;
257 virtual void ListItemsChanged(size_t start, size_t count) OVERRIDE;
258
259 // Overridden from PaginationModelObserver: 252 // Overridden from PaginationModelObserver:
260 virtual void TotalPagesChanged() OVERRIDE; 253 virtual void TotalPagesChanged() OVERRIDE;
261 virtual void SelectedPageChanged(int old_selected, int new_selected) OVERRIDE; 254 virtual void SelectedPageChanged(int old_selected, int new_selected) OVERRIDE;
262 virtual void TransitionStarted() OVERRIDE; 255 virtual void TransitionStarted() OVERRIDE;
263 virtual void TransitionChanged() OVERRIDE; 256 virtual void TransitionChanged() OVERRIDE;
264 257
265 // Overridden from AppListModelObserver: 258 // Overridden from AppListModelObserver:
266 virtual void OnAppListModelStatusChanged() OVERRIDE; 259 virtual void OnAppListModelStatusChanged() OVERRIDE;
260 virtual void OnListItemsAdded(size_t page_index,
261 size_t start, size_t count) OVERRIDE;
262 virtual void OnListItemsRemoved(size_t page_index,
263 size_t start, size_t count) OVERRIDE;
264 virtual void OnListItemMoved(size_t page_index,
265 size_t index, size_t target_index) OVERRIDE;
267 266
268 // Hide a given view temporarily without losing (mouse) events and / or 267 // Hide a given view temporarily without losing (mouse) events and / or
269 // changing the size of it. If |immediate| is set the change will be 268 // changing the size of it. If |immediate| is set the change will be
270 // immediately applied - otherwise it will change gradually. 269 // immediately applied - otherwise it will change gradually.
271 // If |hide| is set the view will get hidden, otherwise it gets shown. 270 // If |hide| is set the view will get hidden, otherwise it gets shown.
272 void SetViewHidden(views::View* view, bool hide, bool immediate); 271 void SetViewHidden(views::View* view, bool hide, bool immediate);
273 272
274 AppListModel* model_; // Owned by AppListView. 273 AppListModel* model_; // Owned by AppListView.
275 AppsGridViewDelegate* delegate_; 274 AppsGridViewDelegate* delegate_;
276 PaginationModel* pagination_model_; // Owned by AppListController. 275 PaginationModel* pagination_model_; // Owned by AppListController.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 int page_flip_delay_in_ms_; 332 int page_flip_delay_in_ms_;
334 333
335 views::BoundsAnimator bounds_animator_; 334 views::BoundsAnimator bounds_animator_;
336 335
337 DISALLOW_COPY_AND_ASSIGN(AppsGridView); 336 DISALLOW_COPY_AND_ASSIGN(AppsGridView);
338 }; 337 };
339 338
340 } // namespace app_list 339 } // namespace app_list
341 340
342 #endif // UI_APP_LIST_VIEWS_APPS_GRID_VIEW_H_ 341 #endif // UI_APP_LIST_VIEWS_APPS_GRID_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698