;-------------------------------------------------------------------------
function IDLitUISubVolume, oUI, oRequester

    compile_opt idl2, hidden

    ; Retrieve widget ID of top-level base.
    oUI->GetProperty, GROUP_LEADER=groupLeader

    if (WIDGET_INFO(groupleader, /VALID)) then begin
        screensize = GET_SCREEN_SIZE(RESOLUTION=resolution)
        geom = WIDGET_INFO(groupLeader, /GEOM)
        xoffset = (geom.scr_xsize + geom.xoffset - 80) < (screensize[0] - 400)
        yoffset = geom.yoffset + (geom.ysize - 400)/2
    endif

    ; Get the needed information from the requester
    oRequester->GetProperty, $
        ODATA=oData, $
        SUBVOLUME=subvolume

    ; Launch the GUI, to get the isovalue(s)
    result = IDLitwdSubVolume(oUI, $
        DATA_OBJECTS=oData, $
        NLEVELS=2, $
        SUBVOLUME=subvolume, $
        GROUP_LEADER=groupLeader, $
        TITLE=IDLitLangCatQuery('UI:UISubVol:Title'), $
        XOFFSET=xoffset, $
        YOFFSET=yoffset)

    ; Failure.
    if (N_TAGS(result) lt 1) then $
        return, 0

    oRequester->SetProperty, $
        SUBVOLUME=result.subVolume
    return, 1
end