diff options
Diffstat (limited to 'chrome/browser/gtk/accessible_widget_helper_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/accessible_widget_helper_gtk.cc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chrome/browser/gtk/accessible_widget_helper_gtk.cc b/chrome/browser/gtk/accessible_widget_helper_gtk.cc new file mode 100644 index 0000000..64710b1 --- /dev/null +++ b/chrome/browser/gtk/accessible_widget_helper_gtk.cc @@ -0,0 +1,41 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/gtk/accessible_widget_helper_gtk.h" + +#include "app/l10n_util.h" +#include "chrome/browser/profile.h" + +AccessibleWidgetHelper::AccessibleWidgetHelper( + GtkWidget* root_widget, Profile* profile) + : accessibility_event_router_(AccessibilityEventRouter::GetInstance()), + root_widget_(root_widget) { + accessibility_event_router_->AddRootWidget(root_widget_, profile); +} + +AccessibleWidgetHelper::~AccessibleWidgetHelper() { + if (root_widget_) + accessibility_event_router_->RemoveRootWidget(root_widget_); + for (unsigned int i = 0; i < managed_widgets_.size(); i++) { + accessibility_event_router_->RemoveWidget(managed_widgets_[i]); + } +} + +void AccessibleWidgetHelper::IgnoreWidget(GtkWidget* widget) { + accessibility_event_router_->IgnoreWidget(widget); + managed_widgets_.push_back(widget); +} + +void AccessibleWidgetHelper::SetWidgetName( + GtkWidget* widget, std::string name) { + accessibility_event_router_->SetWidgetName(widget, name); + managed_widgets_.push_back(widget); +} + +void AccessibleWidgetHelper::SetWidgetName( + GtkWidget* widget, int string_id) { + std::string name = l10n_util::GetStringUTF8(string_id); + accessibility_event_router_->SetWidgetName(widget, name); + managed_widgets_.push_back(widget); +} |