Moving partitions?

I have my suse in 2 partitions and swap, and I have this problem. The other partition is badly running out of space, and the other one has ~30g free. I tried to shrink the half-empty partition with Yasts Partition program, but it caused my hard disk to look like this:
x:Full partition
-:The half-empty one
o:Unpartitioned space

xxxxxxxxxxxxxxxx—ooooooooo

And I can’t enlarge the full one, because the half empty is inbetween. And I noticed the partition manager doesn’t have ability to move partitions around, like this

xxxxxxxxxxxxxxxxxoooooooo—

I tried to boot to windows and use my partition managers there, but other one detected whole harddisk as “BAD” and other one detected the linux partitions as “Other” and only option was to format them…

So can you point my a good partition software for suse that is capable of moving the partitions. (Or some other way to fix my problem)

Gparted is a useful tool for this,as well as System Rescue Cd

Andy