Since SWT has the features I need, and offers a much lower cost of entry (ie. no need to port all the low-level stuff to C#) it is the obvious starting point. Currently I have three main tools I use: the animation editor, a simple bezier path editor and a level editor. Of these, they're all using the old custom GUI (except for the animation editor, which I've been converting). The level editor is a big app, and I've got even bigger plans for it, so I don't want to rush in and change that at the moment. The path editor on the other hand is quite small, and the amount of GUI-related code is much lighter than the other apps. So I'm going to port the path editor to a new framework and see how well that goes. Worst case the whole thing is a disaster and I've only lost minimal time and effort, and I can try another framework. Rinse and repeat until I find something suitable or run out of options.
For reference (and for later use as a 'before' image), heres the path tool as it currently stands:
I've got a couple of books on order (one on SWT+JFace, the other on the Eclipse Rich Client Platform), and I'm going to start by converting the tool to an Eclipse plug-in. Once I've got it working as a plug-in I'll see about converting it into a stand-alone tool using just the RCP, and after that I'd like to see how small I can get the actual distribution down to (a ~7Mb tool with no JRE dependancy would be a very tempting goal, but I have no idea how much that limits me in terms of API use).
It's been a while since I've started using a totally new API like this, so the whole thing should be interesting at the very least. And just maybe I'll get a workable tool out the end that I can share with others. [grin]