Package melnorme.lang.ide.debug.ui.viewmodel

Source Code of melnorme.lang.ide.debug.ui.viewmodel.GdbVariableVMProvider_Override

package melnorme.lang.ide.debug.ui.viewmodel;


import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.DsfCastToTypeSupport;
import org.eclipse.cdt.dsf.debug.ui.viewmodel.variable.SyncVariableDataAccess;
import org.eclipse.cdt.dsf.gdb.internal.ui.viewmodel.GdbVariableVMNode;
import org.eclipse.cdt.dsf.gdb.internal.ui.viewmodel.GdbVariableVMProvider;
import org.eclipse.cdt.dsf.service.DsfSession;
import org.eclipse.cdt.dsf.ui.viewmodel.AbstractVMAdapter;
import org.eclipse.cdt.dsf.ui.viewmodel.IRootVMNode;
import org.eclipse.cdt.dsf.ui.viewmodel.IVMNode;
import org.eclipse.cdt.dsf.ui.viewmodel.datamodel.RootDMVMNode;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;

@SuppressWarnings("restriction")
public class GdbVariableVMProvider_Override extends GdbVariableVMProvider {
 
  public GdbVariableVMProvider_Override(AbstractVMAdapter adapter, IPresentationContext context,
      DsfSession session) {
    super(adapter, context, session);
  }
 
  // copied from super code
  @Override
  protected void configureLayout() {
        // Create the variable data access routines.
        SyncVariableDataAccess varAccess = new SyncVariableDataAccess(getSession()) ;
     
        // Create the top level node to deal with the root selection.
        IRootVMNode rootNode = new RootDMVMNode(this);
        setRootNode(rootNode);
       
        // Create the next level which represents members of structs/unions/enums and elements of arrays.
        GdbVariableVMNode subExpressioNode = createGdbVariableVMNode(varAccess);
        addChildNodes(rootNode, new IVMNode[] { subExpressioNode });

    /* Wire up the casting support. IExpressions2 service is always available
     * for gdb. No need to call hookUpCastingSupport */
    subExpressioNode.setCastToTypeSupport(new DsfCastToTypeSupport(getSession(), this, varAccess));
       
        // Configure the sub-expression node to be a child of itself.  This way the content
        // provider will recursively drill-down the variable hierarchy.
        addChildNodes(subExpressioNode, new IVMNode[] { subExpressioNode });
    }
 
  protected GdbVariableVMNode createGdbVariableVMNode(SyncVariableDataAccess varAccess) {
    return new GdbVariableVMNode(this, getSession(), varAccess);
  }
 
}
TOP

Related Classes of melnorme.lang.ide.debug.ui.viewmodel.GdbVariableVMProvider_Override

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.