That looks pretty bad. It would be hard to fix without using at least part of a roof from another car. If the rest of the roof is good maybe you could get the part of the roof from a donor car that goes around the back window. I know that won't be easy unless you're an experienced body man but it would be easier than changing the whole roof.