Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Unified Diff: chrome/browser/cocoa/translate_infobar.h

Issue 594056: Translate Infobars for OS X. (Closed)
Patch Set: Fix review comments Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/infobar_controller.h ('k') | chrome/browser/cocoa/translate_infobar.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/translate_infobar.h
diff --git a/chrome/browser/cocoa/translate_infobar.h b/chrome/browser/cocoa/translate_infobar.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a9cc7d93b158719747921f68615a228503a5855
--- /dev/null
+++ b/chrome/browser/cocoa/translate_infobar.h
@@ -0,0 +1,52 @@
+// 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.
+
+#import <Cocoa/Cocoa.h>
+#import "chrome/browser/cocoa/infobar_controller.h"
+
+#include "base/scoped_nsobject.h"
+#include "base/scoped_ptr.h"
+#include "chrome/browser/translate/languages_menu_model.h"
+#include "chrome/browser/translate/options_menu_model.h"
+#include "chrome/common/notification_registrar.h"
+
+class TranslateInfoBarMenuModel;
+class TranslateNotificationObserverBridge;
+
+// Draws and maintains Translate Infobar GUI.
+// The translate bar changes unidirectionally between 3 states:
+// 1. "Before Translate" - source language popup and translate/cancel buttons
+// visible.
+// 2. "Translating" - "Translating..." status text visible in address bar.
+// 3. "After Translation" - source & target language popups visible.
+//
+// The GUI uses popup menus interspersed in a text label. For localization
+// purposes this means we potentially need 3 labels to display the UI (the 3rd
+// is only visible in certain locales).
+@interface TranslateInfoBarController : InfoBarController {
+ @protected
+ // label_ is defined in InfoBarController.
+ scoped_nsobject<NSTextField> label2_;
+ scoped_nsobject<NSTextField> label3_;
+ scoped_nsobject<NSTextField> translatingLabel_;
+ scoped_nsobject<NSPopUpButton> fromLanguagePopUp_;
+ scoped_nsobject<NSPopUpButton> toLanguagePopUp_;
+ scoped_nsobject<NSPopUpButton> optionsPopUp_;
+
+ // In the current locale, are the "from" and "to" language popup menu
+ // flipped from what they'd appear in English.
+ bool swappedLanguagePlaceholders_;
+
+ // Space between controls in pixels - read from the NIB.
+ CGFloat spaceBetweenControls_;
+ int numLabelsDisplayed_;
+
+ scoped_ptr<LanguagesMenuModel> original_language_menu_model_;
+ scoped_ptr<LanguagesMenuModel> target_language_menu_model_;
+ scoped_ptr<OptionsMenuModel> options_menu_model_;
+ scoped_ptr<TranslateInfoBarMenuModel> menu_model_;
+ scoped_ptr<TranslateNotificationObserverBridge> observer_bridge_;
+}
+
+@end
« no previous file with comments | « chrome/browser/cocoa/infobar_controller.h ('k') | chrome/browser/cocoa/translate_infobar.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698