Separate a partition for Windows (either primary partition or logical).
Install windows to that partition, and when it's done, boot with your LiveCD and fix grub.
How to recover Linux boot after that?
Boot with another system, e.g your Fedora LiveCD, chroot into your root partition, and run grub-setup /dev/XXX to install the boot loader and re-build your grub menu file (to add loader for Windows 7).
Mount:
mount /dev/XX /mnt/XX
Chroot:
mount --bind /dev /mnt/XX/dev
chroot /mnt/XX
Now fix grub:
grub-mkconfig > /boot/grub/grub.cfg
grub-setup /dev/XX
I've done this multiple times, it is both possible and easy.