Home | History | Annotate | Download | only in input_method
      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 #ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_HIDABLE_AREA_H_
      6 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_HIDABLE_AREA_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "ui/views/widget/widget.h"
     10 
     11 namespace chromeos {
     12 namespace input_method {
     13 
     14 // HidableArea is used as an area to place optional information that can be
     15 // turned displaying off if it is unnecessary.
     16 class HidableArea : public views::View {
     17  public:
     18   HidableArea();
     19   virtual ~HidableArea();
     20 
     21   // Sets the content view.
     22   void SetContents(views::View* contents);
     23 
     24   // Shows the content.
     25   void Show();
     26 
     27   // Hides the content.
     28   void Hide();
     29 
     30   // Returns whether the content is already set and shown.
     31   bool IsShown() const;
     32 
     33   // Returns the content.
     34   views::View* contents() {
     35     return contents_.get();
     36   }
     37 
     38  private:
     39   scoped_ptr<views::View> contents_;
     40   scoped_ptr<views::View> place_holder_;
     41 
     42   DISALLOW_COPY_AND_ASSIGN(HidableArea);
     43 };
     44 
     45 }  // namespace input_method
     46 }  // namespace chromeos
     47 
     48 #endif  // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_HIDABLE_AREA_H_
     49