| Index: chrome/browser/ui/views/panels/panel_stack_view.h
|
| diff --git a/chrome/browser/ui/views/panels/panel_stack_view.h b/chrome/browser/ui/views/panels/panel_stack_view.h
|
| deleted file mode 100644
|
| index a37c7fbbf95ba38d9d0db16b0083521b07fb8eb7..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/panels/panel_stack_view.h
|
| +++ /dev/null
|
| @@ -1,147 +0,0 @@
|
| -// Copyright (c) 2013 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_VIEWS_PANELS_PANEL_STACK_VIEW_H_
|
| -#define CHROME_BROWSER_UI_VIEWS_PANELS_PANEL_STACK_VIEW_H_
|
| -
|
| -#include <list>
|
| -#include <map>
|
| -#include <memory>
|
| -
|
| -#include "base/macros.h"
|
| -#include "build/build_config.h"
|
| -#include "chrome/browser/ui/panels/native_panel_stack_window.h"
|
| -#include "ui/gfx/animation/animation_delegate.h"
|
| -#include "ui/views/focus/widget_focus_manager.h"
|
| -#include "ui/views/widget/widget_delegate.h"
|
| -#include "ui/views/widget/widget_observer.h"
|
| -
|
| -#if defined(OS_WIN)
|
| -#include "chrome/browser/ui/views/panels/taskbar_window_thumbnailer_win.h"
|
| -#include "ui/base/win/hwnd_subclass.h"
|
| -#endif
|
| -
|
| -namespace gfx {
|
| -class LinearAnimation;
|
| -}
|
| -namespace views {
|
| -class Widget;
|
| -}
|
| -
|
| -// A native window that acts as the owner of all panels in the stack, in order
|
| -// to make all panels appear as a single window on the taskbar or launcher.
|
| -class PanelStackView : public NativePanelStackWindow,
|
| - public views::WidgetFocusChangeListener,
|
| -#if defined(OS_WIN)
|
| - public ui::HWNDMessageFilter,
|
| - public TaskbarWindowThumbnailerDelegateWin,
|
| -#endif
|
| - public gfx::AnimationDelegate {
|
| - public:
|
| - explicit PanelStackView(NativePanelStackWindowDelegate* delegate);
|
| - ~PanelStackView() override;
|
| -
|
| - protected:
|
| - // Overridden from NativePanelStackWindow:
|
| - void Close() override;
|
| - void AddPanel(Panel* panel) override;
|
| - void RemovePanel(Panel* panel) override;
|
| - void MergeWith(NativePanelStackWindow* another) override;
|
| - bool IsEmpty() const override;
|
| - bool HasPanel(Panel* panel) const override;
|
| - void MovePanelsBy(const gfx::Vector2d& delta) override;
|
| - void BeginBatchUpdatePanelBounds(bool animate) override;
|
| - void AddPanelBoundsForBatchUpdate(Panel* panel,
|
| - const gfx::Rect& new_bounds) override;
|
| - void EndBatchUpdatePanelBounds() override;
|
| - bool IsAnimatingPanelBounds() const override;
|
| - void Minimize() override;
|
| - bool IsMinimized() const override;
|
| - void DrawSystemAttention(bool draw_attention) override;
|
| - void OnPanelActivated(Panel* panel) override;
|
| -
|
| - private:
|
| - typedef std::list<Panel*> Panels;
|
| -
|
| - // The map value is old bounds of the panel.
|
| - typedef std::map<Panel*, gfx::Rect> BoundsUpdates;
|
| -
|
| - // Overridden from views::WidgetFocusChangeListener:
|
| - void OnNativeFocusChanged(gfx::NativeView focused_now) override;
|
| -
|
| - // Overridden from AnimationDelegate:
|
| - void AnimationEnded(const gfx::Animation* animation) override;
|
| - void AnimationProgressed(const gfx::Animation* animation) override;
|
| - void AnimationCanceled(const gfx::Animation* animation) override;
|
| -
|
| - // Updates the bounds of panels as specified in batch update data.
|
| - void UpdatePanelsBounds();
|
| -
|
| - // Notifies the delegate that the updates of the panel bounds are completed.
|
| - void NotifyBoundsUpdateCompleted();
|
| -
|
| - // Computes/updates the minimum bounds that could fit all panels.
|
| - gfx::Rect GetStackWindowBounds() const;
|
| - void UpdateStackWindowBounds();
|
| -
|
| - views::Widget* CreateWindowWithBounds(const gfx::Rect& bounds);
|
| - void EnsureWindowCreated();
|
| -
|
| - // Makes the stack window own the panel window such that multiple panels
|
| - // stacked together could appear as a single window on the taskbar or
|
| - // launcher.
|
| - static void MakeStackWindowOwnPanelWindow(Panel* panel,
|
| - PanelStackView* stack_window);
|
| -
|
| -#if defined(OS_WIN)
|
| - // Overridden from ui::HWNDMessageFilter:
|
| - bool FilterMessage(HWND hwnd,
|
| - UINT message,
|
| - WPARAM w_param,
|
| - LPARAM l_param,
|
| - LRESULT* l_result) override;
|
| -
|
| - // Overridden from TaskbarWindowThumbnailerDelegateWin:
|
| - std::vector<HWND> GetSnapshotWindowHandles() const override;
|
| -
|
| - // Updates the live preview snapshot when something changes, like
|
| - // adding/removing/moving/resizing a stacked panel.
|
| - void RefreshLivePreviewThumbnail();
|
| -
|
| - // Updates the bounds of the widget window in a deferred way.
|
| - void DeferUpdateNativeWindowBounds(HDWP defer_window_pos_info,
|
| - views::Widget* window,
|
| - const gfx::Rect& bounds);
|
| -#endif
|
| -
|
| - NativePanelStackWindowDelegate* delegate_;
|
| -
|
| - views::Widget* window_; // Weak pointer, own us.
|
| -
|
| - // Tracks all panels that are enclosed by this window.
|
| - Panels panels_;
|
| -
|
| - // Is the taskbar icon of the underlying window being flashed in order to
|
| - // draw the user's attention?
|
| - bool is_drawing_attention_;
|
| -
|
| -#if defined(OS_WIN)
|
| - // The custom live preview snapshot is always provided for the stack window.
|
| - // This is because the system might not show the snapshot correctly for
|
| - // a small window, like collapsed panel.
|
| - std::unique_ptr<TaskbarWindowThumbnailerWin> thumbnailer_;
|
| -#endif
|
| -
|
| - // For batch bounds update.
|
| - bool animate_bounds_updates_;
|
| - bool bounds_updates_started_;
|
| - BoundsUpdates bounds_updates_;
|
| -
|
| - // Used to animate the bounds changes at a synchronized pace.
|
| - std::unique_ptr<gfx::LinearAnimation> bounds_animator_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PanelStackView);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_UI_VIEWS_PANELS_PANEL_STACK_VIEW_H_
|
|
|