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_PUBLIC_ACTIVITY_VIEW_MODEL_H_ 6 #define ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ 7 8 #include "athena/athena_export.h" 9 #include "base/strings/string16.h" 10 11 typedef unsigned int SkColor; 12 13 namespace views { 14 class View; 15 } 16 17 namespace athena { 18 19 class ATHENA_EXPORT ActivityViewModel { 20 public: ~ActivityViewModel()21 virtual ~ActivityViewModel() {} 22 23 // Called after the view model is attaced to the widget/window tree. 24 virtual void Init() = 0; 25 26 // Returns a color most representative of this activity. 27 virtual SkColor GetRepresentativeColor() = 0; 28 29 // Returns a title for the activity. 30 virtual base::string16 GetTitle() = 0; 31 32 // Returns the contents view. 33 virtual views::View* GetContentsView() = 0; 34 }; 35 36 } // namespace athena 37 38 #endif // ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ 39