X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=collectorscurvedata.h;h=d32a9e06480c72e5a00e5eaac5a123f407d759c0;hb=70491a12902e89b85cfa6b44a7b7fbe066ee2ac1;hp=9c70e7aef16f389c2ea8e8ac39c98cdd9cc03f49;hpb=7b3c9ca940891c1b20b3b7ec13e05d7e7b316b63;p=mothur.git diff --git a/collectorscurvedata.h b/collectorscurvedata.h index 9c70e7a..d32a9e0 100644 --- a/collectorscurvedata.h +++ b/collectorscurvedata.h @@ -40,16 +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++){ -//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; }; /***********************************************************************/