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:
parent
a45471098a
commit
3cb0574d85
13 changed files with 93 additions and 38 deletions
|
@ -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">
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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) {
|
|
@ -1,4 +1,4 @@
|
|||
package org.eclipse.cdt.make.ui.views;
|
||||
package org.eclipse.cdt.make.ui;
|
||||
|
||||
/*
|
||||
* (c) Copyright QNX Software Systems Ltd. 2002.
|
|
@ -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;
|
||||
|
|
|
@ -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) {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue