OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ | 5 #ifndef ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ |
6 #define ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ | 6 #define ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ |
7 | 7 |
8 #include "athena/common/athena_export.h" | 8 #include "athena/common/athena_export.h" |
9 #include "base/strings/string16.h" | 9 #include "base/strings/string16.h" |
10 | 10 |
11 typedef unsigned int SkColor; | 11 typedef unsigned int SkColor; |
12 | 12 |
13 namespace views { | 13 namespace views { |
14 class View; | 14 class View; |
15 } | 15 } |
16 | 16 |
17 namespace athena { | 17 namespace athena { |
18 | 18 |
19 class ATHENA_EXPORT ActivityViewModel { | 19 class ATHENA_EXPORT ActivityViewModel { |
20 public: | 20 public: |
21 virtual ~ActivityViewModel() {} | 21 virtual ~ActivityViewModel() {} |
22 | 22 |
23 // Called after the view model is attaced to the widget/window tree. | 23 // Called after the view model is attaced to the widget/window tree. |
24 virtual void Init() = 0; | 24 virtual void Init() = 0; |
25 | 25 |
26 // Returns a color most representative of this activity. | 26 // Returns a color most representative of this activity. |
27 virtual SkColor GetRepresentativeColor() = 0; | 27 virtual SkColor GetRepresentativeColor() const = 0; |
28 | 28 |
29 // Returns a title for the activity. | 29 // Returns a title for the activity. |
30 virtual base::string16 GetTitle() = 0; | 30 virtual base::string16 GetTitle() const = 0; |
| 31 |
| 32 // True if the activity wants to use Widget's frame, or false if the activity |
| 33 // draws its own frame. |
| 34 virtual bool UsesFrame() const = 0; |
31 | 35 |
32 // Returns the contents view. | 36 // Returns the contents view. |
33 virtual views::View* GetContentsView() = 0; | 37 virtual views::View* GetContentsView() = 0; |
34 }; | 38 }; |
35 | 39 |
36 } // namespace athena | 40 } // namespace athena |
37 | 41 |
38 #endif // ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ | 42 #endif // ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ |
OLD | NEW |