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_BUTTON_EXAMPLE_H_
6#define UI_VIEWS_EXAMPLES_BUTTON_EXAMPLE_H_
7
8#include "base/macros.h"
9#include "ui/views/controls/button/button.h"
10#include "ui/views/examples/example_base.h"
11
12namespace views {
13
14class ImageButton;
15class LabelButton;
16
17namespace examples {
18
19// ButtonExample simply counts the number of clicks.
20class VIEWS_EXAMPLES_EXPORT ButtonExample : public ExampleBase,
21                                            public ButtonListener {
22 public:
23  ButtonExample();
24  virtual ~ButtonExample();
25
26  // ExampleBase:
27  virtual void CreateExampleView(View* container) OVERRIDE;
28
29 private:
30  void LabelButtonPressed(const ui::Event& event);
31
32  // ButtonListener:
33  virtual void ButtonPressed(Button* sender, const ui::Event& event) OVERRIDE;
34
35  // Example buttons.
36  LabelButton* label_button_;
37  ImageButton* image_button_;
38
39  const gfx::ImageSkia* icon_;
40
41  // The number of times the buttons are pressed.
42  int count_;
43
44  DISALLOW_COPY_AND_ASSIGN(ButtonExample);
45};
46
47}  // namespace examples
48}  // namespace views
49
50#endif  // UI_VIEWS_EXAMPLES_BUTTON_EXAMPLE_H_
51