104c9d578SStephan Aßmus /* 204c9d578SStephan Aßmus * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>. 304c9d578SStephan Aßmus * Copyright 2013, Rene Gollent <rene@gollent.com>. 404c9d578SStephan Aßmus * All rights reserved. Distributed under the terms of the MIT License. 504c9d578SStephan Aßmus */ 604c9d578SStephan Aßmus #ifndef PACKAGE_LIST_VIEW_H 704c9d578SStephan Aßmus #define PACKAGE_LIST_VIEW_H 804c9d578SStephan Aßmus 904c9d578SStephan Aßmus 1004c9d578SStephan Aßmus #include <ColumnListView.h> 1104c9d578SStephan Aßmus #include <ColumnTypes.h> 1204c9d578SStephan Aßmus #include <Locker.h> 1304c9d578SStephan Aßmus 1404c9d578SStephan Aßmus #include "PackageInfo.h" 1504c9d578SStephan Aßmus 1604c9d578SStephan Aßmus 1704c9d578SStephan Aßmus class PackageRow; 1804c9d578SStephan Aßmus class PackageListener; 1904c9d578SStephan Aßmus 2004c9d578SStephan Aßmus class PackageListView : public BColumnListView { 2104c9d578SStephan Aßmus public: 2204c9d578SStephan Aßmus PackageListView(BLocker* modelLock); 2304c9d578SStephan Aßmus virtual ~PackageListView(); 2404c9d578SStephan Aßmus 2504c9d578SStephan Aßmus virtual void AttachedToWindow(); 2604c9d578SStephan Aßmus virtual void AllAttached(); 2704c9d578SStephan Aßmus 2804c9d578SStephan Aßmus virtual void MessageReceived(BMessage* message); 2904c9d578SStephan Aßmus 3004c9d578SStephan Aßmus virtual void SelectionChanged(); 3104c9d578SStephan Aßmus 32*ca747629SStephan Aßmus virtual void Clear(); 3304c9d578SStephan Aßmus void AddPackage(const PackageInfoRef& package); 3404c9d578SStephan Aßmus 3504c9d578SStephan Aßmus private: 3604c9d578SStephan Aßmus PackageRow* _FindRow(const PackageInfoRef& package, 3704c9d578SStephan Aßmus PackageRow* parent = NULL); 3804c9d578SStephan Aßmus PackageRow* _FindRow(const BString& packageTitle, 3904c9d578SStephan Aßmus PackageRow* parent = NULL); 4004c9d578SStephan Aßmus 4104c9d578SStephan Aßmus private: 4204c9d578SStephan Aßmus class ItemCountView; 4304c9d578SStephan Aßmus 4404c9d578SStephan Aßmus BLocker* fModelLock; 4504c9d578SStephan Aßmus ItemCountView* fItemCountView; 4604c9d578SStephan Aßmus PackageListener* fPackageListener; 4704c9d578SStephan Aßmus }; 4804c9d578SStephan Aßmus 4904c9d578SStephan Aßmus #endif // PACKAGE_LIST_VIEW_H 50