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

Side by Side Diff: views/controls/textfield/textfield.cc

Issue 200035: First cut at implementation of FindBar for views / gtk... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "views/controls/textfield/textfield.h" 5 #include "views/controls/textfield/textfield.h"
6 6
7 #if defined(OS_LINUX)
8 #include <gdk/gdkkeysyms.h>
9 #endif
10
7 #include "app/gfx/insets.h" 11 #include "app/gfx/insets.h"
8 #if defined(OS_WIN) 12 #if defined(OS_WIN)
9 #include "app/win_util.h" 13 #include "app/win_util.h"
10 #endif 14 #endif
15
11 #include "base/string_util.h" 16 #include "base/string_util.h"
12 #include "views/controls/textfield/native_textfield_wrapper.h" 17 #include "views/controls/textfield/native_textfield_wrapper.h"
13 #include "views/widget/widget.h" 18 #include "views/widget/widget.h"
14 19
15 #if defined(OS_WIN) 20 #if defined(OS_WIN)
16 // TODO(beng): this should be removed when the OS_WIN hack from 21 // TODO(beng): this should be removed when the OS_WIN hack from
17 // ViewHierarchyChanged is removed. 22 // ViewHierarchyChanged is removed.
18 #include "views/controls/textfield/native_textfield_win.h" 23 #include "views/controls/textfield/native_textfield_win.h"
19 #endif 24 #endif
20 25
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 165
161 // This appears to be the insets used by Windows. 166 // This appears to be the insets used by Windows.
162 insets->Set(3, 3, 3, 3); 167 insets->Set(3, 3, 3, 3);
163 } 168 }
164 169
165 void Textfield::SyncText() { 170 void Textfield::SyncText() {
166 if (native_wrapper_) 171 if (native_wrapper_)
167 text_ = native_wrapper_->GetText(); 172 text_ = native_wrapper_->GetText();
168 } 173 }
169 174
170 // static
171 bool Textfield::IsKeystrokeEnter(const Keystroke& key) {
172 #if defined(OS_WIN)
173 return key.key == VK_RETURN;
174 #else
175 // TODO(port): figure out VK_constants
176 NOTIMPLEMENTED();
177 return false;
178 #endif
179 }
180
181 // static
182 bool Textfield::IsKeystrokeEscape(const Keystroke& key) {
183 #if defined(OS_WIN)
184 return key.key == VK_ESCAPE;
185 #else
186 // TODO(port): figure out VK_constants
187 NOTIMPLEMENTED();
188 return false;
189 #endif
190 }
191
192 //////////////////////////////////////////////////////////////////////////////// 175 ////////////////////////////////////////////////////////////////////////////////
193 // Textfield, View overrides: 176 // Textfield, View overrides:
194 177
195 void Textfield::Layout() { 178 void Textfield::Layout() {
196 if (native_wrapper_) { 179 if (native_wrapper_) {
197 native_wrapper_->GetView()->SetBounds(GetLocalBounds(true)); 180 native_wrapper_->GetView()->SetBounds(GetLocalBounds(true));
198 native_wrapper_->GetView()->Layout(); 181 native_wrapper_->GetView()->Layout();
199 } 182 }
200 } 183 }
201 184
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 native_wrapper->UpdateText(); 272 native_wrapper->UpdateText();
290 native_wrapper->UpdateBackgroundColor(); 273 native_wrapper->UpdateBackgroundColor();
291 native_wrapper->UpdateReadOnly(); 274 native_wrapper->UpdateReadOnly();
292 native_wrapper->UpdateFont(); 275 native_wrapper->UpdateFont();
293 native_wrapper->UpdateEnabled(); 276 native_wrapper->UpdateEnabled();
294 native_wrapper->UpdateBorder(); 277 native_wrapper->UpdateBorder();
295 278
296 return native_wrapper; 279 return native_wrapper;
297 } 280 }
298 281
282 base::KeyboardCode Textfield::Keystroke::GetKeyboardCode() const {
283 #if defined(OS_WIN)
284 return static_cast<base::KeyboardCode>(key_));
285 #else
286 return static_cast<base::KeyboardCode>(event_.keyval);
287 #endif
288 }
289
290 #if defined(OS_WIN)
291 bool Textfield::Keystroke::IsControlHeld() const {
292 return GetKeyState(VK_CONTROL) >= 0;
293 }
294
295 bool Textfield::Keystroke::IsShiftHeld() const {
296 return GetKeyState(VK_SHIFT) >= 0;
297 }
298 #else
299 bool Textfield::Keystroke::IsControlHeld() const {
300 return (event_.state & gtk_accelerator_get_default_mod_mask()) ==
301 GDK_CONTROL_MASK;
302 }
303
304 bool Textfield::Keystroke::IsShiftHeld() const {
305 return (event_.state & gtk_accelerator_get_default_mod_mask()) ==
306 GDK_SHIFT_MASK;
307 }
308 #endif
309
299 } // namespace views 310 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698