/** * Creates the events for the Widget. * * @param widget The Widget to create the events for * @param wt The WidgetTemplate */ private void createEvents(Widget widget, WidgetTemplate wt) { for (EventTemplate et : wt.getEventTemplates()) { String eventName = et.getEventType(); Event event = getModelFactory().createEvent(); FunctionType ft = et.getFunctionType(); event.setEventName(eventName); event.setFunctionName(ft.getName()); event.setNature(EventNature.get(et.getNature())); if (!hasEvent(widget, eventName)) { widget.getEvents().add(event); createParameters(event, et); // from the template // add missing parameters defined in the model. for (ParameterType pt : et.getFunctionType().getParameters()) { String name = pt.getName(); if (event.findParameter(name) == null) { Parameter p = getModelFactory().createParameter(); p.setName(name); p.setValue(pt.getDefaultValue()); event.getParameters().add(p); } } } } }
/** * Creates a new event with the specified event name. * * @param eventName The event name to creates * @return Event The created event */ private Event createEvent(String eventName) { Event event = ModelFactory.eINSTANCE.createEvent(); event.setEventName(eventName); return event; }