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