Beispiel #1
0
void scContUnit::Unlink( )
{
	scContUnit* lastPara;
	scContUnit* nextPara;

		// mark all the lines of the paragraph as being invalid
	Deformat( );

	lastPara = GetPrev();
	nextPara = GetNext();
	
	if ( lastPara )
		lastPara->SetNext( nextPara );
	else {
			// this is the first paragraph in the stream and we must let
			// the columns know that the head of the stream has changed
			//
		
		GetStream()->ResetStream( (scStream*)nextPara );

	}
	if ( nextPara )
		nextPara->SetPrev( lastPara );

	SetPrev( NULL );
	SetNext( NULL );
}
Beispiel #2
0
scContUnit::scContUnit( TypeSpec&	spec,
						scContUnit* prevPara,
						long		count ) :
								fFirstline( 0 ),
								fParaCount( 0 ),
								fSpecRun( spec ),
								defspec_( spec )
#ifdef _RUBI_SUPPORT
								, fRubiArray( 0 )
#endif
{
#if SCDEBUG > 1 
	fReformatEvent = 0;
#endif

	try {
		SetCount( count );

		Mark( scRETABULATE );
		
		if ( prevPara )
			prevPara->SetNext( this );
		SetPrev( prevPara );
	}
	catch( ... ) {
		delete this;
		throw;
	} 
}
Beispiel #3
0
CObject::~CObject ()
{
if (Prev ())
	Prev ()->SetNext (Next ());
if (Next ())
	Next ()->SetPrev (Prev ());
SetPrev (NULL);
SetNext (NULL);
}
Beispiel #4
0
void scTBObj::Insert( scTBObj* next )
{
    scTBObj* prev;

    scAssert( this && next );

    scAssert( Prev() == 0 && Next() == 0 );

    if ( ( prev = next->Prev() ) != 0 ) {
        SetPrev( prev );
        prev->SetNext( this );
    }
    next->SetPrev( this );
    SetNext( next );
}
Beispiel #5
0
void scTBObj::Unlink( )
{
    scTBObj*	prev;
    scTBObj*	next;

    prev = Prev();
    next = Next();

    if ( prev )
        prev->SetNext( next );
    if ( next )
        next->SetPrev( prev );

    SetPrev( 0 );
    SetNext( 0 );
}
Beispiel #6
0
/* instantiate a new line and initialize to the passed in parameters */
scTextline::scTextline( scContUnit* p,
						scColumn*	col,
						scTextline* prev ) :
							fPara( p ),
							fStartOffset( 0 ),
							fEndOffset( 0 ),
							fColumn( col ),
							fOrigin( 0, 0 ),
							fVJOffset( 0 ),
							fLength( 0 ),
							fCursorY1( 0 ),
							fCursorY2( 0 ),
							fMaxLeadSpec( 0 ),
							fMaxLead( 0 ),
							fLineCount( 0 ),
							fLspAdjustment( 0 )
{
	SetPrev( prev );

	if ( prev )
		prev->SetNext( this );
	else if ( col ) // this has no antecedent so lets set it to the column
		col->SetFirstline( this );
}		
Beispiel #7
0
CObject::CObject ()
{
SetPrev (NULL);
SetNext (NULL);
}