+++ /dev/null
-#ifndef COLLECTORSCURVEDATA_H
-#define COLLECTORSCURVEDATA_H
-
-#include "sabundvector.hpp"
-#include "sharedrabundvector.h"
-#include "display.h"
-#include "observable.h"
-
-
-/***********************************************************************/
-
-class CollectorsCurveData : public Observable {
-
-public:
- CollectorsCurveData() : rank(0) {};
-
- void registerDisplay(Display* o) { displays.insert(o); };
- void removeDisplay(Display* o) { displays.erase(o); delete o; };
- SAbundVector* getRankData() { return rank; };
- void rankDataChanged() { notifyDisplays(); };
- void updateRankData(SAbundVector* rv) { rank = rv; rankDataChanged(); };
-
- void notifyDisplays(){
- for(set<Display*>::iterator pos=displays.begin();pos!=displays.end();pos++){
- (*pos)->update(rank);
- }
- };
-
-private:
- set<Display*> displays;
- SAbundVector* rank;
-
-};
-
-/***********************************************************************/
-
-
-class SharedCollectorsCurveData : public Observable {
-
-public:
- SharedCollectorsCurveData() { }; //: shared1(0), shared2(0)
-
- void registerDisplay(Display* o) { displays.insert(o); };
- void removeDisplay(Display* o) { displays.erase(o); delete o; };
- void SharedDataChanged() { notifyDisplays(); };
- void updateSharedData(vector<SharedRAbundVector*> s, int numSeqs, int numGroupComb, bool p) { pairs = p; shared = s; NumSeqs = numSeqs; NumGroupComb = numGroupComb; SharedDataChanged(); };
-
- void notifyDisplays(){
- for(set<Display*>::iterator pos=displays.begin();pos!=displays.end();pos++){
-
- if ((*pos)->calcNeedsAll() == true) {
- (*pos)->update(shared, NumSeqs, NumGroupComb);
- }else{
-
- if ( ((*pos)->isCalcMultiple() == true) && ((*pos)->getAll() == true) && (!pairs) ) {
- (*pos)->update(shared, NumSeqs, NumGroupComb);
- }else {
- vector<SharedRAbundVector*> temp; temp.push_back(shared[0]); temp.push_back(shared[1]);
- shared = temp;
-
- (*pos)->update(shared, NumSeqs, NumGroupComb);
- }
- }
- }
- };
-
-private:
- set<Display*> displays;
- vector<Display*> multiDisplays;
- vector<SharedRAbundVector*> shared;
- int NumSeqs, NumGroupComb;
- bool pairs;
-};
-
-/***********************************************************************/
-
-#endif
-