When to use WizardPageSupport: probably never (#Eclipse #JFace)

Admitted, what Lars Vogel shows in his tutorial looks tempting: Provide neat error messages in Eclipse Wizards using data binding.  But as so often (unfortunately), the code is half-baked, and therefore barely usable.  Data Binding works fine, but Validation, as described, sucks.

In this particular case, WizardPageSupport works well if you have Widgets that can be validated individually: For instance, making sure that an Email field contains emails.  But it breaks down, as soon as the validation takes multiple Widgets into account. Consider an Address field, for instance, where City and Zip Code (and many other fields) have co-dependencies.  Setting the the Zip code should clear the error message on the City, but I have not seen a straight forward way of doing this.

So I dropped WizardPageSupport altogether, and instead added a page-specific validation method to my model.  Then I added a listener to call the validation when anything changes:

public class Page1 extends WizardPage {     public Page1() {         ...         model.addPropertyChangeListener(new PropertyChangeListener() {             @Override             public void propertyChange(PropertyChangeEvent evt) {                 IStatus status = model.validatePage1();                 setMessage(status.getMessage(), status.getSeverity());             }         });     }     ... } 

And ironically, my code got shorter and cleaner, compared to using WizardPageSupport.  Frustrating, as the idea behind this class is neat.

ProR development continues (Eclipse OpenSource RE tool based on RMF/ReqIF) – feedback wanted!

I am project lead on the Eclipse Requirements Modeling Framework (RMF), which also contains a tool called ProR for requirements engineering (http://eclipse.org/rmf). In two weeks, we’ll start a sprint to improve the GUI. We welcome feedback, so that we can prioritize properly before starting the sprint. More details can be found here:
We appreciate any feedback!
BTW: You can subscribe to our newsletter to receive regular updates regarding ProR and RMF.

Juhu – JMStV ist gescheitert!

Die Novellierung des JMStV (Jugendmedienschutz-Staatsvertrags) ist undurchsetzbarer Schwachsinn – und ist jetzt zum Glück gescheitert.  Die vorgeschriebenen Maßnahmen sind überhaupt nicht umsetzbar.  Das einzige, was dieses Gesetz produziert hätte, wäre eine weitere Abmahnwelle, von der nur skrupellose Anwälte profitieren würden.

Vector Magic launches YoHDR.com

High Dynamic Range photography is a really cool technique to aggregate pictures with various exposure into one stunning picture.  There is now a free online-tool to do this at yohdr.com. I tried it out – it’s great!

There is only one catch: The three pictures must (obviously) be identical, except exposure.  The picture I used had some branches that moved in the wind, and on the final picture they were not aligned.  Still, for stills, this is pretty amazing.