void MontageView::drawPoints(const QPointArray& pa, QValueList<int>& corners, int correct) { if(ccv::debug) std::cerr << "MontageView::drawPoints - pa = " << pa.count() << " corners = " << corners.count() << "\n"; QIconViewItem* item = firstItem(); if( !item ) return; m_dirty = true; QImage img = item->pixmap()->convertToImage(); int item_nr = 0; bool failed = corners[item_nr] != correct; for( uint i=0; i<pa.count()+1; ++i ){ if( corners[item_nr] == 0 ) { QPixmap pm(img); item->setPixmap( pm ); item = item->nextItem(); if( !item ) return; img = item->pixmap()->convertToImage(); item_nr++; failed = corners[item_nr] != correct; } if(ccv::debug) std::cerr << " Point: " << i << " Image: " << item_nr << " (" << pa[i].x() << "," << pa[i].y() << ")" << " Corners: " << corners[item_nr] << "\n"; if( !failed ) { img.setPixel( pa[i].x() , pa[i].y()-1, qRgb(255,255,0) ); img.setPixel( pa[i].x()-1, pa[i].y() , qRgb(255,255,0) ); img.setPixel( pa[i].x() , pa[i].y() , qRgb(255,0,0) ); img.setPixel( pa[i].x()+1, pa[i].y() , qRgb(255,255,0) ); img.setPixel( pa[i].x() , pa[i].y()+1, qRgb(255,255,0) ); } else { img.setPixel( pa[i].x() , pa[i].y()-1, qRgb(255,0,0) ); img.setPixel( pa[i].x()-1, pa[i].y() , qRgb(255,0,0) ); img.setPixel( pa[i].x() , pa[i].y() , qRgb(255,255,0) ); img.setPixel( pa[i].x()+1, pa[i].y() , qRgb(255,0,0) ); img.setPixel( pa[i].x() , pa[i].y()+1, qRgb(255,0,0) ); } corners[item_nr]--; } }
void IconViewEditor::applyClicked() { QIconViewItem *i = 0; QValueList<PopulateIconViewCommand::Item> items; for ( i = preview->firstItem(); i; i = i->nextItem() ) { PopulateIconViewCommand::Item item; if ( i->pixmap() ) item.pix = *i->pixmap(); item.text = i->text(); items.append( item ); } PopulateIconViewCommand *cmd = new PopulateIconViewCommand( tr( "Edit Items of '%1'" ).arg( iconview->name() ), formwindow, iconview, items ); cmd->execute(); formwindow->commandHistory()->addCommand( cmd ); }
void MontageView::resetIcons() { if( !m_dirty ) return; m_dirty = false; // FixMe: This should be optimized by caching the old images instead for( QIconViewItem* item = firstItem(); item; item = item->nextItem() ) { QPixmap pm = *item->pixmap(); QSize size = pm.size(); QImage icon( item->text() ); pm = icon.smoothScale( size ); } }
IconViewEditor::IconViewEditor( QWidget *parent, QWidget *editWidget, FormWindow *fw ) : IconViewEditorBase( parent, 0, TRUE ), formwindow( fw ) { connect( buttonHelp, SIGNAL( clicked() ), MainWindow::self, SLOT( showDialogHelp() ) ); iconview = (QIconView*)editWidget; itemText->setText( "" ); itemText->setEnabled( FALSE ); itemPixmap->setText( "" ); itemChoosePixmap->setEnabled( FALSE ); itemDeletePixmap->setEnabled( FALSE ); QIconViewItem *i = 0; for ( i = iconview->firstItem(); i; i = i->nextItem() ) { (void)new QIconViewItem( preview, i->text(), *i->pixmap() ); } if ( preview->firstItem() ) preview->setCurrentItem( preview->firstItem() ); }