Chromium Code Reviews| Index: views/controls/textfield/textfield.h |
| =================================================================== |
| --- views/controls/textfield/textfield.h (revision 25765) |
| +++ views/controls/textfield/textfield.h (working copy) |
| @@ -5,8 +5,13 @@ |
| #ifndef VIEWS_CONTROLS_TEXTFIELD_TEXTFIELD_H_ |
| #define VIEWS_CONTROLS_TEXTFIELD_TEXTFIELD_H_ |
| +#if defined (OS_LINUX) |
| +#include <gdk/gdk.h> |
| +#endif |
| + |
| #include "app/gfx/font.h" |
| #include "base/basictypes.h" |
| +#include "base/keyboard_codes.h" |
| #include "base/string16.h" |
| #include "views/view.h" |
| #include "third_party/skia/include/core/SkColor.h" |
| @@ -30,28 +35,42 @@ |
| // Cross-platform code can use IsKeystrokeEnter/Escape to check for these |
| // two common key events. |
| // TODO(brettw) this should be cleaned up to be more cross-platform. |
| + class Keystroke { |
| + public: |
| #if defined(OS_WIN) |
| - struct Keystroke { |
| Keystroke(unsigned int m, |
| wchar_t k, |
| int r, |
| unsigned int f) |
| - : message(m), |
| - key(k), |
| - repeat_count(r), |
| - flags(f) { |
| + : message_(m), |
| + key_(k), |
| + repeat_count_(r), |
| + flags_(f) { |
| } |
| + unsigned int message() const { return message_; } |
| + wchar_t key() const { return key_; } |
| + int repeat_count() const { return repeat_count_; } |
| + unsigned int flags() const { return flags_; } |
| +#else |
| + explicit Keystroke(GdkEventKey* event) |
| + : event_(*event) { |
| + } |
| + const GdkEventKey* event() const { return &event_; } |
| +#endif |
| + base::KeyboardCode GetKeyboardCode() const; |
| + bool IsControlHeld() const; |
| + bool IsShiftHeld() const; |
| - unsigned int message; |
| - wchar_t key; |
| - int repeat_count; |
| - unsigned int flags; |
| - }; |
| + private: |
| +#if defined(OS_WIN) |
| + unsigned int message_; |
| + wchar_t key_; |
| + int repeat_count_; |
| + unsigned int flags_; |
| #else |
| - struct Keystroke { |
| - // TODO(brettw) figure out what this should be on GTK. |
| + GdkEventKey event_; |
| +#endif |
|
sky
2009/09/09 22:49:41
DISALLOW_COPY_AND_ASSIGN
|
| }; |
| -#endif |
| // This defines the callback interface for other code to be notified of |
| // changes in the state of a text field. |
| @@ -157,15 +176,6 @@ |
| // been deleted during a window close. |
| void SyncText(); |
| - // Provides a cross-platform way of checking whether a keystroke is one of |
| - // these common keys. Most code only checks keystrokes against these two keys, |
| - // so the caller can be cross-platform by implementing the platform-specific |
| - // parts in here. |
| - // TODO(brettw) we should use a more cross-platform representation of |
| - // keyboard events so these are not necessary. |
| - static bool IsKeystrokeEnter(const Keystroke& key); |
| - static bool IsKeystrokeEscape(const Keystroke& key); |
| - |
| #ifdef UNIT_TEST |
| gfx::NativeView GetTestingHandle() const { |
| return native_wrapper_ ? native_wrapper_->GetTestingHandle() : NULL; |