May
19
2005

SWT is good, JFace is great, RCP looks flippin awesome!

When I started PasswordSafeSWT, it was a pure SWT app, created almost entirely using SWT Designer. The productivity of that GUI tool is awesome. But the code lacked a little maintainability with all those anonymous event handlers (as easy as they were to edit graphically), so it was time to clean things up.

For my next step, I moved things over to JFace to take advantage of an “Action-style” app. Like in Swing, JFace gives you an action model where you can associate accellerators, icons and logic using a command pattern, and then attached your newly created actions to toolbars and menus.

Because SWT Designer also supports JFace, it was a snack to rearchitect. I now have a dozen self-describing commands, and a very lean main program – all looking much more maintainable. Plus I get status bar management out of the box which was a nice touch.

I’ve also taken advantage of the ListViewer and TreeViewer objects to do the MVC over the main db. Geez I love those controls. The way they’ve designed them is so pragmatic. I can just pass in my real datamodel and let them do the adapting for me. I could never really grok the complexities of the Model/Adaptor stuff that Swing provided, but the Viewer stuff in SWT was a snack.

Once my JFace app was happily running, I started to think about using a Help system. Javahelp would be an obvious choice, but for that fact that my app looks so native now I didn’t want to spoil it. I thought it might be nice to try and use the Eclipse help system somehow. More googling.

Then I came across the Eclipse RCP. And it looks absolutely awesome. There were some great tutorial links off Martin Perez’s blog and a great 3 part introduction off the articles section of >RCP site and now I’m very keen to see some more. Since I’m already using the jars for JFace/SWT/OSGI for my standalone app, I’m keen to see how much work it would be to make the jump to a whole RCP app – and then add a pinch of Eclipse help to the equation. I suspect it may be a bit of work, and I’ll get a Jface version out the door before making the investment in anything more grand, but I’m definitely keen to explore more.

About the Author: Glen Smith

2 Comments + Add Comment

  • Glen, it shouldn’t be very difficult to port your JFace application to RCP. With Eclipse 3.1 recent milestones, this taks it’s easier than when I started with Eclipse 3.0.1 :-)

    Be sure of taking a look to the Eclipse 3.1 RCP Wizards (New Plugin -> RCP), and the Eclipse Product Exporter to deploy your application, and you almost will be ready.

    Greetings, Martin

  • Hi Glen

    what was the outcome of your switch to RCP? Got any stories to tell?

Leave a comment

Glen Smith

About Glen

Co-author Grails in Action