15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 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) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef UI_VIEWS_EXAMPLES_SCROLL_VIEW_EXAMPLE_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define UI_VIEWS_EXAMPLES_SCROLL_VIEW_EXAMPLE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/macros.h" 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ui/views/controls/button/button.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/views/controls/scroll_view.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/views/examples/example_base.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace views { 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class LabelButton; 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace examples { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class VIEWS_EXAMPLES_EXPORT ScrollViewExample : public ExampleBase, 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public ButtonListener { 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ScrollViewExample(); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~ScrollViewExample(); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // ExampleBase: 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void CreateExampleView(View* container) OVERRIDE; 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // ButtonListener: 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ButtonPressed(Button* sender, const ui::Event& event) OVERRIDE; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Control buttons to change the size of scrollable and jump to 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // predefined position. 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LabelButton* wide_; 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LabelButton* tall_; 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LabelButton* big_square_; 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LabelButton* small_square_; 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LabelButton* scroll_to_; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) class ScrollableView; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The content of the scroll view. 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ScrollableView* scrollable_; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The scroll view to test. 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ScrollView* scroll_view_; 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ScrollViewExample); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace examples 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace views 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // UI_VIEWS_EXAMPLES_SCROLL_VIEW_EXAMPLE_H_ 56