Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java')
-rw-r--r--tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java153
1 files changed, 153 insertions, 0 deletions
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java
new file mode 100644
index 0000000000..c14f1a9942
--- /dev/null
+++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/importtrace/AbstractImportTraceWizardPage.java
@@ -0,0 +1,153 @@
+/*******************************************************************************
+ * Copyright (c) 2013, 2014 Ericsson
+ *
+ * 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:
+ * Matthew Khouzam - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.internal.tmf.ui.project.wizards.importtrace;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.tracecompass.tmf.core.TmfProjectNature;
+import org.eclipse.tracecompass.tmf.ui.project.model.TmfTraceFolder;
+import org.eclipse.tracecompass.tmf.ui.project.model.TmfTracesFolder;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.dialogs.WizardResourceImportPage;
+
+/**
+ * The abstract import trace wizard page, the base for the import trace wizard
+ * pages.
+ *
+ * @author Matthew Khouzam
+ */
+abstract class AbstractImportTraceWizardPage extends WizardResourceImportPage {
+
+ /**
+ * Import String
+ */
+ protected static final String BATCH_IMPORT_WIZARD_PAGE = "BatchImportWizardPage"; //$NON-NLS-1$
+
+ /**
+ * The trace folder, something like "/<project name>/Traces/"
+ */
+ protected IFolder fTargetFolder;
+
+ /**
+ * The project "/<project name>"
+ */
+ protected IProject fProject;
+
+ /**
+ * The batch import trace wizard (parent)
+ */
+ private BatchImportTraceWizard fBatchImportTraceWizard;
+
+ /**
+ * @param name
+ * the name of the page
+ * @param selection
+ * The current selection
+ */
+ protected AbstractImportTraceWizardPage(String name, IStructuredSelection selection) {
+ super(name, selection);
+ }
+
+ /**
+ * Constructor
+ *
+ * @param workbench
+ * The workbench reference.
+ * @param selection
+ * The current selection
+ */
+ public AbstractImportTraceWizardPage(IWorkbench workbench, IStructuredSelection selection) {
+ this(BATCH_IMPORT_WIZARD_PAGE, selection);
+ setTitle(null);
+ setDescription(null);
+
+ // Locate the target trace folder
+ IFolder traceFolder = null;
+ Object element = selection.getFirstElement();
+
+ if (element instanceof TmfTraceFolder) {
+ TmfTraceFolder tmfTraceFolder = (TmfTraceFolder) element;
+ fProject = (tmfTraceFolder.getProject().getResource());
+ traceFolder = tmfTraceFolder.getResource();
+ } else if (element instanceof IProject) {
+ IProject project = (IProject) element;
+ try {
+ if (project.hasNature(TmfProjectNature.ID)) {
+ traceFolder = (IFolder) project.findMember(TmfTracesFolder.TRACES_FOLDER_NAME);
+ }
+ } catch (CoreException e) {
+ }
+ }
+
+ // Set the target trace folder
+ if (traceFolder != null) {
+ fTargetFolder = (traceFolder);
+ String path = traceFolder.getFullPath().toOSString();
+ setContainerFieldValue(path);
+ }
+
+ }
+
+ /**
+ * The Batch Import Wizard
+ *
+ * @return the Batch Import Wizard
+ */
+ public BatchImportTraceWizard getBatchWizard() {
+ return fBatchImportTraceWizard;
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout());
+ composite.setFont(parent.getFont());
+ // arbitrary size
+ final GridData layoutData = new GridData();
+ parent.getShell().setLayoutData(layoutData);
+ parent.getShell().redraw();
+ this.setControl(composite);
+
+ // arbitrary sizes
+ parent.getShell().setMinimumSize(new Point(525, 400));
+ fBatchImportTraceWizard = (BatchImportTraceWizard) getWizard();
+ }
+
+ // the following methods are stubbed out on purpose.
+
+ @Override
+ protected void createSourceGroup(Composite parent) {
+ // do nothing
+ }
+
+ @Override
+ protected ITreeContentProvider getFileProvider() {
+ // do nothing
+ return null;
+ }
+
+ @Override
+ protected ITreeContentProvider getFolderProvider() {
+ // do nothing
+ return null;
+ }
+
+}

Back to the top