tray_image_item.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 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#include "ash/system/tray/tray_image_item.h" 6 7#include "ash/system/tray/tray_item_view.h" 8#include "ash/system/tray/tray_views.h" 9#include "ui/base/resource/resource_bundle.h" 10#include "ui/gfx/image/image.h" 11#include "ui/views/controls/image_view.h" 12#include "ui/views/layout/fill_layout.h" 13 14namespace ash { 15namespace internal { 16 17TrayImageItem::TrayImageItem(SystemTray* system_tray, int resource_id) 18 : SystemTrayItem(system_tray), 19 resource_id_(resource_id), 20 tray_view_(NULL) { 21} 22 23TrayImageItem::~TrayImageItem() {} 24 25views::View* TrayImageItem::tray_view() { 26 return tray_view_; 27} 28 29void TrayImageItem::SetImageFromResourceId(int resource_id) { 30 resource_id_ = resource_id; 31 if (!tray_view_) 32 return; 33 tray_view_->image_view()->SetImage(ui::ResourceBundle::GetSharedInstance(). 34 GetImageNamed(resource_id_).ToImageSkia()); 35} 36 37views::View* TrayImageItem::CreateTrayView(user::LoginStatus status) { 38 CHECK(tray_view_ == NULL); 39 tray_view_ = new TrayItemView(this); 40 tray_view_->CreateImageView(); 41 tray_view_->image_view()->SetImage(ui::ResourceBundle::GetSharedInstance(). 42 GetImageNamed(resource_id_).ToImageSkia()); 43 tray_view_->SetVisible(GetInitialVisibility()); 44 return tray_view_; 45} 46 47views::View* TrayImageItem::CreateDefaultView(user::LoginStatus status) { 48 return NULL; 49} 50 51views::View* TrayImageItem::CreateDetailedView(user::LoginStatus status) { 52 return NULL; 53} 54 55void TrayImageItem::UpdateAfterLoginStatusChange(user::LoginStatus status) { 56} 57 58void TrayImageItem::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 59 SetTrayImageItemBorder(tray_view_, alignment); 60} 61 62void TrayImageItem::DestroyTrayView() { 63 tray_view_ = NULL; 64} 65 66void TrayImageItem::DestroyDefaultView() { 67} 68 69void TrayImageItem::DestroyDetailedView() { 70} 71 72} // namespace internal 73} // namespace ash 74