Index: views/widget/widget_gtk.h |
=================================================================== |
--- views/widget/widget_gtk.h (revision 22100) |
+++ views/widget/widget_gtk.h (working copy) |
@@ -99,11 +99,15 @@ |
virtual Window* GetWindow(); |
virtual const Window* GetWindow() const; |
virtual ThemeProvider* GetThemeProvider() const; |
+ virtual FocusManager* GetFocusManager(); |
// MessageLoopForUI::Observer. |
- virtual void WillProcessEvent(GdkEvent* event) {} |
+ virtual void WillProcessEvent(GdkEvent* event); |
virtual void DidProcessEvent(GdkEvent* event); |
+ // Retrieves the WindowGtk associated with |widget|. |
+ static WindowGtk* GetWindowForNative(GtkWidget* widget); |
+ |
protected: |
virtual void OnSizeAllocate(GtkWidget* widget, GtkAllocation* allocation); |
virtual void OnPaint(GtkWidget* widget, GdkEventExpose* event); |
@@ -135,8 +139,7 @@ |
// is true. |
virtual bool ReleaseCaptureOnMouseReleased() { return true; } |
- // Sets and retrieves the WidgetGtk in the userdata section of the widget. |
- static WindowGtk* GetWindowForNative(GtkWidget* widget); |
+ // Sets the WindowGtk in the userdata section of the widget. |
static void SetWindowForNative(GtkWidget* widget, WindowGtk* window); |
// Are we a subclass of WindowGtk? |
@@ -215,6 +218,12 @@ |
// must be destroyed AFTER root_view_. |
scoped_ptr<TooltipManagerGtk> tooltip_manager_; |
+ // The focus manager keeping track of focus for this Widget and any of its |
+ // children. NULL for non top-level widgets. |
+ // WARNING: RootView's destructor calls into the FocusManager. As such, this |
+ // must be destroyed AFTER root_view_. |
+ scoped_ptr<FocusManager> focus_manager_; |
+ |
// The root of the View hierarchy attached to this window. |
scoped_ptr<RootView> root_view_; |