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

Unified Diff: ash/app_list/app_list_model_view.h

Issue 10388032: Move app list from ash to ui. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: fix win_aura bot and comments in #5 Created 8 years, 7 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
« no previous file with comments | « ash/app_list/app_list_model.cc ('k') | ash/app_list/app_list_model_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/app_list/app_list_model_view.h
===================================================================
--- ash/app_list/app_list_model_view.h (revision 135932)
+++ ash/app_list/app_list_model_view.h (working copy)
@@ -1,94 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef ASH_APP_LIST_APP_LIST_MODEL_VIEW_H_
-#define ASH_APP_LIST_APP_LIST_MODEL_VIEW_H_
-#pragma once
-
-#include "ash/ash_export.h"
-#include "ash/app_list/pagination_model_observer.h"
-#include "ui/base/models/list_model_observer.h"
-#include "ui/views/view.h"
-
-namespace views {
-class ButtonListener;
-}
-
-namespace ash {
-
-class AppListItemView;
-class AppListModel;
-class PaginationModel;
-
-// AppListModelView displays the UI for an AppListModel.
-class ASH_EXPORT AppListModelView : public views::View,
- public ui::ListModelObserver,
- public PaginationModelObserver {
- public:
- AppListModelView(views::ButtonListener* listener,
- PaginationModel* pagination_model);
- virtual ~AppListModelView();
-
- // Sets fixed layout parameters. After setting this, CalculateLayout below
- // is no longer called to dynamically choosing those layout params.
- void SetLayout(int icon_size, int cols, int rows_per_page);
-
- // Calculate preferred icon size, rows and cols for given |content_size| and
- // |num_of_tiles|.
- static void CalculateLayout(const gfx::Size& content_size,
- int num_of_tiles,
- gfx::Size* icon_size,
- int* rows,
- int* cols);
-
- // Sets |model| to use. Note this does not take ownership of |model|.
- void SetModel(AppListModel* model);
-
- void SetSelectedItem(AppListItemView* item);
- void ClearSelectedItem(AppListItemView* item);
-
- int tiles_per_page() const {
- return cols_ * rows_per_page_;
- }
-
- private:
- // Updates from model.
- void Update();
-
- AppListItemView* GetItemViewAtIndex(int index);
- void SetSelectedItemByIndex(int index);
-
- // Overridden from views::View:
- virtual gfx::Size GetPreferredSize() OVERRIDE;
- virtual void Layout() OVERRIDE;
- virtual bool OnKeyPressed(const views::KeyEvent& event) OVERRIDE;
- virtual bool OnKeyReleased(const views::KeyEvent& event) OVERRIDE;
- virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE;
-
- // Overridden from ListModelObserver:
- virtual void ListItemsAdded(int start, int count) OVERRIDE;
- virtual void ListItemsRemoved(int start, int count) OVERRIDE;
- virtual void ListItemsChanged(int start, int count) OVERRIDE;
-
- // Overridden from PaginationModelObserver:
- virtual void TotalPagesChanged() OVERRIDE;
- virtual void SelectedPageChanged(int old_selected, int new_selected) OVERRIDE;
-
- AppListModel* model_; // Owned by parent AppListView.
- views::ButtonListener* listener_;
- PaginationModel* pagination_model_; // Owned by AppListView.
-
- bool fixed_layout_;
- gfx::Size icon_size_;
- int cols_;
- int rows_per_page_;
-
- int selected_item_index_;
-
- DISALLOW_COPY_AND_ASSIGN(AppListModelView);
-};
-
-} // namespace ash
-
-#endif // ASH_APP_LIST_APP_LIST_MODEL_VIEW_H_
« no previous file with comments | « ash/app_list/app_list_model.cc ('k') | ash/app_list/app_list_model_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698