| 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 #ifndef CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ |
| 6 #define CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "content/public/browser/notification_registrar.h" | 23 #include "content/public/browser/notification_registrar.h" |
| 24 #include "ui/base/gtk/gtk_signal.h" | 24 #include "ui/base/gtk/gtk_signal.h" |
| 25 #include "ui/base/gtk/owned_widget_gtk.h" | 25 #include "ui/base/gtk/owned_widget_gtk.h" |
| 26 #include "ui/gfx/rect.h" | 26 #include "ui/gfx/rect.h" |
| 27 | 27 |
| 28 class BrowserWindowGtk; | 28 class BrowserWindowGtk; |
| 29 class CustomDrawButton; | 29 class CustomDrawButton; |
| 30 class DraggedTabControllerGtk; | 30 class DraggedTabControllerGtk; |
| 31 class GtkThemeService; | 31 class GtkThemeService; |
| 32 | 32 |
| 33 namespace gfx { |
| 34 class Image; |
| 35 } |
| 36 |
| 33 class TabStripGtk : public TabStripModelObserver, | 37 class TabStripGtk : public TabStripModelObserver, |
| 34 public TabGtk::TabDelegate, | 38 public TabGtk::TabDelegate, |
| 35 public MessageLoopForUI::Observer, | 39 public MessageLoopForUI::Observer, |
| 36 public content::NotificationObserver, | 40 public content::NotificationObserver, |
| 37 public TabstripOriginProvider, | 41 public TabstripOriginProvider, |
| 38 public ViewIDUtil::Delegate { | 42 public ViewIDUtil::Delegate { |
| 39 public: | 43 public: |
| 40 class TabAnimation; | 44 class TabAnimation; |
| 41 | 45 |
| 42 TabStripGtk(TabStripModel* model, BrowserWindowGtk* window); | 46 TabStripGtk(TabStripModel* model, BrowserWindowGtk* window); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 // Direction the arrow should point in. If true, the arrow is displayed | 231 // Direction the arrow should point in. If true, the arrow is displayed |
| 228 // above the tab and points down. If false, the arrow is displayed beneath | 232 // above the tab and points down. If false, the arrow is displayed beneath |
| 229 // the tab and points up. | 233 // the tab and points up. |
| 230 bool point_down; | 234 bool point_down; |
| 231 | 235 |
| 232 // Transparent container window used to render the drop indicator over the | 236 // Transparent container window used to render the drop indicator over the |
| 233 // tabstrip and toolbar. | 237 // tabstrip and toolbar. |
| 234 GtkWidget* container; | 238 GtkWidget* container; |
| 235 | 239 |
| 236 // The drop indicator image. | 240 // The drop indicator image. |
| 237 GdkPixbuf* drop_arrow; | 241 gfx::Image* drop_arrow; |
| 238 | 242 |
| 239 private: | 243 private: |
| 240 DISALLOW_COPY_AND_ASSIGN(DropInfo); | 244 DISALLOW_COPY_AND_ASSIGN(DropInfo); |
| 241 }; | 245 }; |
| 242 | 246 |
| 243 // Map signal handler that sets initial z-ordering. The widgets need to be | 247 // Map signal handler that sets initial z-ordering. The widgets need to be |
| 244 // realized before we can set the stacking. We use the "map" signal since the | 248 // realized before we can set the stacking. We use the "map" signal since the |
| 245 // "realize" signal is called before the child widgets get realized. | 249 // "realize" signal is called before the child widgets get realized. |
| 246 CHROMEGTK_CALLBACK_0(TabStripGtk, void, OnMap); | 250 CHROMEGTK_CALLBACK_0(TabStripGtk, void, OnMap); |
| 247 | 251 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 // Sets the location of the drop, repainting as necessary. | 392 // Sets the location of the drop, repainting as necessary. |
| 389 void SetDropIndex(int index, bool drop_before); | 393 void SetDropIndex(int index, bool drop_before); |
| 390 | 394 |
| 391 // Determines whether the data is acceptable by the tabstrip and opens a new | 395 // Determines whether the data is acceptable by the tabstrip and opens a new |
| 392 // tab with the data as URL if it is. Returns true if the drop was | 396 // tab with the data as URL if it is. Returns true if the drop was |
| 393 // successful. | 397 // successful. |
| 394 bool CompleteDrop(guchar* data, bool is_plain_text); | 398 bool CompleteDrop(guchar* data, bool is_plain_text); |
| 395 | 399 |
| 396 // Returns the image to use for indicating a drop on a tab. If is_down is | 400 // Returns the image to use for indicating a drop on a tab. If is_down is |
| 397 // true, this returns an arrow pointing down. | 401 // true, this returns an arrow pointing down. |
| 398 static GdkPixbuf* GetDropArrowImage(bool is_down); | 402 static gfx::Image* GetDropArrowImage(bool is_down); |
| 399 | 403 |
| 400 // -- Animations ------------------------------------------------------------- | 404 // -- Animations ------------------------------------------------------------- |
| 401 | 405 |
| 402 // Stops the current animation. | 406 // Stops the current animation. |
| 403 void StopAnimation(); | 407 void StopAnimation(); |
| 404 | 408 |
| 405 // A generic Layout method for various classes of TabStrip animations, | 409 // A generic Layout method for various classes of TabStrip animations, |
| 406 // including Insert, Remove and Resize Layout cases. | 410 // including Insert, Remove and Resize Layout cases. |
| 407 void AnimationLayout(double unselected_width); | 411 void AnimationLayout(double unselected_width); |
| 408 | 412 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 | 494 |
| 491 // Helper for performing tab selection as a result of dragging over a tab. | 495 // Helper for performing tab selection as a result of dragging over a tab. |
| 492 HoverTabSelector hover_tab_selector_; | 496 HoverTabSelector hover_tab_selector_; |
| 493 | 497 |
| 494 content::NotificationRegistrar registrar_; | 498 content::NotificationRegistrar registrar_; |
| 495 | 499 |
| 496 DISALLOW_COPY_AND_ASSIGN(TabStripGtk); | 500 DISALLOW_COPY_AND_ASSIGN(TabStripGtk); |
| 497 }; | 501 }; |
| 498 | 502 |
| 499 #endif // CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ | 503 #endif // CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ |
| OLD | NEW |