Home | History | Annotate | Download | only in toolbar
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_TOOLBAR_BUTTON_H_
      6 #define CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_TOOLBAR_BUTTON_H_
      7 
      8 #include "chrome/browser/ui/toolbar/wrench_icon_painter.h"
      9 #include "ui/views/controls/button/menu_button.h"
     10 
     11 // TODO(gbillock): Rename this? No longer a wrench.
     12 class WrenchToolbarButton : public views::MenuButton,
     13                             public WrenchIconPainter::Delegate {
     14  public:
     15   explicit WrenchToolbarButton(views::MenuButtonListener* menu_button_listener);
     16   virtual ~WrenchToolbarButton();
     17 
     18   void SetSeverity(WrenchIconPainter::Severity severity, bool animate);
     19 
     20   // views::MenuButton:
     21   virtual gfx::Size GetPreferredSize() const OVERRIDE;
     22   virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
     23 
     24   // WrenchIconPainter::Delegate:
     25   virtual void ScheduleWrenchIconPaint() OVERRIDE;
     26 
     27  private:
     28   WrenchIconPainter::BezelType GetCurrentBezelType() const;
     29 
     30   scoped_ptr<WrenchIconPainter> wrench_icon_painter_;
     31 
     32   DISALLOW_COPY_AND_ASSIGN(WrenchToolbarButton);
     33 };
     34 
     35 #endif  // CHROME_BROWSER_UI_VIEWS_TOOLBAR_WRENCH_TOOLBAR_BUTTON_H_
     36