### Eclipse Workspace Patch 1.0
#P org.eclipse.pde.ui
Index: src/org/eclipse/pde/internal/ui/pderesources.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties,v
retrieving revision 1.883
diff -u -r1.883 pderesources.properties
--- src/org/eclipse/pde/internal/ui/pderesources.properties 18 Jun 2007 21:10:15 -0000 1.883
+++ src/org/eclipse/pde/internal/ui/pderesources.properties 20 Jun 2007 20:59:08 -0000
@@ -760,6 +760,7 @@
NewProjectCreationOperation_errorImportingJar = Error importing jar "{0}"
AbstractTemplateSection_generating = Generating content...
+AbstractTemplateSection_targetVersionAssert=was called before the model was initialized.
AbstractLauncherToolbar_noProblems=No problems were detected.
AbstractSchemaDetails_minOccurLabel=Min Occurrences:
AbstractSchemaDetails_maxOccurLabel=Max Occurrences:
Index: src/org/eclipse/pde/internal/ui/PDEUIMessages.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java,v
retrieving revision 1.293
diff -u -r1.293 PDEUIMessages.java
--- src/org/eclipse/pde/internal/ui/PDEUIMessages.java 18 Jun 2007 21:10:15 -0000 1.293
+++ src/org/eclipse/pde/internal/ui/PDEUIMessages.java 20 Jun 2007 20:59:08 -0000
@@ -21,6 +21,8 @@
public static String AbstractTargetPage_setTarget;
+ public static String AbstractTemplateSection_targetVersionAssert;
+
public static String AddLibraryDialog_nospaces;
public static String AddTargetPluginsWizard_windowTitle;
Index: src/org/eclipse/pde/ui/templates/AbstractTemplateSection.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/ui/templates/AbstractTemplateSection.java,v
retrieving revision 1.38
diff -u -r1.38 AbstractTemplateSection.java
--- src/org/eclipse/pde/ui/templates/AbstractTemplateSection.java 8 Jun 2007 16:35:13 -0000 1.38
+++ src/org/eclipse/pde/ui/templates/AbstractTemplateSection.java 20 Jun 2007 20:59:08 -0000
@@ -31,6 +31,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
@@ -735,13 +736,14 @@
}
protected double getTargetVersion() {
+ Assert.isTrue(model!=null, "AbstractTemplateSelection.getTargetVersion() " + PDEUIMessages.AbstractTemplateSection_targetVersionAssert); //$NON-NLS-1$
try {
IPluginBase plugin = model.getPluginBase();
if (plugin instanceof IBundlePluginBase)
return Double.parseDouble(((IBundlePluginBase)plugin).getTargetVersion());
} catch (NumberFormatException e) {
}
- return TargetPlatformHelper.getTargetVersion();
+ return TargetPlatformHelper.getTargetVersion();
}
}
#P org.eclipse.pde.ui.templates
Index: plugin.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.templates/plugin.properties,v
retrieving revision 1.8
diff -u -r1.8 plugin.properties
--- plugin.properties 8 Jun 2007 16:27:15 -0000 1.8
+++ plugin.properties 20 Jun 2007 20:59:10 -0000
@@ -69,7 +69,9 @@
adds the following:
\
Sample view. %template.view.desc%\
Extensions Used
\
-org.eclipse.ui.views
+org.eclipse.ui.views\
+org.eclipse.ui.perspectiveExtensions\
+org.eclipse.help.contexts
pluginContent.multiPageEditor.name = Plug-in with a multi-page editor
pluginContent.multiPageEditor.description=\
@@ -260,9 +262,10 @@
The view is contributed to the workbench by \
creating a category. The view can be opened by selecting \
Window, Show View and then Other... \
-on the menu bar. The template offers several choices including \
+on the menu bar. The template demonstrates implementation of \
pop-up menu support, local tool bar, double-click, sorting and \
-filtering.
+filtering. There is also an option to add context-sensitive help \
+to the view.
template.multiPageEditor.name = Multi-page Editor
template.multiPageEditor.desc = This template creates a \
Index: src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java,v
retrieving revision 1.1
diff -u -r1.1 ViewTemplate.java
--- src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java 12 Nov 2006 09:00:46 -0000 1.1
+++ src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java 20 Jun 2007 20:59:10 -0000
@@ -11,6 +11,7 @@
package org.eclipse.pde.internal.ui.templates.ide;
+import java.io.File;
import java.util.ArrayList;
import org.eclipse.core.runtime.CoreException;
@@ -30,15 +31,18 @@
import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
import org.eclipse.pde.internal.ui.templates.PluginReference;
import org.eclipse.pde.ui.IFieldData;
+import org.eclipse.pde.ui.templates.AbstractTemplateSection;
import org.eclipse.pde.ui.templates.BooleanOption;
public class ViewTemplate extends PDETemplateSection {
private BooleanOption addToPerspective;
+ private BooleanOption contextHelp;
+ private BooleanOption useEnablement;
/**
* Constructor for HelloWorldTemplate.
*/
public ViewTemplate() {
- setPageCount(2);
+ setPageCount(1);
createOptions();
}
@@ -65,28 +69,24 @@
{"treeViewer", PDETemplateMessages.ViewTemplate_tree}}, //$NON-NLS-1$
"tableViewer", 0); //$NON-NLS-1$
addToPerspective = (BooleanOption)addOption("addToPerspective",PDETemplateMessages.ViewTemplate_addToPerspective,true,0); //$NON-NLS-1$
- // second page
- addOption("doubleClick", PDETemplateMessages.ViewTemplate_doubleClick, true, 1); //$NON-NLS-1$
- addOption("popup", PDETemplateMessages.ViewTemplate_popup, true, 1); //$NON-NLS-1$
- addOption("localToolbar", PDETemplateMessages.ViewTemplate_toolbar, true, 1); //$NON-NLS-1$
- addOption("localPulldown", PDETemplateMessages.ViewTemplate_pulldown, true, 1); //$NON-NLS-1$
- addOption("sorter", PDETemplateMessages.ViewTemplate_sorting, true, 1); //$NON-NLS-1$
- //addOption("filter", PDEPlugin.getResourceString(NL_FILTER), true, lists[1]);
+ contextHelp = (BooleanOption)addOption("contextHelp", PDETemplateMessages.ViewTemplate_contextHelp, true, 0); //$NON-NLS-1$
+ useEnablement = (BooleanOption)addOption("useEnablement", "", true, -1); //$NON-NLS-1$ //$NON-NLS-2$
}
protected void initializeFields(IFieldData data) {
// In a new project wizard, we don't know this yet - the
// model has not been created
- String id = data.getId();
- initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
- initializeOption("viewCategoryId", id); //$NON-NLS-1$
+ initializeFields(data.getId());
+
}
public void initializeFields(IPluginModelBase model) {
// In the new extension wizard, the model exists so
// we can initialize directly from it
- String pluginId = model.getPluginBase().getId();
- initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
- initializeOption("viewCategoryId", pluginId); //$NON-NLS-1$
+ initializeFields(model.getPluginBase().getId());
+ }
+ public void initializeFields(String id) {
+ initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
+ initializeOption("viewCategoryId", id); //$NON-NLS-1$
}
public boolean isDependentOnParentWizard() {
@@ -99,12 +99,19 @@
page0.setDescription(PDETemplateMessages.ViewTemplate_desc0);
wizard.addPage(page0);
- WizardPage page1 = createPage(1, IHelpContextIds.TEMPLATE_VIEW);
- page1.setTitle(PDETemplateMessages.ViewTemplate_title1);
- page1.setDescription(PDETemplateMessages.ViewTemplate_desc1);
- wizard.addPage(page1);
markPagesAdded();
}
+ /**
+ * @see AbstractTemplateSection#isOkToCreateFile(File)
+ */
+ protected boolean isOkToCreateFile(File sourceFile) {
+ boolean isOk = true;
+ String fileName = sourceFile.getName();
+ if (fileName.equals("contexts.xml")) { //$NON-NLS-1$
+ isOk = contextHelp.isSelected();
+ }
+ return isOk;
+ }
public String getUsedExtensionPoint() {
return "org.eclipse.ui.views"; //$NON-NLS-1$
@@ -140,7 +147,7 @@
perspectiveElement.setName("perspectiveExtension"); //$NON-NLS-1$
perspectiveElement.setAttribute(
"targetID", //$NON-NLS-1$
- "org.eclipse.ui.resourcePerspective"); //$NON-NLS-1$
+ "org.eclipse.jdt.ui.JavaPerspective"); //$NON-NLS-1$
IPluginElement view = factory.createElement(perspectiveElement);
view.setName("view"); //$NON-NLS-1$
@@ -154,6 +161,18 @@
if (!perspectiveExtension.isInTheModel())
plugin.add(perspectiveExtension);
}
+
+ if (contextHelp.isSelected()) {
+ IPluginExtension contextExtension =
+ createExtension("org.eclipse.help.contexts", true); //$NON-NLS-1$
+
+ IPluginElement contextsElement = factory.createElement(contextExtension);
+ contextsElement.setName("contexts"); //$NON-NLS-1$
+ contextsElement.setAttribute("file", "contexts.xml"); //$NON-NLS-1$ //$NON-NLS-2$
+ contextExtension.add(contextsElement);
+ if (!contextExtension.isInTheModel())
+ plugin.add(contextExtension);
+ }
}
private void createCategory(IPluginExtension extension, String id) throws CoreException {
@@ -203,4 +222,11 @@
return packageName + ".views"; //$NON-NLS-1$
return "views"; //$NON-NLS-1$
}
+
+ protected void generateFiles(IProgressMonitor monitor) throws CoreException {
+ if (getTargetVersion() < 3.3) {
+ useEnablement.setSelected(false);
+ }
+ super.generateFiles(monitor);
+ }
}
Index: src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java,v
retrieving revision 1.4
diff -u -r1.4 PDETemplateMessages.java
--- src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java 25 Apr 2007 19:36:17 -0000 1.4
+++ src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java 20 Jun 2007 20:59:10 -0000
@@ -153,10 +153,9 @@
public static String PropertyPageTemplate_nameFilter;
public static String ViewNewWizard_wtitle;
+
public static String ViewTemplate_title0;
public static String ViewTemplate_desc0;
- public static String ViewTemplate_title1;
- public static String ViewTemplate_desc1;
public static String ViewTemplate_packageName;
public static String ViewTemplate_className;
public static String ViewTemplate_name;
@@ -167,11 +166,7 @@
public static String ViewTemplate_select;
public static String ViewTemplate_table;
public static String ViewTemplate_tree;
- public static String ViewTemplate_doubleClick;
- public static String ViewTemplate_popup;
- public static String ViewTemplate_toolbar;
- public static String ViewTemplate_pulldown;
- public static String ViewTemplate_sorting;
+ public static String ViewTemplate_contextHelp;
public static String ViewTemplate_addToPerspective;
public static String HelpTemplate_title;
Index: src/org/eclipse/pde/internal/ui/templates/pderesources.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/pderesources.properties,v
retrieving revision 1.5
diff -u -r1.5 pderesources.properties
--- src/org/eclipse/pde/internal/ui/templates/pderesources.properties 25 Apr 2007 19:36:17 -0000 1.5
+++ src/org/eclipse/pde/internal/ui/templates/pderesources.properties 20 Jun 2007 20:59:10 -0000
@@ -128,8 +128,6 @@
ViewNewWizard_wtitle = New plug-in project with a sample view
ViewTemplate_title0 = Main View Settings
ViewTemplate_desc0 = Choose the way the new view will be added to the plug-in.
-ViewTemplate_title1 = View Features
-ViewTemplate_desc1 = Choose the features that the new view should have.
ViewTemplate_packageName = &Java Package Name:
ViewTemplate_className = &View Class Name:
ViewTemplate_name = View Na&me:
@@ -140,12 +138,8 @@
ViewTemplate_select = Select the viewer type that should be hosted in the view:
ViewTemplate_table = &Table viewer (can also be used for lists)
ViewTemplate_tree = T&ree viewer
-ViewTemplate_doubleClick = &Add double-click support
-ViewTemplate_popup = A&dd actions to the pop-up menu
-ViewTemplate_toolbar = Add a&ctions to the view's tool bar
-ViewTemplate_pulldown = Add ac&tions to the view's pull-down menu
-ViewTemplate_sorting = Add &support for sorting
-ViewTemplate_addToPerspective = A&dd the view to the resource perspective
+ViewTemplate_contextHelp=Add conte&xt help to the view
+ViewTemplate_addToPerspective = A&dd the view to the java perspective
HelpTemplate_title = Sample Help Table of Contents
HelpTemplate_desc = Create a standalone or integrated table of contents.
Index: templates_3.0/view/java/$className$.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.templates/templates_3.0/view/java/$className$.java,v
retrieving revision 1.1
diff -u -r1.1 $className$.java
--- templates_3.0/view/java/$className$.java 12 Nov 2006 09:01:12 -0000 1.1
+++ templates_3.0/view/java/$className$.java 20 Jun 2007 20:59:10 -0000
@@ -43,11 +43,6 @@
% viewCategoryId
% viewCategoryName
% viewType
-% doubleClick
-% popup
-% localToolbar
-% localPulldown
-% sorter
% filter
% drillDown
@@ -60,13 +55,9 @@
private DrillDownAdapter drillDownAdapter;
% endif
%endif
-%if (localToolbar || localPulldown || popup)
private Action action1;
private Action action2;
-%endif
-%if doubleClick
private Action doubleClickAction;
-%endif
/*
* The content provider class is responsible for
@@ -223,10 +214,8 @@
}
}
%endif
-%if sorter
class NameSorter extends ViewerSorter {
}
-%endif
/**
* The constructor.
@@ -249,25 +238,19 @@
%endif
viewer.setContentProvider(new ViewContentProvider());
viewer.setLabelProvider(new ViewLabelProvider());
-%if sorter
viewer.setSorter(new NameSorter());
-%endif
viewer.setInput(getViewSite());
-%if (localToolbar || localPulldown || popup)
- makeActions();
+%if contextHelp
+
+ // Create the help context id for the viewer's control
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), "$pluginId$.viewer");
%endif
-%if popup
+ makeActions();
hookContextMenu();
-%endif
-%if doubleClick
hookDoubleClickAction();
-%endif
-%if (localToolbar || localPulldown)
contributeToActionBars();
-%endif
}
-%if popup
private void hookContextMenu() {
MenuManager menuMgr = new MenuManager("#PopupMenu");
menuMgr.setRemoveAllWhenShown(true);
@@ -280,29 +263,19 @@
viewer.getControl().setMenu(menu);
getSite().registerContextMenu(menuMgr, viewer);
}
-%endif
-%if (localToolbar || localPulldown)
private void contributeToActionBars() {
IActionBars bars = getViewSite().getActionBars();
-%if localPulldown
fillLocalPullDown(bars.getMenuManager());
-%endif
-%if localToolbar
fillLocalToolBar(bars.getToolBarManager());
-%endif
}
-%endif
-%if localPulldown
private void fillLocalPullDown(IMenuManager manager) {
manager.add(action1);
manager.add(new Separator());
manager.add(action2);
}
-%endif
-%if popup
private void fillContextMenu(IMenuManager manager) {
manager.add(action1);
manager.add(action2);
@@ -313,9 +286,7 @@
// Other plug-ins can contribute there actions here
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}
-%endif
-%if localToolbar
private void fillLocalToolBar(IToolBarManager manager) {
manager.add(action1);
manager.add(action2);
@@ -324,9 +295,7 @@
drillDownAdapter.addNavigationActions(manager);
% endif
}
-%endif
-%if (localToolbar || localPulldown || popup)
private void makeActions() {
action1 = new Action() {
public void run() {
@@ -347,7 +316,6 @@
action2.setToolTipText("Action 2 tooltip");
action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-% if doubleClick
doubleClickAction = new Action() {
public void run() {
ISelection selection = viewer.getSelection();
@@ -355,11 +323,8 @@
showMessage("Double-click detected on "+obj.toString());
}
};
-% endif
}
-%endif
-%if doubleClick
private void hookDoubleClickAction() {
viewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
@@ -367,7 +332,6 @@
}
});
}
-%endif
private void showMessage(String message) {
MessageDialog.openInformation(
viewer.getControl().getShell(),
Index: templates_3.0/view/contexts.xml
===================================================================
RCS file: templates_3.0/view/contexts.xml
diff -N templates_3.0/view/contexts.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ templates_3.0/view/contexts.xml 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,18 @@
+
+
+%if viewType =="treeViewer"
+ This is the context help for the sample view with a tree viewer. It was generated by a PDE template.
+%else
+ This is the context help for the sample view with a table viewer. It was generated by a PDE template.
+%endif
+
+%if useEnablement
+
+
+
+
+
+%endif
+
+
+