bool WdeGetItemData( WdeResDlgItem *ditem, void *data, uint_32 *size ) { WdeDialogBoxInfo *dbi; if( ditem == NULL || data == NULL || size == NULL ) { return( FALSE ); } dbi = WdeGetItemDBI( ditem ); if( dbi == NULL ) { return( FALSE ); } return( WdeDBI2Mem( dbi, data, size ) ); }
bool WdeSaveObject( WdeResInfo *rinfo, WdeDialogBoxInfo *dbi, char **fname, WResID *rname, WResLangType *langtype, bool save_into, bool get_name ) { void *rdata; uint_32 size; bool ok; WResLangType lang; WdeSetWaitCursor( TRUE ); ok = (rinfo != NULL && dbi != NULL); if( ok ) { if( langtype != NULL ) { lang = *langtype; } else { lang.lang = DEF_LANG; lang.sublang = DEF_SUBLANG; } ok = WdeDBI2Mem( dbi, (unsigned_8 **)&rdata, &size ); } if( ok ) { if( save_into ) { ok = WdeSaveObjectInto( rinfo, dbi, rname, rdata, size, &lang ); } else { ok = WdeSaveObjectAs( rinfo, dbi, fname, rname, rdata, size, &lang, get_name ); } } if( rdata != NULL ) { WRMemFree( rdata ); } WdeSetWaitCursor( FALSE ); return( ok ); }