X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=collectorscurvedata.h;h=d32a9e06480c72e5a00e5eaac5a123f407d759c0;hp=bde016a62c1c6adbbcc88bfec758530a0840e52d;hb=b206f634aae1b4ce13978d203247fb64757d5482;hpb=dfae916a398508554d35c6b3c8002b69becb53be diff --git a/collectorscurvedata.h b/collectorscurvedata.h index bde016a..d32a9e0 100644 --- a/collectorscurvedata.h +++ b/collectorscurvedata.h @@ -43,13 +43,23 @@ public: 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++){ -//cout << (*pos)->getName() << endl; - if ( ( ((*pos)->isCalcMultiple() == true) && ((*pos)->getAll() == true) ) || (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); + } } } }; @@ -59,6 +69,7 @@ private: vector multiDisplays; vector shared; int NumSeqs, NumGroupComb; + bool pairs; }; /***********************************************************************/