1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-19 15:05:36 +02:00

Fix for PR 43624: The "Show Types Name" action of the Registers view doesn't work.

This commit is contained in:
Mikhail Khodjaiants 2003-09-25 02:12:59 +00:00
parent 6945eff592
commit c7b323e4fb
3 changed files with 42 additions and 13 deletions

View file

@ -1,3 +1,8 @@
2003-10-24 Mikhail Khodjaiants
Fix for PR 43624: The "Show Types Name" action of the Registers view doesn't work.
* ShowRegisterTypesAction.java
* RegistersView.java
2003-10-22 Mikhail Khodjaiants 2003-10-22 Mikhail Khodjaiants
Moved the 'AddAddressBreakpointActionDelegate' action Moved the 'AddAddressBreakpointActionDelegate' action
to the 'org.eclipse.cdt.debug.internal.ui.actions' package. to the 'org.eclipse.cdt.debug.internal.ui.actions' package.

View file

@ -9,8 +9,8 @@ import org.eclipse.cdt.debug.internal.ui.CDebugImages;
import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds; import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds;
import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
import org.eclipse.debug.ui.IDebugModelPresentation; import org.eclipse.debug.ui.IDebugModelPresentation;
import org.eclipse.debug.ui.IDebugView;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.StructuredViewer; import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.swt.custom.BusyIndicator; import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.ui.help.WorkbenchHelp; import org.eclipse.ui.help.WorkbenchHelp;
@ -24,15 +24,15 @@ import org.eclipse.ui.help.WorkbenchHelp;
*/ */
public class ShowRegisterTypesAction extends Action public class ShowRegisterTypesAction extends Action
{ {
private StructuredViewer fViewer; private IDebugView fView;
/** /**
* Constructor for ShowRegisterTypesAction. * Constructor for ShowRegisterTypesAction.
*/ */
public ShowRegisterTypesAction( StructuredViewer viewer ) public ShowRegisterTypesAction( IDebugView view )
{ {
super( "Show &Type Names", Action.AS_CHECK_BOX ); super( "Show &Type Names", Action.AS_CHECK_BOX );
setViewer( viewer ); setView( view );
setToolTipText( "Show Type Names" ); setToolTipText( "Show Type Names" );
CDebugImages.setLocalImageDescriptors( this, CDebugImages.IMG_LCL_TYPE_NAMES ); CDebugImages.setLocalImageDescriptors( this, CDebugImages.IMG_LCL_TYPE_NAMES );
setId( CDebugUIPlugin.getUniqueIdentifier() + ".ShowTypesAction" ); //$NON-NLS-1$ setId( CDebugUIPlugin.getUniqueIdentifier() + ".ShowTypesAction" ); //$NON-NLS-1$
@ -53,11 +53,10 @@ public class ShowRegisterTypesAction extends Action
{ {
return; return;
} }
ILabelProvider labelProvider = (ILabelProvider)getViewer().getLabelProvider(); IDebugModelPresentation debugLabelProvider = (IDebugModelPresentation)getView().getAdapter( IDebugModelPresentation.class );
if ( labelProvider instanceof IDebugModelPresentation ) if ( debugLabelProvider != null )
{ {
IDebugModelPresentation debugLabelProvider = (IDebugModelPresentation)labelProvider; debugLabelProvider.setAttribute( IDebugModelPresentation.DISPLAY_VARIABLE_TYPE_NAMES, ( on ? Boolean.TRUE : Boolean.FALSE ) );
debugLabelProvider.setAttribute( IDebugModelPresentation.DISPLAY_VARIABLE_TYPE_NAMES, ( on ? Boolean.TRUE : Boolean.FALSE ) );
BusyIndicator.showWhile( getViewer().getControl().getDisplay(), BusyIndicator.showWhile( getViewer().getControl().getDisplay(),
new Runnable() new Runnable()
{ {
@ -80,11 +79,18 @@ public class ShowRegisterTypesAction extends Action
protected StructuredViewer getViewer() protected StructuredViewer getViewer()
{ {
return fViewer; if ( getView() != null && getView().getViewer() instanceof StructuredViewer )
return (StructuredViewer)getView().getViewer();
return null;
} }
protected void setViewer( StructuredViewer viewer ) protected IDebugView getView()
{ {
fViewer = viewer; return fView;
}
public void setView( IDebugView view )
{
fView = view;
} }
} }

View file

@ -34,6 +34,7 @@ import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.Separator; import org.eclipse.jface.action.Separator;
import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IColorProvider; import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.IContentProvider; import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProvider;
@ -174,7 +175,7 @@ public class RegistersView extends AbstractDebugEventHandlerView
*/ */
protected void createActions() protected void createActions()
{ {
IAction action = new ShowRegisterTypesAction( getStructuredViewer() ); IAction action = new ShowRegisterTypesAction( this );
setAction( "ShowTypeNames", action ); //$NON-NLS-1$ setAction( "ShowTypeNames", action ); //$NON-NLS-1$
action = new ChangeRegisterValueAction( getViewer() ); action = new ChangeRegisterValueAction( getViewer() );
@ -229,7 +230,7 @@ public class RegistersView extends AbstractDebugEventHandlerView
menu.add( new Separator( IWorkbenchActionConstants.MB_ADDITIONS ) ); menu.add( new Separator( IWorkbenchActionConstants.MB_ADDITIONS ) );
menu.appendToGroup( ICDebugUIConstants.REGISTER_GROUP, getAction( "ChangeRegisterValue" ) ); //$NON-NLS-1$ menu.appendToGroup( ICDebugUIConstants.REGISTER_GROUP, getAction( "ChangeRegisterValue" ) ); //$NON-NLS-1$
menu.appendToGroup( IDebugUIConstants.RENDER_GROUP, getAction( "ShowTypeNames" ) ); //$NON-NLS-1$ // menu.appendToGroup( IDebugUIConstants.RENDER_GROUP, getAction( "ShowTypeNames" ) ); //$NON-NLS-1$
menu.appendToGroup( ICDebugUIConstants.REFRESH_GROUP, getAction( "AutoRefresh" ) ); //$NON-NLS-1$ menu.appendToGroup( ICDebugUIConstants.REFRESH_GROUP, getAction( "AutoRefresh" ) ); //$NON-NLS-1$
menu.appendToGroup( ICDebugUIConstants.REFRESH_GROUP, getAction( "Refresh" ) ); //$NON-NLS-1$ menu.appendToGroup( ICDebugUIConstants.REFRESH_GROUP, getAction( "Refresh" ) ); //$NON-NLS-1$
} }
@ -395,4 +396,21 @@ public class RegistersView extends AbstractDebugEventHandlerView
{ {
fExpandedRegisters.remove( rm ); fExpandedRegisters.remove( rm );
} }
/* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
public Object getAdapter( Class adapter )
{
if ( IDebugModelPresentation.class.equals( adapter ) )
{
IBaseLabelProvider labelProvider = getStructuredViewer().getLabelProvider();
if ( labelProvider instanceof VariablesViewLabelProvider )
{
return ((VariablesViewLabelProvider)labelProvider).getPresentation();
}
}
return super.getAdapter( adapter );
}
} }