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

Unified Diff: chrome/browser/ui/panels/docked_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
Index: chrome/browser/ui/panels/docked_panel_collection.h
diff --git a/chrome/browser/ui/panels/docked_panel_collection.h b/chrome/browser/ui/panels/docked_panel_collection.h
deleted file mode 100644
index 19c219bc1a29c770eb82c98ee6792fcff0e153f8..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/panels/docked_panel_collection.h
+++ /dev/null
@@ -1,197 +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_DOCKED_PANEL_COLLECTION_H_
-#define CHROME_BROWSER_UI_PANELS_DOCKED_PANEL_COLLECTION_H_
-
-#include <list>
-#include <set>
-
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "chrome/browser/ui/panels/display_settings_provider.h"
-#include "chrome/browser/ui/panels/panel.h"
-#include "chrome/browser/ui/panels/panel_collection.h"
-#include "chrome/browser/ui/panels/panel_mouse_watcher_observer.h"
-#include "ui/gfx/geometry/rect.h"
-
-class PanelManager;
-
-// This class manages a group of panels that could be docked to the bottom of
-// screen.
-class DockedPanelCollection :
- public PanelCollection,
- public PanelMouseWatcherObserver,
- public DisplaySettingsProvider::DesktopBarObserver {
- public:
- typedef std::list<Panel*> Panels;
-
- explicit DockedPanelCollection(PanelManager* panel_manager);
- ~DockedPanelCollection() override;
-
- // PanelCollection OVERRIDES:
- void OnDisplayChanged() override;
-
- // Rearranges the positions of the panels in the collection
- // and reduces their width when there is not enough room.
- // This is called when the display space has been changed, i.e. working
- // area being changed or a panel being closed.
- void RefreshLayout() override;
-
- // Adds a panel to the collection. The panel may be a newly created panel or
- // one that is transitioning from another grouping of panels.
- void AddPanel(Panel* panel, PositioningMask positioning_mask) override;
- void RemovePanel(Panel* pane, RemovalReason reasonl) override;
- void CloseAll() override;
- void ResizePanelWindow(Panel* panel,
- const gfx::Size& preferred_window_size) override;
- panel::Resizability GetPanelResizability(const Panel* panel) const override;
- void OnPanelResizedByMouse(Panel* panel,
- const gfx::Rect& new_bounds) override;
- void OnPanelAttentionStateChanged(Panel* panel) override;
- void OnPanelTitlebarClicked(Panel* panel,
- panel::ClickModifier modifier) override;
- void ActivatePanel(Panel* panel) override;
- void MinimizePanel(Panel* panel) override;
- void RestorePanel(Panel* panel) override;
- void OnMinimizeButtonClicked(Panel* panel,
- panel::ClickModifier modifier) override;
- void OnRestoreButtonClicked(Panel* panel,
- panel::ClickModifier modifier) override;
- bool CanShowMinimizeButton(const Panel* panel) const override;
- bool CanShowRestoreButton(const Panel* panel) const override;
- bool IsPanelMinimized(const Panel* panel) const override;
- bool UsesAlwaysOnTopPanels() const override;
- void SavePanelPlacement(Panel* panel) override;
- void RestorePanelToSavedPlacement() override;
- void DiscardSavedPanelPlacement() override;
- void UpdatePanelOnCollectionChange(Panel* panel) override;
- void OnPanelExpansionStateChanged(Panel* panel) override;
- void OnPanelActiveStateChanged(Panel* panel) override;
- gfx::Rect GetInitialPanelBounds(
- const gfx::Rect& requested_bounds) const override;
-
- // Returns true if we should bring up the titlebars, given the current mouse
- // point.
- bool ShouldBringUpTitlebars(int mouse_x, int mouse_y) const;
-
- // Brings up or down the titlebars for all minimized panels.
- void BringUpOrDownTitlebars(bool bring_up);
-
- // Returns the bottom position for the panel per its expansion state. If auto-
- // hide bottom bar is present, we want to move the minimized panel to the
- // bottom of the screen, not the bottom of the work area.
- int GetBottomPositionForExpansionState(
- Panel::ExpansionState expansion_state) const;
-
- // Returns panel width to be used, taking into account possible "squeezing"
- // due to lack of space in the collection.
- int WidthToDisplayPanelInCollection(bool is_for_active_panel,
- double squeeze_factor,
- int full_width) const;
-
- bool HasPanel(Panel* panel) const;
-
- // num_panels() and panels() only includes panels in the collection that
- // do NOT have a temporary layout.
- int num_panels() const { return panels_.size(); }
- const Panels& panels() const { return panels_; }
- Panel* last_panel() const { return panels_.empty() ? NULL : panels_.back(); }
-
- gfx::Rect work_area() const { return work_area_; }
-
- int StartingRightPosition() const;
-
-#ifdef UNIT_TEST
- int minimized_panel_count() const {return minimized_panel_count_; }
-#endif
-
- private:
- friend class DockedPanelDragHandler;
-
- enum TitlebarAction {
- NO_ACTION,
- BRING_UP,
- BRING_DOWN
- };
-
- struct PanelPlacement {
- Panel* panel;
- // Used to remember the panel to the left of |panel|, if any, for use when
- // restoring the position of |panel|.
- Panel* left_panel;
-
- PanelPlacement() : panel(NULL), left_panel(NULL) { }
- };
-
- // Overridden from PanelMouseWatcherObserver:
- void OnMouseMove(const gfx::Point& mouse_position) override;
-
- // Overridden from DisplaySettingsProvider::DesktopBarObserver:
- void OnAutoHidingDesktopBarVisibilityChanged(
- DisplaySettingsProvider::DesktopBarAlignment alignment,
- DisplaySettingsProvider::DesktopBarVisibility visibility) override;
- void OnAutoHidingDesktopBarThicknessChanged(
- DisplaySettingsProvider::DesktopBarAlignment alignment,
- int thickness) override;
-
- // Schedules a layout refresh with a short delay to avoid too much flicker.
- void ScheduleLayoutRefresh();
-
- // Keep track of the minimized panels to control mouse watching.
- void UpdateMinimizedPanelCount();
-
- // Minimizes or restores all panels in the collection.
- void MinimizeAll();
- void RestoreAll();
-
- // Makes sure the panel's bounds reflect its expansion state and the
- // panel is aligned at the bottom of the screen. Does not touch the x
- // coordinate.
- void AdjustPanelBoundsPerExpansionState(Panel* panel,
- gfx::Rect* panel_bounds);
-
- // Does the real job of bringing up or down the titlebars.
- void DoBringUpOrDownTitlebars(bool bring_up);
- // The callback for a delyed task, checks if it still need to perform
- // the delayed action.
- void DelayedBringUpOrDownTitlebarsCheck();
-
- // Compute default bounds for a panel of |full_size| that would be used
- // when adding the panel to the collection.
- gfx::Point GetDefaultPositionForPanel(const gfx::Size& full_size) const;
-
- int GetRightMostAvailablePosition() const;
-
- PanelManager* panel_manager_; // Weak, owns us.
-
- // All panels in the collection must fit within this area.
- gfx::Rect work_area_;
-
- Panels panels_;
-
- int minimized_panel_count_;
- bool are_titlebars_up_;
-
- bool minimizing_all_; // True while minimizing all panels.
-
- // Delayed transitions support. Sometimes transitions between minimized and
- // title-only states are delayed, for better usability with Taskbars/Docks.
- TitlebarAction delayed_titlebar_action_;
-
- // Used to save the placement information for a panel.
- PanelPlacement saved_panel_placement_;
-
- static const int kPanelsHorizontalSpacing = 4;
-
- // Owned by MessageLoop after posting.
- base::WeakPtrFactory<DockedPanelCollection> titlebar_action_factory_;
-
- // Owned by MessageLoop after posting.
- base::WeakPtrFactory<DockedPanelCollection> refresh_action_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(DockedPanelCollection);
-};
-
-#endif // CHROME_BROWSER_UI_PANELS_DOCKED_PANEL_COLLECTION_H_
« no previous file with comments | « chrome/browser/ui/panels/docked_panel_browsertest.cc ('k') | chrome/browser/ui/panels/docked_panel_collection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698