Skip to content

Package: NewXMIFileWizardPage

NewXMIFileWizardPage

nameinstructionbranchcomplexitylinemethod
NewXMIFileWizardPage()
M: 18 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
createAdvancedControls(Composite)
M: 31 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
createControl(Composite)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
retrieveTreeViewer(Composite)
M: 40 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 11 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2013 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: * Eugen Neufeld - initial API and implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.workspace.internal.ui;
15:
16: import java.lang.reflect.Field;
17:
18: import org.eclipse.core.resources.ResourcesPlugin;
19: import org.eclipse.jface.viewers.StructuredSelection;
20: import org.eclipse.jface.viewers.TreeViewer;
21: import org.eclipse.jface.window.Window;
22: import org.eclipse.jface.wizard.WizardDialog;
23: import org.eclipse.swt.SWT;
24: import org.eclipse.swt.events.SelectionAdapter;
25: import org.eclipse.swt.events.SelectionEvent;
26: import org.eclipse.swt.layout.GridData;
27: import org.eclipse.swt.widgets.Button;
28: import org.eclipse.swt.widgets.Composite;
29: import org.eclipse.ui.PlatformUI;
30: import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
31: import org.eclipse.ui.internal.ide.misc.ContainerSelectionGroup;
32: import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
33:
34: /**
35: * The Class NewXMIFileWizardPage.
36: *
37: * @author Tobias Verhoeven
38: */
39: public class NewXMIFileWizardPage extends WizardNewFileCreationPage {
40:
41:         private TreeViewer memTreeViewer;
42:
43:         /**
44:          * Instantiates a new new XMI file wizard page.
45:          */
46:         public NewXMIFileWizardPage() {
47:                 super(Messages.NewXMIFileWizardPage_CreateNewXMIFile,
48:                         new StructuredSelection(ResourcesPlugin.getWorkspace().getRoot()));
49:                 setTitle(Messages.NewXMIFileWizardPage_CreateNewXMIFile);
50:                 setDescription(Messages.NewXMIFileWizardPage_SelectRootContainer);
51:                 setFileName("*.xmi"); //$NON-NLS-1$
52:         }
53:
54:         /*
55:          * (non-Javadoc)
56:          * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#createControl(org.eclipse.swt.widgets.Composite)
57:          */
58:         @Override
59:         public void createControl(Composite parent) {
60:                 super.createControl(parent);
61:                 retrieveTreeViewer(parent);
62:         }
63:
64:         /**
65:          * @param parent
66:          */
67:         private void retrieveTreeViewer(Composite parent) {
68:                 // ...
69:                 Composite composite = (Composite) parent.getChildren()[0];
70:                 composite = (Composite) composite.getChildren()[0];
71:                 final ContainerSelectionGroup csg = (ContainerSelectionGroup) composite.getChildren()[0];
72:
73:                 try {
74:
75:                         final Field field = ContainerSelectionGroup.class.getDeclaredField("treeViewer"); //$NON-NLS-1$
76:                         field.setAccessible(true);
77:                         memTreeViewer = (TreeViewer) field.get(csg);
78:
79:                 } catch (final IllegalArgumentException ex) {
80:                 } catch (final IllegalAccessException ex) {
81:                 } catch (final NoSuchFieldException ex) {
82:                 } catch (final SecurityException ex) {
83:                 }
84:         }
85:
86:         /*
87:          * (non-Javadoc)
88:          * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#createAdvancedControls(org.eclipse.swt.widgets.Composite)
89:          */
90:         @Override
91:         protected void createAdvancedControls(final Composite parent) {
92:
93:                 final Button btnCreateNewProject = new Button(parent, SWT.NONE);
94:                 btnCreateNewProject.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
95:                 btnCreateNewProject.setText(Messages.NewXMIFileWizardPage_CreateNewProject);
96:
97:                 btnCreateNewProject.addSelectionListener(new SelectionAdapter() {
98:                         @Override
99:                         public void widgetSelected(SelectionEvent e) {
100:                                 final BasicNewProjectResourceWizard bd = new BasicNewProjectResourceWizard();
101:                                 bd.init(PlatformUI.getWorkbench(), null);
102:                                 final WizardDialog wizardDialog = new WizardDialog(parent.getShell(), bd);
103:                                 if (wizardDialog.open() == Window.OK) {
104:
105:                                 } else {
106:
107:                                 }
108:                                 if (memTreeViewer != null) {
109:                                         memTreeViewer.refresh();
110:                                 }
111:
112:                         }
113:                 });
114:
115:                 super.createAdvancedControls(parent);
116:         }
117:
118: }