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

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

Issue 2263863002: Remove implementation of Panels on OSes other than ChromeOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CR feedback Created 4 years, 4 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
« no previous file with comments | « chrome/browser/ui/panels/panel_browsertest.cc ('k') | chrome/browser/ui/panels/panel_collection.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/panels/panel_collection.h
diff --git a/chrome/browser/ui/panels/panel_collection.h b/chrome/browser/ui/panels/panel_collection.h
deleted file mode 100644
index 6f7fb9164f8833a8b994a31a6b2dc9f433936f45..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/panels/panel_collection.h
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_PANELS_PANEL_COLLECTION_H_
-#define CHROME_BROWSER_UI_PANELS_PANEL_COLLECTION_H_
-
-#include "chrome/browser/ui/panels/panel_constants.h"
-#include "ui/gfx/geometry/point.h"
-#include "ui/gfx/geometry/rect.h"
-
-class Panel;
-
-// Common base class for a collection of panels. Subclasses manage
-// various layouts for displaying panels in the collection.
-class PanelCollection {
- public:
- // Types of layout for the panel collections.
- enum Type {
- DETACHED, // free-floating panels
- DOCKED, // panels are 'docked' along the window's edge
- STACKED, // panels are stacked together
- };
-
- // Masks that control how the panel is added and positioned.
- enum PositioningMask {
- // The panel is added and placed at default position that is decided by the
- // collection.
- DEFAULT_POSITION = 0x0,
- // The panel is being added based on its current known position.
- KNOWN_POSITION = 0x1,
- // The panel is added and placed at top position (currently only used by
- // stacked collection)
- TOP_POSITION = 0x2,
- // Do not update panel bounds. Only valid with DEFAULT_POSIITON.
- DO_NOT_UPDATE_BOUNDS = 0x4,
- // Wait for a brief delay before refreshing layout of the collection after
- // adding panel to the collection. If not set, the collection will refresh
- // its layout immediately.
- DELAY_LAYOUT_REFRESH = 0x8,
- // Do not refresh layout. Used by stacking.
- NO_LAYOUT_REFRESH = 0x10,
- // Collapse other inactive stacked panels such the tha new panel can fit
- // within the working area. Used by stacking.
- COLLAPSE_TO_FIT = 0x20
- };
-
- enum RemovalReason {
- PANEL_CLOSED,
- PANEL_CHANGED_COLLECTION
- };
-
- Type type() const { return type_; }
-
- // Called when the display area is changed.
- virtual void OnDisplayChanged() = 0;
-
- // Updates the positioning of all panels in the collection, usually as
- // a result of removing or resizing a panel in collection.
- virtual void RefreshLayout() = 0;
-
- // Adds |panel| to the collection of panels.
- // |positioning_mask| indicates how |panel| should be added and positioned.
- virtual void AddPanel(Panel* panel, PositioningMask positioning_mask) = 0;
-
- // Removes |panel| from the collection of panels. Invoked asynchronously
- // after a panel has been closed.
- // |reason| denotes why the panel is removed from the collection.
- virtual void RemovePanel(Panel* panel, RemovalReason reason) = 0;
-
- // Closes all panels in the collection. Panels will be removed after closing.
- virtual void CloseAll() = 0;
-
- // Resizes the |panel| to the |preferred_window_size| and updates the layout
- // of other panels in the collection accordingly.
- // |preferred_window_size| is the outer dimensions of the window, not
- // the content area, and is in screen coordinates.
- // The preferred size may be adjusted to fit layout constraints.
- virtual void ResizePanelWindow(Panel* panel,
- const gfx::Size& preferred_window_size) = 0;
-
- // Returns the sides from which |panel| can be resized by the user
- // if |panel| is resizable in this collection.
- virtual panel::Resizability GetPanelResizability(
- const Panel* panel) const = 0;
-
- // Change panel's bounds and take care of all possible side effects
- // in ths collection as a result of the panel being resized by the user.
- // TODO (AndreiB) Add a parameter telling what how to approach animation
- // (no animation, continue existing, or start new).
- virtual void OnPanelResizedByMouse(Panel* panel,
- const gfx::Rect& new_bounds) = 0;
-
- // Invoked when the draw attention state of the panel has changed.
- // Subclass should update the display of the panel to match the new
- // draw attention state.
- virtual void OnPanelAttentionStateChanged(Panel* panel) = 0;
-
- // Invoked when the titlebar of a |panel| in the collection has been clicked.
- // Click behavior may be modified as indicated by |modifier|.
- virtual void OnPanelTitlebarClicked(Panel* panel,
- panel::ClickModifier modifier) = 0;
-
- // Called when a panel's expansion state changes.
- virtual void OnPanelExpansionStateChanged(Panel* panel) = 0;
-
- // Called when a panel in the collection becomes active or inactive.
- virtual void OnPanelActiveStateChanged(Panel* panel) = 0;
-
- // Updates the display to show |panel| as active.
- virtual void ActivatePanel(Panel* panel) = 0;
-
- // Updates the display to show |panel| as minimized/restored.
- virtual void MinimizePanel(Panel* panel) = 0;
- virtual void RestorePanel(Panel* panel) = 0;
-
- // Called when a panel's minimize/restore button is clicked.
- // The behavior might be modified as indicated by |modifier|.
- virtual void OnMinimizeButtonClicked(Panel* panel,
- panel::ClickModifier modifier) = 0;
- virtual void OnRestoreButtonClicked(Panel* panel,
- panel::ClickModifier modifier) = 0;
-
- // Returns true if minimize or restore button can be shown on the panel's
- // titlebar.
- virtual bool CanShowMinimizeButton(const Panel* panel) const = 0;
- virtual bool CanShowRestoreButton(const Panel* panel) const = 0;
-
- virtual bool IsPanelMinimized(const Panel* panel) const = 0;
-
- virtual bool UsesAlwaysOnTopPanels() const = 0;
-
- // Saves/restores/discards the placement information of |panel|. This is
- // useful in bringing back the dragging panel to its original positioning
- // when the drag is cancelled. After the placement information is saved,
- // the caller should only call one of RestorePanelToSavedPlacement or
- // DiscardSavedPanelPlacement.
- virtual void SavePanelPlacement(Panel* panel) = 0;
- virtual void RestorePanelToSavedPlacement() = 0;
- virtual void DiscardSavedPanelPlacement() = 0;
-
- // When a panel is added to this collection, some modifications to its visual
- // style or underlying implementation may be in order. Each collection decides
- // what properties should be applied to a newly-added panel.
- virtual void UpdatePanelOnCollectionChange(Panel* panel) = 0;
-
- // Returns the initial bounds to show the panel based on the requested bounds.
- virtual gfx::Rect GetInitialPanelBounds(
- const gfx::Rect& requested_bounds) const = 0;
-
- protected:
- explicit PanelCollection(Type type);
- virtual ~PanelCollection();
-
- const Type type_; // Type of this panel collection.
-};
-
-#endif // CHROME_BROWSER_UI_PANELS_PANEL_COLLECTION_H_
« no previous file with comments | « chrome/browser/ui/panels/panel_browsertest.cc ('k') | chrome/browser/ui/panels/panel_collection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698