OLD | NEW |
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 CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ |
6 #define CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ | 6 #define CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ |
7 | 7 |
8 #include "chrome/browser/chromeos/status/status_area_host.h" | 8 #include "chrome/browser/chromeos/status/status_area_host.h" |
9 #include "chrome/browser/views/frame/browser_view.h" | 9 #include "chrome/browser/views/frame/browser_view.h" |
10 #include "views/controls/button/button.h" | 10 #include "views/controls/button/button.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 } // namespace views | 21 } // namespace views |
22 | 22 |
23 class Profile; | 23 class Profile; |
24 | 24 |
25 namespace chromeos { | 25 namespace chromeos { |
26 | 26 |
27 class BrowserStatusAreaView; | 27 class BrowserStatusAreaView; |
28 class CompactLocationBar; | 28 class CompactLocationBar; |
29 class CompactLocationBarHost; | 29 class CompactLocationBarHost; |
30 class CompactNavigationBar; | 30 class CompactNavigationBar; |
31 class AppLauncher; | |
32 class StatusAreaButton; | 31 class StatusAreaButton; |
33 | 32 |
34 // chromeos::BrowserView adds ChromeOS specific controls and menus to a | 33 // chromeos::BrowserView adds ChromeOS specific controls and menus to a |
35 // BrowserView created with Browser::TYPE_NORMAL. This extender adds controls | 34 // BrowserView created with Browser::TYPE_NORMAL. This extender adds controls |
36 // to the title bar as follows: | 35 // to the title bar as follows: |
37 // ____ __ __ | 36 // ____ __ __ |
38 // [AppLauncher] / \ \ \ [StatusArea] | 37 // [AppLauncher] / \ \ \ [StatusArea] |
39 // | 38 // |
40 // and adds the system context menu to the remaining arae of the titlebar. | 39 // and adds the system context menu to the remaining arae of the titlebar. |
41 class BrowserView : public ::BrowserView, | 40 class BrowserView : public ::BrowserView, |
42 public views::ButtonListener, | 41 public views::ButtonListener, |
43 public views::ContextMenuController, | 42 public views::ContextMenuController, |
44 public StatusAreaHost { | 43 public StatusAreaHost { |
45 public: | 44 public: |
46 // There are 3 ui styles, standard, compact and sidebar. | 45 // There are 3 ui styles, standard, compact and sidebar. |
47 // Standard uses the same layout as chromium/chrome browser. | 46 // Standard uses the same layout as chromium/chrome browser. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 void ShowCompactLocationBarUnderSelectedTab(); | 88 void ShowCompactLocationBarUnderSelectedTab(); |
90 | 89 |
91 // Returns true if the ui style is in Compact mode. | 90 // Returns true if the ui style is in Compact mode. |
92 bool is_compact_style() const { | 91 bool is_compact_style() const { |
93 return ui_style_ == CompactStyle; | 92 return ui_style_ == CompactStyle; |
94 } | 93 } |
95 | 94 |
96 private: | 95 private: |
97 void InitSystemMenu(); | 96 void InitSystemMenu(); |
98 | 97 |
99 // AppLauncher instance. | |
100 scoped_ptr<AppLauncher> main_menu_; | |
101 | |
102 // AppLauncher button. | 98 // AppLauncher button. |
103 views::ImageButton* main_menu_button_; | 99 views::ImageButton* main_menu_button_; |
104 | 100 |
105 // Status Area view. | 101 // Status Area view. |
106 BrowserStatusAreaView* status_area_; | 102 BrowserStatusAreaView* status_area_; |
107 | 103 |
108 // System menus. | 104 // System menus. |
109 scoped_ptr<menus::SimpleMenuModel> system_menu_contents_; | 105 scoped_ptr<menus::SimpleMenuModel> system_menu_contents_; |
110 scoped_ptr<views::Menu2> system_menu_menu_; | 106 scoped_ptr<views::Menu2> system_menu_menu_; |
111 | 107 |
(...skipping 18 matching lines...) Expand all Loading... |
130 | 126 |
131 // Menu button shown in status area when browser is in compact mode. | 127 // Menu button shown in status area when browser is in compact mode. |
132 StatusAreaButton* menu_view_; | 128 StatusAreaButton* menu_view_; |
133 | 129 |
134 DISALLOW_COPY_AND_ASSIGN(BrowserView); | 130 DISALLOW_COPY_AND_ASSIGN(BrowserView); |
135 }; | 131 }; |
136 | 132 |
137 } // namespace chromeos | 133 } // namespace chromeos |
138 | 134 |
139 #endif // CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ | 135 #endif // CHROME_BROWSER_CHROMEOS_FRAME_BROWSER_VIEW_H_ |
OLD | NEW |