void MSCheckPopupMenu::updateData(void) { if (MSView::model()!=0) { freeze(); const MSStringVector& aStringVector=stringVector(); unsigned currentCount(itemCount()); unsigned i; MSWidgetVector itemVector(children()); MSCheckMenuItem *pMenuItem; for (i=0;i<aStringVector.length();i++) { if (i<itemVector.length()) { pMenuItem=(MSCheckMenuItem *)itemVector(i); pMenuItem->label(aStringVector(i)); pMenuItem->state(MSFalse); } else { pMenuItem=new MSCheckMenuItem(this,aStringVector(i),0,i); pMenuItem->selectColor(_selectColor); } setItem(pMenuItem,i); } for (i=aStringVector.length();i<itemVector.length();i++) { pMenuItem=(MSCheckMenuItem *)itemVector(i); delete pMenuItem; } unfreeze(); computeSize(); } else removeAllItems(); }
void MSCheckPopupMenu::selectColor(unsigned long pixel_) { if (_selectColor!=pixel_) { _selectColor=pixel_; MSWidgetVector itemVector(children()); MSCheckMenuItem *pMenuItem; for (unsigned i=0, len=itemVector.length();i<len;i++) { pMenuItem=(MSCheckMenuItem *)itemVector(i); pMenuItem->selectColor(_selectColor); } } }
void MSCheckPopupMenu::resetSelection(void) { MSWidgetVector itemVector(children()); MSCheckMenuItem *pMenuItem; for (unsigned i=0, len=itemVector.length();i<len;i++) { pMenuItem=(MSCheckMenuItem *)itemVector(i); if (_selection.indexOf(pMenuItem->label())<_selection.length()) { pMenuItem->state(MSTrue); } else { pMenuItem->state(MSFalse); } } }
float MFModel::predictRating(int userID, int itemID){ if(userVectors.count(userID) == 0 || itemVectors.count(itemID) == 0){ cout << "wrong userID or itemID" << endl; return 0; } float preRating = 0; vector<float> userVector(userVectors[userID]->latentVector); vector<float> itemVector(itemVectors[itemID]->latentVector); for(int i = 0; i < latentLen; i++){ preRating += userVector[i] * itemVector[i]; //cout << userVector[i] << " " << itemVector[i] << endl; } //cout << "predict " << userID << " " << itemID << " " << preRating << endl; return preRating; }
void MSOptionPopupMenu::update(const MSIndexVector& index_) { if (MSView::model()!=0) { if (index_.length()==0) { if (optionsModel().length()==itemCount()) { MSMenuItem *mi; int i,n=itemCount(); for(i=0;i<n;i++) { mi=(MSMenuItem *)itemVector()(i); mi->label(optionsModel()(i)); } computeSize(); optionMenu()->setSelectedItem(0); optionMenu()->computeSize(); } else rebuildMenu(); } else { MSIndexVector iv(index_); iv.sortUp(); if (iv(0)==itemCount()) { for (unsigned i=0,j=itemCount();i<iv.length();i++,j++) { MSMenuItem *pMenuItem=new MSMenuItem(this,optionsModel()(j),0,j); setItem(pMenuItem,j); } } else { for (unsigned i=0;i<iv.length();i++) { unsigned index=iv(i); MSMenuItem *mi=menuItem(index); if (mi!=0) mi->label(optionsModel()(index)); } } } computeSize(); optionMenu()->computeSize(); } }