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

Side by Side Diff: chrome/browser/ui/views/autofill/autofill_dialog_views.h

Issue 12221040: Interactive autofill: Handle Online Wallet being unavailable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: x Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 9
10 #include "chrome/browser/ui/autofill/autofill_dialog_controller.h" 10 #include "chrome/browser/ui/autofill/autofill_dialog_controller.h"
11 #include "chrome/browser/ui/autofill/autofill_dialog_view.h" 11 #include "chrome/browser/ui/autofill/autofill_dialog_view.h"
12 #include "ui/views/controls/button/button.h" 12 #include "ui/views/controls/button/button.h"
13 #include "ui/views/controls/button/menu_button_listener.h" 13 #include "ui/views/controls/button/menu_button_listener.h"
14 #include "ui/views/controls/link.h"
14 #include "ui/views/controls/link_listener.h" 15 #include "ui/views/controls/link_listener.h"
15 #include "ui/views/controls/progress_bar.h" 16 #include "ui/views/controls/progress_bar.h"
16 #include "ui/views/controls/textfield/textfield_controller.h" 17 #include "ui/views/controls/textfield/textfield_controller.h"
17 #include "ui/views/focus/focus_manager.h" 18 #include "ui/views/focus/focus_manager.h"
18 #include "ui/views/window/dialog_delegate.h" 19 #include "ui/views/window/dialog_delegate.h"
19 20
20 class ConstrainedWindowViews; 21 class ConstrainedWindowViews;
21 22
22 namespace content { 23 namespace content {
23 class KeyboardListener; 24 class KeyboardListener;
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE; 132 virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE;
132 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; 133 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
133 134
134 private: 135 private:
135 views::Textfield* textfield_; 136 views::Textfield* textfield_;
136 bool invalid_; 137 bool invalid_;
137 138
138 DISALLOW_COPY_AND_ASSIGN(DecoratedTextfield); 139 DISALLOW_COPY_AND_ASSIGN(DecoratedTextfield);
139 }; 140 };
140 141
141 // An area for notifications. Some types of notifications point at stuff. 142 // An area to choose which account to use to make a transaction. If wallet is
143 // available, choices include "Sign in to a different wallet account...", the
144 // current Wallet account (if signed in), or a "Pay without Wallet" option. If
145 // wallet is unavailable, only "Pay without Wallet" will be available.
146 class AccountChooserLink : public views::Link {
147 public:
148 AccountChooserLink();
149 virtual ~AccountChooserLink();
150
151 // Get the width of only the text (not the whole view). This is required
152 // as views::Link::GetTextSize() is protected.
153 size_t GetTextWidth() const;
154
155 private:
156 DISALLOW_COPY_AND_ASSIGN(AccountChooserLink);
157 };
158
159 // An area for notifications. Some notifications point at the account chooser.
142 class NotificationArea : public views::View { 160 class NotificationArea : public views::View {
143 public: 161 public:
144 NotificationArea(); 162 explicit NotificationArea(AccountChooserLink* point_at);
145 virtual ~NotificationArea(); 163 virtual ~NotificationArea();
146 164
147 void SetNotification(const DialogNotification& notification); 165 void SetNotification(const DialogNotification& notification);
148 166
149 // views::View implementation. 167 // views::View implementation.
150 virtual std::string GetClassName() const OVERRIDE; 168 virtual std::string GetClassName() const OVERRIDE;
151 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; 169 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
152 170
153 private: 171 private:
154 views::Label* label_; 172 views::Label* label_;
173 AccountChooserLink* point_at_;
155 DialogNotification notification_; 174 DialogNotification notification_;
156 175
157 DISALLOW_COPY_AND_ASSIGN(NotificationArea); 176 DISALLOW_COPY_AND_ASSIGN(NotificationArea);
158 }; 177 };
159 178
160 typedef std::map<const DetailInput*, DecoratedTextfield*> TextfieldMap; 179 typedef std::map<const DetailInput*, DecoratedTextfield*> TextfieldMap;
161 typedef std::map<const DetailInput*, views::Combobox*> ComboboxMap; 180 typedef std::map<const DetailInput*, views::Combobox*> ComboboxMap;
162 181
163 // A view that packs a label on the left and some related controls 182 // A view that packs a label on the left and some related controls
164 // on the right. 183 // on the right.
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 // Somewhere to show notification messages about errors, warnings, or promos. 342 // Somewhere to show notification messages about errors, warnings, or promos.
324 NotificationArea* notification_area_; 343 NotificationArea* notification_area_;
325 344
326 // The checkbox that controls whether to use the billing details for shipping 345 // The checkbox that controls whether to use the billing details for shipping
327 // as well. 346 // as well.
328 views::Checkbox* use_billing_for_shipping_; 347 views::Checkbox* use_billing_for_shipping_;
329 348
330 // Runs the suggestion menu (triggered by each section's |suggested_button|. 349 // Runs the suggestion menu (triggered by each section's |suggested_button|.
331 scoped_ptr<views::MenuRunner> menu_runner_; 350 scoped_ptr<views::MenuRunner> menu_runner_;
332 351
333 // The link that initiates the sign in flow. 352 // A link to allow choosing different accounts to pay with.
334 views::Link* sign_in_link_; 353 AccountChooserLink* account_chooser_link_;
335 354
336 // View to host the signin dialog and related controls. 355 // View to host the signin dialog and related controls.
337 views::View* sign_in_container_; 356 views::View* sign_in_container_;
338 357
339 // TextButton displayed during sign-in. Clicking cancels sign-in and returns 358 // TextButton displayed during sign-in. Clicking cancels sign-in and returns
340 // to the main flow. 359 // to the main flow.
341 views::TextButton* cancel_sign_in_; 360 views::TextButton* cancel_sign_in_;
342 361
343 // A WebView to that navigates to a Google sign-in page to allow the user to 362 // A WebView to that navigates to a Google sign-in page to allow the user to
344 // sign-in. 363 // sign-in.
(...skipping 17 matching lines...) Expand all
362 381
363 // The focus manager for |window_|. 382 // The focus manager for |window_|.
364 views::FocusManager* focus_manager_; 383 views::FocusManager* focus_manager_;
365 384
366 DISALLOW_COPY_AND_ASSIGN(AutofillDialogViews); 385 DISALLOW_COPY_AND_ASSIGN(AutofillDialogViews);
367 }; 386 };
368 387
369 } // namespace autofill 388 } // namespace autofill
370 389
371 #endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_ 390 #endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_DIALOG_VIEWS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698