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

Side by Side Diff: chrome/browser/ui/cocoa/autofill/autofill_overlay_controller.mm

Issue 23546007: [rAC, OSX] Namespaced constants. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Once more merge to HEAD Created 7 years, 3 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #import "chrome/browser/ui/cocoa/autofill/autofill_overlay_controller.h" 5 #import "chrome/browser/ui/cocoa/autofill/autofill_overlay_controller.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/foundation_util.h" 8 #include "base/mac/foundation_util.h"
9 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 (const std::vector<autofill::DialogOverlayString>&)messages; 107 (const std::vector<autofill::DialogOverlayString>&)messages;
108 @end 108 @end
109 109
110 110
111 @implementation AutofillMessageStackView 111 @implementation AutofillMessageStackView
112 112
113 - (void)drawRect:(NSRect)dirtyRect { 113 - (void)drawRect:(NSRect)dirtyRect {
114 NSColor* shadingColor = gfx::SkColorToCalibratedNSColor(kShadingColor); 114 NSColor* shadingColor = gfx::SkColorToCalibratedNSColor(kShadingColor);
115 NSColor* borderColor = gfx::SkColorToCalibratedNSColor(kSubtleBorderColor); 115 NSColor* borderColor = gfx::SkColorToCalibratedNSColor(kSubtleBorderColor);
116 116
117 CGFloat arrowHalfWidth = kArrowWidth / 2.0; 117 CGFloat arrowHalfWidth = autofill::kArrowWidth / 2.0;
118 NSRect bounds = [self bounds]; 118 NSRect bounds = [self bounds];
119 CGFloat y = NSMaxY(bounds) - kArrowHeight; 119 CGFloat y = NSMaxY(bounds) - autofill::kArrowHeight;
120 120
121 NSBezierPath* arrow = [NSBezierPath bezierPath]; 121 NSBezierPath* arrow = [NSBezierPath bezierPath];
122 // Note that we purposely draw slightly outside of |bounds| so that the 122 // Note that we purposely draw slightly outside of |bounds| so that the
123 // stroke is hidden on the sides and bottom. 123 // stroke is hidden on the sides and bottom.
124 NSRect arrowBounds = NSInsetRect(bounds, -1, -1); 124 NSRect arrowBounds = NSInsetRect(bounds, -1, -1);
125 arrowBounds.size.height--; 125 arrowBounds.size.height--;
126 [arrow moveToPoint:NSMakePoint(NSMinX(arrowBounds), y)]; 126 [arrow moveToPoint:NSMakePoint(NSMinX(arrowBounds), y)];
127 [arrow lineToPoint: 127 [arrow lineToPoint:
128 NSMakePoint(NSMidX(arrowBounds) - arrowHalfWidth, y)]; 128 NSMakePoint(NSMidX(arrowBounds) - arrowHalfWidth, y)];
129 [arrow relativeLineToPoint:NSMakePoint(arrowHalfWidth, kArrowHeight)]; 129 [arrow relativeLineToPoint:
130 [arrow relativeLineToPoint:NSMakePoint(arrowHalfWidth, -kArrowHeight)]; 130 NSMakePoint(arrowHalfWidth,autofill::kArrowHeight)];
131 [arrow relativeLineToPoint:
132 NSMakePoint(arrowHalfWidth, -autofill::kArrowHeight)];
131 [arrow lineToPoint:NSMakePoint(NSMaxX(arrowBounds), y)]; 133 [arrow lineToPoint:NSMakePoint(NSMaxX(arrowBounds), y)];
132 [arrow lineToPoint:NSMakePoint(NSMaxX(arrowBounds), NSMinY(arrowBounds))]; 134 [arrow lineToPoint:NSMakePoint(NSMaxX(arrowBounds), NSMinY(arrowBounds))];
133 [arrow lineToPoint:NSMakePoint(NSMinX(arrowBounds), NSMinY(arrowBounds))]; 135 [arrow lineToPoint:NSMakePoint(NSMinX(arrowBounds), NSMinY(arrowBounds))];
134 [arrow closePath]; 136 [arrow closePath];
135 137
136 [shadingColor setFill]; 138 [shadingColor setFill];
137 [arrow fill]; 139 [arrow fill];
138 [borderColor setStroke]; 140 [borderColor setStroke];
139 [arrow stroke]; 141 [arrow stroke];
140 } 142 }
141 143
142 - (CGFloat)heightForWidth:(CGFloat)width { 144 - (CGFloat)heightForWidth:(CGFloat)width {
143 CGFloat height = kOverlayTextInterlineSpacing; 145 CGFloat height = kOverlayTextInterlineSpacing;
144 for (NSTextView* label in [self subviews]) { 146 for (NSTextView* label in [self subviews]) {
145 height += NSHeight([label frame]); 147 height += NSHeight([label frame]);
146 height += kOverlayTextInterlineSpacing; 148 height += kOverlayTextInterlineSpacing;
147 } 149 }
148 return height + kArrowHeight; 150 return height + autofill::kArrowHeight;
149 } 151 }
150 152
151 - (void)setMessages: 153 - (void)setMessages:
152 (const std::vector<autofill::DialogOverlayString>&) messages { 154 (const std::vector<autofill::DialogOverlayString>&) messages {
153 // We probably want to look at other multi-line messages somewhere. 155 // We probably want to look at other multi-line messages somewhere.
154 base::scoped_nsobject<NSMutableArray> labels( 156 base::scoped_nsobject<NSMutableArray> labels(
155 [[NSMutableArray alloc] initWithCapacity:messages.size()]); 157 [[NSMutableArray alloc] initWithCapacity:messages.size()]);
156 for (size_t i = 0; i < messages.size(); ++i) { 158 for (size_t i = 0; i < messages.size(); ++i) {
157 base::scoped_nsobject<NSTextField> label( 159 base::scoped_nsobject<NSTextField> label(
158 [[NSTextField alloc] initWithFrame:NSZeroRect]); 160 [[NSTextField alloc] initWithFrame:NSZeroRect]);
159 161
160 NSFont* labelFont = messages[i].font.GetNativeFont(); 162 NSFont* labelFont = messages[i].font.GetNativeFont();
161 [label setEditable:NO]; 163 [label setEditable:NO];
162 [label setBordered:NO]; 164 [label setBordered:NO];
163 [label setDrawsBackground:NO]; 165 [label setDrawsBackground:NO];
164 [label setFont:labelFont]; 166 [label setFont:labelFont];
165 [label setStringValue:base::SysUTF16ToNSString(messages[i].text)]; 167 [label setStringValue:base::SysUTF16ToNSString(messages[i].text)];
166 [label setTextColor:gfx::SkColorToDeviceNSColor(messages[i].text_color)]; 168 [label setTextColor:gfx::SkColorToDeviceNSColor(messages[i].text_color)];
167 DCHECK_EQ(messages[i].alignment, gfx::ALIGN_CENTER); 169 DCHECK_EQ(messages[i].alignment, gfx::ALIGN_CENTER);
168 [label setAlignment:NSCenterTextAlignment]; 170 [label setAlignment:NSCenterTextAlignment];
169 [label sizeToFit]; 171 [label sizeToFit];
170 172
171 [labels addObject:label]; 173 [labels addObject:label];
172 } 174 }
173 [self setSubviews:labels]; 175 [self setSubviews:labels];
174 [self setHidden:([labels count] == 0)]; 176 [self setHidden:([labels count] == 0)];
175 } 177 }
176 178
177 - (void)performLayout { 179 - (void)performLayout {
178 CGFloat y = 180 CGFloat y = NSMaxY([self bounds]) - autofill::kArrowHeight -
179 NSMaxY([self bounds]) - kArrowHeight - kOverlayTextInterlineSpacing; 181 kOverlayTextInterlineSpacing;
180 for (NSTextView* label in [self subviews]) { 182 for (NSTextView* label in [self subviews]) {
181 DCHECK([label isKindOfClass:[NSTextView class]]); 183 DCHECK([label isKindOfClass:[NSTextView class]]);
182 CGFloat labelHeight = NSHeight([label frame]); 184 CGFloat labelHeight = NSHeight([label frame]);
183 [label setFrame:NSMakeRect(0, y - labelHeight, 185 [label setFrame:NSMakeRect(0, y - labelHeight,
184 NSWidth([self bounds]), labelHeight)]; 186 NSWidth([self bounds]), labelHeight)];
185 y = NSMinY([label frame]) - kOverlayTextInterlineSpacing; 187 y = NSMinY([label frame]) - kOverlayTextInterlineSpacing;
186 } 188 }
187 DCHECK_GT(0.0, y); 189 DCHECK_GT(0.0, y);
188 } 190 }
189 191
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 } 334 }
333 } 335 }
334 336
335 - (void)animationEnded:(const ui::Animation*)animation { 337 - (void)animationEnded:(const ui::Animation*)animation {
336 DCHECK_EQ(animation, fadeOutAnimation_.get()); 338 DCHECK_EQ(animation, fadeOutAnimation_.get());
337 [[self view] setHidden:YES]; 339 [[self view] setHidden:YES];
338 fadeOutAnimation_.reset(); 340 fadeOutAnimation_.reset();
339 } 341 }
340 342
341 @end 343 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698