contact ME

Use this form to reach out to me.

Ask me about the software development consulting and vocal services that I can provide for your project.

Westboro
Ottawa, ON
Canada

I am an independent software development consultant, specializing in model-driven development with Eclipse technology, which has been a passion for the last ten years.  I am widely recognized for my high-quality output, timely delivery, and friendly and engaging manner.

I also happen to be a capable singer, performing sacred and secular works for choir and tenor solo from the renaissance to today.  If you are presenting vocal music in Ottawa, eastern Ontario, or west Québec, I can be your tenor.

Blog

An ad hoc record of Christian W. Damus's professional and personal activity.

Engage in a Dialog with Papyrus

Christian W. Damus

The M6 milestone of the Luna release of Eclipse Papyrus introduces some rationalization in the dialogs presented by the Properties view for creation and editing of related model elements.

image.jpg

Previously, these dialogs were not "transactional": every discrete edit action in a dialog was applied immediately to the model. The dialog did not have a Cancel button because it did not track these edits to revert them, and after completion of a dialog, every change made in it was appended separately to the history in the Edit → Undo menu.

This is now all changed, as demonstrated in the brief video below:

A preview of a new feature of the M6 milestone of the Eclipse Papyrus Luna release: transactional creation and editing dialogs in the Properties view.

So, now the dialogs still offer a live preview of changes, but without dirtying the editor until a dialog is completed (the top-most dialog, because, of course, they nest) and the expected semantics apply:

  • the Cancel button is available and does what you would expect: revert all pending changes
  • the Undo menu only gets a single undoable action that encompasses all changes made in the dialog (and nested dialogs launched from it)

For further information about the internals of the implementation of this feature, have a read through bug 402525. Download and install the latest nightly build to try it out for yourself!