Home | History | Annotate | Download | only in examples
      1 // Copyright (c) 2011 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.
      4 
      5 #ifndef UI_VIEWS_EXAMPLES_SCROLL_VIEW_EXAMPLE_H_
      6 #define UI_VIEWS_EXAMPLES_SCROLL_VIEW_EXAMPLE_H_
      7 
      8 #include <string>
      9 
     10 #include "base/macros.h"
     11 #include "ui/views/controls/button/button.h"
     12 #include "ui/views/controls/scroll_view.h"
     13 #include "ui/views/examples/example_base.h"
     14 
     15 namespace views {
     16 
     17 class LabelButton;
     18 
     19 namespace examples {
     20 
     21 class VIEWS_EXAMPLES_EXPORT ScrollViewExample : public ExampleBase,
     22                                                 public ButtonListener {
     23  public:
     24   ScrollViewExample();
     25   virtual ~ScrollViewExample();
     26 
     27   // ExampleBase:
     28   virtual void CreateExampleView(View* container) OVERRIDE;
     29 
     30  private:
     31   // ButtonListener:
     32   virtual void ButtonPressed(Button* sender, const ui::Event& event) OVERRIDE;
     33 
     34   // Control buttons to change the size of scrollable and jump to
     35   // predefined position.
     36   LabelButton* wide_;
     37   LabelButton* tall_;
     38   LabelButton* big_square_;
     39   LabelButton* small_square_;
     40   LabelButton* scroll_to_;
     41 
     42   class ScrollableView;
     43   // The content of the scroll view.
     44   ScrollableView* scrollable_;
     45 
     46   // The scroll view to test.
     47   ScrollView* scroll_view_;
     48 
     49   DISALLOW_COPY_AND_ASSIGN(ScrollViewExample);
     50 };
     51 
     52 }  // namespace examples
     53 }  // namespace views
     54 
     55 #endif  // UI_VIEWS_EXAMPLES_SCROLL_VIEW_EXAMPLE_H_
     56