| OLD | NEW |
| 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 #ifndef VIEWS_WIDGET_WIDGET_GTK_H_ | 5 #ifndef VIEWS_WIDGET_WIDGET_GTK_H_ |
| 6 #define VIEWS_WIDGET_WIDGET_GTK_H_ | 6 #define VIEWS_WIDGET_WIDGET_GTK_H_ |
| 7 | 7 |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 | 9 |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| 11 #include "views/widget/widget.h" | 11 #include "views/widget/widget.h" |
| 12 | 12 |
| 13 namespace gfx { | 13 namespace gfx { |
| 14 class Rect; | 14 class Rect; |
| 15 } | 15 } |
| 16 | 16 |
| 17 namespace views { | 17 namespace views { |
| 18 | 18 |
| 19 class TooltipManagerGtk; |
| 19 class View; | 20 class View; |
| 20 class WindowGtk; | 21 class WindowGtk; |
| 21 | 22 |
| 22 // Widget implementation for GTK. | 23 // Widget implementation for GTK. |
| 23 class WidgetGtk : public Widget, public MessageLoopForUI::Observer { | 24 class WidgetGtk : public Widget, public MessageLoopForUI::Observer { |
| 24 public: | 25 public: |
| 25 // Type of widget. | 26 // Type of widget. |
| 26 enum Type { | 27 enum Type { |
| 27 // Used for popup type windows (bubbles, menus ...). | 28 // Used for popup type windows (bubbles, menus ...). |
| 28 TYPE_POPUP, | 29 TYPE_POPUP, |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 | 166 |
| 166 // Our native views. If we're a window/popup, then widget_ is the window and | 167 // Our native views. If we're a window/popup, then widget_ is the window and |
| 167 // child_widget_parent_ is a GtkFixed. If we're not a window/popup, then | 168 // child_widget_parent_ is a GtkFixed. If we're not a window/popup, then |
| 168 // widget_ and child_widget_parent_ are a GtkFixed. | 169 // widget_ and child_widget_parent_ are a GtkFixed. |
| 169 GtkWidget* widget_; | 170 GtkWidget* widget_; |
| 170 GtkWidget* child_widget_parent_; | 171 GtkWidget* child_widget_parent_; |
| 171 | 172 |
| 172 // The root of the View hierarchy attached to this window. | 173 // The root of the View hierarchy attached to this window. |
| 173 scoped_ptr<RootView> root_view_; | 174 scoped_ptr<RootView> root_view_; |
| 174 | 175 |
| 176 scoped_ptr<TooltipManagerGtk> tooltip_manager_; |
| 177 |
| 175 // If true, the mouse is currently down. | 178 // If true, the mouse is currently down. |
| 176 bool is_mouse_down_; | 179 bool is_mouse_down_; |
| 177 | 180 |
| 178 // Have we done a mouse grab? | 181 // Have we done a mouse grab? |
| 179 bool has_capture_; | 182 bool has_capture_; |
| 180 | 183 |
| 181 // The following are used to detect duplicate mouse move events and not | 184 // The following are used to detect duplicate mouse move events and not |
| 182 // deliver them. Displaying a window may result in the system generating | 185 // deliver them. Displaying a window may result in the system generating |
| 183 // duplicate move events even though the mouse hasn't moved. | 186 // duplicate move events even though the mouse hasn't moved. |
| 184 | 187 |
| 185 // If true, the last event was a mouse move event. | 188 // If true, the last event was a mouse move event. |
| 186 bool last_mouse_event_was_move_; | 189 bool last_mouse_event_was_move_; |
| 187 | 190 |
| 188 // Coordinates of the last mouse move event, in screen coordinates. | 191 // Coordinates of the last mouse move event, in screen coordinates. |
| 189 int last_mouse_move_x_; | 192 int last_mouse_move_x_; |
| 190 int last_mouse_move_y_; | 193 int last_mouse_move_y_; |
| 191 | 194 |
| 192 // The following factory is used to delay destruction. | 195 // The following factory is used to delay destruction. |
| 193 ScopedRunnableMethodFactory<WidgetGtk> close_widget_factory_; | 196 ScopedRunnableMethodFactory<WidgetGtk> close_widget_factory_; |
| 194 | 197 |
| 195 // See description above setter. | 198 // See description above setter. |
| 196 bool delete_on_destroy_; | 199 bool delete_on_destroy_; |
| 197 | 200 |
| 198 DISALLOW_COPY_AND_ASSIGN(WidgetGtk); | 201 DISALLOW_COPY_AND_ASSIGN(WidgetGtk); |
| 199 }; | 202 }; |
| 200 | 203 |
| 201 } // namespace views | 204 } // namespace views |
| 202 | 205 |
| 203 #endif // VIEWS_WIDGET_WIDGET_GTK_H_ | 206 #endif // VIEWS_WIDGET_WIDGET_GTK_H_ |
| OLD | NEW |