15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/app_list/views/test/apps_grid_view_test_api.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/app_list/views/app_list_item_view.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/app_list/views/apps_grid_view.h" 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/events/event.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace app_list { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace test { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AppsGridViewTestApi::AppsGridViewTestApi(AppsGridView* view) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : view_(view) { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AppsGridViewTestApi::~AppsGridViewTestApi() { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)views::View* AppsGridViewTestApi::GetViewAtModelIndex(int index) const { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return view_->view_model_.view_at(index); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void AppsGridViewTestApi::LayoutToIdealBounds() { 2634680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) if (view_->reorder_timer_.IsRunning()) { 2734680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) view_->reorder_timer_.Stop(); 2834680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) view_->OnReorderTimer(); 2934680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) } 3034680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) if (view_->folder_dropping_timer_.IsRunning()) { 3134680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) view_->folder_dropping_timer_.Stop(); 3234680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) view_->OnFolderDroppingTimer(); 3334680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) } 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) view_->bounds_animator_.Cancel(); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) view_->Layout(); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void AppsGridViewTestApi::SetPageFlipDelay(int page_flip_delay_in_ms) { 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) view_->page_flip_delay_in_ms_ = page_flip_delay_in_ms; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void AppsGridViewTestApi::PressItemAt(int index) { 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GetViewAtModelIndex(index)->OnKeyPressed( 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) ui::KeyEvent(ui::ET_KEY_PRESSED, ui::VKEY_RETURN, ui::EF_NONE)); 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)void AppsGridViewTestApi::DisableSynchronousDrag() { 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(OS_WIN) 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DCHECK(view_->synchronous_drag_ == NULL) << "DisableSynchronousDrag needs to " 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) "be called before " 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) "synchronous_drag_ is set up."; 52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) view_->use_synchronous_drag_ = false; 53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 56f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)bool AppsGridViewTestApi::HasPendingPageFlip() const { 576d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) return view_->page_flip_timer_.IsRunning() || 586d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) view_->pagination_model()->has_transition(); 59f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 60f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 61f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} // namespace test 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace app_list 63