Source Code (Use browser search to find items of interest.)
Class Index
kspread'AutoFillSequence (./koffice/kspread/kspread_autofill.h:63)
class AutoFillSequence
{
public:
AutoFillSequence( KSpreadCell *_obj );
int count() { return sequence.count(); }
AutoFillSequenceItem* getFirst() { return sequence.first(); }
AutoFillSequenceItem* getNext() { return sequence.next(); }
bool matches( AutoFillSequence* _seq, AutoFillDeltaSequence *_delta );
void fillCell( KSpreadCell *src, KSpreadCell *dest, AutoFillDeltaSequence *delta, int _block );
protected:
QList<AutoFillSequenceItem> sequence;
};
kspread'AutoFillSequence::AutoFillSequence() (./koffice/kspread/kspread_autofill.cc:262)
AutoFillSequence::AutoFillSequence( KSpreadCell *_cell )
{
sequence.setAutoDelete( TRUE );
if ( _cell->isFormular() )
{
QString d = _cell->encodeFormular().data();
sequence.append( new AutoFillSequenceItem( d.data() ) );
}
else if ( _cell->isValue() )
{
if ( floor( _cell->valueDouble() ) == _cell->valueDouble() )
{
sequence.append( new AutoFillSequenceItem( (int)_cell->valueDouble() ) );
}
else
sequence.append( new AutoFillSequenceItem( _cell->valueDouble() ) );
}
else if ( _cell->text() )
sequence.append( new AutoFillSequenceItem( _cell->text() ) );
}
kspread'AutoFillSequence::matches() (./koffice/kspread/kspread_autofill.cc:284)
bool AutoFillSequence::matches( AutoFillSequence* _seq, AutoFillDeltaSequence *_delta )
{
AutoFillDeltaSequence delta( this, _seq );
if ( !delta.isOk() )
return FALSE;
if ( delta.equals( _delta ) )
return TRUE;
return FALSE;
}
kspread'AutoFillSequence::fillCell() (./koffice/kspread/kspread_autofill.cc:296)
void AutoFillSequence::fillCell( KSpreadCell *src, KSpreadCell *dest, AutoFillDeltaSequence *delta, int _block )
{
QString erg = "";
// Special handling for formulas
if ( sequence.first() != 0L && sequence.first()->getType() == AutoFillSequenceItem::FORMULAR )
{
QString f = dest->decodeFormular( sequence.first()->getString() ).data();
dest->setText( f.data() );
dest->copyLayout( src );
return;
}
AutoFillSequenceItem *item;
int i = 0;
for ( item = sequence.first(); item != 0L; item = sequence.next() )
erg += item->getSuccessor( _block, delta->getItemDelta( i++ ) );
dest->setText( erg.data() );
dest->copyLayout( src );
}
/**********************************************************************************
*
* KSpreadTable
*
**********************************************************************************/