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_ |