1f545fe6aSStephan Aßmus /* 2f545fe6aSStephan Aßmus * Copyright 2014, Stephan Aßmus <superstippi@gmx.de>. 3*9883929bSAndrew Lindesay * Copyright 2020, Andrew Lindesay <apl@lindesay.co.nz>. 4f545fe6aSStephan Aßmus * All rights reserved. Distributed under the terms of the MIT License. 5f545fe6aSStephan Aßmus */ 6f545fe6aSStephan Aßmus #ifndef FEATURED_PACKAGES_VIEW_H 7f545fe6aSStephan Aßmus #define FEATURED_PACKAGES_VIEW_H 8f545fe6aSStephan Aßmus 9f545fe6aSStephan Aßmus 10f545fe6aSStephan Aßmus #include <View.h> 11f545fe6aSStephan Aßmus 12f545fe6aSStephan Aßmus #include "PackageInfo.h" 13f545fe6aSStephan Aßmus #include "PackageInfoListener.h" 14f545fe6aSStephan Aßmus 15f545fe6aSStephan Aßmus 16*9883929bSAndrew Lindesay class StackedFeaturedPackagesView; 17f545fe6aSStephan Aßmus 18f545fe6aSStephan Aßmus 19f545fe6aSStephan Aßmus class FeaturedPackagesView : public BView { 20f545fe6aSStephan Aßmus public: 21f545fe6aSStephan Aßmus FeaturedPackagesView(); 22f545fe6aSStephan Aßmus virtual ~FeaturedPackagesView(); 23f545fe6aSStephan Aßmus 24*9883929bSAndrew Lindesay virtual void FrameResized(float width, float height); 25*9883929bSAndrew Lindesay virtual void DoLayout(); 26*9883929bSAndrew Lindesay 27f545fe6aSStephan Aßmus void AddPackage(const PackageInfoRef& package); 2818b941b4SStephan Aßmus void RemovePackage(const PackageInfoRef& package); 29f545fe6aSStephan Aßmus void Clear(); 30664372abSStephan Aßmus 3172fff6d3SJulian Harnath void SelectPackage(const PackageInfoRef& package, 3272fff6d3SJulian Harnath bool scrollToEntry = false); 33f545fe6aSStephan Aßmus 34056d423cSStephan Aßmus static void CleanupIcons(); 35056d423cSStephan Aßmus 36f545fe6aSStephan Aßmus private: 37*9883929bSAndrew Lindesay void _AdjustViews(); 38ccf707d0SAndrew Lindesay 39ccf707d0SAndrew Lindesay private: 40*9883929bSAndrew Lindesay 41*9883929bSAndrew Lindesay BScrollView* fScrollView; 42*9883929bSAndrew Lindesay StackedFeaturedPackagesView* 43*9883929bSAndrew Lindesay fPackagesView; 44f545fe6aSStephan Aßmus }; 45f545fe6aSStephan Aßmus 46f545fe6aSStephan Aßmus 47f545fe6aSStephan Aßmus #endif // FEATURED_PACKAGES_VIEW_H 48