Esempio n. 1
0
void StrucViewItem::expandNode( int index )
//-----------------------------------------
{
    VerboseListBox * listbox = _parent->getListBox();
    WVList         * listobjs = _parent->getObjs();
    int childIndex = index + 1;
    int i;

    initState();

    if( _expandState == Collapsed ) {
        _expandState=Expanded;
    } else {
        return;
    }

    char * tmp = name();
    listbox->deleteString( index );
    listbox->insertString( tmp, index );
    delete tmp;
    listobjs->removeAt( index );
    listobjs->insertAt( index, this );

    for( i = 0; i < _kids.count(); i++ ) {
        char *tmp = ((StrucViewItem *)_kids[i])->name();
        listbox->insertString( tmp, childIndex );
        delete tmp;
        listobjs->insertAt( childIndex, _kids[i] );
        childIndex ++;
    }

    listbox->select( index );
    return;
}
Esempio n. 2
0
void MItem::pruneStates( WVList& states )
{
    for( int i=states.count(); i>0; ) {
        i--;
        MState* s = (MState*)states[i];
        if( !s->legal() ) {
            delete states.removeAt( i );
        }
    }
}
Esempio n. 3
0
void FunctionSym::callers( WVList & list )
//----------------------------------------
{
    int i;

    getModule()->findRefSyms( &list, this );

    for( i = 0; i < list.count(); i += 1 ) {
        Symbol * sym = (Symbol *) list[ i ];
        if( sym->symtype() != DR_SYM_FUNCTION ) {
            list.removeAt( i );
        }
    }
}
Esempio n. 4
0
void StrucViewItem::collapseNode( int &index )
//--------------------------------------------
{
    WVList *         listobjs = _parent->getObjs();
    VerboseListBox * listbox = _parent->getListBox();

    initState();

    if( _expandState == Expanded ) {
        index += 1;
        for( int i = 0; i < _kids.count();  i++ ) {
            ((StrucViewItem *)_kids[ i ])->collapseNode( index );
        }
        index -= 1;
    }

    listobjs->removeAt( index );
    listbox->deleteString( index );
    if( _expandState == Expanded ) {
        _expandState = Collapsed;
    }
}