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_empty.h" 6 7 #include "ui/views/layout/box_layout.h" 8 #include "ui/views/background.h" 9 #include "ui/views/border.h" 10 #include "ui/views/view.h" 11 12 namespace { 13 14 class EmptyBackground : public views::Background { 15 public: EmptyBackground()16 EmptyBackground() {} ~EmptyBackground()17 virtual ~EmptyBackground() {} 18 19 private: Paint(gfx::Canvas * canvas,views::View * view) const20 virtual void Paint(gfx::Canvas* canvas, views::View* view) const OVERRIDE { 21 } 22 23 DISALLOW_COPY_AND_ASSIGN(EmptyBackground); 24 }; 25 26 } 27 28 namespace ash { 29 TrayEmpty(SystemTray * system_tray)30TrayEmpty::TrayEmpty(SystemTray* system_tray) 31 : SystemTrayItem(system_tray) { 32 } 33 ~TrayEmpty()34TrayEmpty::~TrayEmpty() {} 35 CreateTrayView(user::LoginStatus status)36views::View* TrayEmpty::CreateTrayView(user::LoginStatus status) { 37 return NULL; 38 } 39 CreateDefaultView(user::LoginStatus status)40views::View* TrayEmpty::CreateDefaultView(user::LoginStatus status) { 41 if (status == user::LOGGED_IN_NONE) 42 return NULL; 43 44 views::View* view = new views::View; 45 view->set_background(new EmptyBackground()); 46 view->SetBorder(views::Border::CreateEmptyBorder(10, 0, 0, 0)); 47 view->SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, 48 0, 0, 0)); 49 view->SetPaintToLayer(true); 50 view->SetFillsBoundsOpaquely(false); 51 return view; 52 } 53 CreateDetailedView(user::LoginStatus status)54views::View* TrayEmpty::CreateDetailedView(user::LoginStatus status) { 55 return NULL; 56 } 57 DestroyTrayView()58void TrayEmpty::DestroyTrayView() {} 59 DestroyDefaultView()60void TrayEmpty::DestroyDefaultView() {} 61 DestroyDetailedView()62void TrayEmpty::DestroyDetailedView() {} 63 UpdateAfterLoginStatusChange(user::LoginStatus status)64void TrayEmpty::UpdateAfterLoginStatusChange(user::LoginStatus status) {} 65 66 } // namespace ash 67