WdeDialogBoxInfo *WdeGetItemDBI( WdeResDlgItem *ditem ) { WdeDialogBoxInfo *dbi; WResID *name; if( ditem == NULL ) { return( FALSE ); } if( ditem->object != NULL ) { Forward( ditem->object, GET_OBJECT_INFO, NULL, &name ); if( name != NULL ) { name = WdeCopyWResID( name ); if( name != NULL ) { if( ditem->dialog_name != NULL ) { WRMemFree( ditem->dialog_name ); } ditem->dialog_name = name; } } dbi = WdeDBIFromObject( ditem->object ); if( dbi != NULL ) { if( ditem->dialog_info != NULL ) { WdeFreeDialogBoxInfo( ditem->dialog_info ); } ditem->dialog_info = dbi; } else { return( FALSE ); } } else { dbi = ditem->dialog_info; } return( dbi ); }
bool WdeSetObjectInfo( OBJPTR dlg, WdeResInfo **ri, WdeResDlgItem **di, WResID *id ) { WdeResInfo *res_info; WdeResDlgItem *item; WResID *name; bool ok; ok = (dlg != NULL && id != NULL && ri != NULL && di != NULL); if( ok ) { ok = ((res_info = WdeGetCurrentRes()) != NULL); } if( ok ) { ok = ((item = WdeAllocResDlgItem()) != NULL); } if( ok ) { ok = ((name = WdeCopyWResID( id )) != NULL); } if( ok ) { item->object = dlg; item->dialog_name = name; item->modified = true; item->is32bit = res_info->is32bit; WdeAddResDlgItemToResInfo( res_info, item ); *ri = res_info; *di = item; } else { if( item != NULL ) { WdeFreeResDlgItem( &item, FALSE ); } if( name != NULL ) { WResIDFree( name ); } } return( ok ); }