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

Unified Diff: chrome/browser/chromeos/status/status_area_view.h

Issue 8438064: Separate StatusAreaView from StatusAreaViewChromeos (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/status/status_area_view.h
diff --git a/chrome/browser/chromeos/status/status_area_view.h b/chrome/browser/chromeos/status/status_area_view.h
index 22cc8f7880cf1687e64c2717128b5fabcf510dfe..e336b66783a719e9ca86bff248bfb1690e21cb59 100644
--- a/chrome/browser/chromeos/status/status_area_view.h
+++ b/chrome/browser/chromeos/status/status_area_view.h
@@ -8,31 +8,22 @@
#include "base/basictypes.h"
#include "base/callback.h"
+#include "chrome/browser/chromeos/status/status_area_button.h"
#include "chrome/browser/ui/views/accessible_pane_view.h"
#include "views/view.h"
-namespace chromeos {
-
-class AccessibilityMenuButton;
-class CapsLockMenuButton;
-class ClockMenuButton;
-class InputMethodMenuButton;
-class MemoryMenuButton;
-class NetworkMenuButton;
-class PowerMenuButton;
-class StatusAreaHost;
-
// This class is used to wrap the small informative widgets in the upper-right
// of the window title bar. It is used on ChromeOS only.
class StatusAreaView : public AccessiblePaneView,
public base::SupportsWeakPtr<StatusAreaView> {
public:
- explicit StatusAreaView(StatusAreaHost* host);
+ explicit StatusAreaView();
virtual ~StatusAreaView();
- virtual void Init();
+ void AddButton(StatusAreaButton* button, bool bordered);
+
void MakeButtonsActive(bool active);
- void ButtonVisibilityChanged(views::View* button_view);
+ void UpdateButtonVisibility();
// Takes focus and transfers it to the first (last if |reverse| is true).
// After focus has traversed through all elements, clears focus and calls
@@ -46,38 +37,23 @@ class StatusAreaView : public AccessiblePaneView,
views::View* focused_now) OVERRIDE;
// views::View* overrides.
- virtual gfx::Size GetPreferredSize();
- virtual void Layout();
- virtual void ChildPreferredSizeChanged(View* child);
-
- AccessibilityMenuButton* accessibility_view() { return accessibility_view_; }
- CapsLockMenuButton* caps_lock_view() { return caps_lock_view_; }
- ClockMenuButton* clock_view() { return clock_view_; }
- InputMethodMenuButton* input_method_view() { return input_method_view_; }
- NetworkMenuButton* network_view() { return network_view_; }
- PowerMenuButton* power_view() { return power_view_; }
+ virtual gfx::Size GetPreferredSize() OVERRIDE;
+ virtual void Layout() OVERRIDE;
+ virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE;
private:
- StatusAreaHost* host_;
-
- AccessibilityMenuButton* accessibility_view_;
- CapsLockMenuButton* caps_lock_view_;
- ClockMenuButton* clock_view_;
- InputMethodMenuButton* input_method_view_;
- MemoryMenuButton* memory_view_;
- NetworkMenuButton* network_view_;
- PowerMenuButton* power_view_;
+ StatusAreaButton::Delegate* delegate_;
// True if focus needs to be returned via |return_focus_cb_| when it wraps.
bool need_return_focus_;
ReturnFocusCallback return_focus_cb_;
+ std::vector<StatusAreaButton*> buttons_;
+
// Clears focus and calls |return_focus_cb_|.
void ReturnFocus(bool reverse);
DISALLOW_COPY_AND_ASSIGN(StatusAreaView);
};
-} // namespace chromeos
-
#endif // CHROME_BROWSER_CHROMEOS_STATUS_STATUS_AREA_VIEW_H_

Powered by Google App Engine
This is Rietveld 408576698