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

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: Rebase 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..f2da1ee2f6d7486b9cc40e66ed5e867cbfa4c1ba 100644
--- a/chrome/browser/chromeos/status/status_area_view.h
+++ b/chrome/browser/chromeos/status/status_area_view.h
@@ -6,33 +6,27 @@
#define CHROME_BROWSER_CHROMEOS_STATUS_STATUS_AREA_VIEW_H_
#pragma once
+#include <list>
+
#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 RemoveButton(StatusAreaButton* button);
+
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 +40,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::list<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_
« no previous file with comments | « chrome/browser/chromeos/status/status_area_host.h ('k') | chrome/browser/chromeos/status/status_area_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698