### 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 + + +