Search in sources :

Example 1 with Type

use of org.obeonetwork.dsl.environment.Type in project InformationSystem by ObeoNetwork.

the class ViewElementViewElementPropertiesEditionComponent method initPart.

/**
 * {@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 ViewElement viewElement = (ViewElement) elt;
        final ViewElementPropertiesEditionPart viewElementPart = (ViewElementPropertiesEditionPart) editingPart;
        // init values
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.description))
            viewElementPart.setDescription(EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, viewElement.getDescription()));
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.name))
            viewElementPart.setName(EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, viewElement.getName()));
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.widget)) {
            // init part
            widgetSettings = new EObjectFlatComboSettings(viewElement, ViewPackage.eINSTANCE.getAbstractViewElement_Widget());
            viewElementPart.initWidget(widgetSettings);
            // set the button mode
            viewElementPart.setWidgetButtonMode(ButtonsModeEnum.BROWSE);
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.actions)) {
            actionsSettings = new ReferencesTableSettings(viewElement, ViewPackage.eINSTANCE.getAbstractViewElement_Actions());
            viewElementPart.initActions(actionsSettings);
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.events)) {
            eventsSettings = new ReferencesTableSettings(viewElement, ViewPackage.eINSTANCE.getAbstractViewElement_Events());
            viewElementPart.initEvents(eventsSettings);
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.label))
            viewElementPart.setLabel(EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, viewElement.getLabel()));
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.required)) {
            viewElementPart.setRequired(viewElement.isRequired());
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.type)) {
            // init part
            typeSettings = new EObjectFlatComboSettings(viewElement, ViewPackage.eINSTANCE.getViewElement_Type());
            viewElementPart.initType(typeSettings);
            // set the button mode
            viewElementPart.setTypeButtonMode(ButtonsModeEnum.BROWSE);
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.widget)) {
            viewElementPart.addFilterToWidget(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) {
                    // $NON-NLS-1$
                    return (element instanceof String && element.equals("")) || (element instanceof Widget);
                }
            });
        // Start of user code for additional businessfilters for widget
        // End of user code
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.actions)) {
            viewElementPart.addFilterToActions(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) {
                    // $NON-NLS-1$
                    return (element instanceof String && element.equals("")) || (element instanceof ViewAction);
                }
            });
        // Start of user code for additional businessfilters for actions
        // End of user code
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.events)) {
            viewElementPart.addFilterToEvents(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) {
                    // $NON-NLS-1$
                    return (element instanceof String && element.equals("")) || (element instanceof ViewEvent);
                }
            });
        // Start of user code for additional businessfilters for events
        // End of user code
        }
        if (isAccessible(ViewViewsRepository.ViewElement.Properties.type)) {
            viewElementPart.addFilterToType(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) {
                    // $NON-NLS-1$
                    return (element instanceof String && element.equals("")) || (element instanceof Type);
                }
            });
        // Start of user code for additional businessfilters for type
        // End of user code
        }
    // init values for referenced views
    // init filters for referenced views
    }
    setInitializing(false);
}
Also used : Type(org.obeonetwork.dsl.environment.Type) ReferencesTableSettings(org.eclipse.emf.eef.runtime.ui.widgets.referencestable.ReferencesTableSettings) ViewerFilter(org.eclipse.jface.viewers.ViewerFilter) ViewAction(org.obeonetwork.dsl.cinematic.view.ViewAction) ViewEvent(org.obeonetwork.dsl.cinematic.view.ViewEvent) Widget(org.obeonetwork.dsl.cinematic.toolkits.Widget) Viewer(org.eclipse.jface.viewers.Viewer) EObject(org.eclipse.emf.ecore.EObject) EObjectFlatComboSettings(org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings) ViewElement(org.obeonetwork.dsl.cinematic.view.ViewElement) ViewElementPropertiesEditionPart(org.obeonetwork.dsl.cinematic.view.parts.ViewElementPropertiesEditionPart)

Example 2 with Type

use of org.obeonetwork.dsl.environment.Type in project InformationSystem by ObeoNetwork.

the class BindingService method getRelatedBindingInfos.

public Collection<BindingInfo> getRelatedBindingInfos(Namespace namespace) {
    // Use of LinkedHashSet to keep order and avoid potential lock/unlock
    // loops problems
    Set<BindingInfo> results = new LinkedHashSet<BindingInfo>();
    for (BindingRegistry bindingRegistry : namespace.getBindingRegistries()) {
        results.addAll(bindingRegistry.getBindingInfos());
    }
    for (Type containedType : namespace.getTypes()) {
        if (containedType instanceof StructuredType) {
            StructuredType containedStructuredType = (StructuredType) containedType;
            results.addAll(getRelatedBindingInfos(containedStructuredType));
        }
    }
    return results;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) StructuredType(org.obeonetwork.dsl.environment.StructuredType) Type(org.obeonetwork.dsl.environment.Type) BindingInfo(org.obeonetwork.dsl.environment.BindingInfo) BindingRegistry(org.obeonetwork.dsl.environment.BindingRegistry) StructuredType(org.obeonetwork.dsl.environment.StructuredType)

Example 3 with Type

use of org.obeonetwork.dsl.environment.Type in project InformationSystem by ObeoNetwork.

the class DesignServices method isExistingDependency.

/**
 * Checks whether a dependency should be displayed between 2 namespaces
 * @param source
 * @param target
 * @return
 */
public static boolean isExistingDependency(Namespace source, Namespace target) {
    for (Type type : source.getTypes()) {
        if (type instanceof StructuredType) {
            StructuredType structuredType = (StructuredType) type;
            // Check inheritance
            StructuredType supertype = structuredType.getSupertype();
            if (supertype != null && target.equals(supertype.eContainer())) {
                return true;
            }
            // Check references
            for (Reference reference : structuredType.getOwnedReferences()) {
                StructuredType referencedType = reference.getReferencedType();
                if (referencedType != null && target.equals(referencedType.eContainer())) {
                    return true;
                }
            }
            // Check attributes
            for (Attribute attribute : structuredType.getOwnedAttributes()) {
                DataType datatype = attribute.getType();
                if (datatype instanceof Enumeration && target.equals(datatype.eContainer())) {
                    return true;
                }
            }
        }
    }
    return false;
}
Also used : StructuredType(org.obeonetwork.dsl.environment.StructuredType) DataType(org.obeonetwork.dsl.environment.DataType) Type(org.obeonetwork.dsl.environment.Type) Enumeration(org.obeonetwork.dsl.environment.Enumeration) Attribute(org.obeonetwork.dsl.environment.Attribute) Reference(org.obeonetwork.dsl.environment.Reference) DataType(org.obeonetwork.dsl.environment.DataType) StructuredType(org.obeonetwork.dsl.environment.StructuredType)

Example 4 with Type

use of org.obeonetwork.dsl.environment.Type in project InformationSystem by ObeoNetwork.

the class DesignServices method getNbDependencies.

/**
 * Returns the number of dependencies between 2 namespaces
 * @param source
 * @param target
 * @return
 */
public static int getNbDependencies(Namespace source, Namespace target) {
    int count = 0;
    for (Type type : source.getTypes()) {
        if (type instanceof StructuredType) {
            StructuredType structuredType = (StructuredType) type;
            // Check inheritance
            StructuredType supertype = structuredType.getSupertype();
            if (supertype != null && target.equals(supertype.eContainer())) {
                count += 1;
            }
            // Check references
            for (Reference reference : structuredType.getOwnedReferences()) {
                StructuredType referencedType = reference.getReferencedType();
                if (referencedType != null && target.equals(referencedType.eContainer())) {
                    count += 1;
                }
            }
            // Check attributes
            for (Attribute attribute : structuredType.getOwnedAttributes()) {
                DataType datatype = attribute.getType();
                if (datatype instanceof Enumeration && target.equals(datatype.eContainer())) {
                    count += 1;
                }
            }
        }
    }
    return count;
}
Also used : StructuredType(org.obeonetwork.dsl.environment.StructuredType) DataType(org.obeonetwork.dsl.environment.DataType) Type(org.obeonetwork.dsl.environment.Type) Enumeration(org.obeonetwork.dsl.environment.Enumeration) Attribute(org.obeonetwork.dsl.environment.Attribute) Reference(org.obeonetwork.dsl.environment.Reference) DataType(org.obeonetwork.dsl.environment.DataType) StructuredType(org.obeonetwork.dsl.environment.StructuredType)

Aggregations

Type (org.obeonetwork.dsl.environment.Type)4 StructuredType (org.obeonetwork.dsl.environment.StructuredType)3 Attribute (org.obeonetwork.dsl.environment.Attribute)2 DataType (org.obeonetwork.dsl.environment.DataType)2 Enumeration (org.obeonetwork.dsl.environment.Enumeration)2 Reference (org.obeonetwork.dsl.environment.Reference)2 LinkedHashSet (java.util.LinkedHashSet)1 EObject (org.eclipse.emf.ecore.EObject)1 EObjectFlatComboSettings (org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings)1 ReferencesTableSettings (org.eclipse.emf.eef.runtime.ui.widgets.referencestable.ReferencesTableSettings)1 Viewer (org.eclipse.jface.viewers.Viewer)1 ViewerFilter (org.eclipse.jface.viewers.ViewerFilter)1 Widget (org.obeonetwork.dsl.cinematic.toolkits.Widget)1 ViewAction (org.obeonetwork.dsl.cinematic.view.ViewAction)1 ViewElement (org.obeonetwork.dsl.cinematic.view.ViewElement)1 ViewEvent (org.obeonetwork.dsl.cinematic.view.ViewEvent)1 ViewElementPropertiesEditionPart (org.obeonetwork.dsl.cinematic.view.parts.ViewElementPropertiesEditionPart)1 BindingInfo (org.obeonetwork.dsl.environment.BindingInfo)1 BindingRegistry (org.obeonetwork.dsl.environment.BindingRegistry)1