mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 317173: Fix new warnings of missing @Override now that we use java 6, in org.eclipse.cdt.dsf.gdb.ui
This commit is contained in:
parent
b549d4759d
commit
f8f7295cf1
46 changed files with 194 additions and 11 deletions
|
@ -202,6 +202,7 @@ public class GdbAdapterFactory
|
||||||
|
|
||||||
fDebugModelProvider = new IDebugModelProvider() {
|
fDebugModelProvider = new IDebugModelProvider() {
|
||||||
// @see org.eclipse.debug.core.model.IDebugModelProvider#getModelIdentifiers()
|
// @see org.eclipse.debug.core.model.IDebugModelProvider#getModelIdentifiers()
|
||||||
|
@Override
|
||||||
public String[] getModelIdentifiers() {
|
public String[] getModelIdentifiers() {
|
||||||
return new String[] { GdbLaunchDelegate.GDB_DEBUG_MODEL_ID, ICBreakpoint.C_BREAKPOINTS_DEBUG_MODEL_ID };
|
return new String[] { GdbLaunchDelegate.GDB_DEBUG_MODEL_ID, ICBreakpoint.C_BREAKPOINTS_DEBUG_MODEL_ID };
|
||||||
}
|
}
|
||||||
|
@ -329,6 +330,7 @@ public class GdbAdapterFactory
|
||||||
* This method only actually returns adapters for the launch object.
|
* This method only actually returns adapters for the launch object.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
|
@Override
|
||||||
public Object getAdapter(Object adaptableObject, Class adapterType) {
|
public Object getAdapter(Object adaptableObject, Class adapterType) {
|
||||||
if (!(adaptableObject instanceof GdbLaunch)) return null;
|
if (!(adaptableObject instanceof GdbLaunch)) return null;
|
||||||
|
|
||||||
|
@ -379,6 +381,7 @@ public class GdbAdapterFactory
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
|
@Override
|
||||||
public Class[] getAdapterList() {
|
public Class[] getAdapterList() {
|
||||||
return new Class[] {
|
return new Class[] {
|
||||||
IElementContentProvider.class, IModelProxyFactory.class, ISuspendTrigger.class,
|
IElementContentProvider.class, IModelProxyFactory.class, ISuspendTrigger.class,
|
||||||
|
@ -386,6 +389,7 @@ public class GdbAdapterFactory
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesRemoved(ILaunch[] launches) {
|
public void launchesRemoved(ILaunch[] launches) {
|
||||||
// Dispose the set of adapters for a launch only after the launch is
|
// Dispose the set of adapters for a launch only after the launch is
|
||||||
// removed.
|
// removed.
|
||||||
|
@ -396,12 +400,15 @@ public class GdbAdapterFactory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesTerminated(ILaunch[] launches) {
|
public void launchesTerminated(ILaunch[] launches) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesAdded(ILaunch[] launches) {
|
public void launchesAdded(ILaunch[] launches) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesChanged(ILaunch[] launches) {
|
public void launchesChanged(ILaunch[] launches) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,9 +61,11 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
GdbPinElementColorDescriptor(int color) {
|
GdbPinElementColorDescriptor(int color) {
|
||||||
fColor = color;
|
fColor = color;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public int getOverlayColor() {
|
public int getOverlayColor() {
|
||||||
return fColor;
|
return fColor;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public ImageDescriptor getToolbarIconDescriptor() {
|
public ImageDescriptor getToolbarIconDescriptor() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -89,6 +91,7 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
fSession = session;
|
fSession = session;
|
||||||
|
|
||||||
session.getExecutor().execute(new Runnable() {
|
session.getExecutor().execute(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fSession.addServiceEventListener(GdbPinProvider.this, null);
|
fSession.addServiceEventListener(GdbPinProvider.this, null);
|
||||||
}
|
}
|
||||||
|
@ -101,6 +104,7 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
try {
|
try {
|
||||||
fSession.getExecutor().execute(new Runnable() {
|
fSession.getExecutor().execute(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fSession.removeServiceEventListener(GdbPinProvider.this);
|
fSession.removeServiceEventListener(GdbPinProvider.this);
|
||||||
}
|
}
|
||||||
|
@ -190,6 +194,7 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.ui.IPinProvider#isPinnable(org.eclipse.ui.IWorkbenchPart, java.lang.Object)
|
* @see org.eclipse.cdt.debug.ui.IPinProvider#isPinnable(org.eclipse.ui.IWorkbenchPart, java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public boolean isPinnable(IWorkbenchPart part, Object debugContext) {
|
public boolean isPinnable(IWorkbenchPart part, Object debugContext) {
|
||||||
if (debugContext instanceof IAdaptable) {
|
if (debugContext instanceof IAdaptable) {
|
||||||
return ((IAdaptable) debugContext).getAdapter(IDMContext.class) != null;
|
return ((IAdaptable) debugContext).getAdapter(IDMContext.class) != null;
|
||||||
|
@ -201,6 +206,7 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.ui.IPinProvider#pin(org.eclipse.ui.IWorkbenchPart, java.lang.Object, org.eclipse.cdt.debug.ui.IPinModelListener)
|
* @see org.eclipse.cdt.debug.ui.IPinProvider#pin(org.eclipse.ui.IWorkbenchPart, java.lang.Object, org.eclipse.cdt.debug.ui.IPinModelListener)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public IPinElementHandle pin(IWorkbenchPart part, Object debugContext, IPinModelListener listener) {
|
public IPinElementHandle pin(IWorkbenchPart part, Object debugContext, IPinModelListener listener) {
|
||||||
Object pinContext = debugContext;
|
Object pinContext = debugContext;
|
||||||
String label = ""; //$NON-NLS-1$
|
String label = ""; //$NON-NLS-1$
|
||||||
|
@ -242,6 +248,7 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.ui.IPinProvider#unpin(org.eclipse.ui.IWorkbenchPart, org.eclipse.cdt.debug.ui.IPinProvider.IPinElementHandle)
|
* @see org.eclipse.cdt.debug.ui.IPinProvider#unpin(org.eclipse.ui.IWorkbenchPart, org.eclipse.cdt.debug.ui.IPinProvider.IPinElementHandle)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void unpin(IWorkbenchPart part, IPinElementHandle handle) {
|
public void unpin(IWorkbenchPart part, IPinElementHandle handle) {
|
||||||
// remove the handle from the cache
|
// remove the handle from the cache
|
||||||
gsPinnedHandles.remove(handle);
|
gsPinnedHandles.remove(handle);
|
||||||
|
@ -260,6 +267,7 @@ public class GdbPinProvider implements IPinProvider {
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.ui.IPinProvider#isPinnedTo(java.lang.Object, org.eclipse.cdt.debug.ui.IPinProvider.IPinElementHandle)
|
* @see org.eclipse.cdt.debug.ui.IPinProvider#isPinnedTo(java.lang.Object, org.eclipse.cdt.debug.ui.IPinProvider.IPinElementHandle)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public boolean isPinnedTo(Object debugContext, IPinElementHandle handle) {
|
public boolean isPinnedTo(Object debugContext, IPinElementHandle handle) {
|
||||||
Object handleDebugContext = handle.getDebugContext();
|
Object handleDebugContext = handle.getDebugContext();
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ public class GdbSuspendTrigger extends DsfSuspendTrigger {
|
||||||
protected void getLaunchTopContainers(final DataRequestMonitor<IContainerDMContext[]> rm) {
|
protected void getLaunchTopContainers(final DataRequestMonitor<IContainerDMContext[]> rm) {
|
||||||
try {
|
try {
|
||||||
getSession().getExecutor().execute(new DsfRunnable() {
|
getSession().getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
IProcesses processService = getServicesTracker().getService(IProcesses.class);
|
IProcesses processService = getServicesTracker().getService(IProcesses.class);
|
||||||
ICommandControlService controlService = getServicesTracker().getService(ICommandControlService.class);
|
ICommandControlService controlService = getServicesTracker().getService(ICommandControlService.class);
|
||||||
|
|
|
@ -27,6 +27,7 @@ public class ConnectActionDelegate extends AbstractVMProviderActionDelegate {
|
||||||
/*
|
/*
|
||||||
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
|
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void run(IAction action) {
|
public void run(IAction action) {
|
||||||
if (action.isEnabled()) {
|
if (action.isEnabled()) {
|
||||||
// disable the action so it cannot be run again until an event or
|
// disable the action so it cannot be run again until an event or
|
||||||
|
|
|
@ -42,6 +42,7 @@ public class DsfTerminateCommand implements ITerminateHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run control may not be avilable after a connection is terminated and shut down.
|
// Run control may not be avilable after a connection is terminated and shut down.
|
||||||
|
@Override
|
||||||
public void canExecute(final IEnabledStateRequest request) {
|
public void canExecute(final IEnabledStateRequest request) {
|
||||||
if (request.getElements().length != 1 ||
|
if (request.getElements().length != 1 ||
|
||||||
!(request.getElements()[0] instanceof IDMVMContext) )
|
!(request.getElements()[0] instanceof IDMVMContext) )
|
||||||
|
@ -64,6 +65,7 @@ public class DsfTerminateCommand implements ITerminateHandler {
|
||||||
try {
|
try {
|
||||||
fExecutor.execute(
|
fExecutor.execute(
|
||||||
new DsfRunnable() {
|
new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
// Get the processes service and the exec context.
|
// Get the processes service and the exec context.
|
||||||
IProcesses procService = fTracker.getService(IProcesses.class);
|
IProcesses procService = fTracker.getService(IProcesses.class);
|
||||||
|
@ -88,6 +90,7 @@ public class DsfTerminateCommand implements ITerminateHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean execute(final IDebugCommandRequest request) {
|
public boolean execute(final IDebugCommandRequest request) {
|
||||||
if (request.getElements().length != 1 ||
|
if (request.getElements().length != 1 ||
|
||||||
!(request.getElements()[0] instanceof IDMVMContext)) {
|
!(request.getElements()[0] instanceof IDMVMContext)) {
|
||||||
|
@ -106,6 +109,7 @@ public class DsfTerminateCommand implements ITerminateHandler {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
fExecutor.execute(new DsfRunnable() {
|
fExecutor.execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
IProcesses procService = fTracker.getService(IProcesses.class);
|
IProcesses procService = fTracker.getService(IProcesses.class);
|
||||||
if (procService != null) {
|
if (procService != null) {
|
||||||
|
|
|
@ -38,6 +38,7 @@ public class FetchMoreChildrenAction extends AbstractVMProviderActionDelegate
|
||||||
|
|
||||||
private ISelection selection;
|
private ISelection selection;
|
||||||
|
|
||||||
|
@Override
|
||||||
public void run(IAction action) {
|
public void run(IAction action) {
|
||||||
IncompleteChildrenVMC incompleteChildrenVmc = getIncompleteChildrenVMC();
|
IncompleteChildrenVMC incompleteChildrenVmc = getIncompleteChildrenVMC();
|
||||||
|
|
||||||
|
@ -53,6 +54,7 @@ public class FetchMoreChildrenAction extends AbstractVMProviderActionDelegate
|
||||||
final FetchMoreChildrenEvent fetchMoreChildrenEvent = new FetchMoreChildrenEvent(exprCtx, path);
|
final FetchMoreChildrenEvent fetchMoreChildrenEvent = new FetchMoreChildrenEvent(exprCtx, path);
|
||||||
final AbstractVMProvider vmProvider = (AbstractVMProvider) getVMProvider();
|
final AbstractVMProvider vmProvider = (AbstractVMProvider) getVMProvider();
|
||||||
vmProvider.getExecutor().execute(new DsfRunnable() {
|
vmProvider.getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
vmProvider.handleEvent(fetchMoreChildrenEvent);
|
vmProvider.handleEvent(fetchMoreChildrenEvent);
|
||||||
}
|
}
|
||||||
|
@ -89,6 +91,7 @@ public class FetchMoreChildrenAction extends AbstractVMProviderActionDelegate
|
||||||
getAction().setEnabled(enabled);
|
getAction().setEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
|
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
|
||||||
if (targetPart instanceof IViewPart) {
|
if (targetPart instanceof IViewPart) {
|
||||||
init((IViewPart) targetPart);
|
init((IViewPart) targetPart);
|
||||||
|
|
|
@ -84,6 +84,7 @@ public class GdbConnectCommand implements IConnect {
|
||||||
fTracker.dispose();
|
fTracker.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean canConnect() {
|
public boolean canConnect() {
|
||||||
Query<Boolean> canConnectQuery = new Query<Boolean>() {
|
Query<Boolean> canConnectQuery = new Query<Boolean>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -210,6 +211,7 @@ public class GdbConnectCommand implements IConnect {
|
||||||
|
|
||||||
final String finalBinaryPath = binaryPath;
|
final String finalBinaryPath = binaryPath;
|
||||||
fExecutor.execute(new DsfRunnable() {
|
fExecutor.execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
IGDBProcesses procService = fTracker.getService(IGDBProcesses.class);
|
IGDBProcesses procService = fTracker.getService(IGDBProcesses.class);
|
||||||
ICommandControlService commandControl = fTracker.getService(ICommandControlService.class);
|
ICommandControlService commandControl = fTracker.getService(ICommandControlService.class);
|
||||||
|
@ -239,6 +241,7 @@ public class GdbConnectCommand implements IConnect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void connect(RequestMonitor requestMonitor)
|
public void connect(RequestMonitor requestMonitor)
|
||||||
{
|
{
|
||||||
// Create a fake rm to avoid null pointer exceptions
|
// Create a fake rm to avoid null pointer exceptions
|
||||||
|
@ -255,6 +258,7 @@ public class GdbConnectCommand implements IConnect {
|
||||||
// thread to prompt the user for the process to choose.
|
// thread to prompt the user for the process to choose.
|
||||||
// This is why we simply use a DsfRunnable.
|
// This is why we simply use a DsfRunnable.
|
||||||
fExecutor.execute(new DsfRunnable() {
|
fExecutor.execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IProcesses procService = fTracker.getService(IProcesses.class);
|
final IProcesses procService = fTracker.getService(IProcesses.class);
|
||||||
ICommandControlService commandControl = fTracker.getService(ICommandControlService.class);
|
ICommandControlService commandControl = fTracker.getService(ICommandControlService.class);
|
||||||
|
|
|
@ -37,6 +37,7 @@ public class GdbDisconnectCommand implements IDisconnectHandler {
|
||||||
fTracker.dispose();
|
fTracker.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void canExecute(final IEnabledStateRequest request) {
|
public void canExecute(final IEnabledStateRequest request) {
|
||||||
if (request.getElements().length != 1) {
|
if (request.getElements().length != 1) {
|
||||||
request.setEnabled(false);
|
request.setEnabled(false);
|
||||||
|
@ -67,6 +68,7 @@ public class GdbDisconnectCommand implements IDisconnectHandler {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean execute(final IDebugCommandRequest request) {
|
public boolean execute(final IDebugCommandRequest request) {
|
||||||
if (request.getElements().length != 1) {
|
if (request.getElements().length != 1) {
|
||||||
request.done();
|
request.done();
|
||||||
|
|
|
@ -45,6 +45,7 @@ public class GdbRestartCommand implements IRestartHandler {
|
||||||
fTracker.dispose();
|
fTracker.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void canExecute(final IEnabledStateRequest request) {
|
public void canExecute(final IEnabledStateRequest request) {
|
||||||
if (request.getElements().length != 1) {
|
if (request.getElements().length != 1) {
|
||||||
request.setEnabled(false);
|
request.setEnabled(false);
|
||||||
|
@ -75,6 +76,7 @@ public class GdbRestartCommand implements IRestartHandler {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean execute(final IDebugCommandRequest request) {
|
public boolean execute(final IDebugCommandRequest request) {
|
||||||
if (request.getElements().length != 1) {
|
if (request.getElements().length != 1) {
|
||||||
request.done();
|
request.done();
|
||||||
|
@ -92,6 +94,7 @@ public class GdbRestartCommand implements IRestartHandler {
|
||||||
|
|
||||||
fExecutor.submit(new DsfRunnable() {
|
fExecutor.submit(new DsfRunnable() {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
IGDBProcesses procService = fTracker.getService(IGDBProcesses.class);
|
IGDBProcesses procService = fTracker.getService(IGDBProcesses.class);
|
||||||
|
|
||||||
|
|
|
@ -32,18 +32,22 @@ class ProcessInfo implements IProcessExtendedInfo, Comparable<ProcessInfo> {
|
||||||
this.ownerId = owner;
|
this.ownerId = owner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getPid() {
|
public int getPid() {
|
||||||
return pid;
|
return pid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String[] getCores() {
|
public String[] getCores() {
|
||||||
return cores;
|
return cores;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getOwner() {
|
public String getOwner() {
|
||||||
return ownerId;
|
return ownerId;
|
||||||
}
|
}
|
||||||
|
@ -52,6 +56,7 @@ class ProcessInfo implements IProcessExtendedInfo, Comparable<ProcessInfo> {
|
||||||
* Sort by name, then by pid.
|
* Sort by name, then by pid.
|
||||||
* No need to sort any further since pids are unique.
|
* No need to sort any further since pids are unique.
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public int compareTo(ProcessInfo other) {
|
public int compareTo(ProcessInfo other) {
|
||||||
int nameCompare = getName().compareTo(other.getName());
|
int nameCompare = getName().compareTo(other.getName());
|
||||||
if (nameCompare != 0) return nameCompare;
|
if (nameCompare != 0) return nameCompare;
|
||||||
|
|
|
@ -31,6 +31,7 @@ public class ReverseDebuggingPropertyTester extends PropertyTester {
|
||||||
|
|
||||||
private static final String ENABLED = "isReverseDebuggingEnabled"; //$NON-NLS-1$
|
private static final String ENABLED = "isReverseDebuggingEnabled"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
|
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
|
||||||
if (ENABLED.equals(property)) {
|
if (ENABLED.equals(property)) {
|
||||||
if (receiver instanceof IDMVMContext) {
|
if (receiver instanceof IDMVMContext) {
|
||||||
|
|
|
@ -356,6 +356,7 @@ public class GDBTracepointPropertyPage extends FieldEditorPreferencePage impleme
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.ui.IWorkbenchPropertyPage#getElement()
|
* @see org.eclipse.ui.IWorkbenchPropertyPage#getElement()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public IAdaptable getElement() {
|
public IAdaptable getElement() {
|
||||||
return fElement;
|
return fElement;
|
||||||
}
|
}
|
||||||
|
@ -363,6 +364,7 @@ public class GDBTracepointPropertyPage extends FieldEditorPreferencePage impleme
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.ui.IWorkbenchPropertyPage#setElement(org.eclipse.core.runtime.IAdaptable)
|
* @see org.eclipse.ui.IWorkbenchPropertyPage#setElement(org.eclipse.core.runtime.IAdaptable)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void setElement(IAdaptable element) {
|
public void setElement(IAdaptable element) {
|
||||||
fElement = element;
|
fElement = element;
|
||||||
}
|
}
|
||||||
|
@ -380,6 +382,7 @@ public class GDBTracepointPropertyPage extends FieldEditorPreferencePage impleme
|
||||||
/**
|
/**
|
||||||
* @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
|
* @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent event) {
|
public void propertyChange(PropertyChangeEvent event) {
|
||||||
changedProperties.add(event.getProperty());
|
changedProperties.add(event.getProperty());
|
||||||
}
|
}
|
||||||
|
@ -392,6 +395,7 @@ public class GDBTracepointPropertyPage extends FieldEditorPreferencePage impleme
|
||||||
protected void setBreakpointProperties(final List<String> changedProperties) {
|
protected void setBreakpointProperties(final List<String> changedProperties) {
|
||||||
IWorkspaceRunnable wr = new IWorkspaceRunnable() {
|
IWorkspaceRunnable wr = new IWorkspaceRunnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
public void run( IProgressMonitor monitor ) throws CoreException {
|
public void run( IProgressMonitor monitor ) throws CoreException {
|
||||||
ICTracepoint tracepoint = getTracepoint();
|
ICTracepoint tracepoint = getTracepoint();
|
||||||
Iterator<String> changed = changedProperties.iterator();
|
Iterator<String> changed = changedProperties.iterator();
|
||||||
|
|
|
@ -72,6 +72,7 @@ public class GdbThreadFilterEditor {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
|
* @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void checkStateChanged(CheckStateChangedEvent event) {
|
public void checkStateChanged(CheckStateChangedEvent event) {
|
||||||
Object element = event.getElement();
|
Object element = event.getElement();
|
||||||
if (element instanceof IContainerDMContext) {
|
if (element instanceof IContainerDMContext) {
|
||||||
|
@ -140,6 +141,7 @@ public class GdbThreadFilterEditor {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
|
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public Object[] getChildren(Object parent) {
|
public Object[] getChildren(Object parent) {
|
||||||
if (parent instanceof IContainerDMContext) {
|
if (parent instanceof IContainerDMContext) {
|
||||||
return syncGetThreads((IContainerDMContext) parent);
|
return syncGetThreads((IContainerDMContext) parent);
|
||||||
|
@ -165,6 +167,7 @@ public class GdbThreadFilterEditor {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
|
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public Object getParent(Object element) {
|
public Object getParent(Object element) {
|
||||||
if (element instanceof IContainerDMContext) {
|
if (element instanceof IContainerDMContext) {
|
||||||
return DebugPlugin.getDefault().getLaunchManager();
|
return DebugPlugin.getDefault().getLaunchManager();
|
||||||
|
@ -180,6 +183,7 @@ public class GdbThreadFilterEditor {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
|
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public boolean hasChildren(Object element) {
|
public boolean hasChildren(Object element) {
|
||||||
return getChildren(element).length > 0;
|
return getChildren(element).length > 0;
|
||||||
}
|
}
|
||||||
|
@ -189,6 +193,7 @@ public class GdbThreadFilterEditor {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
|
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public Object[] getElements(Object inputElement) {
|
public Object[] getElements(Object inputElement) {
|
||||||
return getChildren(inputElement);
|
return getChildren(inputElement);
|
||||||
}
|
}
|
||||||
|
@ -198,6 +203,7 @@ public class GdbThreadFilterEditor {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
|
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,6 +213,7 @@ public class GdbThreadFilterEditor {
|
||||||
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
|
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
|
||||||
* java.lang.Object, java.lang.Object)
|
* java.lang.Object, java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
|
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,7 @@ public class ToggleTracepointsTargetFactory implements IToggleBreakpointsTargetF
|
||||||
public ToggleTracepointsTargetFactory() {
|
public ToggleTracepointsTargetFactory() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public IToggleBreakpointsTarget createToggleTarget(String targetID) {
|
public IToggleBreakpointsTarget createToggleTarget(String targetID) {
|
||||||
if (TOGGLE_C_TRACEPOINT_TARGET_ID.equals(targetID)) {
|
if (TOGGLE_C_TRACEPOINT_TARGET_ID.equals(targetID)) {
|
||||||
return fgDisassemblyToggleTracepointsTarget;
|
return fgDisassemblyToggleTracepointsTarget;
|
||||||
|
@ -60,10 +61,12 @@ public class ToggleTracepointsTargetFactory implements IToggleBreakpointsTargetF
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection) {
|
public String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getToggleTargetDescription(String targetID) {
|
public String getToggleTargetDescription(String targetID) {
|
||||||
if (TOGGLE_C_TRACEPOINT_TARGET_ID.equals(targetID)) {
|
if (TOGGLE_C_TRACEPOINT_TARGET_ID.equals(targetID)) {
|
||||||
return Messages.ToggleTracepointsTargetFactory_description;
|
return Messages.ToggleTracepointsTargetFactory_description;
|
||||||
|
@ -71,6 +74,7 @@ public class ToggleTracepointsTargetFactory implements IToggleBreakpointsTargetF
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getToggleTargetName(String targetID) {
|
public String getToggleTargetName(String targetID) {
|
||||||
if (TOGGLE_C_TRACEPOINT_TARGET_ID.equals(targetID)) {
|
if (TOGGLE_C_TRACEPOINT_TARGET_ID.equals(targetID)) {
|
||||||
return Messages.ToggleTracepointsTargetFactory_name;
|
return Messages.ToggleTracepointsTargetFactory_name;
|
||||||
|
@ -78,6 +82,7 @@ public class ToggleTracepointsTargetFactory implements IToggleBreakpointsTargetF
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Set<String> getToggleTargets(IWorkbenchPart part, ISelection selection) {
|
public Set<String> getToggleTargets(IWorkbenchPart part, ISelection selection) {
|
||||||
if (part instanceof IDisassemblyPart) {
|
if (part instanceof IDisassemblyPart) {
|
||||||
return TOGGLE_TARGET_IDS_ALL;
|
return TOGGLE_TARGET_IDS_ALL;
|
||||||
|
|
|
@ -149,10 +149,12 @@ public class GdbReverseToggleCommand extends AbstractDebugCommand implements IRe
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean toggleNeedsUpdating() {
|
public boolean toggleNeedsUpdating() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isReverseToggled(Object context) {
|
public boolean isReverseToggled(Object context) {
|
||||||
IDMContext dmc;
|
IDMContext dmc;
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,7 @@ public class GdbSaveTraceDataCommand extends AbstractDebugCommand implements ISa
|
||||||
|
|
||||||
final String[] fileName = new String[1];
|
final String[] fileName = new String[1];
|
||||||
PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
|
PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fileName[0] = promptForFileName();
|
fileName[0] = promptForFileName();
|
||||||
};
|
};
|
||||||
|
|
|
@ -45,6 +45,7 @@ public class ConsolePageParticipant implements IConsolePageParticipant, IDebugCo
|
||||||
private IPageBookViewPage fPage;
|
private IPageBookViewPage fPage;
|
||||||
private IConsoleView fView;
|
private IConsoleView fView;
|
||||||
|
|
||||||
|
@Override
|
||||||
public void init(IPageBookViewPage page, IConsole console) {
|
public void init(IPageBookViewPage page, IConsole console) {
|
||||||
fPage = page;
|
fPage = page;
|
||||||
fConsole = console;
|
fConsole = console;
|
||||||
|
@ -98,10 +99,12 @@ public class ConsolePageParticipant implements IConsolePageParticipant, IDebugCo
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
|
@Override
|
||||||
public Object getAdapter(Class adapter) {
|
public Object getAdapter(Class adapter) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
if (isConsoleInferior(fConsole) || isConsoleGdbCli(fConsole)) {
|
if (isConsoleInferior(fConsole) || isConsoleGdbCli(fConsole)) {
|
||||||
DebugUITools.getDebugContextManager().getContextService(fPage.getSite().getWorkbenchWindow()).removeDebugContextListener(this);
|
DebugUITools.getDebugContextManager().getContextService(fPage.getSite().getWorkbenchWindow()).removeDebugContextListener(this);
|
||||||
|
@ -109,9 +112,11 @@ public class ConsolePageParticipant implements IConsolePageParticipant, IDebugCo
|
||||||
fConsole = null;
|
fConsole = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void activated() {
|
public void activated() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void deactivated() {
|
public void deactivated() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,6 +191,7 @@ public class ConsolePageParticipant implements IConsolePageParticipant, IDebugCo
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent)
|
* @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void debugContextChanged(DebugContextEvent event) {
|
public void debugContextChanged(DebugContextEvent event) {
|
||||||
if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) {
|
if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) {
|
||||||
IProcess consoleProcess = getConsoleProcess();
|
IProcess consoleProcess = getConsoleProcess();
|
||||||
|
|
|
@ -48,6 +48,7 @@ public class ConsoleSaveAction extends Action{
|
||||||
}
|
}
|
||||||
|
|
||||||
Runnable saveJob = new Runnable() {
|
Runnable saveJob = new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
saveContent(fileName);
|
saveContent(fileName);
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@ public class TracingConsole extends IOConsole {
|
||||||
protected void init() {
|
protected void init() {
|
||||||
super.init();
|
super.init();
|
||||||
fSession.getExecutor().submit(new DsfRunnable() {
|
fSession.getExecutor().submit(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fSession.addServiceEventListener(TracingConsole.this, null);
|
fSession.addServiceEventListener(TracingConsole.this, null);
|
||||||
}
|
}
|
||||||
|
@ -84,6 +85,7 @@ public class TracingConsole extends IOConsole {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
fSession.getExecutor().submit(new DsfRunnable() {
|
fSession.getExecutor().submit(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fSession.removeServiceEventListener(TracingConsole.this);
|
fSession.removeServiceEventListener(TracingConsole.this);
|
||||||
}
|
}
|
||||||
|
@ -99,6 +101,7 @@ public class TracingConsole extends IOConsole {
|
||||||
private void setStreamInService() {
|
private void setStreamInService() {
|
||||||
try {
|
try {
|
||||||
fSession.getExecutor().submit(new DsfRunnable() {
|
fSession.getExecutor().submit(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
DsfServicesTracker tracker = new DsfServicesTracker(GdbUIPlugin.getBundleContext(), fSession.getId());
|
DsfServicesTracker tracker = new DsfServicesTracker(GdbUIPlugin.getBundleContext(), fSession.getId());
|
||||||
IGDBControl control = tracker.getService(IGDBControl.class);
|
IGDBControl control = tracker.getService(IGDBControl.class);
|
||||||
|
@ -146,6 +149,7 @@ public class TracingConsole extends IOConsole {
|
||||||
String name = getName();
|
String name = getName();
|
||||||
if (!name.equals(newName)) {
|
if (!name.equals(newName)) {
|
||||||
Runnable r = new Runnable() {
|
Runnable r = new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
setName(newName);
|
setName(newName);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,21 +108,25 @@ public class TracingConsoleManager implements ILaunchesListener2, IPropertyChang
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesAdded(ILaunch[] launches) {
|
public void launchesAdded(ILaunch[] launches) {
|
||||||
for (ILaunch launch : launches) {
|
for (ILaunch launch : launches) {
|
||||||
addConsole(launch);
|
addConsole(launch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesChanged(ILaunch[] launches) {
|
public void launchesChanged(ILaunch[] launches) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesRemoved(ILaunch[] launches) {
|
public void launchesRemoved(ILaunch[] launches) {
|
||||||
for (ILaunch launch : launches) {
|
for (ILaunch launch : launches) {
|
||||||
removeConsole(launch);
|
removeConsole(launch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void launchesTerminated(ILaunch[] launches) {
|
public void launchesTerminated(ILaunch[] launches) {
|
||||||
for (ILaunch launch : launches) {
|
for (ILaunch launch : launches) {
|
||||||
// Since we already had a console, don't get rid of it
|
// Since we already had a console, don't get rid of it
|
||||||
|
@ -131,6 +135,7 @@ public class TracingConsoleManager implements ILaunchesListener2, IPropertyChang
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent event) {
|
public void propertyChange(PropertyChangeEvent event) {
|
||||||
if (event.getProperty().equals(IGdbDebugPreferenceConstants.PREF_TRACES_ENABLE)) {
|
if (event.getProperty().equals(IGdbDebugPreferenceConstants.PREF_TRACES_ENABLE)) {
|
||||||
fTracingEnabled = (Boolean)event.getNewValue();
|
fTracingEnabled = (Boolean)event.getNewValue();
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class CArgumentsTab extends CLaunchConfigurationTab {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
Font font = parent.getFont();
|
Font font = parent.getFont();
|
||||||
Composite comp = new Composite(parent, SWT.NONE);
|
Composite comp = new Composite(parent, SWT.NONE);
|
||||||
|
@ -111,6 +112,7 @@ public class CArgumentsTab extends CLaunchConfigurationTab {
|
||||||
fPrgmArgumentsText.setLayoutData(gd);
|
fPrgmArgumentsText.setLayoutData(gd);
|
||||||
fPrgmArgumentsText.setFont(font);
|
fPrgmArgumentsText.setFont(font);
|
||||||
fPrgmArgumentsText.addModifyListener(new ModifyListener() {
|
fPrgmArgumentsText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
}
|
}
|
||||||
|
@ -187,6 +189,7 @@ public class CArgumentsTab extends CLaunchConfigurationTab {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
||||||
config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String) null);
|
config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String) null);
|
||||||
config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String) null);
|
config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String) null);
|
||||||
|
@ -195,6 +198,7 @@ public class CArgumentsTab extends CLaunchConfigurationTab {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration configuration) {
|
public void initializeFrom(ILaunchConfiguration configuration) {
|
||||||
try {
|
try {
|
||||||
fPrgmArgumentsText.setText(configuration.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, "")); //$NON-NLS-1$
|
fPrgmArgumentsText.setText(configuration.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, "")); //$NON-NLS-1$
|
||||||
|
@ -209,6 +213,7 @@ public class CArgumentsTab extends CLaunchConfigurationTab {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
configuration.setAttribute(
|
configuration.setAttribute(
|
||||||
ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
|
ICDTLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
|
||||||
|
@ -239,6 +244,7 @@ public class CArgumentsTab extends CLaunchConfigurationTab {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return LaunchMessages.getString("CArgumentsTab.Arguments"); //$NON-NLS-1$
|
return LaunchMessages.getString("CArgumentsTab.Arguments"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,6 +91,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
private Composite fContents;
|
private Composite fContents;
|
||||||
|
|
||||||
private IContentChangeListener fContentListener = new IContentChangeListener() {
|
private IContentChangeListener fContentListener = new IContentChangeListener() {
|
||||||
|
@Override
|
||||||
public void contentChanged() {
|
public void contentChanged() {
|
||||||
contentsChanged();
|
contentsChanged();
|
||||||
}
|
}
|
||||||
|
@ -116,6 +117,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
return TAB_ID;
|
return TAB_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
fContainer = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
|
fContainer = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
|
||||||
fContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
|
fContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||||
|
@ -162,6 +164,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
||||||
setLaunchConfigurationWorkingCopy(config);
|
setLaunchConfigurationWorkingCopy(config);
|
||||||
ICDebuggerPage dynamicTab = getDynamicTab();
|
ICDebuggerPage dynamicTab = getDynamicTab();
|
||||||
|
@ -199,6 +202,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration config) {
|
public void initializeFrom(ILaunchConfiguration config) {
|
||||||
setInitializing(true);
|
setInitializing(true);
|
||||||
|
|
||||||
|
@ -217,6 +221,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
setInitializing(false);
|
setInitializing(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy config) {
|
public void performApply(ILaunchConfigurationWorkingCopy config) {
|
||||||
if (getDebuggerId() != null) {
|
if (getDebuggerId() != null) {
|
||||||
config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, getDebuggerId());
|
config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, getDebuggerId());
|
||||||
|
@ -322,6 +327,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
gridData.widthHint = 100;
|
gridData.widthHint = 100;
|
||||||
fStopInMainSymbol.setLayoutData(gridData);
|
fStopInMainSymbol.setLayoutData(gridData);
|
||||||
fStopInMainSymbol.addModifyListener(new ModifyListener() {
|
fStopInMainSymbol.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
@ -536,6 +542,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
return LaunchImages.get(LaunchImages.IMG_VIEW_DEBUGGER_TAB);
|
return LaunchImages.get(LaunchImages.IMG_VIEW_DEBUGGER_TAB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return LaunchMessages.getString("AbstractCDebuggerTab.Debugger"); //$NON-NLS-1$
|
return LaunchMessages.getString("AbstractCDebuggerTab.Debugger"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
@ -551,6 +558,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
fDCombo = new Combo(comboComp, SWT.READ_ONLY | SWT.DROP_DOWN);
|
fDCombo = new Combo(comboComp, SWT.READ_ONLY | SWT.DROP_DOWN);
|
||||||
fDCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
fDCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||||
fDCombo.addSelectionListener(new SelectionListener() {
|
fDCombo.addSelectionListener(new SelectionListener() {
|
||||||
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
if (!isInitializing()) {
|
if (!isInitializing()) {
|
||||||
setInitializeDefault(true);
|
setInitializeDefault(true);
|
||||||
|
@ -558,6 +566,7 @@ public class CDebuggerTab extends CLaunchConfigurationTab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
public void widgetDefaultSelected(SelectionEvent e) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -107,6 +107,7 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
Composite comp = new Composite(parent, SWT.NONE);
|
Composite comp = new Composite(parent, SWT.NONE);
|
||||||
setControl(comp);
|
setControl(comp);
|
||||||
|
@ -149,6 +150,7 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
gd = new GridData(GridData.FILL_HORIZONTAL);
|
gd = new GridData(GridData.FILL_HORIZONTAL);
|
||||||
fProgText.setLayoutData(gd);
|
fProgText.setLayoutData(gd);
|
||||||
fProgText.addModifyListener(new ModifyListener() {
|
fProgText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
}
|
}
|
||||||
|
@ -208,6 +210,7 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
gd = new GridData(GridData.FILL_HORIZONTAL);
|
gd = new GridData(GridData.FILL_HORIZONTAL);
|
||||||
fCoreText.setLayoutData(gd);
|
fCoreText.setLayoutData(gd);
|
||||||
fCoreText.addModifyListener(new ModifyListener() {
|
fCoreText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
}
|
}
|
||||||
|
@ -237,11 +240,13 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
});
|
});
|
||||||
|
|
||||||
fCoreTypeCombo.addSelectionListener(new SelectionListener() {
|
fCoreTypeCombo.addSelectionListener(new SelectionListener() {
|
||||||
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
updateCoreFileLabel();
|
updateCoreFileLabel();
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
public void widgetDefaultSelected(SelectionEvent e) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -268,6 +273,7 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration config) {
|
public void initializeFrom(ILaunchConfiguration config) {
|
||||||
filterPlatform = getPlatform(config);
|
filterPlatform = getPlatform(config);
|
||||||
updateProjectFromConfig(config);
|
updateProjectFromConfig(config);
|
||||||
|
@ -500,6 +506,7 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
||||||
// We set empty attributes for project & program so that when one config is
|
// We set empty attributes for project & program so that when one config is
|
||||||
// compared to another, the existence of empty attributes doesn't cause and
|
// compared to another, the existence of empty attributes doesn't cause and
|
||||||
|
@ -592,6 +599,7 @@ public class CMainTab extends CAbstractMainTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return LaunchMessages.getString("CMainTab.Main"); //$NON-NLS-1$
|
return LaunchMessages.getString("CMainTab.Main"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ public class CoreFilePrompter implements IStatusHandler {
|
||||||
* @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus,
|
* @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus,
|
||||||
* java.lang.Object)
|
* java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public Object handleStatus(IStatus status, Object params) throws CoreException {
|
public Object handleStatus(IStatus status, Object params) throws CoreException {
|
||||||
final Shell shell = GdbUIPlugin.getShell();
|
final Shell shell = GdbUIPlugin.getShell();
|
||||||
if (shell == null) {
|
if (shell == null) {
|
||||||
|
|
|
@ -54,6 +54,7 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
fAutoSolib = autoSolib;
|
fAutoSolib = autoSolib;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void createControl( Composite parent ) {
|
public void createControl( Composite parent ) {
|
||||||
Composite subComp = ControlFactory.createCompositeEx( parent, 1, GridData.FILL_HORIZONTAL );
|
Composite subComp = ControlFactory.createCompositeEx( parent, 1, GridData.FILL_HORIZONTAL );
|
||||||
((GridLayout)subComp.getLayout()).makeColumnsEqualWidth = false;
|
((GridLayout)subComp.getLayout()).makeColumnsEqualWidth = false;
|
||||||
|
@ -89,6 +90,7 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
fControl = subComp;
|
fControl = subComp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void initializeFrom( ILaunchConfiguration configuration ) {
|
public void initializeFrom( ILaunchConfiguration configuration ) {
|
||||||
if ( fSolibSearchPathBlock != null )
|
if ( fSolibSearchPathBlock != null )
|
||||||
fSolibSearchPathBlock.initializeFrom( configuration );
|
fSolibSearchPathBlock.initializeFrom( configuration );
|
||||||
|
@ -104,6 +106,7 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void performApply( ILaunchConfigurationWorkingCopy configuration ) {
|
public void performApply( ILaunchConfigurationWorkingCopy configuration ) {
|
||||||
if ( fSolibSearchPathBlock != null )
|
if ( fSolibSearchPathBlock != null )
|
||||||
fSolibSearchPathBlock.performApply( configuration );
|
fSolibSearchPathBlock.performApply( configuration );
|
||||||
|
@ -121,6 +124,7 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setDefaults( ILaunchConfigurationWorkingCopy configuration ) {
|
public void setDefaults( ILaunchConfigurationWorkingCopy configuration ) {
|
||||||
if ( fSolibSearchPathBlock != null )
|
if ( fSolibSearchPathBlock != null )
|
||||||
fSolibSearchPathBlock.setDefaults( configuration );
|
fSolibSearchPathBlock.setDefaults( configuration );
|
||||||
|
@ -131,6 +135,7 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
protected void updateButtons() {
|
protected void updateButtons() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
deleteObservers();
|
deleteObservers();
|
||||||
if ( fSolibSearchPathBlock != null ) {
|
if ( fSolibSearchPathBlock != null ) {
|
||||||
|
@ -140,6 +145,7 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void update( Observable o, Object arg ) {
|
public void update( Observable o, Object arg ) {
|
||||||
changed();
|
changed();
|
||||||
}
|
}
|
||||||
|
@ -161,10 +167,12 @@ public class GDBSolibBlock extends Observable implements IMILaunchConfigurationC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Control getControl() {
|
public Control getControl() {
|
||||||
return fControl;
|
return fControl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isValid( ILaunchConfiguration launchConfig ) {
|
public boolean isValid( ILaunchConfiguration launchConfig ) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -53,6 +53,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
private IMILaunchConfigurationComponent fSolibBlock;
|
private IMILaunchConfigurationComponent fSolibBlock;
|
||||||
private boolean fIsInitializing = false;
|
private boolean fIsInitializing = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
Composite comp = new Composite(parent, SWT.NONE);
|
Composite comp = new Composite(parent, SWT.NONE);
|
||||||
comp.setLayout(new GridLayout());
|
comp.setLayout(new GridLayout());
|
||||||
|
@ -64,6 +65,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
setControl(parent);
|
setControl(parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
||||||
String defaultGdbCommand = preferenceStore.getString(IGdbDebugPreferenceConstants.PREF_DEFAULT_GDB_COMMAND);
|
String defaultGdbCommand = preferenceStore.getString(IGdbDebugPreferenceConstants.PREF_DEFAULT_GDB_COMMAND);
|
||||||
|
@ -88,6 +90,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration configuration) {
|
public void initializeFrom(ILaunchConfiguration configuration) {
|
||||||
setInitializing(true);
|
setInitializing(true);
|
||||||
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
||||||
|
@ -114,6 +117,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
setInitializing(false);
|
setInitializing(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME,
|
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME,
|
||||||
fGDBCommandText.getText().trim());
|
fGDBCommandText.getText().trim());
|
||||||
|
@ -124,6 +128,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
fSolibBlock.performApply(configuration);
|
fSolibBlock.performApply(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return LaunchUIMessages.getString("GDBDebuggerPage.tab_name"); //$NON-NLS-1$
|
return LaunchUIMessages.getString("GDBDebuggerPage.tab_name"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
@ -149,6 +154,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
*
|
*
|
||||||
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
|
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void update(Observable o, Object arg) {
|
public void update(Observable o, Object arg) {
|
||||||
if (!isInitializing())
|
if (!isInitializing())
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
|
@ -181,7 +187,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
label.setLayoutData(gd);
|
label.setLayoutData(gd);
|
||||||
fGDBCommandText = ControlFactory.createTextField(subComp, SWT.SINGLE | SWT.BORDER);
|
fGDBCommandText = ControlFactory.createTextField(subComp, SWT.SINGLE | SWT.BORDER);
|
||||||
fGDBCommandText.addModifyListener(new ModifyListener() {
|
fGDBCommandText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
if (!isInitializing())
|
if (!isInitializing())
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
|
@ -218,7 +224,7 @@ public class GdbCoreDebuggerPage extends AbstractCDebuggerPage implements Observ
|
||||||
gd = new GridData(GridData.FILL_HORIZONTAL);
|
gd = new GridData(GridData.FILL_HORIZONTAL);
|
||||||
fGDBInitText.setLayoutData(gd);
|
fGDBInitText.setLayoutData(gd);
|
||||||
fGDBInitText.addModifyListener(new ModifyListener() {
|
fGDBInitText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
if (!isInitializing())
|
if (!isInitializing())
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
private IMILaunchConfigurationComponent fSolibBlock;
|
private IMILaunchConfigurationComponent fSolibBlock;
|
||||||
private boolean fIsInitializing = false;
|
private boolean fIsInitializing = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
Composite comp = new Composite(parent, SWT.NONE);
|
Composite comp = new Composite(parent, SWT.NONE);
|
||||||
comp.setLayout(new GridLayout());
|
comp.setLayout(new GridLayout());
|
||||||
|
@ -79,6 +80,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
setControl(parent);
|
setControl(parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
||||||
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME,
|
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME,
|
||||||
|
@ -130,6 +132,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration configuration) {
|
public void initializeFrom(ILaunchConfiguration configuration) {
|
||||||
setInitializing(true);
|
setInitializing(true);
|
||||||
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
IPreferenceStore preferenceStore = GdbUIPlugin.getDefault().getPreferenceStore();
|
||||||
|
@ -194,6 +197,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
return IGDBLaunchConfigurationConstants.DEBUGGER_TRACEPOINT_MODE_DEFAULT;
|
return IGDBLaunchConfigurationConstants.DEBUGGER_TRACEPOINT_MODE_DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME,
|
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME,
|
||||||
fGDBCommandText.getText().trim());
|
fGDBCommandText.getText().trim());
|
||||||
|
@ -217,6 +221,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
fSolibBlock.performApply(configuration);
|
fSolibBlock.performApply(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return LaunchUIMessages.getString("GDBDebuggerPage.tab_name"); //$NON-NLS-1$
|
return LaunchUIMessages.getString("GDBDebuggerPage.tab_name"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
@ -242,6 +247,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
*
|
*
|
||||||
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
|
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void update(Observable o, Object arg) {
|
public void update(Observable o, Object arg) {
|
||||||
if (!isInitializing())
|
if (!isInitializing())
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
|
@ -274,7 +280,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
label.setLayoutData(gd);
|
label.setLayoutData(gd);
|
||||||
fGDBCommandText = ControlFactory.createTextField(subComp, SWT.SINGLE | SWT.BORDER);
|
fGDBCommandText = ControlFactory.createTextField(subComp, SWT.SINGLE | SWT.BORDER);
|
||||||
fGDBCommandText.addModifyListener(new ModifyListener() {
|
fGDBCommandText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
if (!isInitializing())
|
if (!isInitializing())
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
|
@ -311,7 +317,7 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
gd = new GridData(GridData.FILL_HORIZONTAL);
|
gd = new GridData(GridData.FILL_HORIZONTAL);
|
||||||
fGDBInitText.setLayoutData(gd);
|
fGDBInitText.setLayoutData(gd);
|
||||||
fGDBInitText.addModifyListener(new ModifyListener() {
|
fGDBInitText.addModifyListener(new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent evt) {
|
public void modifyText(ModifyEvent evt) {
|
||||||
if (!isInitializing())
|
if (!isInitializing())
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
|
@ -378,10 +384,12 @@ public class GdbDebuggerPage extends AbstractCDebuggerPage implements Observer {
|
||||||
fTracepointModeCombo.add(TP_AUTOMATIC);
|
fTracepointModeCombo.add(TP_AUTOMATIC);
|
||||||
|
|
||||||
fTracepointModeCombo.addSelectionListener(new SelectionListener() {
|
fTracepointModeCombo.addSelectionListener(new SelectionListener() {
|
||||||
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void widgetDefaultSelected(SelectionEvent e) {
|
public void widgetDefaultSelected(SelectionEvent e) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -48,6 +48,7 @@ public class ProcessPrompter implements IStatusHandler {
|
||||||
* @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus,
|
* @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus,
|
||||||
* java.lang.Object)
|
* java.lang.Object)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public Object handleStatus(IStatus status, Object info) throws CoreException {
|
public Object handleStatus(IStatus status, Object info) throws CoreException {
|
||||||
Shell shell = GdbUIPlugin.getShell();
|
Shell shell = GdbUIPlugin.getShell();
|
||||||
if (shell == null) {
|
if (shell == null) {
|
||||||
|
|
|
@ -103,6 +103,7 @@ public class ProcessPrompterDialog extends TwoPaneElementSelector {
|
||||||
|
|
||||||
// Now add a listener to prevent selection
|
// Now add a listener to prevent selection
|
||||||
list.addListener(SWT.EraseItem, new Listener() {
|
list.addListener(SWT.EraseItem, new Listener() {
|
||||||
|
@Override
|
||||||
public void handleEvent(Event event) {
|
public void handleEvent(Event event) {
|
||||||
if ((event.detail & SWT.SELECTED) != 0) {
|
if ((event.detail & SWT.SELECTED) != 0) {
|
||||||
event.detail &= ~SWT.SELECTED;
|
event.detail &= ~SWT.SELECTED;
|
||||||
|
|
|
@ -269,6 +269,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#createControl(org.eclipse.swt.widgets.Composite)
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#createControl(org.eclipse.swt.widgets.Composite)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
fShell = parent.getShell();
|
fShell = parent.getShell();
|
||||||
Composite comp = ControlFactory.createCompositeEx(parent, 2, GridData.FILL_BOTH);
|
Composite comp = ControlFactory.createCompositeEx(parent, 2, GridData.FILL_BOTH);
|
||||||
|
@ -287,6 +288,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration configuration) {
|
public void initializeFrom(ILaunchConfiguration configuration) {
|
||||||
IProject project = null;
|
IProject project = null;
|
||||||
try {
|
try {
|
||||||
|
@ -340,6 +342,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, Collections.EMPTY_LIST);
|
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, Collections.EMPTY_LIST);
|
||||||
}
|
}
|
||||||
|
@ -347,6 +350,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
if (fDirList != null) {
|
if (fDirList != null) {
|
||||||
|
|
||||||
|
@ -410,6 +414,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#dispose()
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#dispose()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
deleteObservers();
|
deleteObservers();
|
||||||
}
|
}
|
||||||
|
@ -417,6 +422,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#getControl()
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#getControl()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public Control getControl() {
|
public Control getControl() {
|
||||||
return fControl;
|
return fControl;
|
||||||
}
|
}
|
||||||
|
@ -424,6 +430,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#isValid(org.eclipse.debug.core.ILaunchConfiguration)
|
* @see org.eclipse.cdt.debug.mi.internal.ui.IMILaunchConfigurationComponent#isValid(org.eclipse.debug.core.ILaunchConfiguration)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public boolean isValid(ILaunchConfiguration launchConfig) {
|
public boolean isValid(ILaunchConfiguration launchConfig) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return false;
|
return false;
|
||||||
|
@ -459,31 +466,31 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
final HashSet<IPath> libs = new HashSet<IPath>(10);
|
final HashSet<IPath> libs = new HashSet<IPath>(10);
|
||||||
if (generateLibraryList(dirList.toArray(new IPath[dirList.size()]), libs)) {
|
if (generateLibraryList(dirList.toArray(new IPath[dirList.size()]), libs)) {
|
||||||
ITreeContentProvider cp = new ITreeContentProvider() {
|
ITreeContentProvider cp = new ITreeContentProvider() {
|
||||||
|
@Override
|
||||||
public Object[] getChildren(Object parentElement) {
|
public Object[] getChildren(Object parentElement) {
|
||||||
return getElements(parentElement);
|
return getElements(parentElement);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public Object getParent(Object element) {
|
public Object getParent(Object element) {
|
||||||
if (libs.contains(element))
|
if (libs.contains(element))
|
||||||
return libs;
|
return libs;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public boolean hasChildren(Object element) {
|
public boolean hasChildren(Object element) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public Object[] getElements(Object inputElement) {
|
public Object[] getElements(Object inputElement) {
|
||||||
if (inputElement instanceof Set) {
|
if (inputElement instanceof Set) {
|
||||||
return ((Set)inputElement).toArray();
|
return ((Set)inputElement).toArray();
|
||||||
}
|
}
|
||||||
return new Object[0];
|
return new Object[0];
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
|
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -517,6 +524,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
boolean result = true;
|
boolean result = true;
|
||||||
|
|
||||||
IRunnableWithProgress runnable = new IRunnableWithProgress() {
|
IRunnableWithProgress runnable = new IRunnableWithProgress() {
|
||||||
|
@Override
|
||||||
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
|
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
|
||||||
|
|
||||||
for (int i = 0; i < paths.length; ++i) {
|
for (int i = 0; i < paths.length; ++i) {
|
||||||
|
@ -614,6 +622,7 @@ public class SolibSearchPathBlock extends Observable implements IMILaunchConfigu
|
||||||
return (name.indexOf(".so.") >= 0); //$NON-NLS-1$
|
return (name.indexOf(".so.") >= 0); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void dialogFieldChanged(DialogField field) {
|
public void dialogFieldChanged(DialogField field) {
|
||||||
setChanged();
|
setChanged();
|
||||||
notifyObservers();
|
notifyObservers();
|
||||||
|
|
|
@ -71,6 +71,7 @@ public class WorkingDirectoryBlock extends CLaunchConfigurationTab {
|
||||||
*/
|
*/
|
||||||
private class WidgetListener extends SelectionAdapter implements ModifyListener {
|
private class WidgetListener extends SelectionAdapter implements ModifyListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent e) {
|
public void modifyText(ModifyEvent e) {
|
||||||
updateLaunchConfigurationDialog();
|
updateLaunchConfigurationDialog();
|
||||||
}
|
}
|
||||||
|
@ -97,6 +98,7 @@ public class WorkingDirectoryBlock extends CLaunchConfigurationTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void createControl(Composite parent) {
|
public void createControl(Composite parent) {
|
||||||
Font font = parent.getFont();
|
Font font = parent.getFont();
|
||||||
|
|
||||||
|
@ -305,6 +307,7 @@ public class WorkingDirectoryBlock extends CLaunchConfigurationTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
|
||||||
// config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
|
// config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
|
||||||
// (String)null);
|
// (String)null);
|
||||||
|
@ -315,6 +318,7 @@ public class WorkingDirectoryBlock extends CLaunchConfigurationTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void initializeFrom(ILaunchConfiguration configuration) {
|
public void initializeFrom(ILaunchConfiguration configuration) {
|
||||||
setLaunchConfiguration(configuration);
|
setLaunchConfiguration(configuration);
|
||||||
try {
|
try {
|
||||||
|
@ -338,6 +342,7 @@ public class WorkingDirectoryBlock extends CLaunchConfigurationTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
String wd = null;
|
String wd = null;
|
||||||
if (!isDefaultWorkingDirectory()) {
|
if (!isDefaultWorkingDirectory()) {
|
||||||
|
@ -364,6 +369,7 @@ public class WorkingDirectoryBlock extends CLaunchConfigurationTab {
|
||||||
*
|
*
|
||||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return LaunchUIMessages.getString("WorkingDirectoryBlock.Working_Directory_8"); //$NON-NLS-1$
|
return LaunchUIMessages.getString("WorkingDirectoryBlock.Working_Directory_8"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,7 @@ public class GdbDebugPreferencePage extends FieldEditorPreferencePage implements
|
||||||
setDescription(MessagesForPreferences.GdbDebugPreferencePage_description);
|
setDescription(MessagesForPreferences.GdbDebugPreferencePage_description);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void init(IWorkbench workbench) {
|
public void init(IWorkbench workbench) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,13 +51,16 @@ public class CollectActionPage extends PlatformObject implements IBreakpointActi
|
||||||
return fCollectAction;
|
return fCollectAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionDialogCanceled() {
|
public void actionDialogCanceled() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionDialogOK() {
|
public void actionDialogOK() {
|
||||||
fCollectAction.setCollectString(fCollectString.getText());
|
fCollectAction.setCollectString(fCollectString.getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Composite createComposite(IBreakpointAction action, Composite composite, int style) {
|
public Composite createComposite(IBreakpointAction action, Composite composite, int style) {
|
||||||
fCollectAction = (CollectAction) action;
|
fCollectAction = (CollectAction) action;
|
||||||
return createCollectActionComposite(composite, style);
|
return createCollectActionComposite(composite, style);
|
||||||
|
|
|
@ -52,13 +52,16 @@ public class EvaluateActionPage extends PlatformObject implements IBreakpointAct
|
||||||
return fEvalAction;
|
return fEvalAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionDialogCanceled() {
|
public void actionDialogCanceled() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionDialogOK() {
|
public void actionDialogOK() {
|
||||||
fEvalAction.setEvalString(fEvalString.getText());
|
fEvalAction.setEvalString(fEvalString.getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Composite createComposite(IBreakpointAction action, Composite composite, int style) {
|
public Composite createComposite(IBreakpointAction action, Composite composite, int style) {
|
||||||
fEvalAction = (EvaluateAction) action;
|
fEvalAction = (EvaluateAction) action;
|
||||||
return createEvaluateActionComposite(composite, style);
|
return createEvaluateActionComposite(composite, style);
|
||||||
|
|
|
@ -61,6 +61,7 @@ public class TracepointActionsPreferencePage extends PreferencePage implements I
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
public void init(IWorkbench workbench) {
|
public void init(IWorkbench workbench) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -125,9 +125,11 @@ public class WhileSteppingActionPage extends PlatformObject implements IBreakpoi
|
||||||
return fWhileSteppingAction;
|
return fWhileSteppingAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionDialogCanceled() {
|
public void actionDialogCanceled() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionDialogOK() {
|
public void actionDialogOK() {
|
||||||
// Make sure we are dealing with an int
|
// Make sure we are dealing with an int
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -141,6 +143,7 @@ public class WhileSteppingActionPage extends PlatformObject implements IBreakpoi
|
||||||
fWhileSteppingAction.setSubActionsContent(actionsList.getActionNames());
|
fWhileSteppingAction.setSubActionsContent(actionsList.getActionNames());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Composite createComposite(IBreakpointAction action, Composite composite, int style) {
|
public Composite createComposite(IBreakpointAction action, Composite composite, int style) {
|
||||||
fWhileSteppingAction = (WhileSteppingAction)action;
|
fWhileSteppingAction = (WhileSteppingAction)action;
|
||||||
return createWhileSteppingActionComposite(composite, style);
|
return createWhileSteppingActionComposite(composite, style);
|
||||||
|
|
|
@ -124,6 +124,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
exitVisualizationMode();
|
exitVisualizationMode();
|
||||||
updateActionEnablement();
|
updateActionEnablement();
|
||||||
|
@ -152,6 +153,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
super.init(site);
|
super.init(site);
|
||||||
site.getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,
|
site.getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,
|
||||||
fDebugViewListener = new ISelectionListener() {
|
fDebugViewListener = new ISelectionListener() {
|
||||||
|
@Override
|
||||||
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
|
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
|
||||||
updateDebugContext();
|
updateDebugContext();
|
||||||
}});
|
}});
|
||||||
|
@ -221,6 +223,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
if (ctx != null) {
|
if (ctx != null) {
|
||||||
getSession().getExecutor().execute(
|
getSession().getExecutor().execute(
|
||||||
new DsfRunnable() {
|
new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IGDBTraceControl traceControl = getService(IGDBTraceControl.class);
|
final IGDBTraceControl traceControl = getService(IGDBTraceControl.class);
|
||||||
if (traceControl != null) {
|
if (traceControl != null) {
|
||||||
|
@ -247,6 +250,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
|
|
||||||
final String finalStatus = traceStatus;
|
final String finalStatus = traceStatus;
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fStatusText.setText(finalStatus);
|
fStatusText.setText(finalStatus);
|
||||||
updateActionEnablement();
|
updateActionEnablement();
|
||||||
|
@ -257,6 +261,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
fTracingSupported = false;
|
fTracingSupported = false;
|
||||||
|
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
fStatusText.setText(EMPTY_STRING);
|
fStatusText.setText(EMPTY_STRING);
|
||||||
updateActionEnablement();
|
updateActionEnablement();
|
||||||
|
@ -287,6 +292,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
|
|
||||||
getSession().getExecutor().execute(
|
getSession().getExecutor().execute(
|
||||||
new DsfRunnable() {
|
new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IGDBTraceControl traceControl = getService(IGDBTraceControl.class);
|
final IGDBTraceControl traceControl = getService(IGDBTraceControl.class);
|
||||||
if (traceControl != null) {
|
if (traceControl != null) {
|
||||||
|
@ -316,6 +322,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
try {
|
try {
|
||||||
final DsfSession session = getSession();
|
final DsfSession session = getSession();
|
||||||
session.getExecutor().execute(new DsfRunnable() {
|
session.getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
session.removeServiceEventListener(TraceControlView.this);
|
session.removeServiceEventListener(TraceControlView.this);
|
||||||
}
|
}
|
||||||
|
@ -336,6 +343,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
try {
|
try {
|
||||||
final DsfSession session = getSession();
|
final DsfSession session = getSession();
|
||||||
session.getExecutor().execute(new DsfRunnable() {
|
session.getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
session.removeServiceEventListener(TraceControlView.this);
|
session.removeServiceEventListener(TraceControlView.this);
|
||||||
}
|
}
|
||||||
|
@ -363,6 +371,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
try {
|
try {
|
||||||
final DsfSession session = getSession();
|
final DsfSession session = getSession();
|
||||||
session.getExecutor().execute(new DsfRunnable() {
|
session.getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
session.addServiceEventListener(TraceControlView.this, null);
|
session.addServiceEventListener(TraceControlView.this, null);
|
||||||
}
|
}
|
||||||
|
@ -395,9 +404,11 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void sessionEnded(DsfSession session) {
|
public void sessionEnded(DsfSession session) {
|
||||||
if (session.getId().equals(fDebugSessionId)) {
|
if (session.getId().equals(fDebugSessionId)) {
|
||||||
asyncExec(new Runnable() {
|
asyncExec(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
setDebugContext(null);
|
setDebugContext(null);
|
||||||
}});
|
}});
|
||||||
|
|
|
@ -168,6 +168,7 @@ public final class TraceVarDetailsDialog extends Dialog {
|
||||||
warningTextLabel = new Label(createButtonComposite, SWT.NONE);
|
warningTextLabel = new Label(createButtonComposite, SWT.NONE);
|
||||||
warningTextLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
warningTextLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
||||||
parent.addDisposeListener(new DisposeListener() {
|
parent.addDisposeListener(new DisposeListener() {
|
||||||
|
@Override
|
||||||
public void widgetDisposed(DisposeEvent e) {
|
public void widgetDisposed(DisposeEvent e) {
|
||||||
if (warningImage != null)
|
if (warningImage != null)
|
||||||
warningImage.dispose();
|
warningImage.dispose();
|
||||||
|
@ -177,9 +178,11 @@ public final class TraceVarDetailsDialog extends Dialog {
|
||||||
// When the user goes into either input field, then pressing return
|
// When the user goes into either input field, then pressing return
|
||||||
// should try to create the command
|
// should try to create the command
|
||||||
FocusListener clearWarningFocusListener = new FocusListener() {
|
FocusListener clearWarningFocusListener = new FocusListener() {
|
||||||
|
@Override
|
||||||
public void focusGained(FocusEvent e) {
|
public void focusGained(FocusEvent e) {
|
||||||
getShell().setDefaultButton(createButton);
|
getShell().setDefaultButton(createButton);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public void focusLost(FocusEvent e) {
|
public void focusLost(FocusEvent e) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -189,6 +192,7 @@ public final class TraceVarDetailsDialog extends Dialog {
|
||||||
|
|
||||||
// When the user modifies any entry in the input, we should clear any warning
|
// When the user modifies any entry in the input, we should clear any warning
|
||||||
ModifyListener clearWarningListener = new ModifyListener() {
|
ModifyListener clearWarningListener = new ModifyListener() {
|
||||||
|
@Override
|
||||||
public void modifyText(ModifyEvent e) {
|
public void modifyText(ModifyEvent e) {
|
||||||
setWarningVisible(false);
|
setWarningVisible(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@ public class GdbExpressionVMProvider extends ExpressionVMProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
fPreferencesListener = new IPropertyChangeListener() {
|
fPreferencesListener = new IPropertyChangeListener() {
|
||||||
|
@Override
|
||||||
public void propertyChange(final PropertyChangeEvent event) {
|
public void propertyChange(final PropertyChangeEvent event) {
|
||||||
handlePropertyChanged(store, event);
|
handlePropertyChanged(store, event);
|
||||||
}};
|
}};
|
||||||
|
@ -190,6 +191,7 @@ public class GdbExpressionVMProvider extends ExpressionVMProvider {
|
||||||
final FetchMoreChildrenEvent fetchMoreChildrenEvent = new FetchMoreChildrenEvent(
|
final FetchMoreChildrenEvent fetchMoreChildrenEvent = new FetchMoreChildrenEvent(
|
||||||
exprCtx, path);
|
exprCtx, path);
|
||||||
getExecutor().execute(new DsfRunnable() {
|
getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
handleEvent(fetchMoreChildrenEvent, rm);
|
handleEvent(fetchMoreChildrenEvent, rm);
|
||||||
}
|
}
|
||||||
|
@ -225,6 +227,7 @@ public class GdbExpressionVMProvider extends ExpressionVMProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
getExecutor().execute(new DsfRunnable() {
|
getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
handleEvent(event);
|
handleEvent(event);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,10 +108,12 @@ public class GdbVariableVMNode extends VariableVMNode {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.internal.core.IWatchpointTarget#getSize()
|
* @see org.eclipse.cdt.debug.internal.core.IWatchpointTarget#getSize()
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void getSize(final ICWatchpointTarget.GetSizeRequest request) {
|
public void getSize(final ICWatchpointTarget.GetSizeRequest request) {
|
||||||
final IExpressionDMContext exprDmc = DMContexts.getAncestorOfType(getDMContext(), IExpressionDMContext.class);
|
final IExpressionDMContext exprDmc = DMContexts.getAncestorOfType(getDMContext(), IExpressionDMContext.class);
|
||||||
if (exprDmc != null) {
|
if (exprDmc != null) {
|
||||||
getSession().getExecutor().execute(new Runnable() {
|
getSession().getExecutor().execute(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IExpressions expressionService = getServicesTracker().getService(IExpressions.class);
|
final IExpressions expressionService = getServicesTracker().getService(IExpressions.class);
|
||||||
if (expressionService != null) {
|
if (expressionService != null) {
|
||||||
|
@ -144,6 +146,7 @@ public class GdbVariableVMNode extends VariableVMNode {
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.cdt.debug.internal.core.IWatchpointTarget#canCreateWatchpoint(org.eclipse.cdt.debug.internal.core.IWatchpointTarget.CanCreateWatchpointRequest)
|
* @see org.eclipse.cdt.debug.internal.core.IWatchpointTarget#canCreateWatchpoint(org.eclipse.cdt.debug.internal.core.IWatchpointTarget.CanCreateWatchpointRequest)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void canSetWatchpoint(final ICWatchpointTarget.CanCreateWatchpointRequest request) {
|
public void canSetWatchpoint(final ICWatchpointTarget.CanCreateWatchpointRequest request) {
|
||||||
// If the expression is an l-value, then we say it supports a
|
// If the expression is an l-value, then we say it supports a
|
||||||
// watchpoint. The logic here is basically the same as what's in
|
// watchpoint. The logic here is basically the same as what's in
|
||||||
|
@ -152,6 +155,7 @@ public class GdbVariableVMNode extends VariableVMNode {
|
||||||
final IExpressionDMContext exprDmc = DMContexts.getAncestorOfType(getDMContext(), IExpressionDMContext.class);
|
final IExpressionDMContext exprDmc = DMContexts.getAncestorOfType(getDMContext(), IExpressionDMContext.class);
|
||||||
if (exprDmc != null) {
|
if (exprDmc != null) {
|
||||||
getSession().getExecutor().execute(new Runnable() {
|
getSession().getExecutor().execute(new Runnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IExpressions expressionService = getServicesTracker().getService(IExpressions.class);
|
final IExpressions expressionService = getServicesTracker().getService(IExpressions.class);
|
||||||
if (expressionService != null) {
|
if (expressionService != null) {
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class GdbVariableVMProvider extends VariableVMProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
fPreferencesListener = new IPropertyChangeListener() {
|
fPreferencesListener = new IPropertyChangeListener() {
|
||||||
|
@Override
|
||||||
public void propertyChange(final PropertyChangeEvent event) {
|
public void propertyChange(final PropertyChangeEvent event) {
|
||||||
handlePropertyChanged(store, event);
|
handlePropertyChanged(store, event);
|
||||||
}};
|
}};
|
||||||
|
@ -127,6 +128,7 @@ public class GdbVariableVMProvider extends VariableVMProvider {
|
||||||
final FetchMoreChildrenEvent fetchMoreChildrenEvent = new FetchMoreChildrenEvent(
|
final FetchMoreChildrenEvent fetchMoreChildrenEvent = new FetchMoreChildrenEvent(
|
||||||
exprCtx, path);
|
exprCtx, path);
|
||||||
getExecutor().execute(new DsfRunnable() {
|
getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
handleEvent(fetchMoreChildrenEvent, rm);
|
handleEvent(fetchMoreChildrenEvent, rm);
|
||||||
}
|
}
|
||||||
|
@ -162,6 +164,7 @@ public class GdbVariableVMProvider extends VariableVMProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
getExecutor().execute(new DsfRunnable() {
|
getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
handleEvent(event);
|
handleEvent(event);
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,6 +104,7 @@ public class GdbBreakpointVMProvider extends BreakpointVMProvider {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
fSession.getExecutor().execute(new DsfRunnable() {
|
fSession.getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
IBreakpointsExtension bpService = fServicesTracker.getService(IBreakpointsExtension.class);
|
IBreakpointsExtension bpService = fServicesTracker.getService(IBreakpointsExtension.class);
|
||||||
if (bpService == null) {
|
if (bpService == null) {
|
||||||
|
|
|
@ -59,6 +59,7 @@ abstract public class RetargetDebugContextCommand extends AbstractHandler implem
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Object execute(ExecutionEvent event) throws ExecutionException {
|
public Object execute(ExecutionEvent event) throws ExecutionException {
|
||||||
fCommandId = event.getCommand().getId();
|
fCommandId = event.getCommand().getId();
|
||||||
|
|
||||||
|
@ -137,6 +138,7 @@ abstract public class RetargetDebugContextCommand extends AbstractHandler implem
|
||||||
fTargetAdapter = null;
|
fTargetAdapter = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void debugContextChanged(DebugContextEvent event) {
|
public void debugContextChanged(DebugContextEvent event) {
|
||||||
fDebugContext = event.getContext();
|
fDebugContext = event.getContext();
|
||||||
update();
|
update();
|
||||||
|
|
|
@ -328,6 +328,7 @@ public class ContainerVMNode extends AbstractContainerVMNode
|
||||||
*/
|
*/
|
||||||
private final String MEMENTO_NAME = "CONTAINER_MEMENTO_NAME"; //$NON-NLS-1$
|
private final String MEMENTO_NAME = "CONTAINER_MEMENTO_NAME"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
@Override
|
||||||
public void compareElements(IElementCompareRequest[] requests) {
|
public void compareElements(IElementCompareRequest[] requests) {
|
||||||
for (final IElementCompareRequest request : requests) {
|
for (final IElementCompareRequest request : requests) {
|
||||||
|
|
||||||
|
@ -347,6 +348,7 @@ public class ContainerVMNode extends AbstractContainerVMNode
|
||||||
if (procDmc != null) {
|
if (procDmc != null) {
|
||||||
try {
|
try {
|
||||||
getSession().getExecutor().execute(new DsfRunnable() {
|
getSession().getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IProcesses processService = getServicesTracker().getService(IProcesses.class);
|
final IProcesses processService = getServicesTracker().getService(IProcesses.class);
|
||||||
if (processService != null) {
|
if (processService != null) {
|
||||||
|
@ -384,6 +386,7 @@ public class ContainerVMNode extends AbstractContainerVMNode
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider#encodeElements(org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoRequest[])
|
* @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider#encodeElements(org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoRequest[])
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void encodeElements(IElementMementoRequest[] requests) {
|
public void encodeElements(IElementMementoRequest[] requests) {
|
||||||
for (final IElementMementoRequest request : requests) {
|
for (final IElementMementoRequest request : requests) {
|
||||||
|
|
||||||
|
@ -401,6 +404,7 @@ public class ContainerVMNode extends AbstractContainerVMNode
|
||||||
if (procDmc != null) {
|
if (procDmc != null) {
|
||||||
try {
|
try {
|
||||||
getSession().getExecutor().execute(new DsfRunnable() {
|
getSession().getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final IProcesses processService = getServicesTracker().getService(IProcesses.class);
|
final IProcesses processService = getServicesTracker().getService(IProcesses.class);
|
||||||
if (processService != null) {
|
if (processService != null) {
|
||||||
|
|
|
@ -144,6 +144,7 @@ public class LaunchVMProvider extends AbstractLaunchVMProvider
|
||||||
super.refresh();
|
super.refresh();
|
||||||
try {
|
try {
|
||||||
getSession().getExecutor().execute(new DsfRunnable() {
|
getSession().getExecutor().execute(new DsfRunnable() {
|
||||||
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
DsfServicesTracker tracker = new DsfServicesTracker(GdbUIPlugin.getBundleContext(), getSession().getId());
|
DsfServicesTracker tracker = new DsfServicesTracker(GdbUIPlugin.getBundleContext(), getSession().getId());
|
||||||
IProcesses processesService = tracker.getService(IProcesses.class);
|
IProcesses processesService = tracker.getService(IProcesses.class);
|
||||||
|
|
|
@ -287,6 +287,7 @@ public class ThreadVMNode extends AbstractThreadVMNode
|
||||||
/*
|
/*
|
||||||
* @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider#compareElements(org.eclipse.debug.internal.ui.viewers.model.provisional.IElementCompareRequest[])
|
* @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider#compareElements(org.eclipse.debug.internal.ui.viewers.model.provisional.IElementCompareRequest[])
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void compareElements(IElementCompareRequest[] requests) {
|
public void compareElements(IElementCompareRequest[] requests) {
|
||||||
|
|
||||||
for ( IElementCompareRequest request : requests ) {
|
for ( IElementCompareRequest request : requests ) {
|
||||||
|
@ -314,6 +315,7 @@ public class ThreadVMNode extends AbstractThreadVMNode
|
||||||
/*
|
/*
|
||||||
* @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider#encodeElements(org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoRequest[])
|
* @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider#encodeElements(org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoRequest[])
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void encodeElements(IElementMementoRequest[] requests) {
|
public void encodeElements(IElementMementoRequest[] requests) {
|
||||||
|
|
||||||
for ( IElementMementoRequest request : requests ) {
|
for ( IElementMementoRequest request : requests ) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue