summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs/tab_renderer.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-16 23:25:13 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-16 23:25:13 +0000
commit48c8fa63122510b2c51c6608a93b30e94192e679 (patch)
treedc22b80b2f4103d865cbfe47c6f4dc52c8595985 /chrome/browser/views/tabs/tab_renderer.cc
parent9ea0ea99d3a1140a17712a286414d387eddbe8ac (diff)
downloadchromium_src-48c8fa63122510b2c51c6608a93b30e94192e679.zip
chromium_src-48c8fa63122510b2c51c6608a93b30e94192e679.tar.gz
chromium_src-48c8fa63122510b2c51c6608a93b30e94192e679.tar.bz2
Rework the Button API to be saner in preparation for NativeControl rejiggering.BaseButton->Button, CustomButtonButton->ImageButtonToggleButton->ToggleImageButtonRemoving SetListener (buttons take listener through ctor)Tidy up source files. No functionality changes, just naming and organization.Look at the button classes first, then everything else.
Review URL: http://codereview.chromium.org/46096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11799 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/tabs/tab_renderer.cc')
-rw-r--r--chrome/browser/views/tabs/tab_renderer.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/chrome/browser/views/tabs/tab_renderer.cc b/chrome/browser/views/tabs/tab_renderer.cc
index 654acea..125bce4 100644
--- a/chrome/browser/views/tabs/tab_renderer.cc
+++ b/chrome/browser/views/tabs/tab_renderer.cc
@@ -132,13 +132,15 @@ int GetContentHeight() {
//
// This is a Button subclass that causes middle clicks to be forwarded to the
// parent View by explicitly not handling them in OnMousePressed.
-class TabCloseButton : public views::Button {
+class TabCloseButton : public views::ImageButton {
public:
- TabCloseButton() : Button() {}
+ explicit TabCloseButton(views::ButtonListener* listener)
+ : views::ImageButton(listener) {
+ }
virtual ~TabCloseButton() {}
virtual bool OnMousePressed(const views::MouseEvent& event) {
- bool handled = BaseButton::OnMousePressed(event);
+ bool handled = ImageButton::OnMousePressed(event);
// Explicitly mark midle-mouse clicks as non-handled to ensure the tab
// sees them.
return event.IsOnlyMiddleMouseButton() ? false : handled;
@@ -148,12 +150,12 @@ class TabCloseButton : public views::Button {
// can highlight itself appropriately. Note that Exit events
// fire before Enter events, so this works.
virtual void OnMouseEntered(const views::MouseEvent& event) {
- BaseButton::OnMouseEntered(event);
+ CustomButton::OnMouseEntered(event);
GetParent()->OnMouseEntered(event);
}
virtual void OnMouseExited(const views::MouseEvent& event) {
- BaseButton::OnMouseExited(event);
+ CustomButton::OnMouseExited(event);
GetParent()->OnMouseExited(event);
}
@@ -217,10 +219,10 @@ TabRenderer::TabRenderer()
InitResources();
// Add the Close Button.
- close_button_ = new TabCloseButton;
- close_button_->SetImage(views::Button::BS_NORMAL, close_button_n);
- close_button_->SetImage(views::Button::BS_HOT, close_button_h);
- close_button_->SetImage(views::Button::BS_PUSHED, close_button_p);
+ close_button_ = new TabCloseButton(this);
+ close_button_->SetImage(views::CustomButton::BS_NORMAL, close_button_n);
+ close_button_->SetImage(views::CustomButton::BS_HOT, close_button_h);
+ close_button_->SetImage(views::CustomButton::BS_PUSHED, close_button_p);
AddChildView(close_button_);
hover_animation_.reset(new SlideAnimation(this));