#ifndef STAMPSMODEL_H_ #define STAMPSMODEL_H_ #include #include #include class SaveFile; class LocalBrowserView; class LocalBrowserModel { std::vector selected; SaveFile * stamp; std::vector stampIDs; std::vector savesList; std::vector observers; int currentPage; bool stampToFront; void notifySavesListChanged(); void notifyPageChanged(); void notifySelectedChanged(); public: LocalBrowserModel(); int GetPageCount(); int GetPageNum() { return currentPage; } void AddObserver(LocalBrowserView * observer); std::vector GetSavesList(); void UpdateSavesList(int pageNumber); void RescanStamps(); SaveFile * GetSave(); void SetSave(SaveFile * newStamp); bool GetMoveToFront(); void SetMoveToFront(bool move); std::vector GetSelected() { return selected; } void ClearSelected() { selected.clear(); notifySelectedChanged(); } void SelectSave(std::string stampID); void DeselectSave(std::string stampID); virtual ~LocalBrowserModel(); }; #endif /* STAMPSMODEL_H_ */