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

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

Issue 2815013: Refactor the translate infobars on mac to match the new windows code. (Closed)
Patch Set: Move unittest stuff back to class files Created 10 years, 6 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
Index: chrome/browser/cocoa/translate_infobar.h
diff --git a/chrome/browser/cocoa/translate_infobar.h b/chrome/browser/cocoa/translate_infobar.h
deleted file mode 100644
index b047d5df5db4060350b2d630f6051d30244dcd7d..0000000000000000000000000000000000000000
--- a/chrome/browser/cocoa/translate_infobar.h
+++ /dev/null
@@ -1,115 +0,0 @@
-// 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"
-
-#import "base/cocoa_protocols_mac.h"
-#import "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/browser/translate/translate_infobars_delegates.h"
-#include "chrome/common/notification_registrar.h"
-#include "chrome/common/translate_errors.h"
-
-class TranslateInfoBarMenuModel;
-class TranslateNotificationObserverBridge;
-
-// Draws and maintains Translate Infobar GUI.
-// The translate bar can be in one of 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 following state transitions are supported:
-// 1->{2,3}
-// 2<->3
-// i.e. Once you've transitioned out of "Before Translate" mode you can't switch
-// back, however all other state transitions are supported.
-//
-// 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<NSMenuDelegate> {
- @protected
- // Infobar keeps track of the state it is displaying, which should match that
- // in the TranslateInfoBarDelegate. UI needs to keep track separately because
- // infobar may receive PAGE_TRANSLATED notifications before delegate does, in
- // which case, delegate's state is not updated and hence can't be used to
- // update display. After the notification is sent out to all observers, both
- // infobar and delegate would end up with the same state.
- TranslateInfoBarDelegate::TranslateState state_;
-
- // Is a translation currently in progress.
- bool translationPending_;
-
- scoped_nsobject<NSTextField> label1_;
- scoped_nsobject<NSTextField> label2_;
- scoped_nsobject<NSTextField> label3_;
- scoped_nsobject<NSTextField> translatingLabel_;
- scoped_nsobject<NSPopUpButton> fromLanguagePopUp_;
- scoped_nsobject<NSPopUpButton> toLanguagePopUp_;
- scoped_nsobject<NSPopUpButton> optionsPopUp_;
- scoped_nsobject<NSButton> showOriginalButton_;
- scoped_nsobject<NSButton> tryAgainButton_;
-
- // 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_;
-}
-
-// Called when the "Show Original" button is pressed.
-- (IBAction)showOriginal:(id)sender;
-
-@end
-
-@interface TranslateInfoBarController (TestingAPI)
-
-// Main function to update the toolbar graphic state and data model after
-// the state has changed.
-// Controls are moved around as needed and visibility changed to match the
-// current state.
-- (void)updateState:(TranslateInfoBarDelegate::TranslateState)newState
- translationPending:(bool)newTranslationPending
- error:(TranslateErrors::Type)error;
-
-
-// Called when the source or target language selection changes in a menu.
-// |newLanguageIdx| is the index of the newly selected item in the appropriate
-// menu.
-- (void)sourceLanguageModified:(NSInteger)newLanguageIdx;
-- (void)targetLanguageModified:(NSInteger)newLanguageIdx;
-
-// Called when an item in one of the toolbar's menus is selected.
-- (void)menuItemSelected:(id)item;
-
-// Returns the underlying options menu.
-- (NSMenu*)optionsMenu;
-
-// Returns the "try again" button.
-- (NSButton*)tryAgainButton;
-
-// The TranslateInfoBarController's internal idea of the current state.
-- (TranslateInfoBarDelegate::TranslateState)state;
-
-// Verifies that the layout of the infobar is correct for |state|.
-- (bool)verifyLayout:(TranslateInfoBarDelegate::TranslateState)state
- translationPending:(bool)translationPending;
-
-// Teardown and rebuild the options menu.
-- (void)rebuildOptionsMenu;
-
-@end
« no previous file with comments | « chrome/browser/cocoa/translate/translate_message_infobar_controller.mm ('k') | chrome/browser/cocoa/translate_infobar.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698