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