Table of Contents

View versus Editor in RCP

At http://blog.cypal-solutions.com/2008/05/to-view-or-not-to-view.html, Prakash describes the following distinctions between views and editors:

He also points out that it's a common misconception that views don't support the save action. The save action will be enabled for a view if it implements ISaveablePart.

To me, this isn't the crux of the issue, however.

When to use a View versus an Editor

The only real difference between a view and an editor is that there is exactly 1 editor area and once visible, it is always visible even if no editors are open.

When would one care?

If your application has an open/edit/close life cycle (even if saving is implicit), the thing you edit probably should be an editor.

For example, in an order entry application, the order editor probably should be an Eclipse Editor, not a View. The thing that opens the order editor will likely be a View (or maybe another Editor, depending on the application).

If you try to make the thing you open, edit, and close into a view, then if the user closes all of the “editing views”, the space occupied by the view stack will disappear.

But if you make it an editor, then the editor area will remain even when all currently-opened editors are closed. This way it will be obvious to the user that s/he can still open a new thing to edit.

Conclusion

Use an editor for things you want the user to be able to open, edit, and close. And if it's reasonable, design your application around this user interface idiom since Eclipse supports it well.

Use a View as a device for browsing the things you can edit and/or for supplying additional information about the thing currently being edited.

~~LINKBACK~~ ~~DISCUSSION:closed~~