void polarList::stats(void) { qWarning() << "Nb polar: " << polars.count(); QListIterator<Polar*> i (polars); int k=0; while(i.hasNext()) { Polar * item = i.next(); qWarning() << k << ": " << item->getName() << "(nb used=" << item->nbUsed << ")"; k++; } }
void polarList::releasePolar(QString fname) { QListIterator<Polar*> i (polars); while(i.hasNext()) { Polar * item = i.next(); if(item->getName()==fname) { item->nbUsed--; if(item->nbUsed==0) { polars.removeAll(item); delete item; } break; } } }
void polarList::loadPolars(void) { isLoading=true; while(loadList.count()!=0) { QString fname=loadList.takeFirst(); //qWarning() << "loop on " << fname; Polar * res=NULL; QListIterator<Polar*> i (polars); while(i.hasNext()) { Polar * item = i.next(); if(item->getName()==fname) { //qWarning() << "polar already loaded"; res=item; item->nbUsed++; break; } } if(!res) { //qWarning() << "loading polar from disk"; res = new Polar(fname,mainWindow); if(res && res->isLoaded()) { res->nbUsed++; polars.append(res); } else res=NULL; } if(res==NULL) qWarning() << "Polar not found: " << fname; //qWarning() << "Sending polar " << fname; emit polarLoaded(fname,res); } isLoading=false; }