1 /* 2 * Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>. 3 * Copyright 2020-2021, Andrew Lindesay <apl@lindesay.co.nz> 4 * All rights reserved. Distributed under the terms of the MIT License. 5 */ 6 #ifndef PACKAGE_INFO_VIEW_H 7 #define PACKAGE_INFO_VIEW_H 8 9 #include <GroupView.h> 10 11 #include "Model.h" 12 #include "PackageInfo.h" 13 #include "PackageInfoListener.h" 14 #include "ProcessCoordinator.h" 15 16 17 class BCardLayout; 18 class BLocker; 19 class OnePackageMessagePackageListener; 20 class PackageActionView; 21 class PagesView; 22 class TitleView; 23 24 enum { 25 MSG_RATE_PACKAGE = 'rate', 26 MSG_SHOW_SCREENSHOT = 'shws', 27 }; 28 29 30 class PackageInfoView : public BView { 31 public: 32 PackageInfoView(Model* model, 33 ProcessCoordinatorConsumer* 34 processCoordinatorConsumer); 35 virtual ~PackageInfoView(); 36 37 virtual void AttachedToWindow(); 38 virtual void MessageReceived(BMessage* message); 39 40 void SetPackage(const PackageInfoRef& package); 41 const PackageInfoRef& Package() const 42 { return fPackage; } 43 void Clear(); 44 45 private: 46 Model* fModel; 47 48 BCardLayout* fCardLayout; 49 TitleView* fTitleView; 50 PackageActionView* fPackageActionView; 51 PagesView* fPagesView; 52 53 PackageInfoRef fPackage; 54 OnePackageMessagePackageListener* fPackageListener; 55 }; 56 57 #endif // PACKAGE_INFO_VIEW_H 58