Chromium Code Reviews| Index: chrome/browser/ui/panels/panel_manager.h |
| =================================================================== |
| --- chrome/browser/ui/panels/panel_manager.h (revision 96619) |
| +++ chrome/browser/ui/panels/panel_manager.h (working copy) |
| @@ -9,6 +9,7 @@ |
| #include <vector> |
| #include "base/basictypes.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "base/timer.h" |
| #include "chrome/browser/ui/panels/panel.h" |
| #include "ui/gfx/rect.h" |
| @@ -43,12 +44,20 @@ |
| int mouse_y) const; |
| // Brings up or down the title-bar for all minimized panels. |
| - void BringUpOrDownTitleBarForAllMinimizedPanels(bool bring_up); |
| + void BringUpTitleBar(); |
| + void BringDownTitleBar(); |
| + // Returns the bottom position for the panel per its expansion state. If auto- |
| + // hide bottom bar is present, we want to move the minimized panel to the |
| + // bottom of the screen, not the bottom of the work area. |
|
Dmitry Titov
2011/08/17 22:56:38
GetBottomPositionForExpansionState would probably
jianli
2011/08/22 20:44:42
Done.
|
| + int GetBottomPositionPerExpansionState( |
| + Panel::ExpansionState expansion_state) const; |
| + |
| int num_panels() const { return panels_.size(); } |
| private: |
| friend class PanelBrowserTest; |
| + friend class PanelBrowserViewTest; |
| typedef std::vector<Panel*> Panels; |
| @@ -56,7 +65,7 @@ |
| // Applies the new work area. This is called by OnDisplayChanged and the test |
| // code. |
| - void SetWorkArea(const gfx::Rect& work_area); |
| + void SetWorkArea(const gfx::Rect& work_area, int bottom_bar_height); |
|
Dmitry Titov
2011/08/17 22:56:38
Comment needs to reflect if this method should be
jianli
2011/08/22 20:44:42
bottom_bar_height argument is removed.
|
| // Handles all the panels that're delayed to be removed. |
| void DelayedRemove(); |
| @@ -83,6 +92,8 @@ |
| void DragLeft(); |
| void DragRight(); |
| + void DoBringUpOrDownTitleBar(bool bring_up); |
| + |
| Panels panels_; |
| // Stores the panels that are pending to remove. We want to delay the removal |
| @@ -90,14 +101,20 @@ |
| Panels panels_pending_to_remove_; |
| // Current work area used in computing the panel bounds. |
| + // If the top-most bottom bar, like Windows taskbar or MacOSX dock, is always |
|
Dmitry Titov
2011/08/17 22:56:38
s/top-most/always-on-top/
jianli
2011/08/22 20:44:42
Done.
|
| + // visible, it should not be included in the work area. Otherwise, the work |
| + // area includes the potential area that would be taken by the bottom bar |
| + // when it becomes visible. |
| gfx::Rect work_area_; |
| + // The height of the top-most bottom bar if it is auto-hidden. Otherwise, this |
|
Dmitry Titov
2011/08/17 22:56:38
always-on-top
jianli
2011/08/22 20:44:42
Done.
|
| + // value is 0. |
|
Dmitry Titov
2011/08/17 22:56:38
This is a dual-use of a variable. It makes reading
jianli
2011/08/22 20:44:42
Removed since it is not needed as I introduced Aut
|
| + int auto_hide_bottom_bar_height_; |
| + |
| // Used in computing the bounds of the next panel. |
| int max_width_; |
| int max_height_; |
| - int min_x_; |
| int current_x_; |
| - int bottom_edge_y_; |
| // Panel to drag. |
| size_t dragging_panel_index_; |
| @@ -111,6 +128,13 @@ |
| // to when the dragging ends. |
| gfx::Rect dragging_panel_bounds_; |
| + // Timer to check the visibility of auto-hide bottom bar to decide when to |
| + // bring up or down the titlebar. |
|
Dmitry Titov
2011/08/17 22:56:38
s/the titlebar/the panel's titlebars/?
jianli
2011/08/22 20:44:42
Removed since this variable is not needed..
|
| + base::RepeatingTimer<PanelManager> bring_up_or_down_titlebar_timer_; |
| + |
| + // This is only used by the testing code to disable the above check. |
| + bool should_check_auto_hide_bottom_bar_on_titlebar_change_; |
|
Dmitry Titov
2011/08/17 22:56:38
instead of accessing this member directly, we can
jianli
2011/08/22 20:44:42
Done.
|
| + |
| DISALLOW_COPY_AND_ASSIGN(PanelManager); |
| }; |