From 7fb590779bd216298e36e5bdeaf197f26e7c4b89 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Tue, 10 Feb 2004 20:15:00 +0000 Subject: [PATCH] Fix for bug 51519: Enable 'Format' action if multiple variables are selected. --- debug/org.eclipse.cdt.debug.ui/ChangeLog | 4 +++ .../actions/VariableFormatActionDelegate.java | 28 +++++++++++++------ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index 028a7b3412a..979223dca7f 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,7 @@ +2004-02-10 Mikhail Khodjaiants + Fix for bug 51519: Enable 'Format' action if multiple variables are selected. + * VariableFormatActionDelegate.java + 2004-02-03 Alain Magloire Derived from a patch by Chris Songer. diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/VariableFormatActionDelegate.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/VariableFormatActionDelegate.java index 99235f0902d..1986a7bfc20 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/VariableFormatActionDelegate.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/VariableFormatActionDelegate.java @@ -54,7 +54,8 @@ public class VariableFormatActionDelegate implements IObjectActionDelegate */ public void run( IAction action ) { - if ( fVariables != null && fVariables.length > 0 ) + ICVariable[] vars = getVariables(); + if ( vars != null && vars.length > 0 ) { final MultiStatus ms = new MultiStatus( CDebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, "", null ); @@ -65,7 +66,7 @@ public class VariableFormatActionDelegate implements IObjectActionDelegate { try { - doAction( fVariables ); + doAction( getVariables() ); } catch( DebugException e ) { @@ -109,14 +110,15 @@ public class VariableFormatActionDelegate implements IObjectActionDelegate action.setEnabled( enabled ); if ( enabled ) { - action.setChecked( var.getFormat() == fFormat ); + action.setChecked( var.getFormat() == fFormat ); list.add(o); } } } - fVariables = new ICVariable[list.size()]; - list.toArray(fVariables); - } else { + setVariables( (ICVariable[])list.toArray( new ICVariable[list.size()] ) ); + } + else + { action.setChecked( false ); action.setEnabled( false ); } @@ -124,9 +126,19 @@ public class VariableFormatActionDelegate implements IObjectActionDelegate protected void doAction( ICVariable[] vars ) throws DebugException { - for (int i = 0; i < vars.length; i++ ) + for( int i = 0; i < vars.length; i++ ) { - vars[i].setFormat(fFormat); + vars[i].setFormat( fFormat ); } } + + protected ICVariable[] getVariables() + { + return fVariables; + } + + private void setVariables( ICVariable[] variables ) + { + fVariables = variables; + } }