diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 66cc53dd846..21e3f82df20 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,34 @@ +2003-09-16 David Inglis + Removal of make builder ui components. + + plugin.xml + removed wizards and views. + + * src/org/eclipse/cdt/internal/ui/cview/CView.java + removed build actions. + + * src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java + removed tabs that are now in make plugin. + + * src/org/eclipse/cdt/ui/wizards/conversion/ConversionWizard.java + * src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java + updated to use new c wizards. + + * src/org/eclipse/cdt/internal/ui/makeview/MakeAction.java + * src/org/eclipse/cdt/internal/ui/makeview/MakeContentProvider.java + * src/org/eclipse/cdt/internal/ui/makeview/MakeLabelProvider.java + * src/org/eclipse/cdt/internal/ui/makeview/MakeTarget.java + * src/org/eclipse/cdt/internal/ui/makeview/MakeTargetAction.java + * src/org/eclipse/cdt/internal/ui/makeview/MakeView.java + * src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeConversionWizard.java + * src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeProjectWizardPage.java + * src/org/eclipse/cdt/ui/wizards/BuildPathInfoBlock.java + * src/org/eclipse/cdt/ui/wizards/SettingsBlock.java + * src/org/eclipse/cdt/ui/wizards/StdCCWizard.java + * src/org/eclipse/cdt/ui/wizards/StdCWizard.java + * src/org/eclipse/cdt/ui/wizards/StdMakeProjectWizard.java + All removed now in make plugins. + 2003-09-15 John Camelon Fixed Bug 43126 : ISourceElementRequestor.acceptParameterReference accesses internal class diff --git a/core/org.eclipse.cdt.ui/plugin.properties b/core/org.eclipse.cdt.ui/plugin.properties index dba8b386d74..7178ffea13b 100644 --- a/core/org.eclipse.cdt.ui/plugin.properties +++ b/core/org.eclipse.cdt.ui/plugin.properties @@ -11,27 +11,18 @@ perspective.name=C/C++ Development viewsCategory.name=&C BuildConsoleView.name=C-Build CView.name=C/C++ Projects -MakeView.name=Make Targets # The Wizards # C newCWizardsCategory.name=C -StdCWizard.name=Standard Make C Project -StdCWizard.description=Create a new C project and let me create and manage the makefile # C++ newCCWizardsCategory.name=C++ -StdCCWizard.name=Standard Make C++ Project -StdCCWizard.description=Create a new C++ project and let me create and manage the makefile #Project Conversion ConversionWizard.name=Convert a project's nature ConversionWizard.description=Convert a project's nature -#Convert Standard Make C/C++ -StdMakeConversionWizard.name=Convert to a C or C++ Project -StdMakeConversionWizard.description=Convert a project's nature to C or C++ - NewWizards.folder = Folder NewWizards.folder.description = Create a new folder resource NewWizards.file = File diff --git a/core/org.eclipse.cdt.ui/plugin.xml b/core/org.eclipse.cdt.ui/plugin.xml index 029258626fa..5896b4154c1 100644 --- a/core/org.eclipse.cdt.ui/plugin.xml +++ b/core/org.eclipse.cdt.ui/plugin.xml @@ -129,13 +129,6 @@ class="org.eclipse.cdt.internal.ui.cview.CView" id="org.eclipse.cdt.ui.CView"> - - @@ -145,61 +138,11 @@ name="%newCWizardsCategory.name" id="org.eclipse.cdt.ui.newCWizards"> - - - %StdCWizard.description - - - - - - %StdMakeConversionWizard.description - - - - - %StdCCWizard.description - - - - - - %StdMakeConversionWizard.description - - 0) { - for (int i = 0; i < directives.length; i++) { - MakeTarget[] a = new MakeTarget[1]; - a[0] = new MakeTarget(resource, directives[i]); - submenu.add(new MakeAction(a, getViewSite().getShell(), directives[i])); - } - } - menu.add(submenu); - - menu.add(makeTargetAction); - } menu.add(new GroupMarker(BUILD_GROUP_MARKER_END)); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeAction.java deleted file mode 100644 index 6641f81ae6a..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeAction.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.eclipse.cdt.internal.ui.makeview; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IncrementalProjectBuilder; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.actions.BuildAction; - -import org.eclipse.cdt.core.resources.MakeUtil; -import org.eclipse.cdt.internal.ui.CPluginImages; - - -public class MakeAction extends Action { - static final String PREFIX = "BuildAction."; - - MakeTarget[] targets; - Shell shell; - - public MakeAction (MakeTarget[] targets, Shell shell, String s) { - super (s); - this.shell = shell; - this.targets = targets; - - setToolTipText(PREFIX); - setImageDescriptor(CPluginImages.DESC_BUILD_MENU); - } - - /** - * Causes all editors to save any modified resources depending on the user's - * preference. - */ - void saveAllResources() { - - if (!BuildAction.isSaveAllSet()) - return; - - List projects = new ArrayList(); - for (int i = 0; i < targets.length; ++i ) { - MakeTarget target = targets[i]; - projects.add(target.getResource().getProject()); - } - - IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows(); - for (int i = 0; i < windows.length; i++) { - IWorkbenchPage [] pages = windows[i].getPages(); - for (int j = 0; j < pages.length; j++) { - IWorkbenchPage page = pages[j]; - IEditorReference[] editorReferences = page.getEditorReferences(); - for (int k = 0; k < editorReferences.length; k++) { - IEditorPart editor = editorReferences[k].getEditor(false); - if (editor != null && editor.isDirty()) { - IEditorInput input = editor.getEditorInput(); - if (input instanceof IFileEditorInput) { - IFile inputFile = ((IFileEditorInput)input).getFile(); - if (projects.contains(inputFile.getProject())) { - page.saveEditor(editor, false); - } - } - } - } - } - } - } - - public void run() { - try { - saveAllResources(); - IRunnableWithProgress op = new IRunnableWithProgress () { - public void run(IProgressMonitor monitor) - throws InvocationTargetException, InterruptedException { - for (int i = 0; i < targets.length; ++i ) { - MakeTarget target = targets[i]; - IResource res = target.getResource(); - IProject project = res.getProject(); - - try { - if (! project.equals(res) || target.isLeaf()) { - String dir = res.getLocation().toOSString(); - MakeUtil.setSessionBuildDir(project, dir); - if (target.isLeaf()) { - MakeUtil.setSessionTarget(project, target.toString()); - } - } - // Full build to force builder for targets like clean and rebuild. - // maybe this should be a option - project.build (IncrementalProjectBuilder.FULL_BUILD, monitor); - } catch (CoreException e) { - } - - MakeUtil.removeSessionBuildDir(project); - MakeUtil.removeSessionTarget(project); - } - } - }; - new ProgressMonitorDialog(shell).run(true, true, op); - } catch (InvocationTargetException e) { - // handle exception - } catch (InterruptedException e) { - // handle cancelation - } - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeContentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeContentProvider.java deleted file mode 100644 index 3e77f31c382..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeContentProvider.java +++ /dev/null @@ -1,168 +0,0 @@ -package org.eclipse.cdt.internal.ui.makeview; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.widgets.Control; - -public class MakeContentProvider implements ITreeContentProvider, IResourceChangeListener { - - protected Viewer viewer; - - /** - * Constructor for MakeContentProvider - */ - public MakeContentProvider() { - super(); - } - - /** - * @see ITreeContentProvider#getChildren(Object) - */ - public Object[] getChildren(Object obj) { - if (obj instanceof MakeTarget) { - MakeTarget md = (MakeTarget)obj; - return (Object[])md.getChildren(); - } - return new Object[0]; - } - - /** - * @see ITreeContentProvider#getParent(Object) - */ - public Object getParent(Object obj) { - if (obj instanceof MakeTarget) { - MakeTarget directives = (MakeTarget)obj; - return directives.getParent(); - } - return null; - } - - /** - * @see ITreeContentProvider#hasChildren(Object) - */ - public boolean hasChildren(Object obj) { - return getChildren(obj).length > 0; - } - - /** - * @see IStructuredContentProvider#getElements(Object) - */ - public Object[] getElements(Object obj) { - return getChildren(obj); - } - - /** - * @see IContentProvider#dispose() - */ - public void dispose() { - if (viewer != null) { - Object obj = viewer.getInput(); - if (obj instanceof MakeTarget) { - MakeTarget target = (MakeTarget)obj; - IWorkspace workspace = target.getResource().getWorkspace(); - workspace.removeResourceChangeListener(this); - } - } - } - - /** - * @see IContentProvider#inputChanged(Viewer, Object, Object) - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - this.viewer = viewer; - if (oldInput != null) { - if (oldInput instanceof MakeTarget) { - IResource res = ((MakeTarget)oldInput).getResource(); - if (res instanceof IWorkspaceRoot) { - IWorkspace workspace = res.getWorkspace(); - workspace.removeResourceChangeListener(this); - } - } - } - if (newInput != null) { - if (newInput instanceof MakeTarget) { - IResource res = ((MakeTarget)newInput).getResource(); - if (res instanceof IWorkspaceRoot) { - IWorkspace workspace = res.getWorkspace(); - workspace.addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); - } - } - } - } - - public void resourceChanged (final IResourceChangeEvent event) { - final IResourceDelta deltas = event.getDelta(); - Control ctrl = viewer.getControl(); - if (ctrl != null && !ctrl.isDisposed()) { - // Get the affected resource - ctrl.getDisplay().syncExec(new Runnable() { - public void run() { - processDelta (deltas); - } - }); - } - } - - void processDelta (IResourceDelta delta) { - // Bail out if the widget was disposed. - Control ctrl = viewer.getControl(); - if (ctrl == null || ctrl.isDisposed()) { - return; - } - - if (delta == null) { - return; - } - - int changeFlags = delta.getFlags(); - - IResourceDelta[] affectedChildren = - delta.getAffectedChildren(IResourceDelta.CHANGED); - - // Not interested in Content changes. - for (int i = 0; i < affectedChildren.length; i++) { - if ((affectedChildren[i].getFlags() & IResourceDelta.TYPE) != 0) { - return; - } - } - - // handle open and closing. - if ((changeFlags & (IResourceDelta.OPEN | IResourceDelta.SYNC)) != 0) { - ctrl.setRedraw(false); - viewer.refresh(); - ctrl.setRedraw(true); - return; - } - - // Handle changed children recursively. - for (int i = 0; i < affectedChildren.length; i++) { - processDelta(affectedChildren[i]); - } - - // We are only interested in creation and deletion of folders. - affectedChildren = delta.getAffectedChildren(IResourceDelta.REMOVED | IResourceDelta.ADDED); - if (affectedChildren.length > 0) { - for (int i = 0; i < affectedChildren.length; i++) { - IResource r = affectedChildren[i].getResource(); - if (r instanceof IContainer) { - ctrl.setRedraw(false); - viewer.refresh(); - ctrl.setRedraw(true); - break; - } - } - } - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeLabelProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeLabelProvider.java deleted file mode 100644 index 3a4c0c436be..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeLabelProvider.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.eclipse.cdt.internal.ui.makeview; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import java.util.Hashtable; -import java.util.Map; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.swt.graphics.Image; - -public class MakeLabelProvider implements ILabelProvider { - - /** - * The cache of images that have been dispensed by this provider. - * Maps ImageDescriptor->Image. - */ - private Map imageTable = null; - - /** - * @see ILabelProvider#getImage(Object) - */ - public Image getImage(Object obj) { - Image image = null; - //obtain the cached image corresponding to the descriptor - if (imageTable == null) { - imageTable = new Hashtable(4); - } - if (obj instanceof MakeTarget) { - ImageDescriptor descriptor = ((MakeTarget)obj).getImageDescriptor(); - image = (Image) imageTable.get(descriptor); - if (image == null) { - image = descriptor.createImage(); - imageTable.put(descriptor, image); - } - } - return image; - } - - /** - * @see ILabelProvider#getText(Object) - */ - public String getText(Object obj) { - if (obj instanceof MakeTarget) { - return ((MakeTarget)obj).toString(); - } - return ""; - } - - /** - * @see IBaseLabelProvider#addListener(ILabelProviderListener) - */ - public void addListener(ILabelProviderListener arg0) { - } - - /** - * @see IBaseLabelProvider#dispose() - */ - public void dispose() { - } - - /** - * @see IBaseLabelProvider#isLabelProperty(Object, String) - */ - public boolean isLabelProperty(Object arg0, String arg1) { - return false; - } - - /** - * @see IBaseLabelProvider#removeListener(ILabelProviderListener) - */ - public void removeListener(ILabelProviderListener arg0) { - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeTarget.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeTarget.java deleted file mode 100644 index ade45a9b2d1..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeTarget.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.eclipse.cdt.internal.ui.makeview; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import java.util.ArrayList; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.model.IWorkbenchAdapter; -import org.eclipse.cdt.core.CProjectNature; -import org.eclipse.cdt.core.resources.MakeUtil; -import org.eclipse.cdt.internal.ui.CPluginImages; - - -/** - * A leaf is a IResource with a Make Directive. - * We use the term Directive instead of Make Targets - * to not confuse with remote targets. - */ - -public class MakeTarget implements IAdaptable { - - private static final MakeTarget[] emptyArray= new MakeTarget[0]; - private IResource resource; - private String target; - - public MakeTarget(IResource res) { - this(res, ""); - } - - public MakeTarget(IResource res, String goals) { - resource = res; - target = (goals == null) ? "" : goals; - } - - /** - * @see IAdaptable#getAdapter(Object) - */ - public Object getAdapter(Class adapter) { - if (adapter == IResource.class) { - return resource; - } - return null; - } - - /** - */ - public MakeTarget[] getChildren() { - if (resource != null && target.length() == 0) { - ArrayList list = new ArrayList(); - if (resource instanceof IWorkspaceRoot) { - IWorkspaceRoot root = (IWorkspaceRoot)resource; - IProject [] projects = root.getProjects(); - for (int i = 0; i < projects.length; i++) { - if (projects[i].isOpen()) { - try { - if (projects[i].hasNature(CProjectNature.C_NATURE_ID)) { - list.add (new MakeTarget(projects[i])); - } - } catch (CoreException e) { - } - } - } - } else if (resource instanceof IContainer) { - IContainer container = (IContainer)resource; - try { - IResource[] resources = container.members(); - for (int i = 0; i < resources.length; i++) { - if (resources[i] instanceof IContainer) { - list.add (new MakeTarget(resources[i])); - } - } - } catch (CoreException e) { - } - String [] targets = MakeUtil.getPersistentTargets(resource); - for (int i = 0; i < targets.length; i++) { - if (targets[i] == null) - targets[i] = ""; - list.add (new MakeTarget(resource, targets[i])); - } - } - return (MakeTarget[])list.toArray(emptyArray); - } - return emptyArray; - } - - /** - */ - public MakeTarget getParent() { - if (target.length() == 0) - return new MakeTarget(resource.getParent()); - return new MakeTarget(resource); - } - - public String toString() { - if (target.length() == 0) - return resource.getName(); - return target; - } - - public ImageDescriptor getImageDescriptor() { - if (isLeaf()) { - return CPluginImages.DESC_BUILD_MENU; - } - IWorkbenchAdapter adapter = (IWorkbenchAdapter)((IAdaptable)resource).getAdapter(IWorkbenchAdapter.class); - if (adapter == null) - return null; - return adapter.getImageDescriptor(resource); - } - - public IResource getResource () { - return resource; - } - - public boolean isLeaf () { - return (target.length() != 0); - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object obj) { - if (null == obj) - return false; - - if (!(obj instanceof MakeTarget)) - return false; - - MakeTarget other = (MakeTarget)obj; - return (resource.equals(other.resource) && target.equals(other.target)); - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeTargetAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeTargetAction.java deleted file mode 100644 index 9672840c9c7..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeTargetAction.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.eclipse.cdt.internal.ui.makeview; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.dialogs.InputDialog; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.widgets.Shell; - -import org.eclipse.cdt.core.resources.MakeUtil; -import org.eclipse.cdt.internal.ui.CPluginImages; - - -public class MakeTargetAction extends Action { - - Shell shell; - IResource resource; - - public MakeTargetAction (Shell shell) { - super("Add Make Targets"); - this.shell = shell; - - setToolTipText("BuildAction"); - setImageDescriptor(CPluginImages.DESC_BUILD_MENU); - } - - public void run() { - InputDialog dialog = new InputDialog(shell, "Target Dialog: ", "Enter Target(s): ", null, null); - dialog.open(); - String value = dialog.getValue(); - if (value != null && value.length() > 0) { - if (resource != null) - MakeUtil.addPersistentTarget(resource, value); - } - } - - public void selectionChanged(IStructuredSelection selection) { - Object obj = (IAdaptable)selection.getFirstElement(); - if (obj instanceof IAdaptable) { - IAdaptable element = (IAdaptable)obj; - resource = (IResource)element.getAdapter(IResource.class); - } - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeView.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeView.java deleted file mode 100644 index 0d764e1f1a0..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/makeview/MakeView.java +++ /dev/null @@ -1,172 +0,0 @@ -package org.eclipse.cdt.internal.ui.makeview; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.dialogs.InputDialog; -import org.eclipse.jface.viewers.DoubleClickEvent; -import org.eclipse.jface.viewers.IDoubleClickListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.ui.part.ViewPart; - -import org.eclipse.cdt.core.resources.MakeUtil; - - -public class MakeView extends ViewPart { - - TreeViewer viewer; - - public MakeView() { - super(); - } - - /** - * @see IWorkbenchPart#setFocus() - */ - public void setFocus() { - viewer.getTree().setFocus(); - } - - /** - * Handles double clicks in viewer. - * Opens editor if file double-clicked. - */ - protected void handleDoubleClick(DoubleClickEvent event) { - IStructuredSelection s = (IStructuredSelection)event.getSelection(); - Object element = s.getFirstElement(); - //System.out.println ("Double click on " + element); - if (element instanceof MakeTarget) { - MakeTarget ta = (MakeTarget)element; - Action build = new MakeAction (new MakeTarget[] {ta}, getViewSite().getShell(), "Build"); - build.run (); - } - //if (viewer.isExpandable(element)) { - // viewer.setExpandedState(element, !viewer.getExpandedState(element)); - //} - } - - /** - * called to create the context menu of the outline - */ - protected void contextMenuAboutToShow(IMenuManager menu) { - IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); - Object element = selection.getFirstElement (); - if (element instanceof MakeTarget) { - final MakeTarget ta = (MakeTarget)element; - Action add = new Action ("Add...") { - public void run() { - InputDialog dialog = new InputDialog(getViewSite().getShell(), - "Target Dialog: ", "Enter Target(s): ", null, null); - dialog.open (); - String value = dialog.getValue (); - if (value != null && value.length() > 0) { - IResource res = ta.getResource (); - MakeUtil.addPersistentTarget (res, value); - viewer.getControl().setRedraw(false); - viewer.refresh (); - viewer.getControl().setRedraw(true); - viewer.expandToLevel(ta, 2); - } - } - }; - Action edit = new Action ("Edit...") { - public void run() { - String oldtarget = ta.toString(); - InputDialog dialog = new InputDialog(getViewSite().getShell(), - "Target Dialog: ", "Enter Target(s): ", oldtarget, null); - dialog.open (); - String value = dialog.getValue (); - if (value != null && value.length() > 0 && !value.equals(oldtarget)) { - IResource res = ta.getResource(); - MakeUtil.replacePersistentTarget(res, oldtarget, value); - viewer.getControl().setRedraw(false); - viewer.refresh (); - viewer.getControl().setRedraw(true); - viewer.expandToLevel(ta, 2); - } - } - }; - - Action del = new Action ("Delete") { - public void run() { - String target = ta.toString(); - if (target != null) { - IResource res = ta.getResource(); - MakeUtil.removePersistentTarget(res, target); - viewer.getControl().setRedraw(false); - viewer.refresh (); - viewer.getControl().setRedraw(true); - } - } - }; - - Action build = new MakeAction(new MakeTarget[]{ta}, getViewSite().getShell(), "Build"); - Action refresh = new Action("Refresh") { - public void run() { - viewer.refresh (); - } - }; - - menu.add (add); - menu.add (edit); - menu.add (del); - //menu.add (new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); - menu.add (build); - menu.add (refresh); - if (ta.isLeaf()) { - add.setEnabled(false); - } else { - edit.setEnabled(false); - del.setEnabled(false); - } - } - //menu.add (new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end")); - } - - /** - * @see ContentOutlinePage#createControl - */ - public void createPartControl (Composite parent) { - - viewer= new TreeViewer (parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - viewer.setUseHashlookup (true); - viewer.setContentProvider(new MakeContentProvider()); - viewer.setLabelProvider (new MakeLabelProvider()); - - MenuManager manager= new MenuManager("#PopUp"); - manager.setRemoveAllWhenShown(true); - manager.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager manager) { - contextMenuAboutToShow(manager); - } - }); - - Control control = viewer.getControl(); - Menu menu = manager.createContextMenu(control); - control.setMenu (menu); - - viewer.setInput (new MakeTarget(ResourcesPlugin.getWorkspace().getRoot())); - - viewer.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { - handleDoubleClick(event); - } - }); - - getSite().setSelectionProvider(viewer); - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java index c8ffa038716..1132d8208c5 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CProjectPropertyPage.java @@ -7,157 +7,68 @@ package org.eclipse.cdt.internal.ui.preferences; import java.lang.reflect.InvocationTargetException; -import org.eclipse.cdt.internal.ui.ICHelpContextIds; -import org.eclipse.cdt.internal.ui.dialogs.IStatusChangeListener; -import org.eclipse.cdt.internal.ui.dialogs.StatusTool; import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.ui.wizards.BinaryParserBlock; -import org.eclipse.cdt.ui.wizards.BuildPathInfoBlock; -import org.eclipse.cdt.ui.wizards.IndexerBlock; -import org.eclipse.cdt.ui.wizards.SettingsBlock; -import org.eclipse.cdt.utils.ui.controls.TabFolderLayout; -import org.eclipse.cdt.utils.ui.swt.IValidation; +import org.eclipse.cdt.ui.dialogs.ICOptionContainer; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.TabFolder; -import org.eclipse.swt.widgets.TabItem; import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation; import org.eclipse.ui.dialogs.PropertyPage; -import org.eclipse.ui.help.WorkbenchHelp; -public class CProjectPropertyPage extends PropertyPage implements IStatusChangeListener, IValidation { - - private static final String MSG_NOCPROJECT= "CProjectPropertyPage.nocproject"; - private static final String MSG_CLOSEDPROJECT= "CProjectPropertyPage.closedproject"; - - private TabFolder folder; - SettingsBlock settingsBlock; - IndexerBlock indexerBlock; - BinaryParserBlock binaryParserBlock; - private BuildPathInfoBlock pathInfoBlock; +public class CProjectPropertyPage extends PropertyPage implements ICOptionContainer { + + private CProjectOptionBlock fOptionBlock; + + private static final String MSG_CLOSEDPROJECT = "CProjectPropertyPage.closedproject"; + + public CProjectPropertyPage() { + super(); + fOptionBlock = new CProjectOptionBlock(this); + } protected Control createContents(Composite parent) { - Composite composite= new Composite(parent, SWT.NONE); + Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new FillLayout()); - - IProject project= getProject(); + + IProject project = getProject(); if (!project.isOpen()) { - contentForClosedProject(composite); + contentForClosedProject(composite); } else { contentForCProject(composite); } - + return composite; } - private void contentForCProject(Composite parent) { - folder = new TabFolder(parent, SWT.NONE); - folder.setLayout(new TabFolderLayout()); - - settingsBlock = new SettingsBlock(this, getProject()); - TabItem item2 = new TabItem(folder, SWT.NONE); - item2.setText(settingsBlock.getLabel()); - Image img2 = settingsBlock.getImage(); - if (img2 != null) - item2.setImage(img2); - item2.setData(settingsBlock); - item2.setControl(settingsBlock.getControl(folder)); - - indexerBlock = new IndexerBlock(this, getProject()); - TabItem item3 = new TabItem(folder, SWT.NONE); - item3.setText(indexerBlock.getLabel()); - Image img3 = indexerBlock.getImage(); - if (img3 != null) - item3.setImage(img3); - item3.setData(indexerBlock); - item3.setControl(indexerBlock.getControl(folder)); - - binaryParserBlock = new BinaryParserBlock(this, getProject()); - TabItem item4 = new TabItem(folder, SWT.NONE); - item4.setText(binaryParserBlock.getLabel()); - Image img4 = binaryParserBlock.getImage(); - if (img4 != null) - item4.setImage(img4); - item4.setData(binaryParserBlock); - item4.setControl(binaryParserBlock.getControl(folder)); - - pathInfoBlock = new BuildPathInfoBlock(this, getProject()); - TabItem pathItem = new TabItem(folder, SWT.NONE); - pathItem.setText(pathInfoBlock.getLabel()); - Image pathImg = pathInfoBlock.getImage(); - if (pathImg != null) { - pathItem.setImage(pathImg); - } - pathItem.setData(pathInfoBlock); - pathItem.setControl(pathInfoBlock.getControl(folder)); - - WorkbenchHelp.setHelp(parent, ICHelpContextIds.PROJECT_PROPERTY_PAGE); + fOptionBlock.createContents(parent); + // WorkbenchHelp.setHelp(parent, ICMakeHelpContextIds.PROJECT_PROPERTY_PAGE); } - + private void contentForClosedProject(Composite parent) { - Label label= new Label(parent, SWT.LEFT); + Label label = new Label(parent, SWT.LEFT); label.setText(CUIPlugin.getResourceString(MSG_CLOSEDPROJECT)); label.setFont(parent.getFont()); - + noDefaultAndApplyButton(); - } - - public void setComplete(boolean complete) { - boolean ok = true; - - if (ok && settingsBlock != null) { - ok = settingsBlock.isValid(); - } - if (ok && indexerBlock != null) { - ok = indexerBlock.isValid(); - } - if (ok && binaryParserBlock != null) { - ok = binaryParserBlock.isValid(); - } - if (ok && pathInfoBlock != null) { - ok = pathInfoBlock.isValid(); - } - setValid(ok); } - /** - * @see PreferencePage#performOk - */ + * @see PreferencePage#performOk + */ public boolean performOk() { - Shell shell= getControl().getShell(); - IRunnableWithProgress runnable= new IRunnableWithProgress() { + Shell shell = getControl().getShell(); + IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - monitor.beginTask("Property changes", 20); - if (settingsBlock != null) { - settingsBlock.doRun(getProject(), monitor); - } - monitor.worked(2); - if (indexerBlock != null) { - indexerBlock.doRun(getProject(), monitor); - } - monitor.worked(10); - if (binaryParserBlock != null) { - binaryParserBlock.doRun(getProject(), monitor); - } - monitor.worked(15); - if (pathInfoBlock != null) { - pathInfoBlock.doRun(getProject(), monitor); - } - monitor.worked(19); - monitor.done(); + fOptionBlock.performApply(monitor); } }; - IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(runnable); + IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(runnable); try { new ProgressMonitorDialog(shell).run(false, true, op); } catch (InvocationTargetException e) { @@ -168,35 +79,42 @@ public class CProjectPropertyPage extends PropertyPage implements IStatusChangeL } return true; } - - IProject getProject() { - Object element= getElement(); + + public IProject getProject() { + Object element = getElement(); if (element instanceof IProject) { - return (IProject)element; + return (IProject) element; } return null; } - + /** * @see DialogPage#setVisible(boolean) */ public void setVisible(boolean visible) { super.setVisible(visible); - if (visible && folder != null) { - settingsBlock.setVisible(visible); - indexerBlock.setVisible(visible); - binaryParserBlock.setVisible(visible); - pathInfoBlock.setVisible(visible); - folder.setFocus(); + fOptionBlock.setVisible(visible); + } + + public void updateContainer() { + boolean ok = true; + ok = fOptionBlock.isValid(); + if (!ok) { + setErrorMessage(fOptionBlock.getErrorMessage()); } - } - - /** - * @see IStatusChangeListener#statusChanged(IStatus) - */ - public void statusChanged(IStatus status) { - setValid(!status.matches(IStatus.ERROR)); - StatusTool.applyToStatusLine(this, status); - } - + if (ok) { + setErrorMessage(null); + } + setValid(ok); + } + + protected void performDefaults() { + fOptionBlock.performDefaults(); + super.performDefaults(); + } + + public boolean isValid() { + updateContainer(); + return super.isValid(); + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/BuildPathInfoBlock.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/BuildPathInfoBlock.java deleted file mode 100644 index 5ce9b32b77d..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/BuildPathInfoBlock.java +++ /dev/null @@ -1,629 +0,0 @@ -package org.eclipse.cdt.ui.wizards; - -import org.eclipse.cdt.core.build.standard.StandardBuildManager; -import org.eclipse.cdt.core.resources.IStandardBuildInfo; -import org.eclipse.cdt.internal.ui.util.SWTUtil; -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.utils.ui.controls.ControlFactory; -import org.eclipse.cdt.utils.ui.swt.IValidation; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.dialogs.InputDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.MouseListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.List; -import org.eclipse.swt.widgets.Shell; - -/********************************************************************** - * Copyright (c) 2002,2003 Rational Software Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v0.5 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v05.html - * - * Contributors: - * IBM Rational Software - Initial API and implementation -***********************************************************************/ - -/** - * @deprecated - */ -public class BuildPathInfoBlock implements IWizardTab { - private static final String PREFIX = "BuildPathInfoBlock"; //$NON-NLS-1$ - private static final String LABEL = PREFIX + ".label"; //$NON-NLS-1$ - private static final String PATHS = PREFIX + ".paths"; //$NON-NLS-1$ - private static final String SYMBOLS = PREFIX + ".symbols"; //$NON-NLS-1$ - private static final String BROWSE = PREFIX + ".browse"; //$NON-NLS-1$ - private static final String PATH_TITLE = BROWSE + ".path"; //$NON-NLS-1$ - private static final String PATH_LABEL = BROWSE + ".path.label"; //$NON-NLS-1$ - private static final String SYMBOL_TITLE = BROWSE + ".symbol"; //$NON-NLS-1$ - private static final String SYMBOL_LABEL = BROWSE + ".symbol.label"; //$NON-NLS-1$ - private static final String NEW = "BuildPropertyCommon.label.new"; //$NON-NLS-1$ - private static final String REMOVE = "BuildPropertyCommon.label.remove"; //$NON-NLS-1$ - private static final String UP = "BuildPropertyCommon.label.up"; //$NON-NLS-1$ - private static final String DOWN = "BuildPropertyCommon.label.down"; //$NON-NLS-1$ - - private IProject project; - private IValidation page; - private List pathList; - private List symbolList; - private Composite pathButtonComp; - private Button addPath; - private Button removePath; - private Button pathUp; - private Button pathDown; - private Composite symbolButtonComp; - private Button addSymbol; - private Button removeSymbol; - private Button symbolUp; - private Button symbolDown; - private Shell shell; - - - /** - * @param valid - */ - public BuildPathInfoBlock(IValidation valid) { - this(valid, null); - } - - /** - * @param page - * @param project - */ - public BuildPathInfoBlock(IValidation valid, IProject project) { - this.page = valid; - this.project = project; - } - - /** - * @param composite - */ - private void createPathListButtons(Composite parent) { - // Create a composite for the buttons - pathButtonComp = ControlFactory.createComposite(parent, 1); - GridData gd = new GridData(GridData.FILL_BOTH); - pathButtonComp.setFont(parent.getFont()); - - // Add the buttons - addPath = ControlFactory.createPushButton(pathButtonComp, CUIPlugin.getResourceString(NEW)); - addPath.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleAddPath(); - } - }); - addPath.setEnabled(true); - addPath.setFont(parent.getFont()); - addPath.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(addPath); - - removePath = ControlFactory.createPushButton(pathButtonComp, CUIPlugin.getResourceString(REMOVE)); - removePath.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleRemovePath(); - } - }); - removePath.setFont(parent.getFont()); - removePath.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(removePath); - - pathUp = ControlFactory.createPushButton(pathButtonComp, CUIPlugin.getResourceString(UP)); - pathUp.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handlePathUp(); - } - }); - pathUp.setFont(parent.getFont()); - pathUp.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(pathUp); - - pathDown = ControlFactory.createPushButton(pathButtonComp, CUIPlugin.getResourceString(DOWN)); - pathDown.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handlePathDown(); - } - }); - pathDown.setFont(parent.getFont()); - pathDown.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(pathDown); - - } - - /** - * @param composite - */ - private void createPathListControl(Composite parent, int numColumns) { - // Create the list - pathList = new List(parent, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); - pathList.addSelectionListener(new SelectionAdapter () { - public void widgetSelected(SelectionEvent e) { - enablePathButtons(); - } - }); - pathList.addMouseListener(new MouseListener() { - - public void mouseDoubleClick(MouseEvent e) { - editPathListItem(); - } - - public void mouseDown(MouseEvent e) { - // Handled by the selection listener - } - - public void mouseUp(MouseEvent e) { - // Handled by the selection listener - } - - }); - - // Make it occupy the first 2 columns - GridData gd = new GridData(GridData.FILL_BOTH); - gd.horizontalSpan = numColumns - 1; - pathList.setLayoutData(gd); - pathList.setFont(parent.getFont()); - } - - /** - * @param composite - */ - private void createSymbolListButtons(Composite parent) { - // Create a composite for the buttons - symbolButtonComp = ControlFactory.createComposite(parent, 1); - GridData gd = new GridData(GridData.FILL_BOTH); - symbolButtonComp.setFont(parent.getFont()); - - // Add the buttons - addSymbol = ControlFactory.createPushButton(symbolButtonComp, CUIPlugin.getResourceString(NEW)); - addSymbol.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleAddSymbol(); - } - }); - addSymbol.setEnabled(true); - addSymbol.setFont(parent.getFont()); - addSymbol.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(addSymbol); - - removeSymbol = ControlFactory.createPushButton(symbolButtonComp, CUIPlugin.getResourceString(REMOVE)); - removeSymbol.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleRemoveSymbol(); - } - }); - removeSymbol.setFont(parent.getFont()); - removeSymbol.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(removeSymbol); - - symbolUp = ControlFactory.createPushButton(symbolButtonComp, CUIPlugin.getResourceString(UP)); - symbolUp.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleSymbolUp(); - } - }); - symbolUp.setFont(parent.getFont()); - symbolUp.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(symbolUp); - - symbolDown = ControlFactory.createPushButton(symbolButtonComp, CUIPlugin.getResourceString(DOWN)); - symbolDown.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - handleSymbolDown(); - } - }); - symbolDown.setFont(parent.getFont()); - symbolDown.setLayoutData(new GridData()); - SWTUtil.setButtonDimensionHint(symbolDown); - } - - /** - * @param composite - */ - private void createSymbolListControl(Composite parent, int numColumns) { - // Create the list - symbolList = new List(parent, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); - symbolList.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - enableSymbolButtons(); - } - }); - symbolList.addMouseListener(new MouseListener() { - - public void mouseDoubleClick(MouseEvent e) { - editSymbolListItem(); - } - - public void mouseDown(MouseEvent e) { - // Handled by the selection event - } - - public void mouseUp(MouseEvent e) { - // Handled by the selection event - } - }); - - // Make it occupy the first n-1 columns - GridData gd = new GridData(GridData.FILL_BOTH); - gd.horizontalSpan = numColumns - 1; - symbolList.setLayoutData(gd); - symbolList.setFont(parent.getFont()); - - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.ui.wizards.IWizardTab#doRun(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor) - */ - public void doRun(IProject project, IProgressMonitor monitor) { - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - if (project != null) { - try { - // Store the paths and symbols - monitor.beginTask("Setting Include Paths", 1); - StandardBuildManager.setIncludePaths(project, getPathListContents()); - - monitor.beginTask("Setting Defined Symbols", 1); - StandardBuildManager.setPreprocessorSymbols(project, getSymbolListContents()); - - StandardBuildManager.saveBuildInfo(project); - } catch (CoreException e) { - // Should probably tell someone - } - } - } - - /* - * Double-click handler to allow edit of path information - */ - protected void editPathListItem() { - // Edit the selection index - int index = pathList.getSelectionIndex(); - if (index != -1) { - String selItem = pathList.getItem(index); - if (selItem != null) { - InputDialog dialog = new InputDialog(shell, CUIPlugin.getResourceString(PATH_TITLE), CUIPlugin.getResourceString(PATH_LABEL), selItem, null); - String newItem = null; - if (dialog.open() == InputDialog.OK) { - newItem = dialog.getValue(); - if (newItem != null && !newItem.equals(selItem)) { - pathList.setItem(index, newItem); - } - } - } - } - } - - /* - * Double-click handler to allow edit of symbol information - */ - protected void editSymbolListItem() { - // Edit the selection index - int index = symbolList.getSelectionIndex(); - if (index != -1) { - String selItem = symbolList.getItem(index); - if (selItem != null) { - InputDialog dialog = new InputDialog(shell, CUIPlugin.getResourceString(SYMBOL_TITLE), CUIPlugin.getResourceString(SYMBOL_LABEL), selItem, null); - String newItem = null; - if (dialog.open() == InputDialog.OK) { - newItem = dialog.getValue(); - if (newItem != null && !newItem.equals(selItem)) { - symbolList.setItem(index, newItem); - } - } - } - } - } - - /* - * Enables the buttons on the path control if the right conditions are met - */ - private void enablePathButtons() { - // Enable the remove button if there is at least 1 item in the list - int items = pathList.getItemCount(); - if (items > 0){ - removePath.setEnabled(true); - // Enable the up/down buttons depending on what item is selected - int index = pathList.getSelectionIndex(); - pathUp.setEnabled(items > 1 && index > 0); - pathDown.setEnabled(items > 1 && index < (items - 1)); - } else { - removePath.setEnabled(false); - pathUp.setEnabled(false); - pathDown.setEnabled(false); - } - } - - private void enableSymbolButtons() { - // Enable the remove button if there is at least 1 item in the list - int items = symbolList.getItemCount(); - if (items > 0){ - removeSymbol.setEnabled(true); - // Enable the up/down buttons depending on what item is selected - int index = symbolList.getSelectionIndex(); - symbolUp.setEnabled(items > 1 && index > 0); - symbolDown.setEnabled(items > 1 && index < (items - 1)); - } else { - removeSymbol.setEnabled(false); - symbolUp.setEnabled(false); - symbolDown.setEnabled(false); - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.ui.wizards.IWizardTab#getControl(org.eclipse.swt.widgets.Composite) - */ - public Composite getControl(Composite parent) { - this.shell = parent.getShell(); - - // Create the composite control for the tab - int tabColumns = 3; - Font font = parent.getFont(); - Composite composite = ControlFactory.createComposite(parent, tabColumns); - composite.setFont(font); - GridData gd; - - // Create a label for the include paths control - Label paths = ControlFactory.createLabel(composite, CUIPlugin.getResourceString(PATHS)); - gd = new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalSpan = tabColumns; - paths.setLayoutData(gd); - paths.setFont(font); - - //Create the list and button controls - createPathListControl(composite, tabColumns); - createPathListButtons(composite); - enablePathButtons(); - - // Create a label for the symbols control - Label symbols = ControlFactory.createLabel(composite, CUIPlugin.getResourceString(SYMBOLS)); - gd = new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalSpan = tabColumns; - symbols.setLayoutData(gd); - symbols.setFont(font); - - // Create list and button controls for symbols - createSymbolListControl(composite, tabColumns); - createSymbolListButtons(composite); - enableSymbolButtons(); - - return composite; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.ui.wizards.IWizardTab#getImage() - */ - public Image getImage() { - // We don't decorate the tabs for the wizard or property page - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.ui.wizards.IWizardTab#getLabel() - */ - public String getLabel() { - // Return the label defined in the CPluginProperties.resource file - return CUIPlugin.getResourceString(LABEL); - } - - /** - * @return - */ - private String[] getPathListContents() { - return pathList.getItems(); - } - - /** - * @return - */ - private String[] getSymbolListContents() { - return symbolList.getItems(); - } - - /** - * - */ - protected void handleAddPath() { - // Popup an entry dialog - InputDialog dialog = new InputDialog(shell, CUIPlugin.getResourceString(PATH_TITLE), CUIPlugin.getResourceString(PATH_LABEL), "", null); - String path = null; - if (dialog.open() == InputDialog.OK) { - path = dialog.getValue(); - } - if (path != null && path.length() > 0) { - pathList.add(path); - pathList.select(pathList.getItemCount() - 1); - enablePathButtons(); - } - } - - /** - * - */ - protected void handleAddSymbol() { - // Popup an entry dialog - InputDialog dialog = new InputDialog(shell, CUIPlugin.getResourceString(SYMBOL_TITLE), CUIPlugin.getResourceString(SYMBOL_LABEL), "", null); - String symbol = null; - if (dialog.open() == InputDialog.OK) { - symbol = dialog.getValue(); - } - if (symbol != null && symbol.length() > 0) { - symbolList.add(symbol); - symbolList.select(symbolList.getItemCount() - 1); - enableSymbolButtons(); - } - } - - /** - * - */ - protected void handlePathDown() { - // Get the selection index - int index = pathList.getSelectionIndex(); - int items = pathList.getItemCount(); - if (index == -1 || index == items - 1) { - return; - } - // Swap the items in the list - String selItem = pathList.getItem(index); - pathList.remove(index); - if (index + 1 == items) { - pathList.add(selItem); - } else { - pathList.add(selItem, ++index); - } - - // Keep the swapped item selected - pathList.select(index); - enablePathButtons(); - } - - /** - * - */ - protected void handlePathUp() { - // Get the selection index - int index = pathList.getSelectionIndex(); - if (index == -1 || index == 0) { - return; - } - // Swap the items in the list - String selItem = pathList.getItem(index); - pathList.remove(index); - pathList.add(selItem, --index); - - // Keep the index selected - pathList.select(index); - enablePathButtons(); - } - - /** - * - */ - protected void handleRemovePath() { - // Get the selection index - int index = pathList.getSelectionIndex(); - if (index == -1) { - return; - } - - // Remove the element at that index - pathList.remove(index); - index = index - 1 < 0 ? 0 : index -1; - pathList.select(index); - - // Check if the buttons should still be enabled - enablePathButtons(); - } - - /** - * - */ - protected void handleRemoveSymbol() { - // Get the selection index - int index = symbolList.getSelectionIndex(); - if (index == -1) { - return; - } - // Remove the item at that index - symbolList.remove(index); - index = index - 1 < 0 ? 0 : index -1; - symbolList.select(index); - // Check if the button state should be toggled - enableSymbolButtons(); - } - - /** - * - */ - protected void handleSymbolDown() { - // Get the selection index - int index = symbolList.getSelectionIndex(); - int items = symbolList.getItemCount(); - if (index == -1 || index == items - 1) { - return; - } - // Swap the items in the list - String selItem = symbolList.getItem(index); - symbolList.remove(index); - if (index + 1 == items) { - symbolList.add(selItem); - } else { - symbolList.add(selItem, ++index); - } - - // Keep the swapped item selected - symbolList.select(index); - enableSymbolButtons(); - } - - /** - * - */ - protected void handleSymbolUp() { - // Get the selection index - int index = symbolList.getSelectionIndex(); - if (index == -1 || index == 0) { - return; - } - // Swap the items in the list - String selItem = symbolList.getItem(index); - symbolList.remove(index); - symbolList.add(selItem, --index); - - // Keep the index selected - symbolList.select(index); - enableSymbolButtons(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.ui.wizards.IWizardTab#isValid() - */ - public boolean isValid() { - // Info on this page is not critical - return true; - } - - private void setPathListContents() { - if (project != null) { - try { - IStandardBuildInfo info = StandardBuildManager.getBuildInfo(project); - pathList.setItems(info.getIncludePaths()); - } catch (CoreException e) { - } - } - } - - private void setSymbolListContents() { - if (project != null) { - try { - IStandardBuildInfo info = StandardBuildManager.getBuildInfo(project); - symbolList.setItems(info.getPreprocessorSymbols()); - } catch (CoreException e) { - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.ui.wizards.IWizardTab#setVisible(boolean) - */ - public void setVisible(boolean visible) { - // Set the content from the project - setPathListContents(); - pathList.select(0); - enablePathButtons(); - setSymbolListContents(); - symbolList.select(0); - enableSymbolButtons(); - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/SettingsBlock.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/SettingsBlock.java deleted file mode 100644 index e81a52c4539..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/SettingsBlock.java +++ /dev/null @@ -1,252 +0,0 @@ -package org.eclipse.cdt.ui.wizards; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Text; - -import org.eclipse.cdt.core.CProjectNature; -import org.eclipse.cdt.utils.ui.swt.IValidation; -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.utils.ui.controls.ControlFactory; -import org.eclipse.cdt.utils.ui.controls.RadioButtonsArea; - - -public class SettingsBlock implements IWizardTab { - - private static final String PREFIX = "SettingsBlock"; //$NON-NLS-1$ - private static final String LABEL = PREFIX + ".label"; //$NON-NLS-1$ - private static final String KEEP_GOING = PREFIX + ".keepOnGoing"; //$NON-NLS-1$ - private static final String STOP_ERROR = PREFIX + ".stopOnError"; //$NON-NLS-1$ - private static final String MAKE_OPTION = PREFIX + ".makeOption.label"; - //$NON-NLS-1$ - private static final String MAKE_USE_DEFAULT = - PREFIX + ".makeOption.use_default"; - //$NON-NLS-1$ - private static final String MAKE_BUILD_CMD = PREFIX + ".makeOption.build_cmd"; - //$NON-NLS-1$ - - private static final String KEEP_ARG = "keep"; //$NON-NLS-1$ - private static final String STOP_ARG = "stop"; //$NON-NLS-1$ - - protected RadioButtonsArea radioButtons; - protected Button defButton; - protected Text cmdText; - - private boolean stopOnError; - private boolean useDefaultBuildCmd; - private boolean defaultSelectionMade = false; - private String buildCmd; - IValidation page; - - public SettingsBlock(IValidation valid) { - this(valid, null); - } - - public SettingsBlock(IValidation valid, IProject project) { - if (project != null) { - try { - CProjectNature nature = - (CProjectNature) project.getNature(CProjectNature.C_NATURE_ID); - if (nature != null) { - stopOnError = nature.isStopOnError(); - useDefaultBuildCmd = nature.isDefaultBuildCmd(); - if (!useDefaultBuildCmd) { - buildCmd = nature.getBuildCommand().toOSString(); - if (buildCmd.indexOf(' ') > 0) { - buildCmd = "\"" + buildCmd + "\""; - } - buildCmd += " " + nature.getFullBuildArguments(); - } - } - } catch (CoreException e) { - } - } else { - // FIXME: Should use the default settings - stopOnError = false; - useDefaultBuildCmd = true; - } - page = valid; - } - - public String getLabel() { - return CUIPlugin.getResourceString(LABEL); - } - - public Image getImage() { - return null; - } - - public Composite getControl(Composite parent) { - Composite composite = ControlFactory.createComposite(parent, 1); - - String[][] radios = - new String[][] { { CUIPlugin.getResourceString(STOP_ERROR), STOP_ARG }, { - CUIPlugin.getResourceString(KEEP_GOING), KEEP_ARG } - }; - radioButtons = - new RadioButtonsArea(composite, CUIPlugin.getResourceString(LABEL), 1, radios); - - Group mgroup = - ControlFactory.createGroup( - composite, - CUIPlugin.getResourceString(MAKE_OPTION), - 1); - defButton = - ControlFactory.createCheckBox( - mgroup, - CUIPlugin.getResourceString(MAKE_USE_DEFAULT)); - defButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (defButton.getSelection() == true) { - cmdText.setEnabled(false); - radioButtons.setEnabled(true); - if (null != page) - page.setComplete(isValid()); - - } - else { - cmdText.setEnabled(true); - radioButtons.setEnabled(false); - if (null != page) - page.setComplete(isValid()); - } - } - }); - Composite cmdComp = new Composite(mgroup, SWT.NULL); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.makeColumnsEqualWidth = false; - layout.marginWidth = 0; - layout.horizontalSpacing = 0; - cmdComp.setLayout(layout); - cmdComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - Label label = - ControlFactory.createLabel(cmdComp, CUIPlugin.getResourceString(MAKE_BUILD_CMD)); - ((GridData) (label.getLayoutData())).horizontalAlignment = GridData.BEGINNING; - ((GridData) (label.getLayoutData())).grabExcessHorizontalSpace = false; - cmdText = ControlFactory.createTextField(cmdComp, SWT.SINGLE | SWT.BORDER); - ((GridData) (cmdText.getLayoutData())).horizontalAlignment = GridData.FILL; - ((GridData) (cmdText.getLayoutData())).grabExcessHorizontalSpace = true; - cmdText.addListener(SWT.Modify, new Listener() { - public void handleEvent(Event e) { - page.setComplete(isValid()); - } - }); - if ( buildCmd != null ) - cmdText.setText(buildCmd); - if (useDefaultBuildCmd) { - cmdText.setEnabled(false); - } else { - radioButtons.setEnabled(false); - } - return composite; - } - - public boolean isValid() { - if (defButton.getSelection() != true) { - String cmd = getBuildLine(); - if (cmd == null || cmd.length() == 0) { - return false; - } - } - return true; - } - - public void setVisible(boolean visible) { - if ( !defaultSelectionMade ) { - if (stopOnError) - radioButtons.setSelectValue(STOP_ARG); - else - radioButtons.setSelectValue(KEEP_ARG); - defButton.setSelection(useDefaultBuildCmd); - defaultSelectionMade = true; - } - } - - public void doRun(IProject project, IProgressMonitor monitor) { - try { - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - monitor.beginTask("Settings", 1); - CProjectNature nature = - (CProjectNature) project.getNature(CProjectNature.C_NATURE_ID); - if (nature != null) { - nature.setStopOnError(isStopOnError()); - nature.setBuildCommandOverride(useDefaultBuildCmd()); - if (!useDefaultBuildCmd()) { - String bldLine = getBuildLine(); - int start = 0; - int end = -1; - if (!bldLine.startsWith("\"")) { - end = bldLine.indexOf(' '); - } else { - start = 1; - end = bldLine.indexOf('"', 1); - } - IPath path; - if (end == -1) { - path = new Path(bldLine); - } else { - path = new Path(bldLine.substring(start, end)); - } - nature.setBuildCommand(path, new SubProgressMonitor(monitor, 50)); - String args = ""; - if (end != -1) { - args = bldLine.substring(end + 1); - } - nature.setFullBuildArguments(args, new SubProgressMonitor(monitor, 50)); - } - } - } - catch (CoreException e) { - } - } - - private boolean isStopOnError() { - if ( defaultSelectionMade ) { - if (radioButtons != null) - return radioButtons.getSelectedValue().equals(STOP_ARG); - } - return stopOnError; - } - - private boolean useDefaultBuildCmd() { - if ( defaultSelectionMade ) { - if (defButton != null) - return defButton.getSelection(); - } - return useDefaultBuildCmd; - } - - private String getBuildLine() { - if (cmdText != null) { - String cmd = cmdText.getText(); - if (cmd != null) - return cmd.trim(); - } - return null; - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdCCWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdCCWizard.java deleted file mode 100644 index d40f00f67fc..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdCCWizard.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.eclipse.cdt.ui.wizards; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.swt.widgets.TabFolder; - -/** - */ -public class StdCCWizard extends StdMakeProjectWizard { - - private static final String WZ_TITLE = "StdCCWizard.title"; - private static final String WZ_DESC = "StdCCWizard.description"; - private static final String SETTINGS_TITLE= "StdCCWizardSettings.title"; //$NON-NLS-1$ - private static final String SETTINGS_DESC= "StdCCWizardSettings.description"; //$NON-NLS-1$ - - public StdCCWizard() { - this(CUIPlugin.getResourceString(WZ_TITLE), CUIPlugin.getResourceString(WZ_DESC)); - } - - public StdCCWizard(String title, String desc) { - super(title, desc); - } - - public void addTabItems(TabFolder folder) { - super.addTabItems(folder); - fTabFolderPage.setTitle(CUIPlugin.getResourceString(SETTINGS_TITLE)); - fTabFolderPage.setDescription(CUIPlugin.getResourceString(SETTINGS_DESC)); - } - protected void doRun(IProgressMonitor monitor) throws CoreException { - super.doRun(monitor); - // Add C++ Nature. - if (newProject != null) { - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - monitor.beginTask("Standard C++ Make", 1); - // Add C++ Nature to the newly created project. - CCorePlugin.getDefault().convertProjectFromCtoCC(newProject, monitor); - } - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdCWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdCWizard.java deleted file mode 100644 index e5b55e316f2..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdCWizard.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.eclipse.cdt.ui.wizards; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.swt.widgets.TabFolder; - -/** - */ -public class StdCWizard extends StdMakeProjectWizard { - - private static final String WZ_TITLE = "StdCWizard.title"; - private static final String WZ_DESC = "StdCWizard.description"; - private static final String SETTINGS_TITLE= "StdCWizardSettings.title"; //$NON-NLS-1$ - private static final String SETTINGS_DESC= "StdCWizardSettings.description"; //$NON-NLS-1$ - - public StdCWizard() { - this(CUIPlugin.getResourceString(WZ_TITLE), CUIPlugin.getResourceString(WZ_DESC)); - } - - public StdCWizard(String title, String desc) { - super(title, desc); - } - - public void addTabItems(TabFolder folder) { - super.addTabItems(folder); - fTabFolderPage.setTitle(CUIPlugin.getResourceString(SETTINGS_TITLE)); - fTabFolderPage.setDescription(CUIPlugin.getResourceString(SETTINGS_DESC)); - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdMakeProjectWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdMakeProjectWizard.java deleted file mode 100644 index d083aadd335..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/StdMakeProjectWizard.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.eclipse.cdt.ui.wizards; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.TabFolder; -import org.eclipse.swt.widgets.TabItem; - - -/** - */ -public abstract class StdMakeProjectWizard extends CProjectWizard { - - private static final String OP_ERROR= "StdMakeProjectWizard.op_error"; - private static final String WZ_TITLE= "StdMakeProjectWizard.title"; - private static final String WZ_DESC= "StdMakeProjectWizard.description"; - private static final String SETTINGS_TITLE= "StdMakeWizardSettings.title"; //$NON-NLS-1$ - private static final String SETTINGS_DESC= "StdMakeWizardSettings.description"; //$NON-NLS-1$ - - private ReferenceBlock referenceBlock; - private SettingsBlock settingsBlock; - private BinaryParserBlock binaryParserBlock; - private BuildPathInfoBlock pathInfoBlock; - - public StdMakeProjectWizard() { - this(CUIPlugin.getResourceString(WZ_TITLE), CUIPlugin.getResourceString(WZ_DESC)); - } - - public StdMakeProjectWizard(String title, String desc) { - super(title, desc); - } - - public void addTabItems(TabFolder folder) { - fTabFolderPage.setTitle(CUIPlugin.getResourceString(SETTINGS_TITLE)); - fTabFolderPage.setDescription(CUIPlugin.getResourceString(SETTINGS_DESC)); - - referenceBlock = new ReferenceBlock(getValidation()); - TabItem item = new TabItem(folder, SWT.NONE); - item.setText(referenceBlock.getLabel()); - Image img = referenceBlock.getImage(); - if (img != null) - item.setImage(img); - item.setData(referenceBlock); - item.setControl(referenceBlock.getControl(folder)); - addTabItem(referenceBlock); - - settingsBlock = new SettingsBlock(getValidation()); - TabItem item2 = new TabItem(folder, SWT.NONE); - item2.setText(settingsBlock.getLabel()); - Image img2 = settingsBlock.getImage(); - if (img2 != null) - item2.setImage(img2); - item2.setData(settingsBlock); - item2.setControl(settingsBlock.getControl(folder)); - addTabItem(settingsBlock); - - binaryParserBlock = new BinaryParserBlock(getValidation()); - TabItem item3 = new TabItem(folder, SWT.NONE); - item3.setText(binaryParserBlock.getLabel()); - Image img3 = binaryParserBlock.getImage(); - if (img3 != null) - item3.setImage(img3); - item3.setData(binaryParserBlock); - item3.setControl(binaryParserBlock.getControl(folder)); - addTabItem(binaryParserBlock); - - pathInfoBlock = new BuildPathInfoBlock(getValidation()); - TabItem pathItem = new TabItem(folder, SWT.NONE); - pathItem.setText(pathInfoBlock.getLabel()); - Image pathImg = pathInfoBlock.getImage(); - if (pathImg != null) { - pathItem.setImage(pathImg); - } - pathItem.setData(pathInfoBlock); - pathItem.setControl(pathInfoBlock.getControl(folder)); - addTabItem(pathInfoBlock); - } - - protected void doRunPrologue(IProgressMonitor monitor) { - } - - protected void doRunEpilogue(IProgressMonitor monitor) { - } - - protected void doRun(IProgressMonitor monitor) throws CoreException { - // super.doRun() just creates the project and does not assign a builder to it. - super.doRun(monitor); - - // Modify the project based on what the user has selected - if (newProject != null) { - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - monitor.beginTask("Standard Make", 4); - // Update the referenced project if provided. - if (referenceBlock != null) { - referenceBlock.doRun(newProject, new SubProgressMonitor(monitor, 1)); - } - // Update the settings. - if (settingsBlock != null) { - settingsBlock.doRun(newProject, new SubProgressMonitor(monitor, 1)); - } - // Update the binary parser - if (binaryParserBlock != null) { - binaryParserBlock.doRun(newProject, new SubProgressMonitor(monitor, 1)); - } - // Update the binary parser - if (pathInfoBlock != null) { - pathInfoBlock.doRun(newProject, new SubProgressMonitor(monitor, 1)); - } - } - } - - public String getProjectID() { - return CCorePlugin.PLUGIN_ID + ".make"; - } - -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConversionWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConversionWizard.java index 7b45d645b27..22a28a993e6 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConversionWizard.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConversionWizard.java @@ -7,13 +7,10 @@ package org.eclipse.cdt.ui.wizards.conversion; import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.cdt.ui.wizards.CProjectWizard; - +import org.eclipse.cdt.ui.wizards.NewCProjectWizard; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.viewers.IStructuredSelection; - -import org.eclipse.swt.widgets.TabFolder; import org.eclipse.ui.IWorkbench; /** @@ -27,7 +24,7 @@ import org.eclipse.ui.IWorkbench; * @see CtoCCConversionWizard#addPages */ public abstract class ConversionWizard - extends CProjectWizard { + extends NewCProjectWizard { // Titles and descriptions may be overwritten by subclasses through the accessor methods. private static final String WZ_TITLE = "ConversionWizard.title"; //$NON-NLS-1$ @@ -108,16 +105,6 @@ public abstract class ConversionWizard return PREFIX; } - /** - * Method addTabItems, allows subclasses to add additional pages - * - * @see org.eclipse.cdt.ui.wizards.CProjectWizard#addTabItems(TabFolder) - */ - public void addTabItems(TabFolder folder) { - - // we have no tabs, but must implement this abstract method - } - /** * Method doRun calls the doRunPrologue and mainPage's doRun method and the * doRunEpliogue. Subclasses may overwrite to add further actions diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java index c7468bf1e2e..1d9e42c395e 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertProjectWizardPage.java @@ -67,7 +67,7 @@ import org.eclipse.ui.PlatformUI; public abstract class ConvertProjectWizardPage extends WizardPage { - public static final String KEY_TITLE = "ConvertionWizard.title"; + public static final String KEY_TITLE = "ConvertionWizard.title"; public static final String KEY_CONVERTING = "ConvertionWizard.converting"; private static final String PROJECT_LIST = "ConversionWizard.projectlist"; @@ -504,15 +504,19 @@ public abstract class ConvertProjectWizardPage } } protected void addCNature(IProject project, IProgressMonitor monitor, boolean addMakeBuilder) throws CoreException{ - CCorePlugin.getDefault().convertProjectToC(project, monitor, CCorePlugin.PLUGIN_ID + ".make", addMakeBuilder); //$NON-NLS-1$ + if ( getWizard() instanceof ConversionWizard) { + CCorePlugin.getDefault().convertProjectToC(project, monitor, ((ConversionWizard)getWizard()).getProjectID()); + } } protected void addCCNature(IProject project, IProgressMonitor monitor, boolean addMakeBuilder) throws CoreException{ - if (project.hasNature(CProjectNature.C_NATURE_ID)) { - CCorePlugin.getDefault().convertProjectFromCtoCC(project, monitor); //$NON-NLS-1$ - } else { - CCorePlugin.getDefault().convertProjectToCC(project, monitor, CCorePlugin.PLUGIN_ID + ".make", addMakeBuilder); //$NON-NLS-1$ - } + if ( getWizard() instanceof ConversionWizard) { + if (project.hasNature(CProjectNature.C_NATURE_ID)) { + CCorePlugin.getDefault().convertProjectFromCtoCC(project, monitor); + } else { + CCorePlugin.getDefault().convertProjectToCC(project, monitor, ((ConversionWizard)getWizard()).getProjectID()); + } + } } } \ No newline at end of file diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeConversionWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeConversionWizard.java deleted file mode 100644 index e5a9ca1ea54..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeConversionWizard.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.eclipse.cdt.ui.wizards.conversion; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.ui.CUIPlugin; - -/** - * This wizard provides a method by which the user can - * add a C nature to a project that previously had no nature associated with it. - */ -public class ConvertToStdMakeConversionWizard extends ConversionWizard { - - private static final String WZ_TITLE = "ConvertToStdMakeConversionWizard.title"; //$NON-NLS-1$ - private static final String WZ_DESC = "ConvertToStdMakeConversionWizard.description"; //$NON-NLS-1$ - private static final String PREFIX= "ConvertToStdMakeConversionWizard"; //$NON-NLS-1$ - - private static final String WINDOW_TITLE = "ConvertToStdMakeConversionWizard.windowTitle";//$NON-NLS-1$ - - /** - * ConvertToStdMakeConversionWizard Wizard constructor - */ - public ConvertToStdMakeConversionWizard() { - this(getWindowTitleResource(), getWzDescriptionResource()); - } - /** - * ConvertToStdMakeConversionWizard Wizard constructor - * - * @param title - * @param desc - */ - public ConvertToStdMakeConversionWizard(String title, String desc) { - super(title, desc); - } - - /** - * Method getWzDescriptionResource, allows Wizard description label value - * to be changed by subclasses - * - * @return String - */ - protected static String getWzDescriptionResource() { - return CUIPlugin.getResourceString(WZ_DESC); - } - - /** - * Method getWzTitleResource, allows Wizard description label value - * to be changed by subclasses - * - * @return String - */ - protected static String getWzTitleResource() { - return CUIPlugin.getResourceString(WZ_TITLE); - } - - /** - * Method getWindowTitleResource, allows Wizard Title label value to be - * changed by subclasses - * - * @return String - */ - protected static String getWindowTitleResource() { - - return CUIPlugin.getResourceString(WINDOW_TITLE); - } - - /** - * Method getPrefix, allows prefix value to be changed by subclasses - * - * @return String - */ - protected static String getPrefix() { - return PREFIX; - } - - /** - * Method addPages adds our Simple to C conversion Wizard page. - * - * @see Wizard#createPages - */ - public void addPages() { - mainPage = new ConvertToStdMakeProjectWizardPage(getPrefix()); - - addPage(mainPage); - } - - public String getProjectID() { - return CCorePlugin.PLUGIN_ID + ".make";//$NON-NLS-1$ - } -} diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeProjectWizardPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeProjectWizardPage.java deleted file mode 100644 index 996961820f2..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/conversion/ConvertToStdMakeProjectWizardPage.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.eclipse.cdt.ui.wizards.conversion; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ - -import org.eclipse.cdt.ui.CUIPlugin; -import org.eclipse.core.resources.IProject; - -/** - * - * ConvertToStdMakeProjectWizardPage - * Standard main page for a wizard that adds a C project Nature to a project with no nature associated with it. - * This conversion is one way in that the project cannot be converted back (i.e have the nature removed). - * - * @author Judy N. Green - * @since Aug 6, 2002 - *

- * Example useage: - *

- * mainPage = new ConvertToStdMakeProjectWizardPage("ConvertProjectPage");
- * mainPage.setTitle("Project Conversion");
- * mainPage.setDescription("Add C or C++ a Nature to a project.");
- * 
- *

- */ -public class ConvertToStdMakeProjectWizardPage extends ConvertProjectWizardPage { - - private static final String WZ_TITLE = "StdMakeConversionWizard.title"; //$NON-NLS-1$ - private static final String WZ_DESC = "StdMakeConversionWizard.description"; //$NON-NLS-1$ - - /** - * Constructor for ConvertToStdMakeProjectWizardPage. - * @param pageName - */ - public ConvertToStdMakeProjectWizardPage(String pageName) { - super(pageName); - } - - /** - * Method getWzTitleResource returns the correct Title Label for this class - * overriding the default in the superclass. - */ - protected String getWzTitleResource(){ - return CUIPlugin.getResourceString(WZ_TITLE); - } - - /** - * Method getWzDescriptionResource returns the correct description - * Label for this class overriding the default in the superclass. - */ - protected String getWzDescriptionResource(){ - return CUIPlugin.getResourceString(WZ_DESC); - } - - /** - * Method isCandidate returns true for all projects. - * - * @param project - * @return boolean - */ - public boolean isCandidate(IProject project) { - return true; // all - } -}