Home | History | Annotate | Download | only in examples
      1 // Copyright (c) 2012 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_TABBED_PANE_EXAMPLE_H_
      6 #define UI_VIEWS_EXAMPLES_TABBED_PANE_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/tabbed_pane/tabbed_pane_listener.h"
     13 #include "ui/views/examples/example_base.h"
     14 
     15 namespace views {
     16 class TabbedPane;
     17 
     18 namespace examples {
     19 
     20 // A TabbedPane example tests adding and selecting tabs.
     21 class VIEWS_EXAMPLES_EXPORT TabbedPaneExample : public ExampleBase,
     22                                                 public ButtonListener,
     23                                                 public TabbedPaneListener {
     24  public:
     25   TabbedPaneExample();
     26   virtual ~TabbedPaneExample();
     27 
     28   // ExampleBase:
     29   virtual void CreateExampleView(View* container) OVERRIDE;
     30 
     31  private:
     32   // ButtonListener:
     33   virtual void ButtonPressed(Button* sender, const ui::Event& event) OVERRIDE;
     34 
     35   // TabbedPaneListener:
     36   virtual void TabSelectedAt(int index) OVERRIDE;
     37 
     38   // Print the status of the tab in the status area.
     39   void PrintStatus();
     40 
     41   void AddButton(const std::string& label);
     42 
     43   // The tabbed pane to be tested.
     44   TabbedPane* tabbed_pane_;
     45 
     46   // Control buttons to add and select tabs.
     47   Button* add_;
     48   Button* add_at_;
     49   Button* select_at_;
     50 
     51   DISALLOW_COPY_AND_ASSIGN(TabbedPaneExample);
     52 };
     53 
     54 }  // namespace examples
     55 }  // namespace views
     56 
     57 #endif  // UI_VIEWS_EXAMPLES_TABBED_PANE_EXAMPLE_H_
     58