Skip to content

Package: ViewSWTRenderer

ViewSWTRenderer

nameinstructionbranchcomplexitylinemethod
ViewSWTRenderer(VView, ViewModelContext, ReportService, EMFFormsRendererFactory, EMFFormsLocaleProvider)
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
dispose()
M: 0 C: 7
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
getChildren()
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getCustomVariant()
M: 0 C: 2
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
notifyLocaleChange()
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
renderControl(SWTGridCell, Composite)
M: 0 C: 10
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-2014 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: * Edagr Mueller - initial API and implementation
13: * Eugen Neufeld - Refactoring
14: * Johannes Falterimeier - Refactoring
15: ******************************************************************************/
16: package org.eclipse.emf.ecp.view.internal.core.swt.renderer;
17:
18: import java.util.Collection;
19:
20: import javax.inject.Inject;
21:
22: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
23: import org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer;
24: import org.eclipse.emf.ecp.view.spi.model.VContainedElement;
25: import org.eclipse.emf.ecp.view.spi.model.VView;
26: import org.eclipse.emf.ecp.view.spi.renderer.NoPropertyDescriptorFoundExeption;
27: import org.eclipse.emf.ecp.view.spi.renderer.NoRendererFoundException;
28: import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleChangeListener;
29: import org.eclipse.emfforms.spi.common.locale.EMFFormsLocaleProvider;
30: import org.eclipse.emfforms.spi.common.report.ReportService;
31: import org.eclipse.emfforms.spi.swt.core.EMFFormsRendererFactory;
32: import org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell;
33: import org.eclipse.swt.widgets.Composite;
34: import org.eclipse.swt.widgets.Control;
35:
36: /**
37: * The Class ViewSWTRenderer.
38: */
39: public class ViewSWTRenderer extends ContainerSWTRenderer<VView> implements EMFFormsLocaleChangeListener {
40:
41:         private Composite renderControl;
42:         private final EMFFormsLocaleProvider localeProvider;
43:
44:         /**
45:          * Default constructor.
46:          *
47:          * @param vElement the view model element to be rendered
48:          * @param viewContext the view context
49:          * @param reportService the {@link ReportService}
50:          * @param factory the {@link EMFFormsRendererFactory}
51:          * @param localeProvider The {@link EMFFormsLocaleProvider}
52:          */
53:         @Inject
54:         public ViewSWTRenderer(VView vElement, ViewModelContext viewContext, ReportService reportService,
55:                 EMFFormsRendererFactory factory,
56:                 EMFFormsLocaleProvider localeProvider) {
57:                 super(vElement, viewContext, reportService, factory);
58:                 this.localeProvider = localeProvider;
59:                 localeProvider.addEMFFormsLocaleChangeListener(this);
60:         }
61:
62:         /**
63:          * {@inheritDoc}
64:          *
65:          * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getChildren()
66:          */
67:         @Override
68:         protected Collection<VContainedElement> getChildren() {
69:                 return getVElement().getChildren();
70:         }
71:
72:         /**
73:          * {@inheritDoc}
74:          *
75:          * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#getCustomVariant()
76:          */
77:         @Override
78:         protected String getCustomVariant() {
79:                 return "org_eclipse_emf_ecp_ui_layout_view"; //$NON-NLS-1$
80:         }
81:
82:         /**
83:          * {@inheritDoc}
84:          *
85:          * @see EMFFormsLocaleChangeListener#notifyLocaleChange()
86:          */
87:         @Override
88:         public void notifyLocaleChange() {
89:                 renderControl.layout(true, true);
90:         }
91:
92:         /**
93:          * {@inheritDoc}
94:          *
95:          * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#renderControl(org.eclipse.emfforms.spi.swt.core.layout.SWTGridCell,
96:          * org.eclipse.swt.widgets.Composite)
97:          */
98:         @Override
99:         protected Control renderControl(SWTGridCell gridCell, Composite parent) throws NoRendererFoundException,
100:                 NoPropertyDescriptorFoundExeption {
101:                 renderControl = (Composite) super.renderControl(gridCell, parent);
102:                 return renderControl;
103:         }
104:
105:         /**
106:          * {@inheritDoc}
107:          *
108:          * @see org.eclipse.emf.ecp.view.spi.core.swt.ContainerSWTRenderer#dispose()
109:          */
110:         @Override
111:         protected void dispose() {
112:                 localeProvider.removeEMFFormsLocaleChangeListener(this);
113:                 super.dispose();
114:         }
115:
116: }