• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 ASH_SYSTEM_TRAY_TRAY_BAR_BUTTON_WITH_TITLE_H_
6 #define ASH_SYSTEM_TRAY_TRAY_BAR_BUTTON_WITH_TITLE_H_
7 
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "ui/views/controls/button/custom_button.h"
11 
12 namespace views {
13 class Label;
14 }
15 
16 namespace ash {
17 
18 // A button with a bar image and title text below the bar image. These buttons
19 // will be used in audio and brightness control UI, which can be toggled with
20 // on/off states.
21 class TrayBarButtonWithTitle : public views::CustomButton {
22  public:
23   TrayBarButtonWithTitle(views::ButtonListener* listener,
24                          int title_id,
25                          int width);
26   virtual ~TrayBarButtonWithTitle();
27 
28   void UpdateButton(bool control_on);
29 
30  private:
31   class TrayBarButton;
32 
33   // Overridden from views::CustomButton:
34   virtual gfx::Size GetPreferredSize() const OVERRIDE;
35   virtual void Layout() OVERRIDE;
36 
37   TrayBarButton* image_;
38   views::Label* title_;
39   int width_;
40   int image_height_;
41 
42   DISALLOW_COPY_AND_ASSIGN(TrayBarButtonWithTitle);
43 };
44 
45 }  // namespace ash
46 
47 #endif  // ASH_SYSTEM_TRAY_TRAY_BAR_BUTTON_WITH_TITLE_H_
48