Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / athena / activity / activity_widget_delegate.h
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_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_
6 #define ATHENA_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_
7
8 #include "base/macros.h"
9 #include "ui/views/widget/widget_delegate.h"
10
11 namespace athena {
12 class ActivityViewModel;
13
14 // A default WidgetDelegate for activities.
15 // TODO(oshima): Allow AcitivyViewModel to create custom WidgetDelegate.
16 class ActivityWidgetDelegate : public views::WidgetDelegate {
17  public:
18   explicit ActivityWidgetDelegate(ActivityViewModel* view_model);
19   ~ActivityWidgetDelegate() override;
20
21   // views::WidgetDelegate:
22   bool CanResize() const override;
23   bool CanMaximize() const override;
24   bool CanMinimize() const override;
25   base::string16 GetWindowTitle() const override;
26   void DeleteDelegate() override;
27   views::Widget* GetWidget() override;
28   const views::Widget* GetWidget() const override;
29   views::View* GetContentsView() override;
30   views::NonClientFrameView* CreateNonClientFrameView(
31       views::Widget* widget) override;
32
33  private:
34   ActivityViewModel* view_model_;
35
36   DISALLOW_COPY_AND_ASSIGN(ActivityWidgetDelegate);
37 };
38
39 }  // namespace athena
40
41 #endif  // ATHENA_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_