示例#1
0
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 ) );
}
示例#2
0
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 );
}