Index: chrome/browser/chromeos/status/status_area_button.h |
diff --git a/chrome/browser/chromeos/status/status_area_button.h b/chrome/browser/chromeos/status/status_area_button.h |
index d4c8b6715ae9025f4bd9577f4b83db8fe29148dc..76754ec0c25c6a0678ff6e05315b1c336c606f4d 100644 |
--- a/chrome/browser/chromeos/status/status_area_button.h |
+++ b/chrome/browser/chromeos/status/status_area_button.h |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -6,6 +6,7 @@ |
#define CHROME_BROWSER_CHROMEOS_STATUS_STATUS_AREA_BUTTON_H_ |
#pragma once |
+#include "chrome/browser/chromeos/status/status_area_host.h" |
#include "views/controls/button/menu_button.h" |
#include "views/controls/menu/view_menu_delegate.h" |
@@ -15,11 +16,10 @@ namespace chromeos { |
// Shows current button state by drawing a border around the current icon. |
class StatusAreaButton : public views::MenuButton { |
public: |
- explicit StatusAreaButton(views::ViewMenuDelegate* menu_delegate); |
+ explicit StatusAreaButton(StatusAreaHost* host, |
+ views::ViewMenuDelegate* menu_delegate); |
virtual ~StatusAreaButton() {} |
virtual void PaintButton(gfx::Canvas* canvas, PaintButtonMode mode); |
- virtual gfx::Size GetPreferredSize(); |
- virtual gfx::Insets GetInsets() const; |
// Overrides TextButton's SetText to clear max text size before seting new |
// text content so that the button size would fit the new text size. |
@@ -30,14 +30,18 @@ class StatusAreaButton : public views::MenuButton { |
} |
// views::MenuButton overrides. |
- virtual bool Activate(); |
+ virtual bool Activate() OVERRIDE; |
+ |
+ // View overrides. |
+ virtual gfx::Size GetPreferredSize() OVERRIDE; |
+ virtual gfx::Insets GetInsets() const OVERRIDE; |
+ virtual void OnThemeChanged() OVERRIDE; |
// Controls whether or not this status area button is able to be pressed. |
void set_active(bool active) { active_ = active; } |
bool active() const { return active_; } |
protected: |
- |
// Subclasses should override these methods to return the correct dimensions. |
virtual int icon_height() { return 24; } |
virtual int icon_width() { return 23; } |
@@ -57,6 +61,12 @@ class StatusAreaButton : public views::MenuButton { |
// be false, and vice versa. |
bool active_; |
+ // The status area host, |
+ StatusAreaHost* host_; |
+ |
+ private: |
+ void UpdateTextStyle(); |
+ |
DISALLOW_COPY_AND_ASSIGN(StatusAreaButton); |
}; |