summaryrefslogtreecommitdiffstats
path: root/athena/activity/activity_widget_delegate.h
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-11 09:29:10 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-11 09:29:10 +0000
commit326fd075373de1b7850b780e4fe9ca8391e6a0a1 (patch)
treee9dad87e6daa2a78402b9ef671460b10ffedc06d /athena/activity/activity_widget_delegate.h
parent6dd13f73ae3771737146de4f695a9aa6beda58ff (diff)
downloadchromium_src-326fd075373de1b7850b780e4fe9ca8391e6a0a1.zip
chromium_src-326fd075373de1b7850b780e4fe9ca8391e6a0a1.tar.gz
chromium_src-326fd075373de1b7850b780e4fe9ca8391e6a0a1.tar.bz2
Use Widget frame and WidgetDelegate in ActvityWidget
BUG=389170 Review URL: https://codereview.chromium.org/375143002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282595 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'athena/activity/activity_widget_delegate.h')
-rw-r--r--athena/activity/activity_widget_delegate.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/athena/activity/activity_widget_delegate.h b/athena/activity/activity_widget_delegate.h
new file mode 100644
index 0000000..70dcf8b
--- /dev/null
+++ b/athena/activity/activity_widget_delegate.h
@@ -0,0 +1,39 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef ATHENA_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_
+#define ATHENA_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_
+
+#include "base/macros.h"
+#include "ui/views/widget/widget_delegate.h"
+
+namespace athena {
+class ActivityViewModel;
+
+// A default WidgetDelegate for activities.
+// TODO(oshima): Allow AcitivyViewModel to create custom WidgetDelegate.
+class ActivityWidgetDelegate : public views::WidgetDelegate {
+ public:
+ explicit ActivityWidgetDelegate(ActivityViewModel* view_model);
+ virtual ~ActivityWidgetDelegate();
+
+ // views::WidgetDelegate:
+ virtual base::string16 GetWindowTitle() const OVERRIDE;
+ virtual void DeleteDelegate() OVERRIDE;
+ virtual views::Widget* GetWidget() OVERRIDE;
+ virtual const views::Widget* GetWidget() const OVERRIDE;
+ virtual views::View* GetContentsView() OVERRIDE;
+ virtual views::ClientView* CreateClientView(views::Widget* widget) OVERRIDE;
+ virtual views::NonClientFrameView* CreateNonClientFrameView(
+ views::Widget* widget) OVERRIDE;
+
+ private:
+ ActivityViewModel* view_model_;
+
+ DISALLOW_COPY_AND_ASSIGN(ActivityWidgetDelegate);
+};
+
+} // namespace athena
+
+#endif // ATHENA_ACTIVITY_ACTIVITY_WIDGET_DELEGATE_H_