1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_APP_LIST_VIEWS_APPS_CONTAINER_VIEW_H_
6 #define UI_APP_LIST_VIEWS_APPS_CONTAINER_VIEW_H_
8 #include "ui/views/view.h"
17 class AppListFolderItem;
18 class AppListFolderView;
19 class AppListMainView;
22 class PaginationModel;
24 // AppsContainerView contains a root level AppsGridView to render the root level
25 // app items, and a AppListFolderView to render the app items inside the
26 // active folder. Only one if them is visible to user at any time.
27 class AppsContainerView : public views::View {
29 AppsContainerView(AppListMainView* app_list_main_view,
30 PaginationModel* pagination_model,
32 content::WebContents* start_page_contents);
33 virtual ~AppsContainerView();
35 // Shows the active folder content specified by |folder_item|.
36 void ShowActiveFolder(AppListFolderItem* folder_item);
38 // Shows the apps list from root.
41 // Overridden from views::View:
42 virtual gfx::Size GetPreferredSize() OVERRIDE;
43 virtual void Layout() OVERRIDE;
45 AppsGridView* apps_grid_view() { return apps_grid_view_; }
53 void SetShowState(ShowState show_state);
56 AppsGridView* apps_grid_view_; // Owned by views hierarchy.
57 AppListFolderView* app_list_folder_view_; // Owned by views hierarchy.
58 ShowState show_state_;
60 DISALLOW_COPY_AND_ASSIGN(AppsContainerView);
63 } // namespace app_list
66 #endif // UI_APP_LIST_VIEWS_APPS_CONTAINER_VIEW_H_