| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ |
| 6 #define CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 FieldValueMap* output) OVERRIDE; | 91 FieldValueMap* output) OVERRIDE; |
| 92 virtual base::string16 GetCvc() OVERRIDE; | 92 virtual base::string16 GetCvc() OVERRIDE; |
| 93 virtual bool SaveDetailsLocally() OVERRIDE; | 93 virtual bool SaveDetailsLocally() OVERRIDE; |
| 94 virtual const content::NavigationController* ShowSignIn() OVERRIDE; | 94 virtual const content::NavigationController* ShowSignIn() OVERRIDE; |
| 95 virtual void HideSignIn() OVERRIDE; | 95 virtual void HideSignIn() OVERRIDE; |
| 96 virtual void ModelChanged() OVERRIDE; | 96 virtual void ModelChanged() OVERRIDE; |
| 97 virtual void OnSignInResize(const gfx::Size& pref_size) OVERRIDE; | 97 virtual void OnSignInResize(const gfx::Size& pref_size) OVERRIDE; |
| 98 virtual void ValidateSection(DialogSection section) OVERRIDE; | 98 virtual void ValidateSection(DialogSection section) OVERRIDE; |
| 99 | 99 |
| 100 // views::View implementation. | 100 // views::View implementation. |
| 101 virtual gfx::Size GetPreferredSize() OVERRIDE; | 101 virtual gfx::Size GetPreferredSize() const OVERRIDE; |
| 102 virtual gfx::Size GetMinimumSize() OVERRIDE; | 102 virtual gfx::Size GetMinimumSize() const OVERRIDE; |
| 103 virtual void Layout() OVERRIDE; | 103 virtual void Layout() OVERRIDE; |
| 104 virtual void OnNativeThemeChanged(const ui::NativeTheme* theme) OVERRIDE; | 104 virtual void OnNativeThemeChanged(const ui::NativeTheme* theme) OVERRIDE; |
| 105 | 105 |
| 106 // views::DialogDelegate implementation: | 106 // views::DialogDelegate implementation: |
| 107 virtual base::string16 GetWindowTitle() const OVERRIDE; | 107 virtual base::string16 GetWindowTitle() const OVERRIDE; |
| 108 virtual void WindowClosing() OVERRIDE; | 108 virtual void WindowClosing() OVERRIDE; |
| 109 virtual void DeleteDelegate() OVERRIDE; | 109 virtual void DeleteDelegate() OVERRIDE; |
| 110 virtual views::View* CreateOverlayView() OVERRIDE; | 110 virtual views::View* CreateOverlayView() OVERRIDE; |
| 111 virtual int GetDialogButtons() const OVERRIDE; | 111 virtual int GetDialogButtons() const OVERRIDE; |
| 112 virtual int GetDefaultDialogButton() const OVERRIDE; | 112 virtual int GetDefaultDialogButton() const OVERRIDE; |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 // An area for notifications. Some notifications point at the account chooser. | 252 // An area for notifications. Some notifications point at the account chooser. |
| 253 class NotificationArea : public views::View { | 253 class NotificationArea : public views::View { |
| 254 public: | 254 public: |
| 255 explicit NotificationArea(AutofillDialogViewDelegate* delegate); | 255 explicit NotificationArea(AutofillDialogViewDelegate* delegate); |
| 256 virtual ~NotificationArea(); | 256 virtual ~NotificationArea(); |
| 257 | 257 |
| 258 // Displays the given notifications. | 258 // Displays the given notifications. |
| 259 void SetNotifications(const std::vector<DialogNotification>& notifications); | 259 void SetNotifications(const std::vector<DialogNotification>& notifications); |
| 260 | 260 |
| 261 // views::View implementation. | 261 // views::View implementation. |
| 262 virtual gfx::Size GetPreferredSize() OVERRIDE; | 262 virtual gfx::Size GetPreferredSize() const OVERRIDE; |
| 263 virtual const char* GetClassName() const OVERRIDE; | 263 virtual const char* GetClassName() const OVERRIDE; |
| 264 virtual void PaintChildren(gfx::Canvas* canvas, | 264 virtual void PaintChildren(gfx::Canvas* canvas, |
| 265 const views::CullSet& cull_set) OVERRIDE; | 265 const views::CullSet& cull_set) OVERRIDE; |
| 266 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; | 266 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; |
| 267 | 267 |
| 268 void set_arrow_centering_anchor( | 268 void set_arrow_centering_anchor( |
| 269 const base::WeakPtr<views::View>& arrow_centering_anchor) { | 269 const base::WeakPtr<views::View>& arrow_centering_anchor) { |
| 270 arrow_centering_anchor_ = arrow_centering_anchor; | 270 arrow_centering_anchor_ = arrow_centering_anchor; |
| 271 } | 271 } |
| 272 | 272 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 DISALLOW_COPY_AND_ASSIGN(SectionContainer); | 333 DISALLOW_COPY_AND_ASSIGN(SectionContainer); |
| 334 }; | 334 }; |
| 335 | 335 |
| 336 // A button to show address or billing suggestions. | 336 // A button to show address or billing suggestions. |
| 337 class SuggestedButton : public views::MenuButton { | 337 class SuggestedButton : public views::MenuButton { |
| 338 public: | 338 public: |
| 339 explicit SuggestedButton(views::MenuButtonListener* listener); | 339 explicit SuggestedButton(views::MenuButtonListener* listener); |
| 340 virtual ~SuggestedButton(); | 340 virtual ~SuggestedButton(); |
| 341 | 341 |
| 342 // views::MenuButton implementation. | 342 // views::MenuButton implementation. |
| 343 virtual gfx::Size GetPreferredSize() OVERRIDE; | 343 virtual gfx::Size GetPreferredSize() const OVERRIDE; |
| 344 virtual const char* GetClassName() const OVERRIDE; | 344 virtual const char* GetClassName() const OVERRIDE; |
| 345 virtual void PaintChildren(gfx::Canvas* canvas, | 345 virtual void PaintChildren(gfx::Canvas* canvas, |
| 346 const views::CullSet& cull_set) OVERRIDE; | 346 const views::CullSet& cull_set) OVERRIDE; |
| 347 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; | 347 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; |
| 348 | 348 |
| 349 private: | 349 private: |
| 350 // Returns the corred resource ID (i.e. IDR_*) for the current |state()|. | 350 // Returns the corred resource ID (i.e. IDR_*) for the current |state()|. |
| 351 int ResourceIDForState() const; | 351 int ResourceIDForState() const; |
| 352 | 352 |
| 353 DISALLOW_COPY_AND_ASSIGN(SuggestedButton); | 353 DISALLOW_COPY_AND_ASSIGN(SuggestedButton); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 379 | 379 |
| 380 // A view that contains a suggestion (such as a known address). | 380 // A view that contains a suggestion (such as a known address). |
| 381 class SuggestionView : public views::View { | 381 class SuggestionView : public views::View { |
| 382 public: | 382 public: |
| 383 explicit SuggestionView(AutofillDialogViews* autofill_dialog); | 383 explicit SuggestionView(AutofillDialogViews* autofill_dialog); |
| 384 virtual ~SuggestionView(); | 384 virtual ~SuggestionView(); |
| 385 | 385 |
| 386 void SetState(const SuggestionState& state); | 386 void SetState(const SuggestionState& state); |
| 387 | 387 |
| 388 // views::View implementation. | 388 // views::View implementation. |
| 389 virtual gfx::Size GetPreferredSize() OVERRIDE; | 389 virtual gfx::Size GetPreferredSize() const OVERRIDE; |
| 390 virtual int GetHeightForWidth(int width) OVERRIDE; | 390 virtual int GetHeightForWidth(int width) const OVERRIDE; |
| 391 virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE; | 391 virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE; |
| 392 | 392 |
| 393 ExpandingTextfield* textfield() { return textfield_; } | 393 ExpandingTextfield* textfield() { return textfield_; } |
| 394 | 394 |
| 395 private: | 395 private: |
| 396 // Returns whether there's room to display |state_.vertically_compact_text| | 396 // Returns whether there's room to display |state_.vertically_compact_text| |
| 397 // without resorting to an ellipsis for a pixel width of |available_width|. | 397 // without resorting to an ellipsis for a pixel width of |available_width|. |
| 398 // Fills in |resulting_height| with the amount of space required to display | 398 // Fills in |resulting_height| with the amount of space required to display |
| 399 // |vertically_compact_text| or |horizontally_compact_text| as the case may | 399 // |vertically_compact_text| or |horizontally_compact_text| as the case may |
| 400 // be. | 400 // be. |
| 401 bool CanUseVerticallyCompactText(int available_width, | 401 bool CanUseVerticallyCompactText(int available_width, |
| 402 int* resulting_height); | 402 int* resulting_height) const; |
| 403 | 403 |
| 404 // Sets the display text of the suggestion. | 404 // Sets the display text of the suggestion. |
| 405 void SetLabelText(const base::string16& text); | 405 void SetLabelText(const base::string16& text); |
| 406 | 406 |
| 407 // Sets the icon which should be displayed ahead of the text. | 407 // Sets the icon which should be displayed ahead of the text. |
| 408 void SetIcon(const gfx::Image& image); | 408 void SetIcon(const gfx::Image& image); |
| 409 | 409 |
| 410 // Shows an auxiliary textfield to the right of the suggestion icon and | 410 // Shows an auxiliary textfield to the right of the suggestion icon and |
| 411 // text. This is currently only used to show a CVC field for the CC section. | 411 // text. This is currently only used to show a CVC field for the CC section. |
| 412 void SetTextfield(const base::string16& placeholder_text, | 412 void SetTextfield(const base::string16& placeholder_text, |
| 413 const gfx::Image& icon); | 413 const gfx::Image& icon); |
| 414 | 414 |
| 415 // Calls SetLabelText() with the appropriate text based on current bounds. | 415 // Calls SetLabelText() with the appropriate text based on current bounds. |
| 416 void UpdateLabelText(); | 416 void UpdateLabelText(); |
| 417 | 417 |
| 418 // The state of |this|. | 418 // The state of |this|. |
| 419 SuggestionState state_; | 419 SuggestionState state_; |
| 420 | 420 |
| 421 // This caches preferred heights for given widths. The key is a preferred | 421 // This caches preferred heights for given widths. The key is a preferred |
| 422 // width, the value is a cached result of CanUseVerticallyCompactText. | 422 // width, the value is a cached result of CanUseVerticallyCompactText. |
| 423 std::map<int, std::pair<bool, int> > calculated_heights_; | 423 mutable std::map<int, std::pair<bool, int> > calculated_heights_; |
| 424 | 424 |
| 425 // The label that holds the suggestion description text. | 425 // The label that holds the suggestion description text. |
| 426 views::Label* label_; | 426 views::Label* label_; |
| 427 // The second (and greater) line of text that describes the suggestion. | 427 // The second (and greater) line of text that describes the suggestion. |
| 428 views::Label* label_line_2_; | 428 views::Label* label_line_2_; |
| 429 // The icon that comes just before |label_|. | 429 // The icon that comes just before |label_|. |
| 430 views::ImageView* icon_; | 430 views::ImageView* icon_; |
| 431 // The input set by ShowTextfield. | 431 // The input set by ShowTextfield. |
| 432 ExpandingTextfield* textfield_; | 432 ExpandingTextfield* textfield_; |
| 433 | 433 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 453 // The view that holds the text of the suggested data. This will be | 453 // The view that holds the text of the suggested data. This will be |
| 454 // visible IFF |manual_input| is not visible. | 454 // visible IFF |manual_input| is not visible. |
| 455 SuggestionView* suggested_info; | 455 SuggestionView* suggested_info; |
| 456 // The view that allows selecting other data suggestions. | 456 // The view that allows selecting other data suggestions. |
| 457 SuggestedButton* suggested_button; | 457 SuggestedButton* suggested_button; |
| 458 }; | 458 }; |
| 459 | 459 |
| 460 typedef std::map<DialogSection, DetailsGroup> DetailGroupMap; | 460 typedef std::map<DialogSection, DetailsGroup> DetailGroupMap; |
| 461 | 461 |
| 462 // Returns the preferred size or minimum size (if |get_minimum_size| is true). | 462 // Returns the preferred size or minimum size (if |get_minimum_size| is true). |
| 463 gfx::Size CalculatePreferredSize(bool get_minimum_size); | 463 gfx::Size CalculatePreferredSize(bool get_minimum_size) const; |
| 464 | 464 |
| 465 // Returns the minimum size of the sign in view for this dialog. | 465 // Returns the minimum size of the sign in view for this dialog. |
| 466 gfx::Size GetMinimumSignInViewSize() const; | 466 gfx::Size GetMinimumSignInViewSize() const; |
| 467 | 467 |
| 468 // Returns the maximum size of the sign in view for this dialog. | 468 // Returns the maximum size of the sign in view for this dialog. |
| 469 gfx::Size GetMaximumSignInViewSize() const; | 469 gfx::Size GetMaximumSignInViewSize() const; |
| 470 | 470 |
| 471 // Returns which section should currently be used for credit card info. | 471 // Returns which section should currently be used for credit card info. |
| 472 DialogSection GetCreditCardSection() const; | 472 DialogSection GetCreditCardSection() const; |
| 473 | 473 |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 // state. | 585 // state. |
| 586 void SetEditabilityForSection(DialogSection section); | 586 void SetEditabilityForSection(DialogSection section); |
| 587 | 587 |
| 588 // Handles mouse presses on the non-client view. | 588 // Handles mouse presses on the non-client view. |
| 589 void NonClientMousePressed(); | 589 void NonClientMousePressed(); |
| 590 | 590 |
| 591 // The delegate that drives this view. Weak pointer, always non-NULL. | 591 // The delegate that drives this view. Weak pointer, always non-NULL. |
| 592 AutofillDialogViewDelegate* const delegate_; | 592 AutofillDialogViewDelegate* const delegate_; |
| 593 | 593 |
| 594 // The preferred size of the view, cached to avoid needless recomputation. | 594 // The preferred size of the view, cached to avoid needless recomputation. |
| 595 gfx::Size preferred_size_; | 595 mutable gfx::Size preferred_size_; |
| 596 | 596 |
| 597 // The current number of unmatched calls to UpdatesStarted. | 597 // The current number of unmatched calls to UpdatesStarted. |
| 598 int updates_scope_; | 598 int updates_scope_; |
| 599 | 599 |
| 600 // True when there's been a call to ContentsPreferredSizeChanged() suppressed | 600 // True when there's been a call to ContentsPreferredSizeChanged() suppressed |
| 601 // due to an unmatched UpdatesStarted. | 601 // due to an unmatched UpdatesStarted. |
| 602 bool needs_update_; | 602 bool needs_update_; |
| 603 | 603 |
| 604 // The window that displays |contents_|. Weak pointer; may be NULL when the | 604 // The window that displays |contents_|. Weak pointer; may be NULL when the |
| 605 // dialog is closing. | 605 // dialog is closing. |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 | 677 |
| 678 // Used to tell the delegate when focus moves to hide the Autofill popup. | 678 // Used to tell the delegate when focus moves to hide the Autofill popup. |
| 679 scoped_ptr<ui::EventHandler> event_handler_; | 679 scoped_ptr<ui::EventHandler> event_handler_; |
| 680 | 680 |
| 681 DISALLOW_COPY_AND_ASSIGN(AutofillDialogViews); | 681 DISALLOW_COPY_AND_ASSIGN(AutofillDialogViews); |
| 682 }; | 682 }; |
| 683 | 683 |
| 684 } // namespace autofill | 684 } // namespace autofill |
| 685 | 685 |
| 686 #endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ | 686 #endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ |
| OLD | NEW |