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

Side by Side Diff: views/window/window_delegate.h

Issue 6622002: Do all OOLing in the views code. linux_views now builds clean with the clang plugin. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 9 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 VIEWS_WINDOW_WINDOW_DELEGATE_H_ 5 #ifndef VIEWS_WINDOW_WINDOW_DELEGATE_H_
6 #define VIEWS_WINDOW_WINDOW_DELEGATE_H_ 6 #define VIEWS_WINDOW_WINDOW_DELEGATE_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 20 matching lines...) Expand all
31 // WindowDelegate is an interface implemented by objects that wish to show a 31 // WindowDelegate is an interface implemented by objects that wish to show a
32 // Window. The window that is displayed uses this interface to determine how 32 // Window. The window that is displayed uses this interface to determine how
33 // it should be displayed and notify the delegate object of certain events. 33 // it should be displayed and notify the delegate object of certain events.
34 // 34 //
35 /////////////////////////////////////////////////////////////////////////////// 35 ///////////////////////////////////////////////////////////////////////////////
36 class WindowDelegate { 36 class WindowDelegate {
37 public: 37 public:
38 WindowDelegate(); 38 WindowDelegate();
39 virtual ~WindowDelegate(); 39 virtual ~WindowDelegate();
40 40
41 virtual DialogDelegate* AsDialogDelegate() { return NULL; } 41 virtual DialogDelegate* AsDialogDelegate();
42 42
43 // Returns true if the window can ever be resized. 43 // Returns true if the window can ever be resized.
44 virtual bool CanResize() const { 44 virtual bool CanResize() const;
45 return false;
46 }
47 45
48 // Returns true if the window can ever be maximized. 46 // Returns true if the window can ever be maximized.
49 virtual bool CanMaximize() const { 47 virtual bool CanMaximize() const;
50 return false;
51 }
52 48
53 // Returns true if the dialog should be displayed modally to the window that 49 // Returns true if the dialog should be displayed modally to the window that
54 // opened it. Only windows with WindowType == DIALOG can be modal. 50 // opened it. Only windows with WindowType == DIALOG can be modal.
55 virtual bool IsModal() const { 51 virtual bool IsModal() const;
56 return false;
57 }
58 52
59 virtual AccessibilityTypes::Role accessible_role() const { 53 virtual AccessibilityTypes::Role accessible_role() const;
60 return AccessibilityTypes::ROLE_WINDOW;
61 }
62 54
63 virtual AccessibilityTypes::State accessible_state() const { 55 virtual AccessibilityTypes::State accessible_state() const;
64 return 0;
65 }
66 56
67 // Returns the title to be read with screen readers. 57 // Returns the title to be read with screen readers.
68 virtual std::wstring GetAccessibleWindowTitle() const { 58 virtual std::wstring GetAccessibleWindowTitle() const;
69 return GetWindowTitle();
70 }
71 59
72 // Returns the text to be displayed in the window title. 60 // Returns the text to be displayed in the window title.
73 virtual std::wstring GetWindowTitle() const { 61 virtual std::wstring GetWindowTitle() const;
74 return L"";
75 }
76 62
77 // Returns the view that should have the focus when the dialog is opened. If 63 // Returns the view that should have the focus when the dialog is opened. If
78 // NULL no view is focused. 64 // NULL no view is focused.
79 virtual View* GetInitiallyFocusedView() { return NULL; } 65 virtual View* GetInitiallyFocusedView();
80 66
81 // Returns true if the window should show a title in the title bar. 67 // Returns true if the window should show a title in the title bar.
82 virtual bool ShouldShowWindowTitle() const { 68 virtual bool ShouldShowWindowTitle() const;
83 return true;
84 }
85 69
86 // Returns true if the window's client view wants a client edge. 70 // Returns true if the window's client view wants a client edge.
87 virtual bool ShouldShowClientEdge() const { 71 virtual bool ShouldShowClientEdge() const;
88 return true;
89 }
90 72
91 // Returns the app icon for the window. On Windows, this is the ICON_BIG used 73 // Returns the app icon for the window. On Windows, this is the ICON_BIG used
92 // in Alt-Tab list and Win7's taskbar. 74 // in Alt-Tab list and Win7's taskbar.
93 virtual SkBitmap GetWindowAppIcon(); 75 virtual SkBitmap GetWindowAppIcon();
94 76
95 // Returns the icon to be displayed in the window. 77 // Returns the icon to be displayed in the window.
96 virtual SkBitmap GetWindowIcon(); 78 virtual SkBitmap GetWindowIcon();
97 79
98 // Returns true if a window icon should be shown. 80 // Returns true if a window icon should be shown.
99 virtual bool ShouldShowWindowIcon() const { 81 virtual bool ShouldShowWindowIcon() const;
100 return false;
101 }
102 82
103 // Execute a command in the window's controller. Returns true if the command 83 // Execute a command in the window's controller. Returns true if the command
104 // was handled, false if it was not. 84 // was handled, false if it was not.
105 virtual bool ExecuteWindowsCommand(int command_id) { return false; } 85 virtual bool ExecuteWindowsCommand(int command_id);
106 86
107 // Returns the window's name identifier. Used to identify this window for 87 // Returns the window's name identifier. Used to identify this window for
108 // state restoration. 88 // state restoration.
109 virtual std::wstring GetWindowName() const { 89 virtual std::wstring GetWindowName() const;
110 return std::wstring();
111 }
112 90
113 // Saves the window's bounds and maximized states. By default this uses the 91 // Saves the window's bounds and maximized states. By default this uses the
114 // process' local state keyed by window name (See GetWindowName above). This 92 // process' local state keyed by window name (See GetWindowName above). This
115 // behavior can be overridden to provide additional functionality. 93 // behavior can be overridden to provide additional functionality.
116 virtual void SaveWindowPlacement(const gfx::Rect& bounds, bool maximized); 94 virtual void SaveWindowPlacement(const gfx::Rect& bounds, bool maximized);
117 95
118 // Retrieves the window's bounds and maximized states. 96 // Retrieves the window's bounds and maximized states.
119 // This behavior can be overridden to provide additional functionality. 97 // This behavior can be overridden to provide additional functionality.
120 virtual bool GetSavedWindowBounds(gfx::Rect* bounds) const; 98 virtual bool GetSavedWindowBounds(gfx::Rect* bounds) const;
121 virtual bool GetSavedMaximizedState(bool* maximized) const; 99 virtual bool GetSavedMaximizedState(bool* maximized) const;
122 100
123 // Returns true if the window's size should be restored. If this is false, 101 // Returns true if the window's size should be restored. If this is false,
124 // only the window's origin is restored and the window is given its 102 // only the window's origin is restored and the window is given its
125 // preferred size. 103 // preferred size.
126 // Default is true. 104 // Default is true.
127 virtual bool ShouldRestoreWindowSize() const; 105 virtual bool ShouldRestoreWindowSize() const;
128 106
129 // Called when the window closes. 107 // Called when the window closes.
130 virtual void WindowClosing() {} 108 virtual void WindowClosing() {}
131 109
132 // Called when the window is destroyed. No events must be sent or received 110 // Called when the window is destroyed. No events must be sent or received
133 // after this point. The delegate can use this opportunity to delete itself at 111 // after this point. The delegate can use this opportunity to delete itself at
134 // this time if necessary. 112 // this time if necessary.
135 virtual void DeleteDelegate() {} 113 virtual void DeleteDelegate() {}
136 114
137 // Returns the View that is contained within this Window. 115 // Returns the View that is contained within this Window.
138 virtual View* GetContentsView() { 116 virtual View* GetContentsView();
139 return NULL;
140 }
141 117
142 // Called by the Window to create the Client View used to host the contents 118 // Called by the Window to create the Client View used to host the contents
143 // of the window. 119 // of the window.
144 virtual ClientView* CreateClientView(Window* window); 120 virtual ClientView* CreateClientView(Window* window);
145 121
146 Window* window() const { return window_; } 122 Window* window() const { return window_; }
147 123
148 private: 124 private:
149 friend class WindowGtk; 125 friend class WindowGtk;
150 friend class WindowWin; 126 friend class WindowWin;
151 // The Window this delegate is bound to. Weak reference. 127 // The Window this delegate is bound to. Weak reference.
152 Window* window_; 128 Window* window_;
153 }; 129 };
154 130
155 } // namespace views 131 } // namespace views
156 132
157 #endif // VIEWS_WINDOW_WINDOW_DELEGATE_H_ 133 #endif // VIEWS_WINDOW_WINDOW_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698