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

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

Issue 9195003: Move IN_OVERFLOW from Panel::ExpansionState to new enum. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 11 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_H_ 5 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_H_
6 #define CHROME_BROWSER_UI_PANELS_PANEL_H_ 6 #define CHROME_BROWSER_UI_PANELS_PANEL_H_
7 #pragma once 7 #pragma once
8 8
9 #include "chrome/browser/ui/browser_window.h" 9 #include "chrome/browser/ui/browser_window.h"
10 10
(...skipping 14 matching lines...) Expand all
25 // - Throw an exceptions. The function shouldn't be called for Panels. 25 // - Throw an exceptions. The function shouldn't be called for Panels.
26 // - Do Panel specific platform independent processing and then invoke the 26 // - Do Panel specific platform independent processing and then invoke the
27 // function on the platform specific BrowserWindow member. For example, 27 // function on the platform specific BrowserWindow member. For example,
28 // Panel size is restricted to certain limits. 28 // Panel size is restricted to certain limits.
29 // - Invoke an appropriate PanelManager function to do stuff that might affect 29 // - Invoke an appropriate PanelManager function to do stuff that might affect
30 // other Panels. For example deleting a panel would rearrange other panels. 30 // other Panels. For example deleting a panel would rearrange other panels.
31 class Panel : public BrowserWindow, 31 class Panel : public BrowserWindow,
32 public TabStripModelObserver, 32 public TabStripModelObserver,
33 public content::NotificationObserver { 33 public content::NotificationObserver {
34 public: 34 public:
35 enum StripOwner {
jennb 2012/01/19 18:14:26 PanelLayout? More informative than StripOwner.
jianli 2012/01/19 22:24:41 Renamed to LayoutState, per discussion.
36 // The panel is docked to the bottom of the screen. The user might only be
jennb 2012/01/19 18:14:26 For this comment and the next, I would drop the se
jianli 2012/01/19 22:24:41 Done.
37 // able to resize the panel.
38 DOCKED,
39 // The panel can appear anywhere on the screen. The user can resize or
40 // reposition the panel at will.
41 DETACHED,
42 // The panel is put into the overflow area due to no space available in the
jennb 2012/01/19 18:14:26 s/no space available/insufficient space
jianli 2012/01/19 22:24:41 Done.
43 // normal display area.
jennb 2012/01/19 18:14:26 s/normal/docked "normal" is vague and open to int
jianli 2012/01/19 22:24:41 Done.
44 IN_OVERFLOW
45 };
46
35 enum ExpansionState { 47 enum ExpansionState {
36 // The panel is fully expanded with both title-bar and the client-area. 48 // The panel is fully expanded with both title-bar and the client-area.
37 EXPANDED, 49 EXPANDED,
38 // The panel is shown with the title-bar only. 50 // The panel is shown with the title-bar only.
39 TITLE_ONLY, 51 TITLE_ONLY,
40 // The panel is shown with 3-pixel line. 52 // The panel is shown with 3-pixel line.
41 MINIMIZED, 53 MINIMIZED
42 // The panel is put into the overflow area due to no space available in the
43 // normal display area.
44 IN_OVERFLOW
45 }; 54 };
46 55
47 // The panel can be minimized to 4-pixel lines. 56 // The panel can be minimized to 4-pixel lines.
48 static const int kMinimizedPanelHeight = 4; 57 static const int kMinimizedPanelHeight = 4;
49 58
50 virtual ~Panel(); 59 virtual ~Panel();
51 60
52 // Returns the PanelManager associated with this panel. 61 // Returns the PanelManager associated with this panel.
53 PanelManager* manager() const; 62 PanelManager* manager() const;
54 63
55 // Gets the extension that a panel is created from. 64 // Gets the extension that a panel is created from.
56 // Returns NULL if it cannot be found. 65 // Returns NULL if it cannot be found.
57 const Extension* GetExtension() const; 66 const Extension* GetExtension() const;
58 67
68 void SetStripOwner(StripOwner new_strip_owner);
59 void SetExpansionState(ExpansionState new_expansion_state); 69 void SetExpansionState(ExpansionState new_expansion_state);
60 70
61 bool IsDrawingAttention() const; 71 bool IsDrawingAttention() const;
62 72
63 // This function will only get called by PanelManager when full screen mode 73 // This function will only get called by PanelManager when full screen mode
64 // changes i.e it gets called when an app goes into full screen mode or when 74 // changes i.e it gets called when an app goes into full screen mode or when
65 // an app exits full screen mode. Panel should respond by making sure 75 // an app exits full screen mode. Panel should respond by making sure
66 // a) it does not go on top when some app enters full screen mode. 76 // a) it does not go on top when some app enters full screen mode.
67 // b) it remains on top when an app exits full screen mode. 77 // b) it remains on top when an app exits full screen mode.
68 void FullScreenModeChanged(bool is_full_screen); 78 void FullScreenModeChanged(bool is_full_screen);
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 221
212 // Used on platforms where the panel cannot determine its window size 222 // Used on platforms where the panel cannot determine its window size
213 // until the window has been created. (e.g. GTK) 223 // until the window has been created. (e.g. GTK)
214 void OnWindowSizeAvailable(); 224 void OnWindowSizeAvailable();
215 225
216 // Asynchronous completion of panel close request. 226 // Asynchronous completion of panel close request.
217 void OnNativePanelClosed(); 227 void OnNativePanelClosed();
218 228
219 NativePanel* native_panel() { return native_panel_; } 229 NativePanel* native_panel() { return native_panel_; }
220 Browser* browser() const { return browser_; } 230 Browser* browser() const { return browser_; }
231 StripOwner strip_owner() const { return strip_owner_; }
221 ExpansionState expansion_state() const { return expansion_state_; } 232 ExpansionState expansion_state() const { return expansion_state_; }
222 ExpansionState old_expansion_state() const { return old_expansion_state_; }
223 const gfx::Size& min_size() const { return min_size_; } 233 const gfx::Size& min_size() const { return min_size_; }
224 const gfx::Size& max_size() const { return max_size_; } 234 const gfx::Size& max_size() const { return max_size_; }
225 bool auto_resizable() const { return auto_resizable_; } 235 bool auto_resizable() const { return auto_resizable_; }
226 236
227 bool draggable() const { return draggable_; } 237 bool draggable() const { return draggable_; }
228 void set_draggable(bool can_drag) { draggable_ = can_drag; } 238 void set_draggable(bool can_drag) { draggable_ = can_drag; }
229 239
230 // The restored size is the size of the panel when it is expanded. 240 // The restored size is the size of the panel when it is expanded.
231 gfx::Size restored_size() const { return restored_size_; } 241 gfx::Size restored_size() const { return restored_size_; }
232 void set_restored_size(const gfx::Size& size) { restored_size_ = size; } 242 void set_restored_size(const gfx::Size& size) { restored_size_ = size; }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 // True if this panel auto resizes based on content. 313 // True if this panel auto resizes based on content.
304 bool auto_resizable_; 314 bool auto_resizable_;
305 315
306 // True if this panel can be dragged. 316 // True if this panel can be dragged.
307 bool draggable_; 317 bool draggable_;
308 318
309 // Platform specifc implementation for panels. It'd be one of 319 // Platform specifc implementation for panels. It'd be one of
310 // PanelBrowserWindowGtk/PanelBrowserView/PanelBrowserWindowCocoa. 320 // PanelBrowserWindowGtk/PanelBrowserView/PanelBrowserWindowCocoa.
311 NativePanel* native_panel_; // Weak, owns us. 321 NativePanel* native_panel_; // Weak, owns us.
312 322
323 StripOwner strip_owner_;
313 ExpansionState expansion_state_; 324 ExpansionState expansion_state_;
314 ExpansionState old_expansion_state_;
315 325
316 // Indicates whether the panel app icon is visible in the taskbar. 326 // Indicates whether the panel app icon is visible in the taskbar.
317 bool app_icon_visible_; 327 bool app_icon_visible_;
318 328
319 content::NotificationRegistrar registrar_; 329 content::NotificationRegistrar registrar_;
320 330
321 DISALLOW_COPY_AND_ASSIGN(Panel); 331 DISALLOW_COPY_AND_ASSIGN(Panel);
322 }; 332 };
323 333
324 #endif // CHROME_BROWSER_UI_PANELS_PANEL_H_ 334 #endif // CHROME_BROWSER_UI_PANELS_PANEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698