1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00

- due to refactor

- start of new build target dialog
This commit is contained in:
David Inglis 2003-09-03 20:44:40 +00:00
parent a45471098a
commit 3cb0574d85
13 changed files with 93 additions and 38 deletions

View file

@ -255,7 +255,7 @@
point="org.eclipse.ui.editors">
<editor
name="MakeFile Editor"
icon="icons/full/ctool16/makefile.gif"
icon="icons/ctool16/makefile.gif"
filenames="Makefile"
class="org.eclipse.cdt.make.internal.ui.editor.MakeTextEditor"
id="org.eclipse.cdt.make.editor">

View file

@ -12,9 +12,9 @@ import org.eclipse.cdt.make.core.MakeBuilder;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.ui.BuildPathInfoBlock;
import org.eclipse.cdt.make.ui.SettingsBlock;
import org.eclipse.cdt.ui.BinaryParserBlock;
import org.eclipse.cdt.ui.ICOptionContainer;
import org.eclipse.cdt.ui.TabFolderOptionBlock;
import org.eclipse.cdt.ui.dialogs.BinaryParserBlock;
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
public class MakeProjectOptionBlock extends TabFolderOptionBlock {

View file

@ -55,7 +55,7 @@ public class MakePartitionScanner extends RuleBasedPartitionScanner {
public MakePartitionScanner() {
super();
IToken tInternal = new Token(MAKE_INTERNAL);
// IToken tInternal = new Token(MAKE_INTERNAL);
IToken tComment = new Token(MAKE_COMMENT);
IToken tMacro = new Token(MAKE_MACRO_ASSIGNEMENT);
IToken tInclude = new Token(MAKE_INCLUDE_BLOCK);

View file

@ -12,7 +12,7 @@ package org.eclipse.cdt.make.internal.ui.preferences;
import org.eclipse.cdt.make.internal.ui.MakeProjectOptionBlock;
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
import org.eclipse.cdt.ui.ICOptionContainer;
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.widgets.Composite;

View file

@ -14,7 +14,7 @@ import java.lang.reflect.InvocationTargetException;
import org.eclipse.cdt.make.internal.ui.MakeProjectOptionBlock;
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
import org.eclipse.cdt.ui.ICOptionContainer;
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;

View file

@ -18,8 +18,8 @@ import org.eclipse.cdt.internal.ui.util.SWTUtil;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.core.MakeScannerInfo;
import org.eclipse.cdt.make.core.MakeScannerProvider;
import org.eclipse.cdt.ui.AbstractCOptionPage;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.dialogs.AbstractCOptionPage;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@ -276,16 +276,15 @@ public class BuildPathInfoBlock extends AbstractCOptionPage {
}
private String[] parseStringToList(String syms) {
String[] empty = new String[0];
if (syms != null && syms.length() > 0) {
StringTokenizer tok = new StringTokenizer(syms, ";");
ArrayList list = new ArrayList(tok.countTokens());
while (tok.hasMoreElements()) {
list.add(tok.nextToken());
}
return (String[]) list.toArray(empty);
return (String[]) list.toArray(new String[list.size()]);
}
return empty;
return new String[0];
}
/*

View file

@ -1,4 +1,4 @@
package org.eclipse.cdt.make.ui.views;
package org.eclipse.cdt.make.ui;
/*
* (c) Copyright QNX Software Systems Ltd. 2002.
@ -23,12 +23,11 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.AbstractTreeViewer;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.widgets.Control;
public class MakeContentProvider implements ITreeContentProvider, IMakeTargetListener, IResourceChangeListener {
protected TreeViewer viewer;
protected StructuredViewer viewer;
/**
* Constructor for MakeContentProvider
@ -86,7 +85,7 @@ public class MakeContentProvider implements ITreeContentProvider, IMakeTargetLis
if (this.viewer == null) {
MakeCorePlugin.getDefault().getTargetManager().addListener(this);
}
this.viewer = (TreeViewer) viewer;
this.viewer = (StructuredViewer) viewer;
IWorkspace oldWorkspace = null;
IWorkspace newWorkspace = null;
if (oldInput instanceof IWorkspace) {

View file

@ -1,4 +1,4 @@
package org.eclipse.cdt.make.ui.views;
package org.eclipse.cdt.make.ui;
/*
* (c) Copyright QNX Software Systems Ltd. 2002.

View file

@ -8,8 +8,8 @@ package org.eclipse.cdt.make.ui;
import org.eclipse.cdt.make.core.IMakeBuilderInfo;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
import org.eclipse.cdt.ui.AbstractCOptionPage;
import org.eclipse.cdt.ui.ICOptionContainer;
import org.eclipse.cdt.ui.dialogs.AbstractCOptionPage;
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.cdt.utils.ui.controls.RadioButtonsArea;
import org.eclipse.core.runtime.CoreException;

View file

@ -37,14 +37,17 @@ public class BuildTargetAction extends ActionDelegate implements IObjectActionDe
try {
name = (String) fContainer.getSessionProperty(new QualifiedName(MakeUIPlugin.getUniqueIdentifier(), "lastTarget"));
IMakeTarget target = MakeCorePlugin.getDefault().getTargetManager().findTarget(fContainer, name);
dialog.setTarget(target);
if (target != null)
dialog.setTarget(new IMakeTarget[] { target });
} catch (CoreException e) {
}
dialog.open();
IMakeTarget target = dialog.getTarget();
if (target != null) {
try {
fContainer.setSessionProperty(new QualifiedName(MakeUIPlugin.getUniqueIdentifier(), "lastTarget"), target.getName());
fContainer.setSessionProperty(
new QualifiedName(MakeUIPlugin.getUniqueIdentifier(), "lastTarget"),
target.getName());
} catch (CoreException e1) {
}
}

View file

@ -1,22 +1,75 @@
package org.eclipse.cdt.make.ui.dialogs;
import org.eclipse.cdt.make.core.IMakeTarget;
import org.eclipse.cdt.make.internal.ui.part.CheckboxTablePart;
import org.eclipse.cdt.make.ui.MakeContentProvider;
import org.eclipse.cdt.make.ui.MakeLabelProvider;
import org.eclipse.core.resources.IContainer;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
public class BuildTargetDialog extends Dialog {
public BuildTargetDialog(Shell shell, IContainer fContainer) {
private IMakeTarget[] selected;
private CheckboxTableViewer targetListViewer;
private IContainer fContainer;
public BuildTargetDialog(Shell shell, IContainer container) {
super(shell);
fContainer = container;
}
public void setTarget(IMakeTarget target) {
public void setTarget(IMakeTarget[] targets) {
selected = targets;
}
public IMakeTarget getTarget() {
return null;
}
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText("Build Targets");
}
protected void createButtonsForButtonBar(Composite parent) {
// create Build and Cancel buttons by default
createButton(parent, IDialogConstants.OK_ID, "Build", true);
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
}
protected Control createDialogArea(Composite parent) {
Composite composite = (Composite) super.createDialogArea(parent);
((GridLayout)composite.getLayout()).numColumns = 2;
CheckboxTablePart part = new CheckboxTablePart(new String[] { "Select All", "Deselect All", "New" });
part.createControl(parent, SWT.NULL, 2);
targetListViewer = part.getTableViewer();
targetListViewer.setContentProvider(new MakeContentProvider());
targetListViewer.addFilter(new ViewerFilter() {
public boolean select(Viewer viewer, Object parentElement, Object element) {
return (element instanceof IMakeTarget);
}
});
targetListViewer.setLabelProvider(new MakeLabelProvider());
GridData gd = (GridData) part.getControl().getLayoutData();
gd.heightHint = 100;
gd.widthHint = 100;
targetListViewer.setInput(fContainer);
if (selected != null)
targetListViewer.setCheckedElements(selected);
return composite;
}
}

View file

@ -5,6 +5,7 @@ package org.eclipse.cdt.make.ui.views;
* All Rights Reserved.
*/
import org.eclipse.cdt.make.ui.*;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;

View file

@ -6,9 +6,9 @@ package org.eclipse.cdt.make.ui.wizards;
*/
import org.eclipse.cdt.make.internal.ui.MakeProjectOptionBlock;
import org.eclipse.cdt.ui.ICOptionContainer;
import org.eclipse.cdt.ui.ReferenceBlock;
import org.eclipse.cdt.ui.TabFolderOptionBlock;
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
import org.eclipse.cdt.ui.dialogs.ReferenceBlock;
import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
import org.eclipse.cdt.ui.wizards.NewCProjectWizard;
import org.eclipse.cdt.ui.wizards.NewCProjectWizardOptionPage;
import org.eclipse.core.resources.IProject;