/** * {@inheritDoc} * * @see * org.eclipse.emf.eef.runtime.api.component.IPropertiesEditionComponent#initPart(java.lang.Object, * int, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.resource.ResourceSet) */ public void initPart(Object key, int kind, EObject elt, ResourceSet allResource) { setInitializing(true); if (editingPart != null && key == partKey) { editingPart.setContext(elt, allResource); final Transition transition = (Transition) elt; final TransitionPropertiesEditionPart transitionPart = (TransitionPropertiesEditionPart) editingPart; // init values if (transition.getDescription() != null && isAccessible(StatemachineViewsRepository.Transition.Properties.description)) transitionPart.setDescription( EEFConverterUtil.convertToString( EcorePackage.Literals.ESTRING, transition.getDescription())); if (transition.getKeywords() != null && isAccessible(StatemachineViewsRepository.Transition.Properties.keywords)) transitionPart.setKeywords(transition.getKeywords()); if (transition.getGuard() != null && isAccessible(StatemachineViewsRepository.Transition.Properties.guard)) transitionPart.setGuard( EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, transition.getGuard())); if (isAccessible(StatemachineViewsRepository.Transition.Properties.from)) { // init part fromSettings = new EObjectFlatComboSettings( transition, StateMachinePackage.eINSTANCE.getTransition_From()); transitionPart.initFrom(fromSettings); // set the button mode transitionPart.setFromButtonMode(ButtonsModeEnum.BROWSE); } if (isAccessible(StatemachineViewsRepository.Transition.Properties.to)) { // init part toSettings = new EObjectFlatComboSettings( transition, StateMachinePackage.eINSTANCE.getTransition_To()); transitionPart.initTo(toSettings); // set the button mode transitionPart.setToButtonMode(ButtonsModeEnum.BROWSE); } // init filters if (isAccessible(StatemachineViewsRepository.Transition.Properties.from)) { transitionPart.addFilterToFrom( new ViewerFilter() { /** * {@inheritDoc} * * @see * org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ public boolean select(Viewer viewer, Object parentElement, Object element) { return (element instanceof AbstractState); } }); // Start of user code for additional businessfilters for from // End of user code } if (isAccessible(StatemachineViewsRepository.Transition.Properties.to)) { transitionPart.addFilterToTo( new ViewerFilter() { /** * {@inheritDoc} * * @see * org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ public boolean select(Viewer viewer, Object parentElement, Object element) { return (element instanceof AbstractState); } }); // Start of user code for additional businessfilters for to // End of user code } // init values for referenced views // init filters for referenced views } setInitializing(false); }
/** * {@inheritDoc} * * @see * org.eclipse.emf.eef.runtime.impl.components.StandardPropertiesEditionComponent#updateSemanticModel(org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent) */ public void updateSemanticModel(final IPropertiesEditionEvent event) { Transition transition = (Transition) semanticObject; if (StatemachineViewsRepository.Transition.Properties.description == event.getAffectedEditor()) { transition.setDescription( (java.lang.String) EEFConverterUtil.createFromString( EcorePackage.Literals.ESTRING, (String) event.getNewValue())); } if (StatemachineViewsRepository.Transition.Properties.keywords == event.getAffectedEditor()) { if (event.getKind() == PropertiesEditionEvent.SET) { transition.getKeywords().clear(); transition.getKeywords().addAll(((EList) event.getNewValue())); } } if (StatemachineViewsRepository.Transition.Properties.guard == event.getAffectedEditor()) { transition.setGuard( (java.lang.String) EEFConverterUtil.createFromString( EcorePackage.Literals.ESTRING, (String) event.getNewValue())); } if (StatemachineViewsRepository.Transition.Properties.from == event.getAffectedEditor()) { if (event.getKind() == PropertiesEditionEvent.SET) { fromSettings.setToReference((AbstractState) event.getNewValue()); } else if (event.getKind() == PropertiesEditionEvent.ADD) { EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext( editingContext, this, fromSettings, editingContext.getAdapterFactory()); PropertiesEditingProvider provider = (PropertiesEditingProvider) editingContext .getAdapterFactory() .adapt(semanticObject, PropertiesEditingProvider.class); if (provider != null) { PropertiesEditingPolicy policy = provider.getPolicy(context); if (policy instanceof CreateEditingPolicy) { policy.execute(); } } } } if (StatemachineViewsRepository.Transition.Properties.to == event.getAffectedEditor()) { if (event.getKind() == PropertiesEditionEvent.SET) { toSettings.setToReference((AbstractState) event.getNewValue()); } else if (event.getKind() == PropertiesEditionEvent.ADD) { EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext( editingContext, this, toSettings, editingContext.getAdapterFactory()); PropertiesEditingProvider provider = (PropertiesEditingProvider) editingContext .getAdapterFactory() .adapt(semanticObject, PropertiesEditingProvider.class); if (provider != null) { PropertiesEditingPolicy policy = provider.getPolicy(context); if (policy instanceof CreateEditingPolicy) { policy.execute(); } } } } }