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

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

Issue 14188014: Rename NativePanelStack to NativePanelStackWindow (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/ui/panels/native_panel_stack.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_STACK_H_
6 #define CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_STACK_H_
7
8 #include "base/memory/scoped_ptr.h"
9
10 class Panel;
11 class StackedPanelCollection;
12 namespace gfx {
13 class Rect;
14 }
15
16 // An interface that encapsulates the platform-specific behaviors that are
17 // needed to support multiple panels that are stacked together. A native
18 // window might be created to enclose all the panels in the stack. The lifetime
19 // of the class that implements this interface is managed by itself.
20 class NativePanelStack {
21 public:
22 // Creates and returns a NativePanelStack instance whose lifetime is managed
23 // by itself and it will be valid until Close is called. NativePanelStack
24 // also owns the StackedPanelCollection instance being passed here.
25 static NativePanelStack* Create(scoped_ptr<StackedPanelCollection> stack);
26
27 virtual ~NativePanelStack() {}
28
29 virtual bool IsMinimized() const = 0;
30
31 protected:
32 friend class StackedPanelCollection;
33
34 // Called when the stack is to be closed. This will destruct the
35 // NativePanelStack instance which causes the StackedPanelCollection
36 // instance to be also destructed since the former owns the later.
37 virtual void Close() = 0;
38
39 // Called when |panel| is being added to or removed from the stack.
40 virtual void OnPanelAddedOrRemoved(Panel* panel) = 0;
41
42 // Sets the bounds that is big enough to enclose all panels in the stack.
43 virtual void SetBounds(const gfx::Rect& bounds) = 0;
44
45 // Minimizes all the panels in the stack as a whole via system.
46 virtual void Minimize() = 0;
47
48 // Draws or clears the attention via system. The system might choose to
49 // flash the taskbar icon for attention.
50 virtual void DrawSystemAttention(bool draw_attention) = 0;
51 };
52
53 #endif // CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_STACK_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/panels/native_panel_stack.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698