Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Fix for PR 43624: The "Show Types Name" action of the Registers view doesn't work

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.ui/ChangeLog,v
retrieving revision 1.185
diff -u -r1.185 ChangeLog
--- ChangeLog 22 Sep 2003 17:31:55 -0000 1.185
+++ ChangeLog 25 Sep 2003 02:12:10 -0000
@@ -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
  Moved the 'AddAddressBreakpointActionDelegate' action
  to the 'org.eclipse.cdt.debug.internal.ui.actions' package.
Index: src/org/eclipse/cdt/debug/internal/ui/actions/ShowRegisterTypesAction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/ShowRegisterTypesAction.java,v
retrieving revision 1.3
diff -u -r1.3 ShowRegisterTypesAction.java
--- src/org/eclipse/cdt/debug/internal/ui/actions/ShowRegisterTypesAction.java 1 Apr 2003 17:18:06 -0000 1.3
+++ src/org/eclipse/cdt/debug/internal/ui/actions/ShowRegisterTypesAction.java 25 Sep 2003 02:12:15 -0000
@@ -9,8 +9,8 @@
 import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds;
 import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
 import org.eclipse.debug.ui.IDebugModelPresentation;
+import org.eclipse.debug.ui.IDebugView;
 import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.swt.custom.BusyIndicator;
 import org.eclipse.ui.help.WorkbenchHelp;
@@ -24,15 +24,15 @@
  */
 public class ShowRegisterTypesAction extends Action
 {
- private StructuredViewer fViewer;
+ private IDebugView fView;
 
  /**
   * Constructor for ShowRegisterTypesAction.
   */
- public ShowRegisterTypesAction( StructuredViewer viewer )
+ public ShowRegisterTypesAction( IDebugView view )
  {
   super( "Show &Type Names", Action.AS_CHECK_BOX );
-  setViewer( viewer );
+  setView( view );
   setToolTipText( "Show Type Names" );
   CDebugImages.setLocalImageDescriptors( this, CDebugImages.IMG_LCL_TYPE_NAMES );
   setId( CDebugUIPlugin.getUniqueIdentifier() + ".ShowTypesAction" ); //$NON-NLS-1$
@@ -53,11 +53,10 @@
   {
    return;
   }
-  ILabelProvider labelProvider = (ILabelProvider)getViewer().getLabelProvider();
-  if ( labelProvider instanceof IDebugModelPresentation )
+  IDebugModelPresentation debugLabelProvider = (IDebugModelPresentation)getView().getAdapter( IDebugModelPresentation.class );
+  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(),
           new Runnable()
           {
@@ -80,11 +79,18 @@
 
  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;
  }
 }
Index: src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java,v
retrieving revision 1.15
diff -u -r1.15 RegistersView.java
--- src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java 30 Jun 2003 02:59:06 -0000 1.15
+++ src/org/eclipse/cdt/debug/internal/ui/views/registers/RegistersView.java 25 Sep 2003 02:12:16 -0000
@@ -34,6 +34,7 @@
 import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
 import org.eclipse.jface.viewers.IColorProvider;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.ILabelProvider;
@@ -174,7 +175,7 @@
   */
  protected void createActions()
  {
-  IAction action = "" ShowRegisterTypesAction( getStructuredViewer() );
+  IAction action = "" ShowRegisterTypesAction( this );
   setAction( "ShowTypeNames", action ); //$NON-NLS-1$
 
   action = "" ChangeRegisterValueAction( getViewer() );
@@ -229,7 +230,7 @@
   menu.add( new Separator( IWorkbenchActionConstants.MB_ADDITIONS ) );
 
   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( "Refresh" ) ); //$NON-NLS-1$
  }
@@ -395,4 +396,21 @@
  {
   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 );
+ }
+
 }

Back to the top