1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

[212942] - [modules] Modules Detail Viewer should have an enablement expression

This commit is contained in:
Pawel Piech 2008-05-09 17:05:17 +00:00
parent 8a84fa9f72
commit 2f40ba594e
2 changed files with 23 additions and 0 deletions

View file

@ -337,6 +337,13 @@
<detailFactories <detailFactories
class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.modules.detail.ModuleDetailPaneFactory" class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.modules.detail.ModuleDetailPaneFactory"
id="org.eclipse.dd.dsf.debug.ui.viewmodel.moduleDetailPaneFactory"> id="org.eclipse.dd.dsf.debug.ui.viewmodel.moduleDetailPaneFactory">
<enablement>
<with variable="selection">
<iterate>
<instanceof value="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.modules.ModulesVMNode$ModuleVMContext"/>
</iterate>
</with>
</enablement>
</detailFactories> </detailFactories>
</extension> </extension>

View file

@ -17,6 +17,7 @@ import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.concurrent.DsfRunnable; import org.eclipse.dd.dsf.concurrent.DsfRunnable;
import org.eclipse.dd.dsf.concurrent.IDsfStatusConstants; import org.eclipse.dd.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.dd.dsf.concurrent.RequestMonitor; import org.eclipse.dd.dsf.concurrent.RequestMonitor;
import org.eclipse.dd.dsf.datamodel.IDMContext;
import org.eclipse.dd.dsf.debug.internal.ui.DsfDebugUIPlugin; import org.eclipse.dd.dsf.debug.internal.ui.DsfDebugUIPlugin;
import org.eclipse.dd.dsf.debug.service.IModules; import org.eclipse.dd.dsf.debug.service.IModules;
import org.eclipse.dd.dsf.debug.service.IRunControl; import org.eclipse.dd.dsf.debug.service.IRunControl;
@ -28,6 +29,7 @@ import org.eclipse.dd.dsf.service.DsfSession;
import org.eclipse.dd.dsf.ui.viewmodel.VMDelta; import org.eclipse.dd.dsf.ui.viewmodel.VMDelta;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMNode; import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMNode;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider; import org.eclipse.dd.dsf.ui.viewmodel.datamodel.AbstractDMVMProvider;
import org.eclipse.dd.dsf.ui.viewmodel.datamodel.IDMVMContext;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider; import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider;
import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
@ -37,6 +39,16 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
public class ModulesVMNode extends AbstractDMVMNode public class ModulesVMNode extends AbstractDMVMNode
implements IElementLabelProvider implements IElementLabelProvider
{ {
/**
* Marker type for the modules VM context. It allows action enablement
* expressions to check for module context type.
*/
public class ModuleVMContext extends DMVMContext {
protected ModuleVMContext(IDMContext dmc) {
super(dmc);
}
}
public ModulesVMNode(AbstractDMVMProvider provider, DsfSession session) { public ModulesVMNode(AbstractDMVMProvider provider, DsfSession session) {
super(provider, session, IModuleDMContext.class); super(provider, session, IModuleDMContext.class);
} }
@ -70,6 +82,10 @@ public class ModulesVMNode extends AbstractDMVMNode
} }
@Override
protected IDMVMContext createVMContext(IDMContext dmc) {
return new ModuleVMContext(dmc);
}
public void update(final ILabelUpdate[] updates) { public void update(final ILabelUpdate[] updates) {
try { try {