本文整理汇总了C++中QPtrList::find方法的典型用法代码示例。如果您正苦于以下问题:C++ QPtrList::find方法的具体用法?C++ QPtrList::find怎么用?C++ QPtrList::find使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QPtrList
的用法示例。
在下文中一共展示了QPtrList::find方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addPart
void
Core::selectEditor(Komposer::Editor *editor)
{
if(!editor)
return;
KParts::Part *part = editor->part();
editor->select();
QPtrList<KParts::Part> *partList = const_cast<QPtrList<KParts::Part>*>(
m_partManager->parts());
if(partList->find(part) == -1)
addPart(part);
m_partManager->setActivePart(part);
QWidget *view = part->widget();
Q_ASSERT(view);
kdDebug() << "Raising view " << view << endl;
if(view)
{
m_stack->raiseWidget(view);
view->show();
view->setFocus();
m_currentEditor = editor;
}
}
示例2: slotFrameHasDrawing
void TLFrameSequenceLayout::slotFrameHasDrawing( bool state )
{
KeyFrame *ckf = k_toon -> currentStatus() -> currentKeyFrame();
Layer *cl = k_toon -> currentStatus() -> currentLayer();
QPtrList<KeyFrame> kf = cl -> keyFrames();
int kf_pos = kf.find( ckf ) + 1;
current_frame_sequence -> setKeyframeHasDrawing( kf_pos, state );
}
示例3: dockWindow
void QDockArea::dockWindow( QDockWindow *dockWindow, DockWindowData *data )
{
if ( !data )
return;
dockWindow->reparent( this, QPoint( 0, 0 ), FALSE );
dockWindow->installEventFilter( this );
dockWindow->dockArea = this;
dockWindow->updateGui();
if ( dockWindows->isEmpty() ) {
dockWindows->append( dockWindow );
} else {
QPtrList<QDockWindow> lineStarts = layout->lineStarts();
int index = 0;
if ( (int)lineStarts.count() > data->line )
index = dockWindows->find( lineStarts.at( data->line ) );
if ( index == -1 ) {
index = 0;
(void)dockWindows->at( index );
}
bool firstTime = TRUE;
int offset = data->offset;
for ( QDockWindow *dw = dockWindows->current(); dw; dw = dockWindows->next() ) {
if ( !firstTime && lineStarts.find( dw ) != -1 )
break;
if ( offset <
point_pos( fix_pos( dw ), orientation() ) + size_extent( dw->size(), orientation() ) / 2 )
break;
index++;
firstTime = FALSE;
}
if ( index >= 0 && index < (int)dockWindows->count() &&
dockWindows->at( index )->newLine() && lineOf( index ) == data->line ) {
dockWindows->at( index )->setNewLine( FALSE );
dockWindow->setNewLine( TRUE );
} else {
dockWindow->setNewLine( FALSE );
}
dockWindows->insert( index, dockWindow );
}
dockWindow->show();
dockWindow->setFixedExtentWidth( data->fixedExtent.width() );
dockWindow->setFixedExtentHeight( data->fixedExtent.height() );
updateLayout();
setSizePolicy( QSizePolicy( orientation() == Horizontal ? QSizePolicy::Expanding : QSizePolicy::Minimum,
orientation() == Vertical ? QSizePolicy::Expanding : QSizePolicy::Minimum ) );
}
示例4: moveDockWindow
void QDockArea::moveDockWindow( QDockWindow *w, const QPoint &p, const QRect &r, bool swap )
{
invalidateFixedSizes();
int mse = -10;
bool hasResizable = FALSE;
for ( QDockWindow *dw = dockWindows->first(); dw; dw = dockWindows->next() ) {
if ( dw->isHidden() )
continue;
if ( dw->isResizeEnabled() )
hasResizable = TRUE;
if ( orientation() != Qt::Horizontal )
mse = QMAX( QMAX( dw->fixedExtent().width(), dw->width() ), mse );
else
mse = QMAX( QMAX( dw->fixedExtent().height(), dw->height() ), mse );
}
if ( !hasResizable && w->isResizeEnabled() ) {
if ( orientation() != Qt::Horizontal )
mse = QMAX( w->fixedExtent().width(), mse );
else
mse = QMAX( w->fixedExtent().height(), mse );
}
QDockWindow *dockWindow = 0;
int dockWindowIndex = findDockWindow( w );
QPtrList<QDockWindow> lineStarts = layout->lineStarts();
QValueList<QRect> lines = layout->lineList();
bool wasAloneInLine = FALSE;
QPoint pos = mapFromGlobal( p );
QRect lr = *lines.at( lineOf( dockWindowIndex ) );
if ( dockWindowIndex != -1 ) {
if ( lineStarts.find( w ) != -1 &&
( dockWindowIndex < (int)dockWindows->count() - 1 && lineStarts.find( dockWindows->at( dockWindowIndex + 1 ) ) != -1 ||
dockWindowIndex == (int)dockWindows->count() - 1 ) )
wasAloneInLine = TRUE;
dockWindow = dockWindows->take( dockWindowIndex );
if ( !wasAloneInLine ) { // only do the pre-layout if the widget isn't the only one in its line
if ( lineStarts.findRef( dockWindow ) != -1 && dockWindowIndex < (int)dockWindows->count() )
dockWindows->at( dockWindowIndex )->setNewLine( TRUE );
layout->layoutItems( QRect( 0, 0, width(), height() ), TRUE );
}
} else {
dockWindow = w;
dockWindow->reparent( this, QPoint( 0, 0 ), TRUE );
if ( swap )
dockWindow->resize( dockWindow->height(), dockWindow->width() );
w->installEventFilter( this );
}
lineStarts = layout->lineStarts();
lines = layout->lineList();
QRect rect = QRect( mapFromGlobal( r.topLeft() ), r.size() );
if ( orientation() == Horizontal && QApplication::reverseLayout() ) {
rect = QRect( width() - rect.x() - rect.width(), rect.y(), rect.width(), rect.height() );
pos.rx() = width() - pos.x();
}
dockWindow->setOffset( point_pos( rect.topLeft(), orientation() ) );
if ( orientation() == Horizontal ) {
int offs = dockWindow->offset();
if ( width() - offs < dockWindow->minimumWidth() )
dockWindow->setOffset( width() - dockWindow->minimumWidth() );
} else {
int offs = dockWindow->offset();
if ( height() - offs < dockWindow->minimumHeight() )
dockWindow->setOffset( height() - dockWindow->minimumHeight() );
}
if ( dockWindows->isEmpty() ) {
dockWindows->append( dockWindow );
} else {
int dockLine = -1;
bool insertLine = FALSE;
int i = 0;
QRect lineRect;
// find the line which we touched with the mouse
for ( QValueList<QRect>::Iterator it = lines.begin(); it != lines.end(); ++it, ++i ) {
if ( point_pos( pos, orientation(), TRUE ) >= point_pos( (*it).topLeft(), orientation(), TRUE ) &&
point_pos( pos, orientation(), TRUE ) <= point_pos( (*it).topLeft(), orientation(), TRUE ) +
size_extent( (*it).size(), orientation(), TRUE ) ) {
dockLine = i;
lineRect = *it;
break;
}
}
if ( dockLine == -1 ) { // outside the dock...
insertLine = TRUE;
if ( point_pos( pos, orientation(), TRUE ) < 0 ) // insert as first line
dockLine = 0;
else
dockLine = (int)lines.count(); // insert after the last line ### size_t/int cast
} else { // inside the dock (we have found a dockLine)
if ( point_pos( pos, orientation(), TRUE ) <
point_pos( lineRect.topLeft(), orientation(), TRUE ) + 4 ) { // mouse was at the very beginning of the line
insertLine = TRUE; // insert a new line before that with the docking widget
} else if ( point_pos( pos, orientation(), TRUE ) >
point_pos( lineRect.topLeft(), orientation(), TRUE ) +
size_extent( lineRect.size(), orientation(), TRUE ) - 4 ) { // mouse was at the very and of the line
insertLine = TRUE; // insert a line after that with the docking widget
dockLine++;
}
//.........这里部分代码省略.........
示例5: tableEIT
//.........这里部分代码省略.........
break;
}
}
}
++it;
}
if ( nodesc )
desc = new EventDesc();
if ( parse ) {
if ( !safeLen( buf+10 ) )
goto stop;
desc->duration = getTime( buf+7 );
if ( !safeLen( buf+11 ) )
goto stop;
desc->running = getBits(buf,80,3);
desc->sid = sid;
desc->tid = tid;
desc->tsid = tsid;
desc->nid = nid;
desc->lsn = lsn;
desc->sn = sn;
desc->eid = eid;
desc->loop = cdt;
}
if ( desc->sn != sn ) {
slist->unlock();
return false;
}
if ( !safeLen( buf+12 ) )
goto stop;
loop = getBits(buf,84,12);
buf +=12;
length -=(12+loop);
while ( loop>0 ) {
if ( parse ) {
if ( !safeLen( buf+1 ) )
goto stop;
switch ( getBits(buf,0,8) ) {
case 0x4D :
if ( !shortEventDesc( buf, desc ) )
goto stop;
break;
case 0x4E :
if ( !extEventDesc( buf, desc ) )
goto stop;
break;
default :
break;
}
}
if ( !safeLen( buf+2 ) )
goto stop;
loop -=( getBits(buf,8,8)+2 );
buf +=( getBits(buf,8,8)+2 );
}
//out:
if ( parse ) {
if ( !nodesc ) {
if ( start==desc->startDateTime )
goto ifend;
currentEvents->take( currentEvents->find( desc ) );
}
desc->startDateTime = start;
for ( i=0; i<(int)currentEvents->count(); i++ ) {
itdesc = currentEvents->at(i);
if ( desc->startDateTime<itdesc->startDateTime ) {
currentEvents->insert( i, desc );
break;
}
itdesc = 0;
}
if ( !itdesc )
currentEvents->append( desc );
}
ifend:
if ( parse )
++(desc->sn);
if ( nodesc ) {
cur = QDateTime::currentDateTime();
dt = desc->startDateTime;
sec = desc->duration.hour()*3600+desc->duration.minute()*60+desc->duration.second();
if ( dt.addSecs( sec )<cur || desc->title.length()<3 ) {
currentEvents->remove( desc );
}
else
desc->source = currentSrc->getSource();
}
}
slist->unlock();
return true;
stop:
slist->unlock();
fprintf( stderr, "Stop parsing EIT (%d:%d)\n", adapter, tuner );
if ( nodesc )
delete desc;
return false;
}