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

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

Issue 297643002: Add tiles to the experimental app list start page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments, add model observer and tests Created 6 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_START_PAGE_VIEW_H_ 5 #ifndef UI_APP_LIST_VIEWS_START_PAGE_VIEW_H_
6 #define UI_APP_LIST_VIEWS_START_PAGE_VIEW_H_ 6 #define UI_APP_LIST_VIEWS_START_PAGE_VIEW_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "ui/app_list/app_list_model_observer.h"
10 #include "ui/app_list/app_list_view_delegate_observer.h"
9 #include "ui/views/controls/button/button.h" 11 #include "ui/views/controls/button/button.h"
10 #include "ui/views/view.h" 12 #include "ui/views/view.h"
11 13
12 namespace content { 14 namespace content {
13 class WebContents; 15 class WebContents;
14 } 16 }
15 17
16 namespace app_list { 18 namespace app_list {
17 19
18 class AppListMainView; 20 class AppListMainView;
21 class AppListModel;
22 class AppListViewDelegate;
23 class TileItemView;
19 24
20 // The start page for the experimental app list. 25 // The start page for the experimental app list.
21 class StartPageView : public views::View, public views::ButtonListener { 26 class StartPageView : public views::View,
27 public views::ButtonListener,
28 public AppListViewDelegateObserver,
29 public AppListModelObserver {
22 public: 30 public:
23 StartPageView(AppListMainView* app_list_main_view, 31 StartPageView(AppListMainView* app_list_main_view,
24 content::WebContents* start_page_web_contents); 32 AppListViewDelegate* view_delegate);
25 virtual ~StartPageView(); 33 virtual ~StartPageView();
26 34
27 void Reset(); 35 void Reset();
28 36
37 const std::vector<TileItemView*>& tile_views() { return tile_views_; }
tapted 2014/05/27 05:10:10 nit: also declare function const?
calamity 2014/05/27 06:21:08 Done.
38
29 private: 39 private:
40 void SetModel(AppListModel* model);
41 TileItemView* GetTileViewAt(int index);
42
30 // Overridden from views::ButtonListener: 43 // Overridden from views::ButtonListener:
31 virtual void ButtonPressed(views::Button* sender, 44 virtual void ButtonPressed(views::Button* sender,
32 const ui::Event& event) OVERRIDE; 45 const ui::Event& event) OVERRIDE;
33 46
47 // Overridden from AppListViewDelegateObserver:
48 virtual void OnProfilesChanged() OVERRIDE;
49
50 // Overridden from AppListModelObserver:
51 virtual void OnAppListModelStatusChanged() OVERRIDE;
52 virtual void OnAppListItemAdded(AppListItem* item) OVERRIDE;
53 virtual void OnAppListItemDeleted() OVERRIDE;
54 virtual void OnAppListItemUpdated(AppListItem* item) OVERRIDE;
55
34 // The parent view of ContentsView which is the parent of this view. 56 // The parent view of ContentsView which is the parent of this view.
35 AppListMainView* app_list_main_view_; 57 AppListMainView* app_list_main_view_;
36 58
59 AppListModel* model_; // Owned by AppListSyncableService.
60
61 AppListViewDelegate* view_delegate_; // Owned by AppListView.
62
37 views::View* instant_container_; // Owned by views hierarchy. 63 views::View* instant_container_; // Owned by views hierarchy.
64 views::View* tiles_container_; // Owned by views hierarchy.
65
66 std::vector<TileItemView*> tile_views_;
38 67
39 DISALLOW_COPY_AND_ASSIGN(StartPageView); 68 DISALLOW_COPY_AND_ASSIGN(StartPageView);
40 }; 69 };
41 70
42 } // namespace app_list 71 } // namespace app_list
43 72
44 #endif // UI_APP_LIST_VIEWS_START_PAGE_VIEW_H_ 73 #endif // UI_APP_LIST_VIEWS_START_PAGE_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698