1 // Copyright 2014 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 ATHENA_SYSTEM_STATUS_ICON_CONTAINER_VIEW_H_ 6 #define ATHENA_SYSTEM_STATUS_ICON_CONTAINER_VIEW_H_ 7 8 #include "athena/system/public/system_ui.h" 9 #include "base/memory/scoped_ptr.h" 10 #include "ui/views/view.h" 11 12 namespace aura { 13 class Window; 14 } 15 16 namespace athena { 17 18 // View which displays the system tray icons. 19 class StatusIconContainerView : public views::View { 20 public: 21 StatusIconContainerView(SystemUI::ColorScheme color_scheme, 22 aura::Window* popup_container); 23 virtual ~StatusIconContainerView(); 24 25 private: 26 // views::View: 27 virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE; 28 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; 29 virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE; 30 31 // Parent container that the "select network" dialog should use. 32 aura::Window* system_modal_container_; 33 34 class PowerStatus; 35 scoped_ptr<PowerStatus> power_status_; 36 37 class NetworkStatus; 38 scoped_ptr<NetworkStatus> network_status_; 39 40 class UpdateStatus; 41 scoped_ptr<UpdateStatus> update_status_; 42 43 DISALLOW_COPY_AND_ASSIGN(StatusIconContainerView); 44 }; 45 46 } // namespace athena 47 48 #endif // ATHENA_SYSTEM_STATUS_ICON_CONTAINER_VIEW_H_ 49