mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-07 08:15:48 +02:00
An ICDebuggerPage adapter is added to retain compatibility with old extensions.
This commit is contained in:
parent
67a5ca4aef
commit
edb9268280
3 changed files with 181 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2006-03-15 Mikhail Khodjaiants
|
||||
An ICDebuggerPage adapter is added to retain compatibility with old extensions.
|
||||
+ CDebuggerPageAdapter.java
|
||||
* CDebugUIPlugin.java
|
||||
|
||||
2006-03-06 Mikhail Khodjaiants
|
||||
Fix for Bug 93777: Postmortem and Local launch need a default preference for selected debugger.
|
||||
* ICDebugHelpContextIds.java
|
||||
|
|
|
@ -0,0 +1,165 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2004 QNX Software Systems and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* QNX Software Systems - Initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.debug.internal.ui;
|
||||
|
||||
import org.eclipse.cdt.debug.ui.ICDebuggerPage;
|
||||
import org.eclipse.debug.core.ILaunch;
|
||||
import org.eclipse.debug.core.ILaunchConfiguration;
|
||||
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
|
||||
import org.eclipse.debug.ui.ILaunchConfigurationDialog;
|
||||
import org.eclipse.debug.ui.ILaunchConfigurationTab;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
|
||||
/**
|
||||
* Migration from <code>AbstractLaunchConfigurationTab</code> to <code>ICDebuggerPage</code>.
|
||||
*
|
||||
* @since 3.1
|
||||
*/
|
||||
public class CDebuggerPageAdapter implements ICDebuggerPage {
|
||||
|
||||
private ILaunchConfigurationTab fDelegate;
|
||||
private String fDebuggerId;
|
||||
|
||||
/**
|
||||
* Constructor for CDebuggerPageAdapter.
|
||||
*/
|
||||
public CDebuggerPageAdapter( ILaunchConfigurationTab tab ) {
|
||||
fDelegate = tab;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.ui.ICDebuggerPage#init(java.lang.String)
|
||||
*/
|
||||
public void init( String debuggerID ) {
|
||||
fDebuggerId = debuggerID;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.ui.ICDebuggerPage#getDebuggerIdentifier()
|
||||
*/
|
||||
public String getDebuggerIdentifier() {
|
||||
return fDebuggerId;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
|
||||
*/
|
||||
public void createControl( Composite parent ) {
|
||||
fDelegate.createControl( parent );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getControl()
|
||||
*/
|
||||
public Control getControl() {
|
||||
return fDelegate.getControl();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||
*/
|
||||
public void setDefaults( ILaunchConfigurationWorkingCopy configuration ) {
|
||||
fDelegate.setDefaults( configuration );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
|
||||
*/
|
||||
public void initializeFrom( ILaunchConfiguration configuration ) {
|
||||
fDelegate.initializeFrom( configuration );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
|
||||
*/
|
||||
public void dispose() {
|
||||
fDelegate.dispose();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||
*/
|
||||
public void performApply( ILaunchConfigurationWorkingCopy configuration ) {
|
||||
fDelegate.performApply( configuration );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getErrorMessage()
|
||||
*/
|
||||
public String getErrorMessage() {
|
||||
return fDelegate.getErrorMessage();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getMessage()
|
||||
*/
|
||||
public String getMessage() {
|
||||
return fDelegate.getMessage();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
|
||||
*/
|
||||
public boolean isValid( ILaunchConfiguration launchConfig ) {
|
||||
return fDelegate.isValid( launchConfig );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
|
||||
*/
|
||||
public boolean canSave() {
|
||||
return fDelegate.canSave();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setLaunchConfigurationDialog(org.eclipse.debug.ui.ILaunchConfigurationDialog)
|
||||
*/
|
||||
public void setLaunchConfigurationDialog( ILaunchConfigurationDialog dialog ) {
|
||||
fDelegate.setLaunchConfigurationDialog( dialog );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#launched(org.eclipse.debug.core.ILaunch)
|
||||
*/
|
||||
public void launched( ILaunch launch ) {
|
||||
fDelegate.launched( launch );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
|
||||
*/
|
||||
public String getName() {
|
||||
return fDelegate.getName();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
|
||||
*/
|
||||
public Image getImage() {
|
||||
return fDelegate.getImage();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||
*/
|
||||
public void activated( ILaunchConfigurationWorkingCopy workingCopy ) {
|
||||
fDelegate.activated( workingCopy );
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
|
||||
*/
|
||||
public void deactivated( ILaunchConfigurationWorkingCopy workingCopy ) {
|
||||
fDelegate.deactivated( workingCopy );
|
||||
}
|
||||
}
|
|
@ -18,6 +18,7 @@ import org.eclipse.cdt.debug.core.model.IModuleRetrieval;
|
|||
import org.eclipse.cdt.debug.internal.ui.CBreakpointUpdater;
|
||||
import org.eclipse.cdt.debug.internal.ui.CDebugImageDescriptorRegistry;
|
||||
import org.eclipse.cdt.debug.internal.ui.CDebugModelPresentation;
|
||||
import org.eclipse.cdt.debug.internal.ui.CDebuggerPageAdapter;
|
||||
import org.eclipse.cdt.debug.internal.ui.ColorManager;
|
||||
import org.eclipse.cdt.debug.internal.ui.EvaluationContextManager;
|
||||
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
||||
|
@ -35,6 +36,7 @@ import org.eclipse.core.runtime.IStatus;
|
|||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.debug.core.model.IPersistableSourceLocator;
|
||||
import org.eclipse.debug.ui.ILaunchConfigurationTab;
|
||||
import org.eclipse.jface.dialogs.ErrorDialog;
|
||||
import org.eclipse.jface.preference.PreferenceConverter;
|
||||
import org.eclipse.jface.text.source.ISharedTextColors;
|
||||
|
@ -149,8 +151,15 @@ public class CDebugUIPlugin extends AbstractUIPlugin {
|
|||
IConfigurationElement configElement = (IConfigurationElement)fDebuggerPageMap.get( debuggerID );
|
||||
ICDebuggerPage tab = null;
|
||||
if ( configElement != null ) {
|
||||
tab = (ICDebuggerPage)configElement.createExecutableExtension( "class" ); //$NON-NLS-1$
|
||||
tab.init( debuggerID );
|
||||
Object o = configElement.createExecutableExtension( "class" ); //$NON-NLS-1$
|
||||
if ( o instanceof ICDebuggerPage ) {
|
||||
tab = (ICDebuggerPage)o;
|
||||
tab.init( debuggerID );
|
||||
}
|
||||
else if ( o instanceof ILaunchConfigurationTab ) {
|
||||
tab = new CDebuggerPageAdapter( (ILaunchConfigurationTab)o );
|
||||
tab.init( debuggerID );
|
||||
}
|
||||
}
|
||||
return tab;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue