OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <gdk/gdkkeysyms.h> | 5 #include <gdk/gdkkeysyms.h> |
6 #include <gtk/gtk.h> | 6 #include <gtk/gtk.h> |
7 | 7 |
8 #include "views/controls/textfield/native_textfield_gtk.h" | 8 #include "views/controls/textfield/native_textfield_gtk.h" |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 gboolean NativeTextfieldGtk::OnKeyPressEventHandler( | 377 gboolean NativeTextfieldGtk::OnKeyPressEventHandler( |
378 GtkWidget* widget, | 378 GtkWidget* widget, |
379 GdkEventKey* event, | 379 GdkEventKey* event, |
380 NativeTextfieldGtk* textfield) { | 380 NativeTextfieldGtk* textfield) { |
381 return textfield->OnKeyPressEvent(event); | 381 return textfield->OnKeyPressEvent(event); |
382 } | 382 } |
383 | 383 |
384 gboolean NativeTextfieldGtk::OnKeyPressEvent(GdkEventKey* event) { | 384 gboolean NativeTextfieldGtk::OnKeyPressEvent(GdkEventKey* event) { |
385 Textfield::Controller* controller = textfield_->GetController(); | 385 Textfield::Controller* controller = textfield_->GetController(); |
386 if (controller) { | 386 if (controller) { |
387 KeyEvent key_event(event); | 387 KeyEvent key_event(reinterpret_cast<GdkEvent*>(event)); |
388 return controller->HandleKeyEvent(textfield_, key_event); | 388 return controller->HandleKeyEvent(textfield_, key_event); |
389 } | 389 } |
390 return false; | 390 return false; |
391 } | 391 } |
392 | 392 |
393 // static | 393 // static |
394 gboolean NativeTextfieldGtk::OnActivateHandler( | 394 gboolean NativeTextfieldGtk::OnActivateHandler( |
395 GtkWidget* widget, | 395 GtkWidget* widget, |
396 NativeTextfieldGtk* textfield) { | 396 NativeTextfieldGtk* textfield) { |
397 return textfield->OnActivate(); | 397 return textfield->OnActivate(); |
398 } | 398 } |
399 | 399 |
400 gboolean NativeTextfieldGtk::OnActivate() { | 400 gboolean NativeTextfieldGtk::OnActivate() { |
401 GdkEvent* event = gtk_get_current_event(); | 401 GdkEvent* event = gtk_get_current_event(); |
402 if (!event || event->type != GDK_KEY_PRESS) | 402 if (!event || event->type != GDK_KEY_PRESS) |
403 return false; | 403 return false; |
404 | 404 |
405 GdkEventKey* key_event = reinterpret_cast<GdkEventKey*>(event); | 405 GdkEventKey* key_event = reinterpret_cast<GdkEventKey*>(event); |
406 gboolean handled = false; | 406 gboolean handled = false; |
407 | 407 |
408 Textfield::Controller* controller = textfield_->GetController(); | 408 Textfield::Controller* controller = textfield_->GetController(); |
409 if (controller) { | 409 if (controller) { |
410 KeyEvent views_key_event(key_event); | 410 KeyEvent views_key_event(event); |
411 handled = controller->HandleKeyEvent(textfield_, views_key_event); | 411 handled = controller->HandleKeyEvent(textfield_, views_key_event); |
412 } | 412 } |
413 | 413 |
414 WidgetGtk* widget = static_cast<WidgetGtk*>(GetWidget()); | 414 WidgetGtk* widget = static_cast<WidgetGtk*>(GetWidget()); |
415 if (!handled && widget) | 415 if (!handled && widget) |
416 handled = widget->HandleKeyboardEvent(key_event); | 416 handled = widget->HandleKeyboardEvent(key_event); |
417 | 417 |
418 return handled; | 418 return handled; |
419 } | 419 } |
420 | 420 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 // static | 482 // static |
483 NativeTextfieldWrapper* NativeTextfieldWrapper::CreateWrapper( | 483 NativeTextfieldWrapper* NativeTextfieldWrapper::CreateWrapper( |
484 Textfield* field) { | 484 Textfield* field) { |
485 if (NativeTextfieldViews::IsTextfieldViewsEnabled()) { | 485 if (NativeTextfieldViews::IsTextfieldViewsEnabled()) { |
486 return new NativeTextfieldViews(field); | 486 return new NativeTextfieldViews(field); |
487 } | 487 } |
488 return new NativeTextfieldGtk(field); | 488 return new NativeTextfieldGtk(field); |
489 } | 489 } |
490 | 490 |
491 } // namespace views | 491 } // namespace views |
OLD | NEW |