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

Side by Side Diff: chrome/browser/ui/panels/panel_browser_view.h

Issue 7242017: Support minimizing the panel into 3-pixel line on Windows. Also support bringing up/down the titl... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_BROWSER_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_BROWSER_VIEW_H_
6 #define CHROME_BROWSER_UI_PANELS_PANEL_BROWSER_VIEW_H_ 6 #define CHROME_BROWSER_UI_PANELS_PANEL_BROWSER_VIEW_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/gtest_prod_util.h" 9 #include "base/gtest_prod_util.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 13 matching lines...) Expand all
24 public NativePanel, 24 public NativePanel,
25 public ui::AnimationDelegate { 25 public ui::AnimationDelegate {
26 public: 26 public:
27 PanelBrowserView(Browser* browser, Panel* panel, const gfx::Rect& bounds); 27 PanelBrowserView(Browser* browser, Panel* panel, const gfx::Rect& bounds);
28 virtual ~PanelBrowserView(); 28 virtual ~PanelBrowserView();
29 29
30 Panel* panel() const { return panel_.get(); } 30 Panel* panel() const { return panel_.get(); }
31 bool closed() const { return closed_; } 31 bool closed() const { return closed_; }
32 bool focused() const { return focused_; } 32 bool focused() const { return focused_; }
33 33
34 PanelBrowserFrameView* GetFrameView() const;
35
34 // Called from frame view when title bar receives a mouse event. 36 // Called from frame view when title bar receives a mouse event.
35 // Return true if the event is handled. 37 // Return true if the event is handled.
36 bool OnTitleBarMousePressed(const views::MouseEvent& event); 38 bool OnTitleBarMousePressed(const views::MouseEvent& event);
37 bool OnTitleBarMouseDragged(const views::MouseEvent& event); 39 bool OnTitleBarMouseDragged(const views::MouseEvent& event);
38 bool OnTitleBarMouseReleased(const views::MouseEvent& event); 40 bool OnTitleBarMouseReleased(const views::MouseEvent& event);
39 bool OnTitleBarMouseCaptureLost(); 41 bool OnTitleBarMouseCaptureLost();
40 42
41 private: 43 private:
42 friend class PanelBrowserViewTest; 44 friend class PanelBrowserViewTest;
43 FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, CreatePanel); 45 FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, CreatePanel);
44 FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, ShowOrHideSettingsButton); 46 FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, ShowOrHideSettingsButton);
45 FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, SetBoundsAnimation); 47 FRIEND_TEST_ALL_PREFIXES(PanelBrowserViewTest, SetBoundsAnimation);
46 48
47 // Overridden from BrowserView: 49 // Overridden from BrowserView:
48 virtual void Init() OVERRIDE; 50 virtual void Init() OVERRIDE;
49 virtual void Close() OVERRIDE; 51 virtual void Close() OVERRIDE;
52 virtual bool CanResize() const OVERRIDE { return false; }
53 virtual bool CanMaximize() const OVERRIDE { return false; }
50 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE; 54 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE;
51 virtual void UpdateTitleBar() OVERRIDE; 55 virtual void UpdateTitleBar() OVERRIDE;
52 virtual bool GetSavedWindowBounds(gfx::Rect* bounds) const OVERRIDE; 56 virtual bool GetSavedWindowBounds(gfx::Rect* bounds) const OVERRIDE;
53 virtual void OnWindowActivationChanged(bool active) OVERRIDE; 57 virtual void OnWindowActivationChanged(bool active) OVERRIDE;
54 virtual bool AcceleratorPressed(const views::Accelerator& accelerator) 58 virtual bool AcceleratorPressed(const views::Accelerator& accelerator)
55 OVERRIDE; 59 OVERRIDE;
56 60
57 // Overridden from views::WidgetDelegate: 61 // Overridden from views::WidgetDelegate:
58 virtual void OnDisplayChanged() OVERRIDE; 62 virtual void OnDisplayChanged() OVERRIDE;
59 virtual void OnWorkAreaChanged() OVERRIDE; 63 virtual void OnWorkAreaChanged() OVERRIDE;
60 virtual bool WillProcessWorkAreaChange() const OVERRIDE; 64 virtual bool WillProcessWorkAreaChange() const OVERRIDE;
61 65
62 // Overridden from NativePanel: 66 // Overridden from NativePanel:
63 virtual void ShowPanel() OVERRIDE; 67 virtual void ShowPanel() OVERRIDE;
64 virtual void ShowPanelInactive() OVERRIDE; 68 virtual void ShowPanelInactive() OVERRIDE;
65 virtual gfx::Rect GetPanelBounds() const OVERRIDE; 69 virtual gfx::Rect GetPanelBounds() const OVERRIDE;
66 virtual void SetPanelBounds(const gfx::Rect& bounds) OVERRIDE; 70 virtual void SetPanelBounds(const gfx::Rect& bounds) OVERRIDE;
67 virtual void MinimizePanel() OVERRIDE; 71 virtual void OnPanelExpansionStateChanged(
68 virtual void RestorePanel() OVERRIDE; 72 Panel::ExpansionState expansion_state) OVERRIDE;
73 virtual bool ShouldBringUpPanelTitleBar(int mouse_x,
74 int mouse_y) const OVERRIDE;
69 virtual void ClosePanel() OVERRIDE; 75 virtual void ClosePanel() OVERRIDE;
70 virtual void ActivatePanel() OVERRIDE; 76 virtual void ActivatePanel() OVERRIDE;
71 virtual void DeactivatePanel() OVERRIDE; 77 virtual void DeactivatePanel() OVERRIDE;
72 virtual bool IsPanelActive() const OVERRIDE; 78 virtual bool IsPanelActive() const OVERRIDE;
73 virtual gfx::NativeWindow GetNativePanelHandle() OVERRIDE; 79 virtual gfx::NativeWindow GetNativePanelHandle() OVERRIDE;
74 virtual void UpdatePanelTitleBar() OVERRIDE; 80 virtual void UpdatePanelTitleBar() OVERRIDE;
75 virtual void ShowTaskManagerForPanel() OVERRIDE; 81 virtual void ShowTaskManagerForPanel() OVERRIDE;
76 virtual void NotifyPanelOnUserChangedTheme() OVERRIDE; 82 virtual void NotifyPanelOnUserChangedTheme() OVERRIDE;
77 virtual void FlashPanelFrame() OVERRIDE; 83 virtual void FlashPanelFrame() OVERRIDE;
78 virtual void DestroyPanelBrowser() OVERRIDE; 84 virtual void DestroyPanelBrowser() OVERRIDE;
79 85
80 // Overridden from AnimationDelegate: 86 // Overridden from AnimationDelegate:
81 virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE; 87 virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
82 88
83 PanelBrowserFrameView* GetFrameView() const;
84 bool EndDragging(bool cancelled); 89 bool EndDragging(bool cancelled);
85 void MinimizeOrRestore();
86 90
87 scoped_ptr<Panel> panel_; 91 scoped_ptr<Panel> panel_;
88 gfx::Rect bounds_; 92 gfx::Rect bounds_;
89 93
90 // Stores the original height of the panel so we can restore it after it's 94 // Stores the original height of the panel so we can restore it after it's
91 // been minimized. 95 // been minimized.
92 int original_height_; 96 int original_height_;
93 bool minimized_;
94 97
95 // Is the panel being closed? Do not use it when it is closed. 98 // Is the panel being closed? Do not use it when it is closed.
96 bool closed_; 99 bool closed_;
97 100
98 // Is the panel receiving the focus? 101 // Is the panel receiving the focus?
99 bool focused_; 102 bool focused_;
100 103
101 // Is the mouse button currently down? 104 // Is the mouse button currently down?
102 bool mouse_pressed_; 105 bool mouse_pressed_;
103 106
104 // Location the mouse was pressed at. Used to detect drag and drop. 107 // Location the mouse was pressed at. Used to detect drag and drop.
105 gfx::Point mouse_pressed_point_; 108 gfx::Point mouse_pressed_point_;
106 109
107 // Is the titlebar currently being dragged? That is, has the cursor 110 // Is the titlebar currently being dragged? That is, has the cursor
108 // moved more than kDragThreshold away from its starting position? 111 // moved more than kDragThreshold away from its starting position?
109 bool mouse_dragging_; 112 bool mouse_dragging_;
110 113
111 // Used to animate the bounds change. 114 // Used to animate the bounds change.
112 scoped_ptr<ui::SlideAnimation> bounds_animator_; 115 scoped_ptr<ui::SlideAnimation> bounds_animator_;
113 gfx::Rect animation_start_bounds_; 116 gfx::Rect animation_start_bounds_;
114 117
115 DISALLOW_COPY_AND_ASSIGN(PanelBrowserView); 118 DISALLOW_COPY_AND_ASSIGN(PanelBrowserView);
116 }; 119 };
117 120
118 #endif // CHROME_BROWSER_UI_PANELS_PANEL_BROWSER_VIEW_H_ 121 #endif // CHROME_BROWSER_UI_PANELS_PANEL_BROWSER_VIEW_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/panels/panel_browser_frame_view.cc ('k') | chrome/browser/ui/panels/panel_browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698