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
11namespace athena {
12class ActivityViewModel;
13
14// A default WidgetDelegate for activities.
15// TODO(oshima): Allow AcitivyViewModel to create custom WidgetDelegate.
16class ActivityWidgetDelegate : public views::WidgetDelegate {
17 public:
18  explicit ActivityWidgetDelegate(ActivityViewModel* view_model);
19  virtual ~ActivityWidgetDelegate();
20
21  // views::WidgetDelegate:
22  virtual base::string16 GetWindowTitle() const OVERRIDE;
23  virtual void DeleteDelegate() OVERRIDE;
24  virtual views::Widget* GetWidget() OVERRIDE;
25  virtual const views::Widget* GetWidget() const OVERRIDE;
26  virtual views::View* GetContentsView() OVERRIDE;
27  virtual views::ClientView* CreateClientView(views::Widget* widget) OVERRIDE;
28  virtual views::NonClientFrameView* CreateNonClientFrameView(
29      views::Widget* widget) OVERRIDE;
30
31 private:
32  ActivityViewModel* view_model_;
33
34  DISALLOW_COPY_AND_ASSIGN(ActivityWidgetDelegate);
35};
36
37}  // namespace athena
38
39#endif  // ATHENA_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_
40