1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef ASH_SYSTEM_TRAY_TRAY_POPUP_HEADER_BUTTON_H_ 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define ASH_SYSTEM_TRAY_TRAY_POPUP_HEADER_BUTTON_H_ 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 8558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch#include "ash/ash_export.h" 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/basictypes.h" 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/compiler_specific.h" 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ui/views/controls/button/image_button.h" 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace ash { 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// A ToggleImageButton with fixed size, paddings and hover effects. These 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// buttons are used in the header. 17558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochclass ASH_EXPORT TrayPopupHeaderButton : public views::ToggleImageButton { 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public: 19558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch static const char kViewClassName[]; 20558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TrayPopupHeaderButton(views::ButtonListener* listener, 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int enabled_resource_id, 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int disabled_resource_id, 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int enabled_resource_id_hover, 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int disabled_resource_id_hover, 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) int accessible_name_id); 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual ~TrayPopupHeaderButton(); 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) private: 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Overridden from views::View: 31558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch virtual const char* GetClassName() const OVERRIDE; 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual gfx::Size GetPreferredSize() const OVERRIDE; 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void OnPaintBorder(gfx::Canvas* canvas) OVERRIDE; 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Overridden from views::CustomButton: 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void StateChanged() OVERRIDE; 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(TrayPopupHeaderButton); 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace ash 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif // ASH_SYSTEM_TRAY_TRAY_POPUP_HEADER_BUTTON_H_ 44