Michael Scharf wrote:
> Ok, let's do a simple validity test. How would an EMF based YAMI solution
> replace the following IMemento code:
>
> from org.eclipse.ui.internal.FastViewBar

I am all for concrete questions - and concrete code - instead of an
abstract discussion, but do you have a better example?  The example code
from FastViewBar.java is about extracting the persistent model from a
particular class which we haven't split properly into a model part and a UI
part yet.  My hope would be that code like the one below would be obsolete
once we have a proper split, in which case the model is exactly what you
would persist, and there would be no need for extracting just the right
properties in an ad-hoc way.

This is not to say that YAMI is a bad idea, just that the example you are
referring to is not very good.

Boris

>      public void saveState(IMemento memento) {
>          memento.putInteger(IWorkbenchConstants.TAG_FAST_VIEW_SIDE,
> getSide());
>
>          Iterator iter = viewOrientation.keySet().iterator();
>          while (iter.hasNext()) {
>              String next = (String) iter.next();
>              IMemento orientation = memento
>                      .createChild(IWorkbenchConstants.
> TAG_FAST_VIEW_ORIENTATION);
>
>              orientation.putString(IWorkbenchConstants.TAG_VIEW, next);
>              orientation.putInteger(IWorkbenchConstants.TAG_POSITION,
>                      ((Integer) viewOrientation.get(next)).intValue());
>          }
>      }
>
>      public void restoreState(IMemento memento) {
>          Integer bigInt;
>          bigInt =
memento.getInteger(IWorkbenchConstants.TAG_FAST_VIEW_SIDE);
>          if (bigInt != null) {
>              dock(bigInt.intValue());
>          }
>
>          IMemento[] orientations = memento
>
.getChildren(IWorkbenchConstants.TAG_FAST_VIEW_ORIENTATION);
>          for (int i = 0; i < orientations.length; i++) {
>              IMemento next = orientations[i];
>
>
viewOrientation.put(next.getString(IWorkbenchConstants.TAG_VIEW),
>                      next.getInteger(IWorkbenchConstants.TAG_POSITION));
>          }
>      }
_______________________________________________
eclipse-incubator-e4-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev

Reply via email to