15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 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_BUTTON_EXAMPLE_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define UI_VIEWS_EXAMPLES_BUTTON_EXAMPLE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/macros.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/views/controls/button/button.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/views/examples/example_base.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace views { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class ImageButton; 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass LabelButton; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace examples { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// ButtonExample simply counts the number of clicks. 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class VIEWS_EXAMPLES_EXPORT ButtonExample : public ExampleBase, 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public ButtonListener { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ButtonExample(); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~ButtonExample(); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // ExampleBase: 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void CreateExampleView(View* container) OVERRIDE; 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void LabelButtonPressed(const ui::Event& event); 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // ButtonListener: 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ButtonPressed(Button* sender, const ui::Event& event) OVERRIDE; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Example buttons. 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LabelButton* label_button_; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ImageButton* image_button_; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const gfx::ImageSkia* icon_; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The number of times the buttons are pressed. 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int count_; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ButtonExample); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace examples 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace views 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // UI_VIEWS_EXAMPLES_BUTTON_EXAMPLE_H_ 51