void TableEditor::readRows() { int j = 0; #ifndef QT_NO_TABLE for ( QListBoxItem *i = listRows->firstItem(); i; i = i->next(), ++j ) { if ( i->pixmap() ) table->verticalHeader()->setLabel( j, *i->pixmap(), i->text() ); else table->verticalHeader()->setLabel( j, i->text() ); } #endif }
ListBoxItemDrag::ListBoxItemDrag( ListBoxItemList & items, bool sendPtr, QListBox * parent, const char * name ) : QStoredDrag( "qt/listboxitem", parent, name ) { // ### FIX! QByteArray data( sizeof( Q_INT32 ) + sizeof( QListBoxItem ) * items.count() ); QDataStream stream( data, IO_WriteOnly ); stream << items.count(); stream << (Q_UINT8) sendPtr; // just transfer item pointer; omit data QListBoxItem * i = items.first(); if ( sendPtr ) { while ( i ) { stream << (unsigned long) i; //###FIX: demands sizeof(ulong) >= sizeof(void*) i = items.next(); } } else { while ( i ) { Q_UINT8 b = 0; b = (Q_UINT8) ( i->text() != QString::null ); // does item have text ? stream << b; if ( b ) { stream << i->text(); } b = (Q_UINT8) ( !!i->pixmap() ); // does item have a pixmap ? stream << b; if ( b ) { stream << ( *i->pixmap() ); } stream << (Q_UINT8) i->isSelectable(); i = items.next(); } } setEncodedData( data ); }
void ListBoxCombo::slotLeft2Right() { // Go through all items of the first ListBox for ( unsigned int i = 0; i < lb1->count(); i++ ) { QListBoxItem *item = lb1->item( i ); // if the item is selected... if ( item->selected() ) { // ...and it is a text item... if ( item->pixmap() && !item->text().isEmpty() ) lb2->insertItem( *item->pixmap(), item->text() ); else if ( !item->pixmap() ) lb2->insertItem( item->text() ); else if ( item->text().isEmpty() ) lb2->insertItem( *item->pixmap() ); } } }
void ListBoxEditor::applyClicked() { QListBoxItem *i = 0; QValueList<PopulateListBoxCommand::Item> items; for ( i = preview->firstItem(); i; i = i->next() ) { PopulateListBoxCommand::Item item; if ( i->pixmap() ) item.pix = *i->pixmap(); item.text = i->text(); items.append( item ); } PopulateListBoxCommand *cmd = new PopulateListBoxCommand( tr( "Edit Items of '%1'" ).arg( listbox->name() ), formwindow, listbox, items ); cmd->execute(); formwindow->commandHistory()->addCommand( cmd ); }
ListBoxEditor::ListBoxEditor( QWidget *parent, QWidget *editWidget, FormWindow *fw ) : ListBoxEditorBase( parent, 0, TRUE ), formwindow( fw ) { connect( helpButton, SIGNAL( clicked() ), MainWindow::self, SLOT( showDialogHelp() ) ); listbox = (QListBox*)editWidget; itemText->setText( "" ); itemText->setEnabled( FALSE ); itemPixmap->setText( "" ); itemChoosePixmap->setEnabled( FALSE ); itemDeletePixmap->setEnabled( FALSE ); QListBoxItem *i = 0; for ( i = listbox->firstItem(); i; i = i->next() ) { if ( i->pixmap() ) (void)new QListBoxPixmap( preview, *i->pixmap(), i->text() ); else (void)new QListBoxText( preview, i->text() ); } if ( preview->firstItem() ) preview->setCurrentItem( preview->firstItem() ); }
void ListBoxEditor::moveItemDown() { if ( preview->currentItem() == -1 || preview->currentItem() > (int)preview->count() - 2 ) return; QListBoxItem *i = preview->item( preview->currentItem() ); bool hasPix = (bool)i->pixmap(); QPixmap pix; if ( hasPix ) pix = *i->pixmap(); QString txt = i->text(); QListBoxItem *n = i->next(); if ( n->pixmap() ) preview->changeItem( *n->pixmap(), n->text(), preview->currentItem() ); else preview->changeItem( n->text(), preview->currentItem() ); if ( hasPix ) preview->changeItem( pix, txt, preview->currentItem() + 1 ); else preview->changeItem( txt, preview->currentItem() + 1 ); }
void ListBoxEditor::moveItemUp() { if ( preview->currentItem() < 1 ) return; QListBoxItem *i = preview->item( preview->currentItem() ); bool hasPix = (bool)i->pixmap(); QPixmap pix; if ( hasPix ) pix = *i->pixmap(); QString txt = i->text(); QListBoxItem *p = i->prev(); if ( p->pixmap() ) preview->changeItem( *p->pixmap(), p->text(), preview->currentItem() ); else preview->changeItem( p->text(), preview->currentItem() ); if ( hasPix ) preview->changeItem( pix, txt, preview->currentItem() - 1 ); else preview->changeItem( txt, preview->currentItem() - 1 ); }
void TKComboBox::paintEvent(QPaintEvent*) { QRect r; if (editable()){ #ifdef __GNUC__ #warning "Left out for now, lacking a style expert (Werner)" #endif //r = QRect( style().comboButtonRect( 0, 0, width(), height() ) ); r = QRect(4, 2, width()-height()-2, height()-4); } else { r = QRect(4, 2, width()-height()-2, height()-4); } int by = 2; int bx = r.x() + r.width(); int bw = width() - bx - 2; int bh = height()-4; QPainter p( this ); const QColorGroup& g = colorGroup(); QRect fr(2,2,width()-4,height()-4); if ( hasFocus()) { p.fillRect( fr, g.brush( QColorGroup::Highlight ) ); } else { p.fillRect( fr, g.brush( QColorGroup::Base ) ); } QRect r1(1,1,width()-1,height()-1); qDrawShadePanel( &p, r1, g, true, 1 ); static const char* arrow_down[] = { "7 7 2 1", "X c Gray0", " c None", "XXXXXXX", "XXXXXXX", " ", "XXXXXXX", " XXXXX ", " XXX ", " X "}; QPixmap pixmap(arrow_down); style().drawControl( QStyle::CE_PushButton, &p, this, QRect( bx, by, bw, bh ), colorGroup() ); style().drawItem( &p, QRect( bx, by, bw, bh), AlignCenter, colorGroup(), isEnabled(), &pixmap, QString::null ); if ( hasFocus()) { style().drawPrimitive( QStyle::PE_FocusRect, &p, fr, g ); } if (!editable()) { p.setClipRect(r); p.setPen( g.text() ); p.setBackgroundColor( g.background() ); if ( listBox()->item(currentItem()) ) { QListBoxItem * item = listBox()->item(currentItem()); const QPixmap *pix = item->pixmap(); QString text = item->text(); int x = r.x(); if ( pix ) { p.drawPixmap( x, r.y() + ( r.height() - pix->height() ) / 2 +1, *pix ); x += pix->width()+3; } if (!text.isEmpty()) p.drawText( x, r.y(), r.width()-x, r.height(), AlignLeft|AlignVCenter|SingleLine, text ); } } p.end(); }