/** * Description not yet available. * \param */ void dmcv_prod(void) { verify_identifier_string("PLX"); dvar_vector_position tmp_pos=restore_dvar_vector_position(); dvar_matrix_position m_pos=restore_dvar_matrix_position(); dvar_vector_position x_pos=restore_dvar_vector_position(); dvector x=restore_dvar_vector_value(x_pos); verify_identifier_string("PL4"); dvector dftmp=restore_dvar_vector_derivatives(tmp_pos); dmatrix dfm(m_pos); dfm.initialize(); double dfsum; int mmin=dfm.rowmin(); int mmax=dfm.rowmax(); for (int i=mmax; i>=mmin; i--) { // tmp.elem_value(i)=sum; dfsum=dftmp.elem(i); dvector& tt=dfm.elem(i); for (int j=x.indexmax(); j>=x.indexmin(); j--) { //sum+=(m.elem(i)).elem_value(j)*x.elem_value(j); tt.elem(j)+=dfsum*x.elem(j); } //sum=0.0; dfsum=0.0; } dfm.save_dmatrix_derivatives(m_pos); }
void RssListItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { QStyledItemDelegate::paint(painter,option,index); painter->save(); QFont font = QApplication::font(); QFont SubFont = QApplication::font(); QFont dateFont = QApplication::font(); //font.setPixelSize(font.weight()+); font.setBold(true); SubFont.setWeight(SubFont.weight()-2); QFontMetrics fm(font); QFontMetrics dfm(dateFont); QIcon icon = qvariant_cast<QIcon>(index.data(IconRole)); QString headerText = qvariant_cast<QString>(index.data(HeaderTextRole)); QString subText = qvariant_cast<QString>(index.data(DescriptionRole)); QString dateText = qvariant_cast<QString>(index.data(DateRole)); QSize iconsize = icon.actualSize(option.decorationSize); QRect headerRect = option.rect; QRect subheaderRect = option.rect; QRect iconRect = subheaderRect; QRect dateRect = subheaderRect; iconRect.setRight(iconsize.width()+30); iconRect.setTop(iconRect.top()+5); headerRect.setLeft(iconRect.right()); headerRect.setTop(headerRect.top()+5); headerRect.setBottom(headerRect.top()+fm.height()); int dateWidth = 0; if(!dateText.isEmpty()) { dateWidth = dfm.width(dateText) + 5; dateRect.setLeft(iconRect.right()); dateRect.setTop(headerRect.bottom()+17); } subheaderRect.setLeft(iconRect.right() + dateWidth); subheaderRect.setTop(headerRect.bottom()+17); //painter->drawPixmap(QPoint(iconRect.right()/2,iconRect.top()/2),icon.pixmap(iconsize.width(),iconsize.height())); painter->drawPixmap(QPoint(iconRect.left()+iconsize.width()/2+2,iconRect.top()+iconsize.height()/2+3),icon.pixmap(iconsize.width(),iconsize.height())); painter->setFont(font); painter->drawText(headerRect,headerText); painter->setFont(SubFont); painter->drawText(subheaderRect.left(),subheaderRect.top(),subText); if(dateWidth) { painter->setFont(dateFont); painter->drawText(dateRect.left(), dateRect.top(), dateText); } painter->restore(); }