mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-31 12:55:40 +02:00
Bug 82264: Enhance the Shared Libraries view. Replaced the table viewer by text widgets.
This commit is contained in:
parent
3dd649612e
commit
226ace7ccc
3 changed files with 157 additions and 237 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2005-02-16 Mikhail Khodjaiants
|
||||||
|
Bug 82264: Enhance the Shared Libraries view.
|
||||||
|
Replaced the table viewer by text widgets.
|
||||||
|
* PropertyPageMessages.properties
|
||||||
|
* ModulePropertyPage.java
|
||||||
|
|
||||||
2005-02-16 Mikhail Khodjaiants
|
2005-02-16 Mikhail Khodjaiants
|
||||||
Bug 82264: Enhance the Shared Libraries view.
|
Bug 82264: Enhance the Shared Libraries view.
|
||||||
The symbols file name isn't shown in the detail pane if module's
|
The symbols file name isn't shown in the detail pane if module's
|
||||||
|
|
|
@ -15,7 +15,6 @@ import org.eclipse.cdt.debug.core.CDIDebugModel;
|
||||||
import org.eclipse.cdt.debug.core.CDebugUtils;
|
import org.eclipse.cdt.debug.core.CDebugUtils;
|
||||||
import org.eclipse.cdt.debug.core.model.ICModule;
|
import org.eclipse.cdt.debug.core.model.ICModule;
|
||||||
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
||||||
import org.eclipse.cdt.debug.internal.ui.PixelConverter;
|
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
import org.eclipse.core.runtime.MultiStatus;
|
import org.eclipse.core.runtime.MultiStatus;
|
||||||
|
@ -23,25 +22,18 @@ import org.eclipse.core.runtime.Path;
|
||||||
import org.eclipse.core.runtime.Status;
|
import org.eclipse.core.runtime.Status;
|
||||||
import org.eclipse.debug.core.DebugException;
|
import org.eclipse.debug.core.DebugException;
|
||||||
import org.eclipse.debug.core.DebugPlugin;
|
import org.eclipse.debug.core.DebugPlugin;
|
||||||
import org.eclipse.jface.viewers.CellEditor;
|
|
||||||
import org.eclipse.jface.viewers.DialogCellEditor;
|
|
||||||
import org.eclipse.jface.viewers.ICellModifier;
|
|
||||||
import org.eclipse.jface.viewers.IStructuredContentProvider;
|
|
||||||
import org.eclipse.jface.viewers.ITableLabelProvider;
|
|
||||||
import org.eclipse.jface.viewers.LabelProvider;
|
|
||||||
import org.eclipse.jface.viewers.TableViewer;
|
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
|
import org.eclipse.swt.events.SelectionEvent;
|
||||||
|
import org.eclipse.swt.events.SelectionListener;
|
||||||
import org.eclipse.swt.graphics.Font;
|
import org.eclipse.swt.graphics.Font;
|
||||||
import org.eclipse.swt.graphics.Image;
|
|
||||||
import org.eclipse.swt.layout.GridData;
|
import org.eclipse.swt.layout.GridData;
|
||||||
import org.eclipse.swt.layout.GridLayout;
|
import org.eclipse.swt.layout.GridLayout;
|
||||||
|
import org.eclipse.swt.widgets.Button;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Control;
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.FileDialog;
|
import org.eclipse.swt.widgets.FileDialog;
|
||||||
import org.eclipse.swt.widgets.Table;
|
import org.eclipse.swt.widgets.Label;
|
||||||
import org.eclipse.swt.widgets.TableColumn;
|
import org.eclipse.swt.widgets.Text;
|
||||||
import org.eclipse.swt.widgets.TableItem;
|
|
||||||
import org.eclipse.ui.dialogs.PropertyPage;
|
import org.eclipse.ui.dialogs.PropertyPage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -49,130 +41,16 @@ import org.eclipse.ui.dialogs.PropertyPage;
|
||||||
*/
|
*/
|
||||||
public class ModulePropertyPage extends PropertyPage {
|
public class ModulePropertyPage extends PropertyPage {
|
||||||
|
|
||||||
public class ModulePropertyLabelProvider extends LabelProvider implements ITableLabelProvider {
|
private Label fTypeField;
|
||||||
|
private Label fCPUField;
|
||||||
/* (non-Javadoc)
|
private Label fBaseAddressField;
|
||||||
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
|
private Label fSizeField;
|
||||||
*/
|
private Label fSymbolsField;
|
||||||
public Image getColumnImage( Object element, int columnIndex ) {
|
protected Text fSymbolsFileField;
|
||||||
return null;
|
protected Button fBrowseButton;
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
|
|
||||||
*/
|
|
||||||
public String getColumnText( Object element, int columnIndex ) {
|
|
||||||
if ( element instanceof ModuleProperties.Property ) {
|
|
||||||
ModuleProperties.Property property = (ModuleProperties.Property)element;
|
|
||||||
if ( ModuleProperties.TYPE.equals( property.getKey() ) ) {
|
|
||||||
if ( columnIndex == 0 ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.0" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
Integer type = (Integer)property.getValue();
|
|
||||||
if ( type.intValue() == ICModule.EXECUTABLE ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.1" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
if ( type.intValue() == ICModule.SHARED_LIBRARY ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.2" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
if ( type.intValue() == ICModule.CORE ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.3" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( ModuleProperties.CPU.equals( property.getKey() ) ) {
|
|
||||||
if ( columnIndex == 0 ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.4" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
String cpu = (String)property.getValue();
|
|
||||||
return ( cpu != null ) ? cpu : PropertyPageMessages.getString( "ModulePropertyPage.5" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
else if ( ModuleProperties.BASE_ADDRESS.equals( property.getKey() ) ) {
|
|
||||||
if ( columnIndex == 0 ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.6" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
IAddress address = (IAddress)property.getValue();
|
|
||||||
return ( address != null && !address.isZero() ) ? address.toHexAddressString() : PropertyPageMessages.getString( "ModulePropertyPage.7" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
else if ( ModuleProperties.SIZE.equals( property.getKey() ) ) {
|
|
||||||
if ( columnIndex == 0 ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.8" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
Long size = (Long)property.getValue();
|
|
||||||
return ( size != null && size.longValue() > 0 ) ? size.toString() : PropertyPageMessages.getString( "ModulePropertyPage.9" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
else if ( ModuleProperties.SYMBOLS_LOADED.equals( property.getKey() ) ) {
|
|
||||||
if ( columnIndex == 0 ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.10" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
Boolean loaded = (Boolean)property.getValue();
|
|
||||||
return ( loaded != null && loaded.booleanValue() ) ? PropertyPageMessages.getString( "ModulePropertyPage.11" ) : PropertyPageMessages.getString( "ModulePropertyPage.12" ); //$NON-NLS-1$ //$NON-NLS-2$
|
|
||||||
}
|
|
||||||
else if ( ModuleProperties.SYMBOLS_FILE.equals( property.getKey() ) ) {
|
|
||||||
if ( columnIndex == 0 ) {
|
|
||||||
return PropertyPageMessages.getString( "ModulePropertyPage.13" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
IPath path = (IPath)property.getValue();
|
|
||||||
return ( path != null ) ? path.toOSString() : PropertyPageMessages.getString( "ModulePropertyPage.14" ); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ModulePropertyContentProvider implements IStructuredContentProvider {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor for ModulePropertyContentProvider.
|
|
||||||
*/
|
|
||||||
public ModulePropertyContentProvider() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
|
|
||||||
*/
|
|
||||||
public Object[] getElements( Object inputElement ) {
|
|
||||||
if ( inputElement instanceof ICModule ) {
|
|
||||||
if ( getModuleProperties() == null ) {
|
|
||||||
setModuleProperties( ModuleProperties.create( (ICModule)inputElement ) );
|
|
||||||
}
|
|
||||||
return getModuleProperties().getProperties();
|
|
||||||
}
|
|
||||||
return new Object[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
|
|
||||||
*/
|
|
||||||
public void dispose() {
|
|
||||||
disposeProperties();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
|
|
||||||
*/
|
|
||||||
public void inputChanged( Viewer viewer, Object oldInput, Object newInput ) {
|
|
||||||
if ( oldInput != null && oldInput.equals( newInput ) )
|
|
||||||
return;
|
|
||||||
disposeProperties();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void disposeProperties() {
|
|
||||||
if ( getModuleProperties() != null ) {
|
|
||||||
getModuleProperties().dispose();
|
|
||||||
setModuleProperties( null );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private ModuleProperties fProperties = null;
|
private ModuleProperties fProperties = null;
|
||||||
|
|
||||||
private TableViewer fViewer;
|
|
||||||
|
|
||||||
// Column properties
|
|
||||||
private static final String CP_NAME = "name"; //$NON-NLS-1$
|
|
||||||
private static final String CP_VALUE = "value"; //$NON-NLS-1$
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
|
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
|
||||||
*/
|
*/
|
||||||
|
@ -181,31 +59,13 @@ public class ModulePropertyPage extends PropertyPage {
|
||||||
Composite composite = new Composite( parent, SWT.NONE );
|
Composite composite = new Composite( parent, SWT.NONE );
|
||||||
Font font = parent.getFont();
|
Font font = parent.getFont();
|
||||||
composite.setFont( font );
|
composite.setFont( font );
|
||||||
composite.setLayout( new GridLayout() );
|
GridLayout topLayout = new GridLayout();
|
||||||
|
topLayout.numColumns = 2;
|
||||||
|
composite.setLayout( topLayout );
|
||||||
composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
|
composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
|
||||||
fViewer = new TableViewer( composite, SWT.BORDER );
|
|
||||||
Table table = fViewer.getTable();
|
createFields( composite );
|
||||||
table.setLinesVisible( true );
|
initializeFields();
|
||||||
table.setHeaderVisible( true );
|
|
||||||
table.setLayoutData( new GridData( GridData.FILL_BOTH ) );
|
|
||||||
|
|
||||||
// Create the table columns
|
|
||||||
new TableColumn( table, SWT.NULL );
|
|
||||||
new TableColumn( table, SWT.NULL );
|
|
||||||
TableColumn[] columns = table.getColumns();
|
|
||||||
columns[0].setResizable( true );
|
|
||||||
columns[1].setResizable( true );
|
|
||||||
|
|
||||||
PixelConverter pc = new PixelConverter( parent );
|
|
||||||
columns[0].setWidth( pc.convertWidthInCharsToPixels( 15 ) );
|
|
||||||
columns[1].setWidth( pc.convertWidthInCharsToPixels( 40 ) );
|
|
||||||
|
|
||||||
fViewer.setColumnProperties( new String[]{ CP_NAME, CP_VALUE } );
|
|
||||||
fViewer.setCellEditors( new CellEditor[]{ null, createSymbolsFileCellEditor( table ) } );
|
|
||||||
fViewer.setCellModifier( createCellModifier() );
|
|
||||||
|
|
||||||
fViewer.setContentProvider( createContentProvider() );
|
|
||||||
fViewer.setLabelProvider( createLabelProvider() );
|
|
||||||
|
|
||||||
setValid( true );
|
setValid( true );
|
||||||
return composite;
|
return composite;
|
||||||
|
@ -215,22 +75,6 @@ public class ModulePropertyPage extends PropertyPage {
|
||||||
return (ICModule)getElement();
|
return (ICModule)getElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModulePropertyContentProvider createContentProvider() {
|
|
||||||
return new ModulePropertyContentProvider();
|
|
||||||
}
|
|
||||||
|
|
||||||
private ModulePropertyLabelProvider createLabelProvider() {
|
|
||||||
return new ModulePropertyLabelProvider();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
|
|
||||||
*/
|
|
||||||
public void createControl( Composite parent ) {
|
|
||||||
super.createControl( parent );
|
|
||||||
getViewer().setInput( getElement() );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.eclipse.jface.preference.IPreferencePage#performOk()
|
* @see org.eclipse.jface.preference.IPreferencePage#performOk()
|
||||||
*/
|
*/
|
||||||
|
@ -256,70 +100,138 @@ public class ModulePropertyPage extends PropertyPage {
|
||||||
return super.performOk();
|
return super.performOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected TableViewer getViewer() {
|
|
||||||
return fViewer;
|
|
||||||
}
|
|
||||||
|
|
||||||
private ICellModifier createCellModifier() {
|
|
||||||
return new ICellModifier() {
|
|
||||||
|
|
||||||
public boolean canModify( Object element, String property ) {
|
|
||||||
return ( element instanceof ModuleProperties.Property &&
|
|
||||||
ModuleProperties.SYMBOLS_FILE.equals( ((ModuleProperties.Property)element).getKey() ) &&
|
|
||||||
CP_VALUE.equals( property ) &&
|
|
||||||
getModule().canModifySymbolsSource() );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void modify( Object element, String property, Object value ) {
|
|
||||||
ModuleProperties.Property mp = (ModuleProperties.Property)((TableItem)element).getData();
|
|
||||||
if ( ModuleProperties.SYMBOLS_FILE.equals( mp.getKey() ) &&
|
|
||||||
CP_VALUE.equals( property ) &&
|
|
||||||
getModule().canModifySymbolsSource() &&
|
|
||||||
value instanceof IPath ) {
|
|
||||||
getModuleProperties().setProperty( mp.getKey(), value );
|
|
||||||
if ( getModuleProperties().isDirty() ) {
|
|
||||||
getViewer().refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getValue( Object element, String property ) {
|
|
||||||
if ( element instanceof ModuleProperties.Property &&
|
|
||||||
ModuleProperties.SYMBOLS_FILE.equals( ((ModuleProperties.Property)element).getKey() ) &&
|
|
||||||
CP_VALUE.equals( property ) &&
|
|
||||||
getModule().canModifySymbolsSource() ) {
|
|
||||||
return ((ModuleProperties.Property)element).getValue();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
private CellEditor createSymbolsFileCellEditor( Table table ) {
|
|
||||||
|
|
||||||
return new DialogCellEditor( table ) {
|
|
||||||
|
|
||||||
protected Object openDialogBox( Control cellEditorWindow ) {
|
|
||||||
FileDialog dialog = new FileDialog( cellEditorWindow.getShell() );
|
|
||||||
dialog.setFileName( ((IPath)getModuleProperties().getProperty( ModuleProperties.SYMBOLS_FILE )).toOSString() );
|
|
||||||
String fn = dialog.open();
|
|
||||||
return ( fn != null ) ? new Path( dialog.getFilterPath() ).append( dialog.getFileName() ) : getModule().getSymbolsFileName();
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ModuleProperties getModuleProperties() {
|
protected ModuleProperties getModuleProperties() {
|
||||||
|
if ( fProperties == null ) {
|
||||||
|
fProperties = ModuleProperties.create( getModule() );
|
||||||
|
}
|
||||||
return fProperties;
|
return fProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setModuleProperties( ModuleProperties properties ) {
|
|
||||||
fProperties = properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void failed( String message, Throwable e ) {
|
protected void failed( String message, Throwable e ) {
|
||||||
MultiStatus ms = new MultiStatus( CDIDebugModel.getPluginIdentifier(), ICDebugInternalConstants.STATUS_CODE_ERROR, message, null );
|
MultiStatus ms = new MultiStatus( CDIDebugModel.getPluginIdentifier(), ICDebugInternalConstants.STATUS_CODE_ERROR, message, null );
|
||||||
ms.add( new Status( IStatus.ERROR, CDIDebugModel.getPluginIdentifier(), ICDebugInternalConstants.STATUS_CODE_ERROR, e.getMessage(), null ) );
|
ms.add( new Status( IStatus.ERROR, CDIDebugModel.getPluginIdentifier(), ICDebugInternalConstants.STATUS_CODE_ERROR, e.getMessage(), null ) );
|
||||||
CDebugUtils.error( ms, getModule() );
|
CDebugUtils.error( ms, getModule() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createFields( Composite parent ) {
|
||||||
|
fTypeField = createField( parent, PropertyPageMessages.getString( "ModulePropertyPage.0" ) ); //$NON-NLS-1$
|
||||||
|
fCPUField = createField( parent, PropertyPageMessages.getString( "ModulePropertyPage.4" ) ); //$NON-NLS-1$
|
||||||
|
fBaseAddressField = createField( parent, PropertyPageMessages.getString( "ModulePropertyPage.6" ) ); //$NON-NLS-1$
|
||||||
|
fSizeField = createField( parent, PropertyPageMessages.getString( "ModulePropertyPage.8" ) ); //$NON-NLS-1$
|
||||||
|
fSymbolsField = createField( parent, PropertyPageMessages.getString( "ModulePropertyPage.10" ) ); //$NON-NLS-1$
|
||||||
|
createSymbolsFileField( parent );
|
||||||
|
}
|
||||||
|
|
||||||
|
private Label createField( Composite parent, String label ) {
|
||||||
|
Font font = parent.getFont();
|
||||||
|
Label l = new Label( parent, SWT.LEFT );
|
||||||
|
l.setText( label );
|
||||||
|
GridData gd = new GridData( GridData.HORIZONTAL_ALIGN_FILL );
|
||||||
|
l.setLayoutData( gd );
|
||||||
|
l.setFont( font );
|
||||||
|
Label v = new Label( parent, SWT.LEFT );
|
||||||
|
gd = new GridData( GridData.HORIZONTAL_ALIGN_FILL );
|
||||||
|
v.setLayoutData( gd );
|
||||||
|
v.setFont( font );
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createSymbolsFileField( Composite parent ) {
|
||||||
|
Font font = parent.getFont();
|
||||||
|
|
||||||
|
// Separator
|
||||||
|
Label l = new Label( parent, SWT.LEFT );
|
||||||
|
GridData gd = new GridData( GridData.FILL_HORIZONTAL );
|
||||||
|
gd.horizontalSpan = 2;
|
||||||
|
l.setLayoutData( gd );
|
||||||
|
|
||||||
|
l = new Label( parent, SWT.LEFT );
|
||||||
|
l.setText( PropertyPageMessages.getString( "ModulePropertyPage.13" ) ); //$NON-NLS-1$
|
||||||
|
gd = new GridData( GridData.FILL_HORIZONTAL );
|
||||||
|
gd.horizontalSpan = 2;
|
||||||
|
l.setLayoutData( gd );
|
||||||
|
l.setFont( font );
|
||||||
|
Composite composite = new Composite( parent, SWT.NONE );
|
||||||
|
composite.setFont( font );
|
||||||
|
GridLayout layout = new GridLayout();
|
||||||
|
layout.numColumns = 5;
|
||||||
|
composite.setLayout( layout );
|
||||||
|
gd = new GridData( GridData.FILL_BOTH );
|
||||||
|
gd.horizontalSpan = 2;
|
||||||
|
composite.setLayoutData( gd );
|
||||||
|
|
||||||
|
// Text
|
||||||
|
fSymbolsFileField = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||||
|
gd = new GridData( GridData.FILL_HORIZONTAL );
|
||||||
|
gd.horizontalSpan = 4;
|
||||||
|
fSymbolsFileField.setLayoutData( gd );
|
||||||
|
|
||||||
|
fBrowseButton = new Button( composite, SWT.PUSH );
|
||||||
|
fBrowseButton.setText( PropertyPageMessages.getString( "ModulePropertyPage.3" ) ); //$NON-NLS-1$
|
||||||
|
fBrowseButton.addSelectionListener(
|
||||||
|
new SelectionListener() {
|
||||||
|
|
||||||
|
public void widgetSelected( SelectionEvent e ) {
|
||||||
|
FileDialog dialog = new FileDialog( fBrowseButton.getShell() );
|
||||||
|
dialog.setFileName( ((IPath)getModuleProperties().getProperty( ModuleProperties.SYMBOLS_FILE )).toOSString() );
|
||||||
|
String fn = dialog.open();
|
||||||
|
if ( fn != null ) {
|
||||||
|
IPath path = new Path( fn );
|
||||||
|
fSymbolsFileField.setText( path.toOSString() );
|
||||||
|
getModuleProperties().setProperty( ModuleProperties.SYMBOLS_FILE, path );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void widgetDefaultSelected( SelectionEvent e ) {
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initializeFields() {
|
||||||
|
// Type
|
||||||
|
Integer type = (Integer)getModuleProperties().getProperty( ModuleProperties.TYPE );
|
||||||
|
String value = PropertyPageMessages.getString( "ModulePropertyPage.16" ); //$NON-NLS-1$
|
||||||
|
if ( type.intValue() == ICModule.EXECUTABLE ) {
|
||||||
|
value = PropertyPageMessages.getString( "ModulePropertyPage.1" ); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
if ( type.intValue() == ICModule.SHARED_LIBRARY ) {
|
||||||
|
value = PropertyPageMessages.getString( "ModulePropertyPage.2" ); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
fTypeField.setText( value );
|
||||||
|
|
||||||
|
// CPU
|
||||||
|
String cpu = (String)getModuleProperties().getProperty( ModuleProperties.CPU );
|
||||||
|
value = ( cpu != null ) ? cpu : PropertyPageMessages.getString( "ModulePropertyPage.5" ); //$NON-NLS-1$
|
||||||
|
fCPUField.setText( value );
|
||||||
|
|
||||||
|
// Base address
|
||||||
|
IAddress address = (IAddress)getModuleProperties().getProperty( ModuleProperties.BASE_ADDRESS );
|
||||||
|
value = ( address != null && !address.isZero() ) ? address.toHexAddressString() : PropertyPageMessages.getString( "ModulePropertyPage.7" ); //$NON-NLS-1$
|
||||||
|
fBaseAddressField.setText( value );
|
||||||
|
|
||||||
|
// Size
|
||||||
|
Long size = (Long)getModuleProperties().getProperty( ModuleProperties.SIZE );
|
||||||
|
value = ( size != null && size.longValue() > 0 ) ? size.toString() : PropertyPageMessages.getString( "ModulePropertyPage.9" ); //$NON-NLS-1$
|
||||||
|
fSizeField.setText( value );
|
||||||
|
|
||||||
|
// Symbols flag
|
||||||
|
Boolean loaded = (Boolean)getModuleProperties().getProperty( ModuleProperties.SYMBOLS_LOADED );
|
||||||
|
value = ( loaded != null && loaded.booleanValue() ) ? PropertyPageMessages.getString( "ModulePropertyPage.11" ) : PropertyPageMessages.getString( "ModulePropertyPage.12" ); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
fSymbolsField.setText( value );
|
||||||
|
|
||||||
|
// Symbols file:
|
||||||
|
IPath path = (IPath)getModuleProperties().getProperty( ModuleProperties.SYMBOLS_FILE );
|
||||||
|
value = ( path != null ) ? path.toOSString() : PropertyPageMessages.getString( "ModulePropertyPage.14" ); //$NON-NLS-1$
|
||||||
|
fSymbolsFileField.setText( value );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.eclipse.jface.dialogs.IDialogPage#dispose()
|
||||||
|
*/
|
||||||
|
public void dispose() {
|
||||||
|
if ( getModuleProperties() != null ) {
|
||||||
|
getModuleProperties().dispose();
|
||||||
|
}
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,21 +36,23 @@ SignalPropertyPage.2=Suspend the program when this signal happens.
|
||||||
SignalPropertyPage.3=Error
|
SignalPropertyPage.3=Error
|
||||||
SignalPropertyPage.4=Operation failed.
|
SignalPropertyPage.4=Operation failed.
|
||||||
SignalPropertyPage.5=Unable to change signal properties.
|
SignalPropertyPage.5=Unable to change signal properties.
|
||||||
ModulePropertyPage.0=Type
|
ModulePropertyPage.0=Type:
|
||||||
ModulePropertyPage.1=executable
|
ModulePropertyPage.1=executable
|
||||||
ModulePropertyPage.2=shared library
|
ModulePropertyPage.2=shared library
|
||||||
ModulePropertyPage.3=core file
|
ModulePropertyPage.3=core file
|
||||||
ModulePropertyPage.4=CPU
|
ModulePropertyPage.3=Browse...
|
||||||
|
ModulePropertyPage.4=CPU:
|
||||||
ModulePropertyPage.5=not available
|
ModulePropertyPage.5=not available
|
||||||
ModulePropertyPage.6=Base address
|
ModulePropertyPage.6=Base address:
|
||||||
ModulePropertyPage.7=not available
|
ModulePropertyPage.7=not available
|
||||||
ModulePropertyPage.8=Size
|
ModulePropertyPage.8=Size:
|
||||||
ModulePropertyPage.9=not available
|
ModulePropertyPage.9=not available
|
||||||
ModulePropertyPage.10=Symbols
|
ModulePropertyPage.10=Symbols:
|
||||||
ModulePropertyPage.11=loaded
|
ModulePropertyPage.11=loaded
|
||||||
ModulePropertyPage.12=not loaded
|
ModulePropertyPage.12=not loaded
|
||||||
ModulePropertyPage.13=Symbols file
|
ModulePropertyPage.13=Symbols file:
|
||||||
ModulePropertyPage.14=not found
|
ModulePropertyPage.14=not found
|
||||||
ModulePropertyPage.15=Error
|
ModulePropertyPage.15=Error
|
||||||
ModulePropertyPage.15=Unable to load symbols.
|
ModulePropertyPage.15=Unable to load symbols.
|
||||||
ModulePropertyPage.16=Unable to load symbols.
|
ModulePropertyPage.16=Unable to load symbols.
|
||||||
|
ModulePropertyPage.16=not available
|
||||||
|
|
Loading…
Add table
Reference in a new issue