Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuentin Le Menez2014-12-18 17:26:28 +0000
committerCamille Letavernier2014-12-18 17:26:28 +0000
commit5a18cbea42e8bf9a2c1dd4bc86808abf9e9a2089 (patch)
tree3b9fb01e7f5887126e15db9244ab43ecd95b71fa /extraplugins/migration
parent19e577fc3f944d39f1fea50881914769de4dd403 (diff)
downloadorg.eclipse.papyrus-5a18cbea42e8bf9a2c1dd4bc86808abf9e9a2089.tar.gz
org.eclipse.papyrus-5a18cbea42e8bf9a2c1dd4bc86808abf9e9a2089.tar.xz
org.eclipse.papyrus-5a18cbea42e8bf9a2c1dd4bc86808abf9e9a2089.zip
454999: [Model Import – Wizard] The Model Import Wizard should remember
the last file selection https://bugs.eclipse.org/bugs/show_bug.cgi?id=454999 - refactoring of the code, creation of two new composites for reusability purpose - the wizard now take into account the selection in the model explorer and select it from the tree's elements Change-Id: I0839c47b71e1c872328726fd86f5591bc02ffa7e Signed-off-by: Quentin Le Menez <quentin.lemenez@cea.fr>
Diffstat (limited to 'extraplugins/migration')
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml2
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationScopeWizard.java48
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationWizard.java (renamed from extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationConfigWizard.java)60
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/ConfigurationComposite.java195
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/SelectionTreeComposite.java (renamed from extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationScopePage.java)335
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationConfigPage.java169
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationNode.java83
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationSelectionPage.java62
8 files changed, 443 insertions, 511 deletions
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml
index 82b3086786e..d43c39af325 100644
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml
@@ -433,7 +433,7 @@
point="org.eclipse.ui.importWizards">
<wizard
category="org.eclipse.papyrus.infra.core.importcategory"
- class="org.eclipse.papyrus.migration.rsa.wizard.TransformationScopeWizard"
+ class="org.eclipse.papyrus.migration.rsa.wizard.TransformationWizard"
icon="icons/import_wiz_16x16.gif"
id="org.eclipse.papyrus.migration.rsa.transformationWizard"
name="RSA Models/Profiles">
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationScopeWizard.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationScopeWizard.java
deleted file mode 100644
index 7eb5df2f2a8..00000000000
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationScopeWizard.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.migration.rsa.wizard;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.papyrus.migration.rsa.wizard.pages.TransformationScopePage;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class TransformationScopeWizard extends Wizard implements IImportWizard {
-
- private TransformationScopePage selectionPage;
-
- public TransformationScopeWizard() {
- setWindowTitle("RSA transformation wizard"); //$NON-NLS-1$
- }
-
- @Override
- public void addPages() {
- selectionPage = new TransformationScopePage();
- this.addPage(selectionPage);
- this.setForcePreviousAndNextButtons(true);
-
- }
-
- @Override
- public boolean performFinish() {
-
- return false;
- }
-
-
- @Override
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- // nothing
- }
-
-}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationConfigWizard.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationWizard.java
index 1fffc55bcf6..f44853a351a 100644
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationConfigWizard.java
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/TransformationWizard.java
@@ -19,48 +19,77 @@ import java.util.Set;
import org.eclipse.core.resources.IFile;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.papyrus.migration.rsa.RSAToPapyrusParameters.Config;
import org.eclipse.papyrus.migration.rsa.transformation.ImportTransformationLauncher;
import org.eclipse.papyrus.migration.rsa.wizard.pages.TransformationConfigPage;
+import org.eclipse.papyrus.migration.rsa.wizard.pages.TransformationSelectionPage;
+import org.eclipse.ui.IImportWizard;
+import org.eclipse.ui.IWorkbench;
-public class TransformationConfigWizard extends Wizard {
+public class TransformationWizard extends Wizard implements IImportWizard {
- Collection<Object> selectedFiles;
+ private TransformationSelectionPage selectionPage = new TransformationSelectionPage();
- TransformationConfigPage transformationConfigPage;
+ private TransformationConfigPage configPage = new TransformationConfigPage();
+
+ IWizardPage currentPage;
+
+ public TransformationWizard() {
+ setWindowTitle("RSA transformation wizard"); //$NON-NLS-1$
- public TransformationConfigWizard(Collection<Object> selectedFiles) {
- setWindowTitle("RSA transformation wizard");
- this.selectedFiles = selectedFiles;
}
@Override
public void addPages() {
- transformationConfigPage = new TransformationConfigPage(selectedFiles);
- addPage(transformationConfigPage);
+ this.addPage(selectionPage);
+ this.addPage(configPage);
+
+ }
+
+ @Override
+ public IWizardPage getNextPage(IWizardPage currentPage) {
+ if (currentPage == selectionPage) {
+ this.currentPage = configPage;
+ Collection<Object> selectedFiles = selectionPage.getSelectedFiles();
+ configPage.setViewerInput(selectedFiles);
+ return configPage;
+ }
+ if (this.currentPage == configPage) {
+ this.currentPage = selectionPage;
+ }
+ return null;
+ }
+
+ @Override
+ public boolean canFinish() {
+ if (currentPage == configPage) {
+ return super.canFinish();
+ }
+ return false;
}
@Override
public boolean performFinish() {
importFiles();
- return true;
+ return false;
}
-
/**
*
* Launches the transformation with the previously selected files and configuration parameters
*
*/
public void importFiles() {
- Config config = transformationConfigPage.getConfig();
+ Config config = configPage.getConfig();
if (config == null) {
return;
}
Set<IFile> selectedFiles = new HashSet<IFile>();
- for (Object file : transformationConfigPage.getTransformationFiles()) {
+ for (Object file : configPage.getTransformationFiles()) {
if (file instanceof IFile) {
selectedFiles.add((IFile) file);
}
@@ -79,4 +108,11 @@ public class TransformationConfigWizard extends Wizard {
launcher.run(urisToImport);
}
+ @Override
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ // TODO Auto-generated method stub
+
+ }
+
+
}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/ConfigurationComposite.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/ConfigurationComposite.java
new file mode 100644
index 00000000000..9893906f3eb
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/ConfigurationComposite.java
@@ -0,0 +1,195 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.wizard.pages;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedList;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.CheckboxTableViewer;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.papyrus.infra.widgets.util.FileUtil;
+import org.eclipse.papyrus.migration.rsa.RSAToPapyrusParameters.Config;
+import org.eclipse.papyrus.views.properties.runtime.DisplayEngine;
+import org.eclipse.papyrus.views.properties.util.PropertiesDisplayHelper;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.model.WorkbenchLabelProvider;
+
+
+public class ConfigurationComposite extends Composite {
+
+ protected Config config;
+
+ protected Collection<Object> transformationFiles;
+
+ protected CheckboxTableViewer listViewer;
+
+ protected ISelectionChangedListener listListener;
+
+ protected DisplayEngine displayEngine;
+
+ protected SelectionListener buttonListener;
+
+ private Button selectAll;
+
+ private Button deselectAll;
+
+
+ public ConfigurationComposite(Composite parent, int style, Config config) {
+ super(parent, style);
+ this.setLayout(new GridLayout(1, false));
+ this.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ this.config = config;
+
+ Composite filesComposite = new Composite(this, SWT.BORDER);
+ filesComposite.setLayout(new FillLayout());
+ filesComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+ Composite configComposite = new Composite(this, SWT.BORDER);
+ configComposite.setLayout(new FillLayout());
+ configComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
+
+ createFilesComposite(filesComposite);
+
+ createParamComposite(configComposite);
+ }
+
+ /**
+ *
+ * Fill the selection area with all the files selected previously
+ *
+ * @param parent
+ * @param selectedFiles
+ */
+ protected void createFilesComposite(Composite parent) {
+ Composite listComposite = new Composite(parent, SWT.NONE);
+ GridLayout gridLayout = new GridLayout(2, false);
+ listComposite.setLayout(gridLayout);
+
+ listViewer = CheckboxTableViewer.newCheckList(listComposite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
+ GridData viewerGrid = new GridData(SWT.FILL, SWT.FILL, true, true);
+ listViewer.getTable().setLayoutData(viewerGrid);
+
+ listViewer.setLabelProvider(new WorkbenchLabelProvider() {
+ @Override
+ protected String decorateText(String input, Object element) {
+ // there are only IFiles in the received list
+ return FileUtil.getPath((IFile) element, true);
+ }
+ });
+
+ listViewer.setContentProvider(new ArrayContentProvider());
+
+ listListener = new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ transformationFiles = new LinkedList<Object>(Arrays.asList(listViewer.getCheckedElements()));
+ }
+ };
+
+ listViewer.addSelectionChangedListener(listListener);
+
+ listViewer.setAllChecked(true);
+ setTransformationFiles();
+
+ createSelectionButtons(listComposite);
+
+ }
+
+ public void setViewerInput(Collection<Object> selectedFiles) {
+ listViewer.setInput(selectedFiles);
+ listViewer.setAllChecked(true);
+ setTransformationFiles();
+ }
+
+ /**
+ *
+ * Fill the composite with the selection buttons
+ *
+ * @param parent
+ */
+ public void createSelectionButtons(Composite parent) {
+ Composite buttonsComposite = new Composite(parent, SWT.NONE);
+ buttonsComposite.setLayout(new GridLayout());
+
+ buttonListener = new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ listViewer.setAllChecked((Boolean) ((Button) event.widget).getData());
+ setTransformationFiles();
+ }
+ };
+
+ selectAll = new Button(buttonsComposite, SWT.PUSH);
+ selectAll.setData(true);
+ selectAll.setText("Select All"); //$NON-NLS-1$
+ selectAll.addSelectionListener(buttonListener);
+ selectAll.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
+
+ deselectAll = new Button(buttonsComposite, SWT.PUSH);
+ deselectAll.setData(false);
+ deselectAll.setText("Deselect All"); //$NON-NLS-1$
+ deselectAll.addSelectionListener(buttonListener);
+ deselectAll.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
+
+ }
+
+ public void setTransformationFiles() {
+ transformationFiles = new LinkedList<Object>(Arrays.asList(listViewer.getCheckedElements()));
+ }
+
+
+ /**
+ *
+ * Fill the composite with the parameters buttons
+ *
+ * @param parent
+ */
+ public void createParamComposite(Composite parent) {
+ displayEngine = PropertiesDisplayHelper.display(config, parent);
+ }
+
+ public Collection<Object> getTransformationFiles() {
+ return transformationFiles;
+ }
+
+ public Config getConfig() {
+ return config;
+ }
+
+ @Override
+ public void dispose() {
+ if (displayEngine != null) {
+ displayEngine.dispose();
+ }
+ if (buttonListener != null) {
+ selectAll.removeSelectionListener(buttonListener);
+ deselectAll.removeSelectionListener(buttonListener);
+ }
+ if (listListener != null) {
+ listViewer.removeSelectionChangedListener(listListener);
+ }
+ super.dispose();
+ }
+
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationScopePage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/SelectionTreeComposite.java
index 16da321a719..4eadb31d0de 100644
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationScopePage.java
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/SelectionTreeComposite.java
@@ -11,6 +11,7 @@
*****************************************************************************/
package org.eclipse.papyrus.migration.rsa.wizard.pages;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -23,25 +24,20 @@ import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardSelectionPage;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
import org.eclipse.papyrus.infra.services.labelprovider.service.impl.LabelProviderServiceImpl;
-import org.eclipse.papyrus.infra.widgets.Activator;
-import org.eclipse.papyrus.infra.widgets.editors.IElementSelectionListener;
-import org.eclipse.papyrus.infra.widgets.editors.IElementSelector;
import org.eclipse.papyrus.infra.widgets.messages.Messages;
+import org.eclipse.papyrus.infra.widgets.providers.IGraphicalContentProvider;
import org.eclipse.papyrus.infra.widgets.providers.PatternViewerFilter;
import org.eclipse.papyrus.infra.widgets.providers.WorkspaceContentProvider;
-import org.eclipse.papyrus.infra.widgets.selectors.ReferenceSelector;
+import org.eclipse.papyrus.migration.rsa.Activator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -51,162 +47,157 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.PatternFilter;
-public class TransformationScopePage extends WizardSelectionPage implements IElementSelectionListener {
+public class SelectionTreeComposite extends Composite {
- protected ILabelProvider labelProvider;
+ protected TreeViewer treeViewer;
- protected Collection<Object> selectedFiles;
+ private LabelProviderService labelProviderService;
+
+ private ILabelProvider labelProvider;
- protected FilteredReferenceSelector selector;
+ private WorkspaceContentProvider contentProvider;
protected final List<String> filterNames;
protected final List<String> filterExtensions;
- protected TransformationNode wizardNode;
-
- protected WorkspaceContentProvider contentProvider;
-
- protected StructuredViewer pageViewer;
-
private Button selectAll;
private Button deselectAll;
protected SelectionListener buttonListener;
- /**
- *
- * Constructor.
- *
- */
- public TransformationScopePage() {
- super("Workspace selection");
- setTitle("Select a scope for the transformation");
- setDescription("Select the folders or files for the transformation");
- // String iconPath = "icons/import_wiz_75x66.png"; //$NON-NLS-1$
- // ImageDescriptor imgDescriptior = Activator.getDefault().getImageDescriptor(iconPath);
- // setImageDescriptor(imgDescriptior);
+ protected Collection<Object> selectedFiles;
+
+ FillLayout layout;
+
+
+ public SelectionTreeComposite(Composite parent, int style, String[] extensions, String[] extensionsNames) {
+ super(parent, style);
+ this.setLayout(new GridLayout(2, false));
+ this.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+ selectedFiles = new LinkedList<Object>();
filterNames = new LinkedList<String>();
filterExtensions = new LinkedList<String>();
- selectedFiles = new LinkedList<Object>();
- }
- @Override
- public void createControl(Composite parent) {
- initializeDialogUnits(parent);
- Composite workArea = new Composite(parent, SWT.NONE);
- workArea.setLayout(new GridLayout());
-
- Composite selectionComposite = new Composite(workArea, SWT.NONE);
- selectionComposite.setLayout(new GridLayout(2, false));
- selectionComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- // initialize the filters used to select the files in the workspace explorer
- String[] filterExtensions = { "*", "*.emx", "*.epx", "*.epx;*.emx" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String[] filterNames = { "All", "*.emx", "*.epx", "*.epx and *.emx" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- selector = setSelector(filterExtensions, filterNames);
- createSelectionWindow(selectionComposite, selector);
- createButtonsWindow(selectionComposite);
-
- setControl(workArea);
+ createTreeViewerComposite(extensions, extensionsNames);
+
+ createSelectionButtons(this);
}
- /**
- *
- * Create the selector used to display the workspace and the filters' combo box and field
- *
- * @param extensions
- * @param names
- * @return
- * selector
- */
- private FilteredReferenceSelector setSelector(String[] extensions, String[] names) {
+ private void createTreeViewerComposite(String[] extensions, String[] extensionsNames) {
+ Composite treeViewerComposite = new Composite(this, SWT.NONE);
+ treeViewerComposite.setLayout(new GridLayout(1, true));
+ treeViewerComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ Composite beforeTreeComposite = new Composite(treeViewerComposite, SWT.NONE);
+
+ Composite treeComposite = new Composite(treeViewerComposite, SWT.NONE);
+ treeComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ layout = new FillLayout();
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ treeComposite.setLayout(layout);
+
+ treeViewer = new TreeViewer(treeComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
+ treeViewer.setFilters(new ViewerFilter[] { new PatternFilter() });
- // create the label provider used to initialize the selector
- LabelProviderService labelProviderService = new LabelProviderServiceImpl();
+ labelProviderService = new LabelProviderServiceImpl();
try {
labelProviderService.startService();
} catch (ServiceException ex) {
Activator.log.error(ex);
}
- ILabelProvider labelProvider = labelProviderService.getLabelProvider();
+ labelProvider = labelProviderService.getLabelProvider();
+ contentProvider = new WorkspaceContentProvider();
+ setFilters(extensions, extensionsNames);
- if (labelProvider != null) {
- setLabelProvider(labelProvider);
+ contentProvider.setExtensionFilters(new LinkedHashMap<String, String>());
+ for (int i = 0; i < Math.min(filterNames.size(), filterExtensions.size()); i++) {
+ contentProvider.addExtensionFilter(filterExtensions.get(i), filterNames.get(i));
}
- final FilteredReferenceSelector selector = new FilteredReferenceSelector();
- selector.setLabelProvider(labelProvider);
-
- setFilters(extensions, names);
+ treeViewer.setContentProvider(contentProvider);
+ treeViewer.setLabelProvider(labelProvider);
- // Prepare the WorkspaceContentProvider and use the right filters
- contentProvider = new WorkspaceContentProvider() {
-
- ISelectionChangedListener listener;
-
- Viewer viewer;
+ treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
- public void inputChanged(final Viewer viewer, Object oldInput, Object newInput) {
- super.inputChanged(viewer, oldInput, newInput);
-
- // add a listener in order to know what elements are selected by the user
- listener = new ISelectionChangedListener() {
-
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- selectedFiles.clear();
- setSelectedFiles(selector.getSelectedElements());
- }
- };
-
- if (viewer instanceof StructuredViewer) {
- this.viewer = viewer;
- this.viewer.addSelectionChangedListener(listener);
+ public void selectionChanged(SelectionChangedEvent event) {
+ ISelection selection = event.getSelection();
+
+ if (selection instanceof IStructuredSelection) {
+ selectedFiles.clear();
+ IStructuredSelection sSelection = (IStructuredSelection) selection;
+ setSelectedFiles(sSelection.toArray());
}
+ }
+ });
+
+ treeViewer.setInput(File.listRoots());
+
+ ISelection workbenchSelection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
+ treeViewer.setSelection(workbenchSelection, true);
+
+ if (contentProvider instanceof IGraphicalContentProvider) {
+ IGraphicalContentProvider graphicalContentProvider = contentProvider;
+
+ beforeTreeComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+ layout = new FillLayout();
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ beforeTreeComposite.setLayout(layout);
+ graphicalContentProvider.createBefore(beforeTreeComposite);
+ beforeTreeComposite.moveAbove(treeViewer.getTree());
+
+ Composite afterTreeComposite = new Composite(treeViewerComposite, SWT.NONE);
+ layout = new FillLayout();
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ afterTreeComposite.setLayout(layout);
+ afterTreeComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+ graphicalContentProvider.createAfter(afterTreeComposite);
+ }
+ }
- }
+ public TreeViewer getTreeViewer() {
+ return treeViewer;
+ }
- @Override
- public void dispose() {
- if (viewer != null && listener != null && !viewer.getControl().isDisposed()) {
- viewer.removeSelectionChangedListener(listener);
- }
- super.dispose();
- }
- };
- contentProvider.setExtensionFilters(new LinkedHashMap<String, String>());
- for (int i = 0; i < Math.min(filterNames.size(), filterExtensions.size()); i++) {
- contentProvider.addExtensionFilter(filterExtensions.get(i), filterNames.get(i));
+ public void setFilters(String[] filterExtensions, String[] filterNames) {
+ if (filterExtensions.length != filterNames.length) {
+ // This is a simple warning. Only valid filters will be retained.
+ Activator.log.warn(Messages.MultipleStringFileEditor_2);
}
- selector.setContentProvider(contentProvider);
- selector.addElementSelectionListener(this);
-
- return selector;
+ setFilterNames(getFilterLabels(filterNames, filterExtensions));
+ setFilterExtensions(filterExtensions);
}
- /**
- *
- * Fill the composite with the viewer and filter areas
- *
- * @param parent
- * @param selector
- */
- public void createSelectionWindow(Composite parent, IElementSelector selector) {
+ protected String[] getFilterLabels(String[] filterNames, String[] filterExtensions) {
+ int size = Math.min(filterNames.length, filterExtensions.length);
+ String[] filters = new String[size];
+ for (int i = 0; i < size; i++) {
+ filters[i] = filterNames[i] + " (" + filterExtensions[i] + ")"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return filters;
+ }
- Composite selectionArea = new Composite(parent, SWT.NONE);
- selectionArea.setLayout(new FillLayout());
- selectionArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ public void setFilterExtensions(String[] filterExtensions) {
+ this.filterExtensions.clear();
+ this.filterExtensions.addAll(Arrays.asList(filterExtensions));
+ }
- selector.createControls(selectionArea);
+ public void setFilterNames(String[] filterNames) {
+ this.filterNames.clear();
+ this.filterNames.addAll(Arrays.asList(filterNames));
}
/**
@@ -215,17 +206,21 @@ public class TransformationScopePage extends WizardSelectionPage implements IEle
*
* @param parent
*/
- public void createButtonsWindow(Composite parent) {
+ public void createSelectionButtons(Composite parent) {
Composite buttonsComposite = new Composite(parent, SWT.NONE);
buttonsComposite.setLayout(new GridLayout());
+ // Color defaultColor = new Color(Display.getDefault(), new RGB(255, 255, 255));
+ // treeViewerComposite.setBackground(defaultColor);
buttonListener = new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
if ((Boolean) ((Button) event.widget).getData()) {
- pageViewer.setSelection(new StructuredSelection(selector.getAllElements()), true);
+ treeViewer.getTree().selectAll();
+ getNestedFiles(((IStructuredSelection) treeViewer.getSelection()).toArray());
} else {
- pageViewer.setSelection(null, true);
+ treeViewer.getTree().deselectAll();
+ selectedFiles.clear();
}
}
};
@@ -244,57 +239,13 @@ public class TransformationScopePage extends WizardSelectionPage implements IEle
}
- public void setLabelProvider(ILabelProvider labelProvider) {
- this.labelProvider = labelProvider;
- }
-
-
- public void setFilters(String[] filterExtensions, String[] filterNames) {
- if (filterExtensions.length != filterNames.length) {
- // This is a simple warning. Only valid filters will be retained.
- Activator.log.warn(Messages.MultipleStringFileEditor_2);
- }
-
- setFilterNames(getFilterLabels(filterNames, filterExtensions));
- setFilterExtensions(filterExtensions);
- }
-
- protected String[] getFilterLabels(String[] filterNames, String[] filterExtensions) {
- int size = Math.min(filterNames.length, filterExtensions.length);
- String[] filters = new String[size];
- for (int i = 0; i < size; i++) {
- filters[i] = filterNames[i] + " (" + filterExtensions[i] + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- return filters;
- }
-
- public void setFilterExtensions(String[] filterExtensions) {
- this.filterExtensions.clear();
- this.filterExtensions.addAll(Arrays.asList(filterExtensions));
- }
-
- public void setFilterNames(String[] filterNames) {
- this.filterNames.clear();
- this.filterNames.addAll(Arrays.asList(filterNames));
- }
-
-
- @Override
- public void addElements(Object[] elements) {
-
- }
-
public void setSelectedFiles(Object[] elements) {
// get the viewer selection to obtain the filtered files
getNestedFiles(elements);
+ }
- // create the next page using the filtered files
- if (selectedFiles.size() > 0) {
- wizardNode = new TransformationNode(selectedFiles);
- setSelectedNode(wizardNode);
- } else {
- setSelectedNode(null);
- }
+ public Collection<Object> getSelectedFiles() {
+ return selectedFiles;
}
/**
@@ -307,7 +258,7 @@ public class TransformationScopePage extends WizardSelectionPage implements IEle
Collection<Object> projectList = new LinkedList<Object>();
Collection<Object> folderList = new LinkedList<Object>();
List<PatternViewerFilter> currentFilters = new ArrayList<PatternViewerFilter>();
- for (ViewerFilter filter : pageViewer.getFilters()) {
+ for (ViewerFilter filter : treeViewer.getFilters()) {
if (filter instanceof PatternViewerFilter) {
currentFilters.add((PatternViewerFilter) filter);
}
@@ -328,7 +279,7 @@ public class TransformationScopePage extends WizardSelectionPage implements IEle
isVisible = true;
}
for (int index = 0; index < currentFilters.size() && isVisible; index++) {
- isVisible = currentFilters.get(index).isVisible(pageViewer, selectedFile.getParent(), selectedFile);
+ isVisible = currentFilters.get(index).isVisible(treeViewer, selectedFile.getParent(), selectedFile);
}
if (isVisible) {
selectedFiles.add(selectedFile);
@@ -359,44 +310,6 @@ public class TransformationScopePage extends WizardSelectionPage implements IEle
}
}
- /**
- *
- * Activates the Next page button if the user has selected at least one file
- *
- * @see org.eclipse.jface.wizard.WizardSelectionPage#getNextPage()
- *
- * @return
- */
- @Override
- public IWizardPage getNextPage() {
- if (wizardNode == null) {
- return null;
- }
-
- boolean isCreated = wizardNode.isContentCreated();
- IWizard configWizard = wizardNode.getWizard();
-
- if (configWizard == null) {
- return null;
- }
-
- if (!isCreated) {
- configWizard.addPages();
- }
-
- return configWizard.getStartingPage();
-
- }
-
- private class FilteredReferenceSelector extends ReferenceSelector {
-
- @Override
- public void createControls(Composite parent) {
- super.createControls(parent);
- pageViewer = treeViewer;
- }
- }
-
@Override
public void dispose() {
if (buttonListener != null) {
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationConfigPage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationConfigPage.java
index 546b0a16dac..2164d12f97d 100644
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationConfigPage.java
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationConfigPage.java
@@ -11,68 +11,39 @@
*****************************************************************************/
package org.eclipse.papyrus.migration.rsa.wizard.pages;
-import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedList;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.papyrus.infra.widgets.util.FileUtil;
import org.eclipse.papyrus.migration.rsa.RSAToPapyrusParameters.Config;
import org.eclipse.papyrus.migration.rsa.RSAToPapyrusParameters.RSAToPapyrusParametersFactory;
-import org.eclipse.papyrus.views.properties.runtime.DisplayEngine;
-import org.eclipse.papyrus.views.properties.util.PropertiesDisplayHelper;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
public class TransformationConfigPage extends WizardPage {
protected Config config;
- protected Collection<Object> selectedFiles;
-
protected Collection<Object> transformationFiles;
- protected CheckboxTableViewer listViewer;
-
- protected ISelectionChangedListener listListener;
-
- protected DisplayEngine displayEngine;
-
- protected SelectionListener buttonListener;
-
- private Button selectAll;
-
- private Button deselectAll;
+ ConfigurationComposite configComposite;
/**
*
* Constructor.
- *
+ *
* @param selectedFiles
*/
- public TransformationConfigPage(Collection<Object> selectedFiles) {
+ public TransformationConfigPage() {
super("Parameters selection"); //$NON-NLS-1$
setTitle("Define the transformation parameters"); //$NON-NLS-1$
setDescription("Select the files and the configuration options for the transformation"); //$NON-NLS-1$
- // String iconPath = "icons/import_wiz_75x66.png"; //$NON-NLS-1$
+ // String iconPath = "icons/import_wiz_75x66.png"; //$NON-NLS-1$
// ImageDescriptor imgDescriptior = Activator.getDefault().getImageDescriptor(iconPath);
// setImageDescriptor(imgDescriptior);
- this.selectedFiles = selectedFiles;
transformationFiles = new LinkedList<Object>();
config = RSAToPapyrusParametersFactory.eINSTANCE.createConfig();
}
@@ -80,139 +51,25 @@ public class TransformationConfigPage extends WizardPage {
@Override
public void createControl(Composite parent) {
initializeDialogUnits(parent);
- Composite workArea = new Composite(parent, SWT.NONE);
-
- GridLayout layout = new GridLayout(1, false);
- workArea.setLayout(layout);
-
- Composite filesComposite = new Composite(workArea, SWT.BORDER);
- filesComposite.setLayout(new FillLayout());
- filesComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- Composite configComposite = new Composite(workArea, SWT.BORDER);
- configComposite.setLayout(new FillLayout());
- configComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
-
- createFilesComposite(filesComposite, selectedFiles);
-
- createParamComposite(configComposite);
-
- setControl(workArea);
- }
-
-
- /**
- *
- * Fill the selection area with all the files selected previously
- *
- * @param parent
- * @param selectedFiles
- */
- protected void createFilesComposite(Composite parent, Collection<Object> selectedFiles) {
- Composite listComposite = new Composite(parent, SWT.NONE);
- GridLayout gridLayout = new GridLayout(2, false);
- listComposite.setLayout(gridLayout);
-
- listViewer = CheckboxTableViewer.newCheckList(listComposite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
- GridData viewerGrid = new GridData(SWT.FILL, SWT.FILL, true, true);
- listViewer.getTable().setLayoutData(viewerGrid);
-
- listViewer.setLabelProvider(new WorkbenchLabelProvider() {
- @Override
- protected String decorateText(String input, Object element) {
- // there are only IFiles in the received list
- return FileUtil.getPath((IFile) element, true);
- }
- });
+ Composite pageComposite = new Composite(parent, SWT.NONE);
+ pageComposite.setLayout(new GridLayout());
- listViewer.setContentProvider(new ArrayContentProvider());
-
- listViewer.setInput(selectedFiles);
-
- listListener = new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- transformationFiles = new LinkedList<Object>(Arrays.asList(listViewer.getCheckedElements()));
- }
- };
-
- listViewer.addSelectionChangedListener(listListener);
-
- listViewer.setAllChecked(true);
- setTransformationFiles();
-
- createSelectionButtons(listComposite);
-
- }
-
- /**
- *
- * Fill the composite with the selection buttons
- *
- * @param parent
- */
- public void createSelectionButtons(Composite parent) {
- Composite buttonsComposite = new Composite(parent, SWT.NONE);
- buttonsComposite.setLayout(new GridLayout());
-
- buttonListener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- listViewer.setAllChecked((Boolean) ((Button) event.widget).getData());
- setTransformationFiles();
- }
- };
-
- selectAll = new Button(buttonsComposite, SWT.PUSH);
- selectAll.setData(true);
- selectAll.setText("Select All"); //$NON-NLS-1$
- selectAll.addSelectionListener(buttonListener);
- selectAll.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
-
- deselectAll = new Button(buttonsComposite, SWT.PUSH);
- deselectAll.setData(false);
- deselectAll.setText("Deselect All"); //$NON-NLS-1$
- deselectAll.addSelectionListener(buttonListener);
- deselectAll.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
+ configComposite = new ConfigurationComposite(pageComposite, SWT.NONE, config);
- }
-
- public void setTransformationFiles() {
- transformationFiles = new LinkedList<Object>(Arrays.asList(listViewer.getCheckedElements()));
- }
-
-
- /**
- *
- * Fill the composite with the parameters buttons
- *
- * @param parent
- */
- public void createParamComposite(Composite parent) {
- displayEngine = PropertiesDisplayHelper.display(config, parent);
+ setControl(pageComposite);
}
public Collection<Object> getTransformationFiles() {
- return transformationFiles;
+ return configComposite.getTransformationFiles();
}
public Config getConfig() {
- return config;
+ return configComposite.getConfig();
}
- @Override
- public void dispose() {
- if (displayEngine != null) {
- displayEngine.dispose();
- }
- if (buttonListener != null) {
- selectAll.removeSelectionListener(buttonListener);
- deselectAll.removeSelectionListener(buttonListener);
- }
- if (listListener != null) {
- listViewer.removeSelectionChangedListener(listListener);
- }
- super.dispose();
+ public void setViewerInput(Collection<Object> selectedFiles) {
+ configComposite.setViewerInput(selectedFiles);
}
+
}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationNode.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationNode.java
deleted file mode 100644
index 3380347cbd5..00000000000
--- a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationNode.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.migration.rsa.wizard.pages;
-
-import java.util.Collection;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.papyrus.migration.rsa.wizard.TransformationConfigWizard;
-import org.eclipse.swt.graphics.Point;
-
-public class TransformationNode implements IWizardNode {
-
- Collection<Object> selectedFiles;
-
- IWizard currentNode;
-
-
- public TransformationNode(Collection<Object> selectedFiles) {
- this.selectedFiles = selectedFiles;
- }
-
- public void setSelectedFiles(Collection<Object> selectedFiles) {
- this.selectedFiles = selectedFiles;
- }
-
- /**
- * Returns the extent of the wizard for this node.
- *
- * If the content has not yet been created, calling this method does not
- * trigger the creation of the wizard. This allows this node to suggest
- * an extent in advance of actually creating the wizard.
- */
- @Override
- public Point getExtent() {
- return new Point(-1, -1);
- }
-
- /**
- * Returns the wizard this node stands for.
- *
- * If the content has not been created beforehand, calling this method
- * triggers the creation of the wizard and caches it so that the
- * identical wizard object is returned on subsequent calls.
- */
- @Override
- public IWizard getWizard() {
- if (currentNode == null) {
- currentNode = new TransformationConfigWizard(selectedFiles);
- }
-
- return currentNode;
- }
-
- /**
- * Returns whether a wizard has been created for this node.
- */
- @Override
- public boolean isContentCreated() {
- return currentNode != null;
- }
-
- /**
- * Disposes the wizard managed by this node. Does nothing if the wizard
- * has not been created.
- *
- * This is the last message that should ever be sent to this node.
- */
- @Override
- public void dispose() {
-
- }
-
-}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationSelectionPage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationSelectionPage.java
new file mode 100644
index 00000000000..95a49c9901e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/wizard/pages/TransformationSelectionPage.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Quentin Le Menez (CEA LIST) quentin.lemenez@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.wizard.pages;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+
+public class TransformationSelectionPage extends WizardPage {
+
+ SelectionTreeComposite treeComposite;
+
+ Collection<Object> selectedFiles;
+
+ String[] extensions = { "*", "*.emx", "*.epx", "*.epx;*.emx" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ String[] extensionsNames = { "All", "*.emx", "*.epx", "*.epx and *.emx" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ public TransformationSelectionPage() {
+ super("Workspace selection");
+ setTitle("Select a scope for the transformation");
+ setDescription("Select the folders or files for the transformation");
+ // String iconPath = "icons/import_wiz_75x66.png"; //$NON-NLS-1$
+ // ImageDescriptor imgDescriptior = Activator.getDefault().getImageDescriptor(iconPath);
+ // setImageDescriptor(imgDescriptior);
+
+ selectedFiles = new LinkedList<Object>();
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ initializeDialogUnits(parent);
+ Composite pageComposite = new Composite(parent, SWT.NONE);
+ pageComposite.setLayout(new GridLayout());
+
+ treeComposite = new SelectionTreeComposite(pageComposite, SWT.NONE, extensions, extensionsNames);
+
+ setControl(pageComposite);
+ }
+
+ public TreeViewer getTreeViewer() {
+ return treeComposite.getTreeViewer();
+ }
+
+ public Collection<Object> getSelectedFiles() {
+ return treeComposite.getSelectedFiles();
+ }
+
+}

Back to the top