Skip to content

Package: RuleConditionDmrControlSWTRenderer

RuleConditionDmrControlSWTRenderer

nameinstructionbranchcomplexitylinemethod
RuleConditionDmrControlSWTRenderer(VControl, ViewModelContext, ReportService, EMFFormsDatabindingEMF, EMFFormsLabelProvider, VTViewTemplateProvider, EMFFormsEditSupport)
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
getDmrRootEClass()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * lucas - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.internal.editor.controls;
15:
16: import javax.inject.Inject;
17:
18: import org.eclipse.emf.ecore.EClass;
19: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
20: import org.eclipse.emf.ecp.view.spi.model.VControl;
21: import org.eclipse.emf.ecp.view.spi.rule.RuleConditionDmrUtil;
22: import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
23: import org.eclipse.emfforms.spi.common.report.ReportService;
24: import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
25: import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
26: import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
27: import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
28:
29: /**
30: * Renderer for {@link org.eclipse.emf.ecp.view.spi.rule.model.Condition rule condition} domain model references. This
31: * renderer can determine the correct root EClass for nested conditions.
32: *
33: * @author Lucas Koehler
34: *
35: */
36: public class RuleConditionDmrControlSWTRenderer extends DomainModelReferenceControlSWTRenderer {
37:
38:         private final EMFFormsDatabindingEMF databindingEMF;
39:
40:         /**
41:          * Default constructor.
42:          *
43:          * @param vElement the view model element to be rendered
44:          * @param viewContext the view context
45:          * @param reportService The {@link ReportService}
46:          * @param emfFormsDatabindingEMF The {@link EMFFormsDatabinding}
47:          * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
48:          * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
49:          * @param emfFormsEditSupport The {@link EMFFormsEditSupport}
50:          */
51:         @Inject
52:         public RuleConditionDmrControlSWTRenderer(VControl vElement, ViewModelContext viewContext,
53:                 ReportService reportService, EMFFormsDatabindingEMF emfFormsDatabindingEMF,
54:                 EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider,
55:                 EMFFormsEditSupport emfFormsEditSupport) {
56:                 super(vElement, viewContext, reportService, emfFormsDatabindingEMF, emfFormsLabelProvider,
57:                         vtViewTemplateProvider,
58:                         emfFormsEditSupport);
59:                 databindingEMF = emfFormsDatabindingEMF;
60:         }
61:
62:         @Override
63:         protected EClass getDmrRootEClass() {
64:                 // Domain model should be the rule containing the DMR
65:                 return RuleConditionDmrUtil.getDmrRootEClass(databindingEMF, getReportService(),
66:                         getViewModelContext().getDomainModel()).orElse(null);
67:         }
68:
69: }