17 #include <tdeversion.h> 18 #ifndef TQT_NO_COMBOBOX 19 #include "tqpopupmenu.h" 20 #include "tqlistview.h" 21 #include "tqpainter.h" 22 #include "tqdrawutil.h" 23 #include "tqstrlist.h" 26 #include "tqapplication.h" 27 #include "tqlineedit.h" 29 #include "tqeffects_p.h" 30 #include "tqstringlist.h" 31 #include "tqcombobox.h" 39 QComboViewData(
QComboView *cb ): current(0), lView( 0 ), combo( cb )
41 duplicatesEnabled = TRUE;
42 cb->setSizePolicy( TQSizePolicy( TQSizePolicy::Minimum, TQSizePolicy::Fixed ) );
45 inline TQListView * listView() {
return lView; }
46 void updateLinedGeometry();
48 void setListView( TQListView *l ) { lView = l ;
49 l->setMouseTracking( TRUE );}
51 TQListViewItem *current;
57 bool mouseWasInsidePopup;
60 bool discardNextMousePress;
65 bool duplicatesEnabled;
66 int fullHeight, currHeight;
69 TQTimer *completionTimer;
80 void QComboViewData::updateLinedGeometry()
84 TQRect r = TQStyle::visualRect( combo->style().querySubControlMetrics(TQStyle::CC_ComboBox, combo,
85 TQStyle::SC_ComboBoxEditField), combo );
88 const TQPixmap *pix = combo->currentItem() ? combo->currentItem()->pixmap(0) : 0;
89 if ( pix && pix->width() < r.width() )
90 r.setLeft( r.left() + pix->width() + 4 );
91 if ( r != ed->geometry() )
95 static inline bool checkInsertIndex(
const char *method,
const char * name,
96 int count,
int *index)
98 bool range_err = (*index > count);
99 #if defined(TQT_CHECK_RANGE) 101 tqWarning(
"QComboView::%s: (%s) Index %d out of range",
102 method, name ? name :
"<no name>", *index );
113 static inline bool checkIndex(
const char *method,
const char * name,
114 int count,
int index )
116 bool range_err = (index >= count);
117 #if defined(TQT_CHECK_RANGE) 119 tqWarning(
"QComboView::%s: (%s) Index %i out of range",
120 method, name ? name :
"<no name>", index );
142 : TQWidget( parent, name, WResizeNoErase )
144 d =
new QComboViewData(
this );
148 d->maxCount = INT_MAX;
151 d->autoresize = FALSE;
153 d->arrowDown = FALSE;
154 d->discardNextMousePress = FALSE;
155 d->shortClick = FALSE;
156 d->useCompletion = FALSE;
158 d->completeNow = FALSE;
159 d->completionTimer =
new TQTimer(
this );
161 setFocusPolicy( TQ_StrongFocus );
166 setBackgroundMode( PaletteButton, PaletteBase );
180 void QComboView::setDuplicatesEnabled(
bool enable )
182 d->duplicatesEnabled = enable;
185 bool QComboView::duplicatesEnabled()
const 187 return d->duplicatesEnabled;
190 int QComboView::childCount()
const 192 return d->listView()->childCount();
202 d->listView()->resize( 0, 0 );
203 d->listView()->clear();
207 d->ed->setText( TQString::fromLatin1(
"") );
208 d->updateLinedGeometry();
213 TQListViewItem *QComboView::currentItem()
const 218 void QComboView::setCurrentItem( TQListViewItem *item )
220 if ( item == d->current && !d->ed ) {
229 d->updateLinedGeometry();
237 d->ed->setText( item->text(0) );
239 d->updateLinedGeometry();
241 if ( d->listView() ) {
242 d->listView()->setCurrentItem( item );
244 internalHighlight( item );
250 d->listView()->ensureItemVisible(item);
253 bool QComboView::autoResize()
const 255 return d->autoresize;
258 void QComboView::setAutoResize(
bool enable )
260 if ( (
bool)d->autoresize != enable ) {
261 d->autoresize = enable;
277 if ( isVisible() && d->sizeHint.isValid() )
282 TQFontMetrics fm = fontMetrics();
284 int maxW = childCount() ? 18 : 7 * fm.width(TQChar(
'x')) + 18;
285 int maxH = TQMAX( fm.lineSpacing(), 14 ) + 2;
293 d->sizeHint = (style().tqsizeFromContents(TQStyle::CT_ComboBox,
this,
294 TQSize(maxW, maxH)).expandedTo(TQApplication::globalStrut()));
306 void QComboView::internalActivate( TQListViewItem * item )
313 d->updateLinedGeometry();
322 TQString t( item->text(0) );
326 d->updateLinedGeometry();
328 emit activated( item );
340 void QComboView::internalHighlight( TQListViewItem * item )
347 d->updateLinedGeometry();
351 emit highlighted( item );
352 TQString t = item->text(0);
354 emit highlighted( t );
362 void QComboView::internalClickTimeout()
364 d->shortClick = FALSE;
374 TQWidget::setPalette( palette );
377 d->listView()->setPalette( palette );
388 d->sizeHint = TQSize();
389 TQWidget::setFont( font );
390 d->listView()->setFont( font );
392 d->ed->setFont( font );
404 d->updateLinedGeometry();
405 d->listView()->resize( width(), d->listView()->height() );
406 TQWidget::resizeEvent( e );
415 const TQColorGroup & g = colorGroup();
418 TQStyle::SFlags flags = TQStyle::Style_Default;
420 flags |= TQStyle::Style_Enabled;
422 flags |= TQStyle::Style_HasFocus;
424 if ( width() < 5 || height() < 5 ) {
425 qDrawShadePanel( &p, rect(), g, FALSE, 2,
426 &g.brush( TQColorGroup::Button ) );
431 style().drawComplexControl( TQStyle::CC_ComboBox, &p,
this, rect(), g,
432 flags, TQStyle::SC_All,
434 TQStyle::SC_ComboBoxArrow :
437 TQRect re = style().querySubControlMetrics( TQStyle::CC_ComboBox,
this,
438 TQStyle::SC_ComboBoxEditField );
439 re = TQStyle::visualRect(re,
this);
443 TQListViewItem * item = d->current;
446 int itemh = d->listView()->fontMetrics().lineSpacing() + 2;
447 p.translate( re.x(), re.y() + (re.height() - itemh)/2 );
448 item->paintCell( &p, d->listView()->colorGroup(), 0, width(), AlignLeft | AlignVCenter );
450 }
else if ( d->listView() && d->listView()->currentItem( ) && d->current ) {
451 TQListViewItem * item = d->current ;
452 const TQPixmap *pix = item->pixmap(0);
454 p.fillRect( re.x(), re.y(), pix->width() + 4, re.height(),
455 colorGroup().brush( TQColorGroup::Base ) );
456 p.drawPixmap( re.x() + 2, re.y() +
457 ( re.height() - pix->height() ) / 2, *pix );
460 p.setClipping( FALSE );
469 if ( e->button() != Qt::LeftButton )
471 if ( d->discardNextMousePress ) {
472 d->discardNextMousePress = FALSE;
475 TQRect arrowRect = style().querySubControlMetrics( TQStyle::CC_ComboBox,
this,
476 TQStyle::SC_ComboBoxArrow);
477 arrowRect = TQStyle::visualRect(arrowRect,
this);
481 arrowRect.setHeight( TQMAX( height() - (2 * arrowRect.y()), arrowRect.height() ) );
483 if ( childCount() && ( !editable() || arrowRect.contains( e->pos() ) ) ) {
484 d->arrowPressed = FALSE;
489 if ( arrowRect.contains( e->pos() ) ) {
490 d->arrowPressed = TRUE;
494 TQTimer::singleShot( 200,
this, TQT_SLOT(internalClickTimeout()));
495 d->shortClick = TRUE;
527 TQListViewItem *c = currentItem();
528 if ( ( e->key() == Key_F4 && e->state() == 0 ) ||
529 ( e->key() == Key_Down && (e->state() & AltButton) ) ||
530 ( !d->ed && e->key() == Key_Space ) ) {
531 if ( childCount() ) {
535 }
else if ( e->key() == Key_Up ) {
538 if (c && c->itemAbove() )
539 setCurrentItem( c->itemAbove() );
542 }
else if ( e->key() == Key_Down ) {
543 if ((!c) && (
listView()->firstChild()))
545 setCurrentItem(
listView()->firstChild());
548 if ( c && c->itemBelow() )
549 setCurrentItem( c->itemBelow() );
552 }
else if ( e->key() == Key_Home && ( !d->ed || !d->ed->hasFocus() ) ) {
554 setCurrentItem(
listView()->firstChild() );
557 }
else if ( e->key() == Key_End && ( !d->ed || !d->ed->hasFocus() ) ) {
559 setCurrentItem(
listView()->lastItem() );
562 }
else if ( !d->ed && e->ascii() >= 32 && !e->text().isEmpty() ) {
563 if ( !d->completionTimer->isActive() ) {
565 c = completionIndex( e->text(), c->itemBelow() );
568 d->completeAt = e->text().length();
573 d->completionTimer->stop();
574 TQString ct = currentText().left( d->completeAt ) + e->text();
575 c = completionIndex( ct, c );
576 if ( c == 0 && d->completeAt > 0 ) {
577 c = completionIndex( e->text(),
listView()->firstChild() );
583 d->completeAt = ct.length();
588 d->completionTimer->start( 400, TRUE );
595 if ( childCount() && c && !c->text(0).isNull() )
596 emit activated( c->text(0) );
600 TQString QComboView::currentText()
const 603 return d->ed->text();
604 else if ( d->current )
605 return currentItem()->text(0);
615 TQWidget::focusInEvent( e );
616 d->completeNow = FALSE;
627 TQWidget::focusOutEvent( e );
628 d->completeNow = FALSE;
640 TQApplication::sendEvent( d->listView(), e );
642 if ( e->delta() > 0 ) {
643 TQListViewItem *c = currentItem();
644 if ( c && c->itemAbove() ) {
645 setCurrentItem( c->itemAbove() );
646 emit activated( currentItem() );
647 emit activated( currentText() );
650 TQListViewItem *c = currentItem();
651 if ( c && c->itemBelow() ) {
652 setCurrentItem( c->itemBelow() );
653 emit activated( currentItem() );
654 emit activated( currentText() );
661 int childCount(TQListViewItem *it)
664 TQListViewItem * myChild = it->firstChild();
666 count += childCount(myChild);
667 myChild = myChild->nextSibling();
672 int childCount(TQListView *lv)
675 TQListViewItem * myChild = lv->firstChild();
677 count += childCount(myChild);
679 myChild = myChild->nextSibling();
689 static int listHeight( TQListView *l,
int )
696 int ch = childCount(l);
700 prefH = ch * l->firstChild()->height();
703 prefH = l->sizeHint().height();
705 if (l->header()->isVisible())
706 prefH += l->header()->sizeHint().height();
725 TQListView* lb = d->listView();
726 lb->triggerUpdate( );
727 lb->installEventFilter(
this );
728 lb->viewport()->installEventFilter(
this );
729 d->mouseWasInsidePopup = FALSE;
732 int h = listHeight( lb, d->sizeLimit );
733 TQRect screen = TQApplication::desktop()->availableGeometry( const_cast<QComboView*>(
this) );
737 int sw = screen.width();
738 int sh = screen.height();
739 TQPoint pos = mapToGlobal( TQPoint(0,height()) );
745 if ( x + w > sx + sw )
749 if (y + h > sy+sh && y - h - height() >= 0 )
750 y = y - h - height();
752 style().querySubControlMetrics( TQStyle::CC_ComboBox,
this,
753 TQStyle::SC_ComboBoxListBoxPopup,
754 TQStyleOption( x, y, w, h ) );
756 rect.setRect( x, y, w, h );
757 lb->setGeometry( rect );
760 bool block = lb->signalsBlocked();
761 lb->blockSignals( TRUE );
762 TQListViewItem *currentLBItem = d->current ;
763 lb->setCurrentItem( currentLBItem );
765 if ( currentLBItem && currentLBItem->isSelectable() && !currentLBItem->isSelected() )
766 lb->setSelected( currentLBItem, TRUE );
767 lb->blockSignals( block );
768 lb->setVScrollBarMode(TQScrollView::Auto);
788 TQBitmap bm( size() );
792 TQPainter p( &bm,
this );
793 style().drawComplexControlMask(TQStyle::CC_ComboBox, &p,
this, rect());
803 void QComboView::popDownListView()
805 d->listView()->removeEventFilter(
this );
806 d->listView()->viewport()->removeEventFilter(
this );
807 d->listView()->hide();
808 d->listView()->setCurrentItem( d->current );
809 if ( d->arrowDown ) {
810 d->arrowDown = FALSE;
822 void QComboView::reIndex()
831 void QComboView::currentChanged()
853 else if ( TQT_BASE_OBJECT(
object) == TQT_BASE_OBJECT(d->ed) ) {
854 if ( event->type() == TQEvent::KeyPress ) {
855 bool isAccepted = ( (TQKeyEvent*)event )->isAccepted();
857 if ( ((TQKeyEvent *)event)->isAccepted() ) {
858 d->completeNow = FALSE;
860 }
else if ( ((TQKeyEvent *)event)->key() != Key_End ) {
861 d->completeNow = TRUE;
862 d->completeAt = d->ed->cursorPosition();
865 ( (TQKeyEvent*)event )->accept();
867 ( (TQKeyEvent*)event )->ignore();
868 }
else if ( event->type() == TQEvent::KeyRelease ) {
869 d->completeNow = FALSE;
870 keyReleaseEvent( (TQKeyEvent *)event );
871 return ((TQKeyEvent *)event)->isAccepted();
872 }
else if ( event->type() == TQEvent::FocusIn ) {
874 }
else if ( event->type() == TQEvent::FocusOut ) {
876 }
else if ( d->useCompletion && d->completeNow ) {
877 if ( !d->ed->text().isNull() &&
878 d->ed->cursorPosition() > d->completeAt &&
879 d->ed->cursorPosition() == (int)d->ed->text().length() ) {
880 d->completeNow = FALSE;
881 TQString ct( d->ed->text() );
882 TQListViewItem *i = completionIndex( ct, currentItem() );
884 TQString it = i->text(0);
885 d->ed->validateAndSet( it, ct.length(),
886 ct.length(), it.length() );
890 }
else if ( ( TQT_BASE_OBJECT(
object) == TQT_BASE_OBJECT(d->listView()) ||
891 TQT_BASE_OBJECT(
object) == TQT_BASE_OBJECT(d->listView()->viewport()) )) {
892 TQMouseEvent *e = (TQMouseEvent*)event;
893 switch( event->type() ) {
894 case TQEvent::MouseMove:
895 if ( !d->mouseWasInsidePopup ) {
897 TQPoint pos = e->pos();
898 if ( TQT_TQRECT_OBJECT(d->listView()->rect()).contains( pos ) )
899 d->mouseWasInsidePopup = TRUE;
901 if ( d->arrowPressed ) {
903 comboPos = mapFromGlobal( d->listView()->mapToGlobal(pos) );
905 style().querySubControlMetrics( TQStyle::CC_ComboBox,
this,
906 TQStyle::SC_ComboBoxArrow);
907 arrowRect = TQStyle::visualRect(arrowRect,
this);
908 if ( arrowRect.contains( comboPos ) ) {
909 if ( !d->arrowDown ) {
914 if ( d->arrowDown ) {
915 d->arrowDown = FALSE;
920 }
else if ((e->state() & ( Qt::RightButton | Qt::LeftButton | Qt::MidButton ) ) == 0 &&
921 style().styleHint(TQStyle::SH_ComboBox_ListMouseTracking,
this)) {
923 TQWidget *mouseW = TQApplication::widgetAt( e->globalPos(), TRUE );
925 if ( mouseW == d->listView()->viewport() ) {
926 TQListViewItem *sel = d->listView()->itemAt(e->pos());
929 d->listView()->setCurrentItem(sel);
930 d->listView()->setSelected(sel,
true);
937 case TQEvent::MouseButtonRelease:
938 if ( TQT_TQRECT_OBJECT(d->listView()->rect()).contains( e->pos() ) ) {
939 TQMouseEvent tmp( TQEvent::MouseButtonDblClick,
940 e->pos(), e->button(), e->state() ) ;
942 TQApplication::sendEvent(
object, &tmp );
945 if ( d->mouseWasInsidePopup ) {
948 d->arrowPressed = FALSE;
949 if ( d->arrowDown ) {
950 d->arrowDown = FALSE;
956 case TQEvent::MouseButtonDblClick:
957 case TQEvent::MouseButtonPress:
958 if ( !TQT_TQRECT_OBJECT(d->listView()->rect()).contains( e->pos() ) ) {
959 TQPoint globalPos = d->listView()->mapToGlobal(e->pos());
960 if ( TQApplication::widgetAt( globalPos, TRUE ) == this ) {
961 d->discardNextMousePress = TRUE;
968 case TQEvent::KeyPress:
969 switch( ((TQKeyEvent *)event)->key() ) {
972 if ( !(((TQKeyEvent *)event)->state() & AltButton) )
996 return TQWidget::eventFilter(
object, event );
1006 TQListViewItem *QComboView::completionIndex(
const TQString & prefix,
1007 TQListViewItem *startingAt )
const 1009 TQListViewItem *start = startingAt;
1020 TQString match = prefix.lower();
1021 if ( match.length() < 1 )
1025 TQListViewItem *i = start;
1027 current = i->text(0).lower();
1028 if ( current.startsWith( match ) )
1033 }
while ( i != start );
1038 int QComboView::sizeLimit()
const 1040 return d ? d->sizeLimit : INT_MAX;
1043 void QComboView::setSizeLimit(
int lines )
1045 d->sizeLimit = lines;
1062 QComboView::Policy QComboView::insertionPolicy()
const 1067 void QComboView::setInsertionPolicy( Policy policy )
1078 void QComboView::returnPressed()
1080 TQString s( d->ed->text() );
1085 TQListViewItem *c = 0;
1086 bool doInsert = TRUE;
1087 if ( !d->duplicatesEnabled ) {
1094 if ( insertionPolicy() != NoInsertion ) {
1101 switch ( insertionPolicy() ) {
1103 if ( s != currentItem()->text(0) )
1104 currentItem()->setText(0, s);
1105 emit activated( currentItem() );
1106 emit activated( s );
1109 emit activated( s );
1119 if (currentItem() && currentItem()->itemAbove())
1120 c =
new TQListViewItem(
listView(), currentItem()->itemAbove(), s);
1128 if (currentItem() && currentItem()->itemBelow())
1129 c =
new TQListViewItem(
listView(), currentItem()->itemBelow(), s);
1141 setCurrentItem( c );
1142 emit activated( c );
1143 emit activated( s );
1153 TQWidget::setEnabled( enable );
1170 d->ed->setValidator( v );
1183 return d && d->ed ? d->ed->validator() : 0;
1194 d->ed->setValidator( 0 );
1212 delete d->listView();
1214 newListView->reparent(
this, WType_Popup, TQPoint(0,0), FALSE );
1215 d->setListView( newListView );
1216 d->listView()->setFont( font() );
1217 d->listView()->setPalette( palette() );
1220 d->listView()->setFrameStyle( TQFrame::Box | TQFrame::Plain );
1221 d->listView()->setLineWidth( 1 );
1224 d->listView()->resize( 100, 10 );
1226 if (d->listView()->firstChild())
1227 d->current = d->listView()->firstChild();
1244 connect( d->listView(), TQT_SIGNAL(returnPressed(TQListViewItem*)),
1245 TQT_SLOT(internalActivate(TQListViewItem*)));
1246 connect( d->listView(), TQT_SIGNAL(doubleClicked(TQListViewItem*)),
1247 TQT_SLOT(internalActivate(TQListViewItem*)));
1248 connect( d->listView(), TQT_SIGNAL(doubleClicked(TQListViewItem*)),
1249 TQT_SLOT(checkState(TQListViewItem*)));
1250 connect( d->listView(), TQT_SIGNAL(currentChanged(TQListViewItem*)),
1251 TQT_SLOT(internalHighlight(TQListViewItem*)));
1252 connect( d->listView(), TQT_SIGNAL(selectionChanged(TQListViewItem*)),
1253 TQT_SLOT(internalHighlight(TQListViewItem*)));
1267 return d ? d->listView() : 0;
1315 d->updateLinedGeometry();
1316 d->ed->setText( newText );
1320 void QComboView::setAutoCompletion(
bool enable )
1322 d->useCompletion = enable;
1323 d->completeNow = FALSE;
1327 bool QComboView::autoCompletion()
const 1329 return d->useCompletion;
1336 d->sizeHint = TQSize();
1338 d->updateLinedGeometry();
1339 TQWidget::styleChange( s );
1342 bool QComboView::editable()
const 1347 void QComboView::setEditable(
bool y )
1349 if ( y == editable() )
1355 if ( currentItem() )
1362 setFocusPolicy( TQ_StrongFocus );
1368 void QComboView::setUpListView()
1370 d->setListView(
new TQListView(
this,
"in-combo", WType_Popup ) );
1372 d->listView()->setFont( font() );
1373 d->listView()->setPalette( palette() );
1376 d->listView()->setFrameStyle( TQFrame::Box | TQFrame::Plain );
1377 d->listView()->setLineWidth( 1 );
1378 d->listView()->setRootIsDecorated(
false );
1379 d->listView()->setAllColumnsShowFocus(
true);
1380 d->listView()->addColumn(
"");
1381 d->listView()->resize( 100, 10 );
1382 d->listView()->setResizeMode(TQListView::LastColumn);
1384 if (d->listView()->firstChild())
1385 d->current = d->listView()->firstChild();
1387 d->listView()->header()->hide();
1389 connect( d->listView(), TQT_SIGNAL(returnPressed(TQListViewItem*)),
1390 TQT_SLOT(internalActivate(TQListViewItem*)));
1391 connect( d->listView(), TQT_SIGNAL(doubleClicked(TQListViewItem*)),
1392 TQT_SLOT(internalActivate(TQListViewItem*)));
1393 connect( d->listView(), TQT_SIGNAL(doubleClicked(TQListViewItem*)),
1394 TQT_SLOT(checkState(TQListViewItem*)));
1395 connect( d->listView(), TQT_SIGNAL(currentChanged(TQListViewItem*)),
1396 TQT_SLOT(internalHighlight(TQListViewItem*)));
1397 connect( d->listView(), TQT_SIGNAL(selectionChanged(TQListViewItem*)),
1398 TQT_SLOT(internalHighlight(TQListViewItem*)));
1402 void QComboView::setUpLineEdit()
1405 setLineEdit(
new TQLineEdit(
this,
"combo edit" ) );
1415 #if defined(TQT_CHECK_NULL) 1416 Q_ASSERT( edit != 0 );
1421 edit->setText( currentText() );
1423 int start = 0, end = 0;
1424 d->ed->getSelection( &start, &end );
1425 edit->setSelection( start, end );
1426 edit->setCursorPosition( d->ed->cursorPosition() );
1427 edit->setEdited( d->ed->edited() );
1433 if ( TQT_BASE_OBJECT(edit->parent()) != TQT_BASE_OBJECT(
this) ) {
1434 edit->reparent(
this, TQPoint(0,0), FALSE );
1435 edit->setFont( font() );
1438 connect (edit, TQT_SIGNAL( textChanged(
const TQString& ) ),
1439 this, TQT_SIGNAL( textChanged(
const TQString& ) ) );
1440 connect( edit, TQT_SIGNAL(returnPressed()), TQT_SLOT(returnPressed()) );
1442 edit->setFrame( FALSE );
1443 d->updateLinedGeometry();
1444 edit->installEventFilter(
this );
1445 setFocusProxy( edit );
1446 setFocusPolicy( TQ_StrongFocus );
1457 void QComboView::setCurrentText(
const TQString& txt )
1462 setCurrentItem( i );
1464 d->ed->setText( txt );
1465 else if (currentItem())
1466 currentItem()->setText(0, txt);
1469 void QComboView::checkState( TQListViewItem * item)
1471 item->setOpen(!item->isOpen());
1474 void QComboView::setCurrentActiveItem( TQListViewItem * item )
1476 if ( item == d->current && !d->ed ) {
1483 d->ed->setText( item->text(0) );
1484 d->ed->setCursorPosition(0);
1486 d->updateLinedGeometry();
1488 if ( d->listView() ) {
1489 d->listView()->setCurrentItem( item );
1490 emit activated( item );
1491 emit activated( item->text(0) );
1493 internalHighlight( item );
1494 internalActivate( item );
1499 d->listView()->ensureItemVisible(item);
1502 #include "qcomboview.moc" 1504 #endif // TQT_NO_COMBOBOX void mouseMoveEvent(TQMouseEvent *)
bool eventFilter(TQObject *object, TQEvent *event)
const TQValidator * validator() const
virtual void setValidator(const TQValidator *)
QComboView - a combo with a TQListView as a popup widget.
virtual void setLineEdit(TQLineEdit *edit)
TQListView * listView() const
void wheelEvent(TQWheelEvent *e)
void mouseDoubleClickEvent(TQMouseEvent *)
QComboView(bool rw, TQWidget *parent=0, const char *name=0)
void focusInEvent(TQFocusEvent *e)
void setFont(const TQFont &)
void mousePressEvent(TQMouseEvent *)
void setPalette(const TQPalette &)
void focusOutEvent(TQFocusEvent *e)
void mouseReleaseEvent(TQMouseEvent *)
void paintEvent(TQPaintEvent *)
void resizeEvent(TQResizeEvent *)
virtual void setListView(TQListView *)
TQLineEdit * lineEdit() const
void keyPressEvent(TQKeyEvent *e)
virtual void setEditText(const TQString &)
void styleChange(TQStyle &)