X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=collectorscurvedata.h;h=d32a9e06480c72e5a00e5eaac5a123f407d759c0;hb=250e3b11b1c9c1e1ad458ab6c7e71ac2e67e11d9;hp=5cbe2be6c38ad5762d9e5c8bd8ce47d30e9a9a6f;hpb=74c78f9abd9e733f0c2f812efec97a76632fcbf8;p=mothur.git diff --git a/collectorscurvedata.h b/collectorscurvedata.h index 5cbe2be..d32a9e0 100644 --- a/collectorscurvedata.h +++ b/collectorscurvedata.h @@ -40,15 +40,26 @@ class SharedCollectorsCurveData : public Observable { public: SharedCollectorsCurveData() { }; //: shared1(0), shared2(0) - void registerDisplay(Display* o) { displays.insert(o); }; + void registerDisplay(Display* o) { displays.insert(o); }; void removeDisplay(Display* o) { displays.erase(o); delete o; }; void SharedDataChanged() { notifyDisplays(); }; - void updateSharedData(vector s, int numSeqs, int numGroupComb) { shared = s; NumSeqs = numSeqs; NumGroupComb = numGroupComb; SharedDataChanged(); }; + void updateSharedData(vector s, int numSeqs, int numGroupComb, bool p) { pairs = p; shared = s; NumSeqs = numSeqs; NumGroupComb = numGroupComb; SharedDataChanged(); }; void notifyDisplays(){ for(set::iterator pos=displays.begin();pos!=displays.end();pos++){ - if ( ((*pos)->isCalcMultiple() == true) || ( ((*pos)->isCalcMultiple() == false) && (shared.size() == 2) ) ) { + + 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 temp; temp.push_back(shared[0]); temp.push_back(shared[1]); + shared = temp; + + (*pos)->update(shared, NumSeqs, NumGroupComb); + } } } }; @@ -58,6 +69,7 @@ private: vector multiDisplays; vector shared; int NumSeqs, NumGroupComb; + bool pairs; }; /***********************************************************************/