Esempio n. 1
0
void GUIDoFreeField( VFIELD *field, a_radio_group **group )
{
    a_radio     *radio;
    a_combo_box *combo_box;

    switch( field->typ ) {
    case FLD_HOT :
        GUIFreeHotSpot( field->u.hs );
        break;
    case FLD_RADIO :
        radio = field->u.radio;
        if( ( group != NULL ) && ( *group != radio->group ) ) {
            FreeRadioGroup( radio->group );
            *group = radio->group;
        }
        GUIFreeRadio( radio );
        break;
    case FLD_CHECK :
        GUIFreeCheck( field->u.check );
        break;
    case FLD_COMBOBOX :
        combo_box = field->u.combo;
        GUIFreeList( &combo_box->list, false );
        FreeEdit( &combo_box->edit, false, true );
        GUIMemFree( combo_box );
        break;
    case FLD_EDIT :
        FreeEdit( field->u.edit, true, false );
        break;
    case FLD_INVISIBLE_EDIT :
        FreeEdit( field->u.edit, true, true );
        break;
    case FLD_EDIT_MLE:
    case FLD_LISTBOX :
    case FLD_PULLDOWN :
        GUIFreeList( field->u.list, true );
        break;
    case FLD_FRAME :
    case FLD_TEXT :
        if( field->u.str != NULL ) {
            GUIMemFree( field->u.str );
        }
        break;
    }
}
Esempio n. 2
0
bool GUIClearListBox( a_list *list )
{
    bool ret;

    GUIFreeList( list, FALSE );
    ret = FillInEmptyList( list );
    uiupdatelistbox( list );
    return( ret );
}