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 } |