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 #include "chrome/browser/ui/panels/panel_manager.h" | 5 #include "chrome/browser/ui/panels/panel_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/browser_list.h" | 10 #include "chrome/browser/ui/browser_list.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 | 69 |
70 void PanelManager::Layout() { | 70 void PanelManager::Layout() { |
71 int height = | 71 int height = |
72 static_cast<int>(adjusted_work_area_.height() * kPanelStripHeightFactor); | 72 static_cast<int>(adjusted_work_area_.height() * kPanelStripHeightFactor); |
73 gfx::Rect panel_strip_bounds; | 73 gfx::Rect panel_strip_bounds; |
74 panel_strip_bounds.set_x(adjusted_work_area_.x() + kPanelStripLeftMargin); | 74 panel_strip_bounds.set_x(adjusted_work_area_.x() + kPanelStripLeftMargin); |
75 panel_strip_bounds.set_y(adjusted_work_area_.bottom() - height); | 75 panel_strip_bounds.set_y(adjusted_work_area_.bottom() - height); |
76 panel_strip_bounds.set_width(adjusted_work_area_.width() - | 76 panel_strip_bounds.set_width(adjusted_work_area_.width() - |
77 kPanelStripLeftMargin - kPanelStripRightMargin); | 77 kPanelStripLeftMargin - kPanelStripRightMargin); |
78 panel_strip_bounds.set_height(height); | 78 panel_strip_bounds.set_height(height); |
79 panel_strip_->SetBounds(panel_strip_bounds); | 79 panel_strip_->SetDisplayArea(panel_strip_bounds); |
80 } | 80 } |
81 | 81 |
82 Panel* PanelManager::CreatePanel(Browser* browser) { | 82 Panel* PanelManager::CreatePanel(Browser* browser) { |
83 int width = browser->override_bounds().width(); | 83 int width = browser->override_bounds().width(); |
84 int height = browser->override_bounds().height(); | 84 int height = browser->override_bounds().height(); |
85 Panel* panel = new Panel(browser, gfx::Size(width, height)); | 85 Panel* panel = new Panel(browser, gfx::Size(width, height)); |
86 panel_strip_->AddPanel(panel); | 86 panel_strip_->AddPanel(panel); |
87 | 87 |
88 content::NotificationService::current()->Notify( | 88 content::NotificationService::current()->Notify( |
89 chrome::NOTIFICATION_PANEL_ADDED, | 89 chrome::NOTIFICATION_PANEL_ADDED, |
90 content::Source<Panel>(panel), | 90 content::Source<Panel>(panel), |
91 content::NotificationService::NoDetails()); | 91 content::NotificationService::NoDetails()); |
92 | 92 |
93 return panel; | 93 return panel; |
94 } | 94 } |
95 | 95 |
96 int PanelManager::StartingRightPosition() const { | 96 int PanelManager::StartingRightPosition() const { |
97 return panel_strip_->StartingRightPosition(); | 97 return panel_strip_->StartingRightPosition(); |
98 } | 98 } |
99 | 99 |
100 void PanelManager::Remove(Panel* panel) { | 100 void PanelManager::Remove(Panel* panel) { |
101 if (panel_strip_->Remove(panel)) | 101 if (panel_strip_->Remove(panel)) |
102 return; | 102 return; |
103 // TODO(jianli): else try removing from overflow strip | 103 // TODO(jianli): else try removing from overflow strip |
104 } | 104 } |
105 | 105 |
106 void PanelManager::OnPanelRemoved(Panel* panel) { | |
107 content::NotificationService::current()->Notify( | |
108 chrome::NOTIFICATION_PANEL_REMOVED, | |
109 content::Source<Panel>(panel), | |
110 content::NotificationService::NoDetails()); | |
111 } | |
112 | |
113 void PanelManager::StartDragging(Panel* panel) { | 106 void PanelManager::StartDragging(Panel* panel) { |
114 panel_strip_->StartDragging(panel); | 107 panel_strip_->StartDragging(panel); |
115 } | 108 } |
116 | 109 |
117 void PanelManager::Drag(int delta_x) { | 110 void PanelManager::Drag(int delta_x) { |
118 panel_strip_->Drag(delta_x); | 111 panel_strip_->Drag(delta_x); |
119 } | 112 } |
120 | 113 |
121 void PanelManager::EndDragging(bool cancelled) { | 114 void PanelManager::EndDragging(bool cancelled) { |
122 panel_strip_->EndDragging(cancelled); | 115 panel_strip_->EndDragging(cancelled); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 // TODO(jianli): + overflow_strip_->num_panels(); | 196 // TODO(jianli): + overflow_strip_->num_panels(); |
204 } | 197 } |
205 | 198 |
206 bool PanelManager::is_dragging_panel() const { | 199 bool PanelManager::is_dragging_panel() const { |
207 return panel_strip_->is_dragging_panel(); | 200 return panel_strip_->is_dragging_panel(); |
208 } | 201 } |
209 | 202 |
210 const PanelManager::Panels& PanelManager::panels() const { | 203 const PanelManager::Panels& PanelManager::panels() const { |
211 return panel_strip_->panels(); | 204 return panel_strip_->panels(); |
212 } | 205 } |
OLD | NEW |