Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: chrome/browser/ui/panels/detached_panel_strip.h

Issue 9546001: Support detaching/attaching panels via inter-strip drags. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch to land Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/panels/detached_panel_strip.h
diff --git a/chrome/browser/ui/panels/detached_panel_strip.h b/chrome/browser/ui/panels/detached_panel_strip.h
index 0beedf94ab9f25c37ad97220ab9a846c0a94b57c..ce8f3e9f3c4de1ced3f9f19211459f7688a79ad6 100644
--- a/chrome/browser/ui/panels/detached_panel_strip.h
+++ b/chrome/browser/ui/panels/detached_panel_strip.h
@@ -27,7 +27,8 @@ class DetachedPanelStrip : public PanelStrip {
// PanelStrip OVERRIDES:
virtual void SetDisplayArea(const gfx::Rect& display_area) OVERRIDE;
virtual void RefreshLayout() OVERRIDE;
- virtual void AddPanel(Panel* panel) OVERRIDE;
+ virtual void AddPanel(Panel* panel,
+ PositioningMask positioning_mask) OVERRIDE;
virtual void RemovePanel(Panel* panel) OVERRIDE;
virtual void CloseAll() OVERRIDE;
virtual void ResizePanelWindow(
@@ -39,10 +40,16 @@ class DetachedPanelStrip : public PanelStrip {
virtual void RestorePanel(Panel* panel) OVERRIDE;
virtual bool IsPanelMinimized(const Panel* panel) const OVERRIDE;
virtual bool CanShowPanelAsActive(const Panel* panel) const OVERRIDE;
+ virtual void SavePanelPlacement(Panel* panel) OVERRIDE;
+ virtual void RestorePanelToSavedPlacement() OVERRIDE;
+ virtual void DiscardSavedPanelPlacement() OVERRIDE;
virtual bool CanDragPanel(const Panel* panel) const OVERRIDE;
- virtual void StartDraggingPanel(Panel* panel) OVERRIDE;
- virtual void DragPanel(Panel* panel, int delta_x, int delta_y) OVERRIDE;
- virtual void EndDraggingPanel(Panel* panel, bool cancelled) OVERRIDE;
+ virtual void StartDraggingPanelWithinStrip(Panel* panel) OVERRIDE;
+ virtual void DragPanelWithinStrip(Panel* panel,
+ int delta_x,
+ int delta_y) OVERRIDE;
+ virtual void EndDraggingPanelWithinStrip(Panel* panel,
+ bool aborted) OVERRIDE;
bool HasPanel(Panel* panel) const;
@@ -50,6 +57,13 @@ class DetachedPanelStrip : public PanelStrip {
const Panels& panels() const { return panels_; }
private:
+ struct PanelPlacement {
+ Panel* panel;
+ gfx::Point position;
+
+ PanelPlacement() : panel(NULL) { }
+ };
+
PanelManager* panel_manager_; // Weak, owns us.
// All panels in the panel strip must fit within this area.
@@ -58,6 +72,9 @@ class DetachedPanelStrip : public PanelStrip {
// Collection of all panels.
Panels panels_;
+ // Used to save the placement information for a panel.
+ PanelPlacement saved_panel_placement_;
+
DISALLOW_COPY_AND_ASSIGN(DetachedPanelStrip);
};
« no previous file with comments | « chrome/browser/ui/panels/detached_panel_browsertest.cc ('k') | chrome/browser/ui/panels/detached_panel_strip.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698