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.
5 #include "ui/views/controls/button/button.h"
7 #include "base/strings/utf_string_conversions.h"
8 #include "ui/base/accessibility/accessible_view_state.h"
12 ////////////////////////////////////////////////////////////////////////////////
18 void Button::SetTooltipText(const string16& tooltip_text) {
19 tooltip_text_ = tooltip_text;
20 if (accessible_name_.empty())
21 accessible_name_ = tooltip_text_;
25 void Button::SetAccessibleName(const string16& name) {
26 accessible_name_ = name;
29 ////////////////////////////////////////////////////////////////////////////////
30 // Button, View overrides:
32 bool Button::GetTooltipText(const gfx::Point& p, string16* tooltip) const {
33 if (tooltip_text_.empty())
36 *tooltip = tooltip_text_;
40 void Button::GetAccessibleState(ui::AccessibleViewState* state) {
41 state->role = ui::AccessibilityTypes::ROLE_PUSHBUTTON;
42 state->name = accessible_name_;
45 ////////////////////////////////////////////////////////////////////////////////
48 Button::Button(ButtonListener* listener)
49 : listener_(listener),
51 set_accessibility_focusable(true);
54 void Button::NotifyClick(const ui::Event& event) {
55 // We can be called when there is no listener, in cases like double clicks on
58 listener_->ButtonPressed(this, event);