|
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.ui.forms.examples.internal.rcp; |
11 |
package org.eclipse.ui.forms.examples.internal.rcp; |
| 12 |
|
12 |
|
|
|
13 |
import org.eclipse.core.commands.AbstractHandler; |
| 14 |
import org.eclipse.core.commands.ExecutionEvent; |
| 15 |
import org.eclipse.core.commands.ExecutionException; |
| 13 |
import org.eclipse.core.runtime.IProgressMonitor; |
16 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 14 |
import org.eclipse.jface.action.Action; |
17 |
import org.eclipse.jface.action.Action; |
| 15 |
import org.eclipse.jface.action.ControlContribution; |
18 |
import org.eclipse.jface.action.ControlContribution; |
|
Link Here
|
| 27 |
import org.eclipse.ui.forms.widgets.Form; |
30 |
import org.eclipse.ui.forms.widgets.Form; |
| 28 |
import org.eclipse.ui.forms.widgets.FormToolkit; |
31 |
import org.eclipse.ui.forms.widgets.FormToolkit; |
| 29 |
import org.eclipse.ui.forms.widgets.ScrolledForm; |
32 |
import org.eclipse.ui.forms.widgets.ScrolledForm; |
|
|
33 |
import org.eclipse.ui.handlers.IHandlerService; |
| 34 |
import org.eclipse.ui.services.IServiceLocator; |
| 30 |
|
35 |
|
| 31 |
/** |
36 |
/** |
| 32 |
* A form editor that has several pages but only one stable header. |
37 |
* A form editor that has several pages but only one stable header. |
| 33 |
*/ |
38 |
*/ |
| 34 |
public class SingleHeaderEditor extends SharedHeaderFormEditor { |
39 |
public class SingleHeaderEditor extends SharedHeaderFormEditor { |
|
|
40 |
private static final String SHOW_PAGE_ID = "org.eclipse.ui.forms.examples.showPage"; |
| 41 |
|
| 35 |
/** |
42 |
/** |
| 36 |
* |
43 |
* |
| 37 |
*/ |
44 |
*/ |
|
Link Here
|
| 51 |
|
58 |
|
| 52 |
protected void createHeaderContents(IManagedForm headerForm) { |
59 |
protected void createHeaderContents(IManagedForm headerForm) { |
| 53 |
final ScrolledForm sform = headerForm.getForm(); |
60 |
final ScrolledForm sform = headerForm.getForm(); |
| 54 |
//sform.setText("Shared header for all the pages"); |
61 |
// sform.setText("Shared header for all the pages"); |
| 55 |
getToolkit().decorateFormHeading(sform.getForm()); |
62 |
getToolkit().decorateFormHeading(sform.getForm()); |
| 56 |
addToolBar(sform.getForm()); |
63 |
addToolBar(sform.getForm()); |
| 57 |
sform.setImage(PlatformUI.getWorkbench().getSharedImages().getImage( |
64 |
sform.setImage(PlatformUI.getWorkbench().getSharedImages().getImage( |
|
Link Here
|
| 61 |
sform.setText("<Another text>"); |
68 |
sform.setText("<Another text>"); |
| 62 |
} |
69 |
} |
| 63 |
}); |
70 |
}); |
| 64 |
//sform.setMessage("Static text", 0); |
71 |
// sform.setMessage("Static text", 0); |
| 65 |
} |
72 |
} |
| 66 |
|
73 |
|
|
|
74 |
private static class PageHandler extends AbstractHandler { |
| 75 |
private int page; |
| 76 |
public PageHandler(int i) { |
| 77 |
page = i; |
| 78 |
} |
| 79 |
public Object execute(ExecutionEvent event) throws ExecutionException { |
| 80 |
System.out.println("Now on page " + page); |
| 81 |
return null; |
| 82 |
} |
| 83 |
|
| 84 |
} |
| 67 |
/* |
85 |
/* |
| 68 |
* (non-Javadoc) |
86 |
* (non-Javadoc) |
| 69 |
* |
87 |
* |
|
Link Here
|
| 71 |
*/ |
89 |
*/ |
| 72 |
protected void addPages() { |
90 |
protected void addPages() { |
| 73 |
try { |
91 |
try { |
| 74 |
addPage(new HeadlessPage(this, 1)); |
92 |
int idx = addPage(new HeadlessPage(this, 1)); |
| 75 |
addPage(new HeadlessPage(this, 2)); |
93 |
IServiceLocator pageSite = getPageSite(idx); |
| 76 |
addPage(new HeadlessPage(this, 3)); |
94 |
IHandlerService handlers = (IHandlerService) pageSite |
|
|
95 |
.getService(IHandlerService.class); |
| 96 |
handlers.activateHandler(SHOW_PAGE_ID, new PageHandler(1)); |
| 97 |
|
| 98 |
idx = addPage(new HeadlessPage(this, 2)); |
| 99 |
pageSite = getPageSite(idx); |
| 100 |
handlers = (IHandlerService) pageSite |
| 101 |
.getService(IHandlerService.class); |
| 102 |
handlers.activateHandler(SHOW_PAGE_ID, new PageHandler(2)); |
| 103 |
|
| 104 |
idx = addPage(new HeadlessPage(this, 3)); |
| 105 |
pageSite = getPageSite(idx); |
| 106 |
handlers = (IHandlerService) pageSite |
| 107 |
.getService(IHandlerService.class); |
| 108 |
handlers.activateHandler(SHOW_PAGE_ID, new PageHandler(3)); |
| 77 |
} catch (PartInitException e) { |
109 |
} catch (PartInitException e) { |
| 78 |
// |
110 |
// |
| 79 |
} |
111 |
} |