core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/view/InstallExtensionsPortalExtension.java
changeset 1810 2ccd3660a736
parent 1734 bf670d38123a
child 1818 bb528d06abcd
--- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/view/InstallExtensionsPortalExtension.java	Wed Aug 11 14:53:40 2010 -0500
+++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/view/InstallExtensionsPortalExtension.java	Wed Aug 11 15:25:32 2010 -0500
@@ -17,15 +17,58 @@
 package com.nokia.carbide.internal.discovery.ui.view;
 
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchWizard;
 import org.eclipse.ui.PlatformUI;
 
 import com.nokia.carbide.internal.discovery.ui.extension.AbstractDiscoveryPortalPageLayer;
+import com.nokia.carbide.internal.discovery.ui.extension.IActionBar;
+import com.nokia.carbide.internal.discovery.ui.extension.IActionUIUpdater;
+import com.nokia.carbide.internal.discovery.ui.wizard.ExportWizard;
+import com.nokia.carbide.internal.discovery.ui.wizard.ImportWizard;
 
 public class InstallExtensionsPortalExtension extends AbstractDiscoveryPortalPageLayer {
 
+	private final class MigrateBar implements IActionBar {
+		@Override
+		public String getTitle() {
+			return "Migrate";
+		}
+
+		@Override
+		public String[] getHighlightedActionIds() {
+			return null;
+		}
+
+		@Override
+		public IAction[] getActions() {
+			List<IAction> actions = new ArrayList<IAction>();
+			actions.add(new Action("Export...") {
+				@Override
+				public void run() {
+					showWizard(new ExportWizard());
+				}
+			});
+			actions.add(new Action("Import...") {
+				@Override
+				public void run() {
+					showWizard(new ImportWizard());
+				}
+			});
+			return (IAction[]) actions.toArray(new IAction[actions.size()]);
+		}
+	}
+
 	@Override
 	public Control createControl(Composite parent, IEditorPart part) {
 		Control control = super.createControl(parent, part);
@@ -36,4 +79,20 @@
 
 		return control;
 	}
+	
+	@Override
+	public IActionBar[] createCommandBars(IEditorPart part, IActionUIUpdater updater) {
+		List<IActionBar> commandBars = new ArrayList<IActionBar>(
+				Arrays.asList(super.createCommandBars(part, updater)));
+		commandBars.add(new MigrateBar());
+		
+		return (IActionBar[]) commandBars.toArray(new IActionBar[commandBars.size()]);
+	}
+
+	private void showWizard(IWorkbenchWizard wizard) {
+		wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY);
+        WizardDialog dialog = new WizardDialog(part.getEditorSite().getShell(), wizard);
+        dialog.create();
+        dialog.open();
+	}
 }