Home | History | Annotate | Download | only in status
      1 // Copyright (c) 2011 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 CHROME_BROWSER_CHROMEOS_STATUS_STATUS_AREA_VIEW_H_
      6 #define CHROME_BROWSER_CHROMEOS_STATUS_STATUS_AREA_VIEW_H_
      7 #pragma once
      8 
      9 #include "base/basictypes.h"
     10 #include "chrome/browser/ui/views/accessible_pane_view.h"
     11 #include "views/view.h"
     12 
     13 namespace chromeos {
     14 
     15 class ClockMenuButton;
     16 class InputMethodMenuButton;
     17 class NetworkMenuButton;
     18 class PowerMenuButton;
     19 class StatusAreaHost;
     20 class WindowSwitcherButton;
     21 
     22 // This class is used to wrap the small informative widgets in the upper-right
     23 // of the window title bar. It is used on ChromeOS only.
     24 class StatusAreaView : public AccessiblePaneView {
     25  public:
     26   explicit StatusAreaView(StatusAreaHost* host);
     27   virtual ~StatusAreaView() {}
     28 
     29   virtual void Init();
     30   void MakeButtonsActive(bool active);
     31 
     32   // views::View* overrides.
     33   virtual gfx::Size GetPreferredSize();
     34   virtual void Layout();
     35   virtual void ChildPreferredSizeChanged(View* child);
     36 
     37   ClockMenuButton* clock_view() { return clock_view_; }
     38   InputMethodMenuButton* input_method_view() { return input_method_view_; }
     39   NetworkMenuButton* network_view() { return network_view_; }
     40   PowerMenuButton* power_view() { return power_view_; }
     41   WindowSwitcherButton* window_switcher_view() {
     42     return window_switcher_view_;
     43   }
     44 
     45  private:
     46   StatusAreaHost* host_;
     47 
     48   ClockMenuButton* clock_view_;
     49   InputMethodMenuButton* input_method_view_;
     50   NetworkMenuButton* network_view_;
     51   PowerMenuButton* power_view_;
     52   WindowSwitcherButton* window_switcher_view_;
     53 
     54   DISALLOW_COPY_AND_ASSIGN(StatusAreaView);
     55 };
     56 
     57 }  // namespace chromeos
     58 
     59 #endif  // CHROME_BROWSER_CHROMEOS_STATUS_STATUS_AREA_VIEW_H_
     60