EMF Forms使用手记

1. How to install and setup
   Please refer to http://eclipsesource.com/blogs/tutorials/getting-started-with-EMF-Forms/.

2. Workflow of EMF Forms

2.1 Domain Model => View Model

EMF Forms use ViewProvider to generate View Model

Example code:

     public VView generate(EObject eObject, Map<String, Object> context) {
        final VView view = VViewFactory.eINSTANCE.createView();
        for (final EStructuralFeature feature : getValidFeatures(eObject)) {

                final VControl control = VViewFactory.eINSTANCE.createControl();
                        ...
            view.getChildren().add(control);
         }

                return view;
     }

  Also you can extend "org.eclipse.emf.ecp.ui.view.viewModelProviders" to generate the
ViewModel yourself. Each ViewProvider has a prority, the ViewProvider has the highest prority
will be used.


2.2 View Model => UI Composite.


  EMF Forms use different render to render ViewModel.

  If you want to generate a customed UI Composite, you should extend the extension point
"org.eclipse.emf.ecp.ui.view.swt.renderers" and give a priority (including dynamic and static
priority). For each ViewModel Elememnt to be rendered, the render has the highest priority
will be used.                       

2.3 Layout of the new UI composite.
  The default layout is horizontal layout.You can custom layout by LayoutProvider (extend
org.eclipse.emf.ecp.ui.view.swt.layoutProvider) and ViewProvider

猜你喜欢

转载自zhangyan19870108.iteye.com/blog/2160356
EMF