X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=collectorscurvedata.h;h=d32a9e06480c72e5a00e5eaac5a123f407d759c0;hp=480bc362bcea7bf2c39a0f4edf75492b4a86b846;hb=615301e57c25e241356a9c2380648d117709458d;hpb=50ed3b6104d5821d6184f882e1e1423d47dcbf10 diff --git a/collectorscurvedata.h b/collectorscurvedata.h index 480bc36..d32a9e0 100644 --- a/collectorscurvedata.h +++ b/collectorscurvedata.h @@ -1,13 +1,11 @@ #ifndef COLLECTORSCURVEDATA_H #define COLLECTORSCURVEDATA_H -#include "mothur.h" #include "sabundvector.hpp" #include "sharedrabundvector.h" #include "display.h" #include "observable.h" -using namespace std; /***********************************************************************/ @@ -42,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); + } } } }; @@ -60,6 +69,7 @@ private: vector multiDisplays; vector shared; int NumSeqs, NumGroupComb; + bool pairs; }; /***********************************************************************/