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
equal deleted inserted replaced
1809:7c3b884eb33b 1810:2ccd3660a736
    15 *
    15 *
    16 */
    16 */
    17 package com.nokia.carbide.internal.discovery.ui.view;
    17 package com.nokia.carbide.internal.discovery.ui.view;
    18 
    18 
    19 
    19 
       
    20 import java.util.ArrayList;
       
    21 import java.util.Arrays;
       
    22 import java.util.List;
       
    23 
       
    24 import org.eclipse.jface.action.Action;
       
    25 import org.eclipse.jface.action.IAction;
       
    26 import org.eclipse.jface.viewers.StructuredSelection;
       
    27 import org.eclipse.jface.wizard.WizardDialog;
    20 import org.eclipse.swt.widgets.Composite;
    28 import org.eclipse.swt.widgets.Composite;
    21 import org.eclipse.swt.widgets.Control;
    29 import org.eclipse.swt.widgets.Control;
    22 import org.eclipse.ui.IEditorPart;
    30 import org.eclipse.ui.IEditorPart;
       
    31 import org.eclipse.ui.IWorkbenchWizard;
    23 import org.eclipse.ui.PlatformUI;
    32 import org.eclipse.ui.PlatformUI;
    24 
    33 
    25 import com.nokia.carbide.internal.discovery.ui.extension.AbstractDiscoveryPortalPageLayer;
    34 import com.nokia.carbide.internal.discovery.ui.extension.AbstractDiscoveryPortalPageLayer;
       
    35 import com.nokia.carbide.internal.discovery.ui.extension.IActionBar;
       
    36 import com.nokia.carbide.internal.discovery.ui.extension.IActionUIUpdater;
       
    37 import com.nokia.carbide.internal.discovery.ui.wizard.ExportWizard;
       
    38 import com.nokia.carbide.internal.discovery.ui.wizard.ImportWizard;
    26 
    39 
    27 public class InstallExtensionsPortalExtension extends AbstractDiscoveryPortalPageLayer {
    40 public class InstallExtensionsPortalExtension extends AbstractDiscoveryPortalPageLayer {
       
    41 
       
    42 	private final class MigrateBar implements IActionBar {
       
    43 		@Override
       
    44 		public String getTitle() {
       
    45 			return "Migrate";
       
    46 		}
       
    47 
       
    48 		@Override
       
    49 		public String[] getHighlightedActionIds() {
       
    50 			return null;
       
    51 		}
       
    52 
       
    53 		@Override
       
    54 		public IAction[] getActions() {
       
    55 			List<IAction> actions = new ArrayList<IAction>();
       
    56 			actions.add(new Action("Export...") {
       
    57 				@Override
       
    58 				public void run() {
       
    59 					showWizard(new ExportWizard());
       
    60 				}
       
    61 			});
       
    62 			actions.add(new Action("Import...") {
       
    63 				@Override
       
    64 				public void run() {
       
    65 					showWizard(new ImportWizard());
       
    66 				}
       
    67 			});
       
    68 			return (IAction[]) actions.toArray(new IAction[actions.size()]);
       
    69 		}
       
    70 	}
    28 
    71 
    29 	@Override
    72 	@Override
    30 	public Control createControl(Composite parent, IEditorPart part) {
    73 	public Control createControl(Composite parent, IEditorPart part) {
    31 		Control control = super.createControl(parent, part);
    74 		Control control = super.createControl(parent, part);
    32 
    75 
    34 		PlatformUI.getWorkbench().getHelpSystem().setHelp(control, 
    77 		PlatformUI.getWorkbench().getHelpSystem().setHelp(control, 
    35 				"com.nokia.carbide.discovery.ui.view.DiscoveryView.catalogviewer"); //$NON-NLS-1$
    78 				"com.nokia.carbide.discovery.ui.view.DiscoveryView.catalogviewer"); //$NON-NLS-1$
    36 
    79 
    37 		return control;
    80 		return control;
    38 	}
    81 	}
       
    82 	
       
    83 	@Override
       
    84 	public IActionBar[] createCommandBars(IEditorPart part, IActionUIUpdater updater) {
       
    85 		List<IActionBar> commandBars = new ArrayList<IActionBar>(
       
    86 				Arrays.asList(super.createCommandBars(part, updater)));
       
    87 		commandBars.add(new MigrateBar());
       
    88 		
       
    89 		return (IActionBar[]) commandBars.toArray(new IActionBar[commandBars.size()]);
       
    90 	}
       
    91 
       
    92 	private void showWizard(IWorkbenchWizard wizard) {
       
    93 		wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY);
       
    94         WizardDialog dialog = new WizardDialog(part.getEditorSite().getShell(), wizard);
       
    95         dialog.create();
       
    96         dialog.open();
       
    97 	}
    39 }
    98 }