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 12namespace views { 13class Label; 14} 15 16namespace 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. 21class 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