| 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_
|
|
|