Index: chrome/browser/ui/panels/panel_manager.h |
diff --git a/chrome/browser/ui/panels/panel_manager.h b/chrome/browser/ui/panels/panel_manager.h |
index 679236c123bb50e3b0c0ec06d4cca8811b25e591..b75187b3188fa0c7e278fb83379b1c4b1df41d2c 100644 |
--- a/chrome/browser/ui/panels/panel_manager.h |
+++ b/chrome/browser/ui/panels/panel_manager.h |
@@ -5,6 +5,7 @@ |
#ifndef CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_ |
#define CHROME_BROWSER_UI_PANELS_PANEL_MANAGER_H_ |
+#include <list> |
#include <vector> |
#include "base/basictypes.h" |
#include "base/lazy_instance.h" |
@@ -21,11 +22,14 @@ class GURL; |
class PanelDragController; |
class PanelResizeController; |
class PanelMouseWatcher; |
+class StackedPanelCollection; |
// This class manages a set of panels. |
class PanelManager : public DisplaySettingsProvider::DisplayAreaObserver, |
public DisplaySettingsProvider::FullScreenObserver { |
public: |
+ typedef std::list<StackedPanelCollection*> Stacks; |
+ |
enum CreateMode { |
CREATE_AS_DOCKED, // Creates a docked panel. The default. |
CREATE_AS_DETACHED // Creates a detached panel. |
@@ -63,6 +67,12 @@ class PanelManager : public DisplaySettingsProvider::DisplayAreaObserver, |
// Asynchronous confirmation of panel having been closed. |
void OnPanelClosed(Panel* panel); |
+ // Creates a StackedPanelCollection and returns it. |
+ StackedPanelCollection* CreateStack(); |
+ |
+ // Deletes |stack|. The stack must be empty at the time of deletion. |
+ void RemoveStack(StackedPanelCollection* stack); |
+ |
// Returns the maximum size that panel can be auto-resized or resized by the |
// API. |
int GetMaxPanelWidth() const; |
@@ -96,9 +106,14 @@ class PanelManager : public DisplaySettingsProvider::DisplayAreaObserver, |
// Brings up or down the titlebars for all minimized panels. |
void BringUpOrDownTitlebars(bool bring_up); |
+ std::vector<Panel*> GetDetachedAndStackedPanels() const; |
+ |
int num_panels() const; |
std::vector<Panel*> panels() const; |
+ const Stacks& stacks() const { return stacks_; } |
+ int num_stacks() const { return stacks_.size(); } |
+ |
PanelDragController* drag_controller() const { |
return drag_controller_.get(); |
} |
@@ -183,6 +198,7 @@ class PanelManager : public DisplaySettingsProvider::DisplayAreaObserver, |
scoped_ptr<DetachedPanelCollection> detached_collection_; |
scoped_ptr<DockedPanelCollection> docked_collection_; |
+ Stacks stacks_; |
scoped_ptr<PanelDragController> drag_controller_; |
scoped_ptr<PanelResizeController> resize_controller_; |