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
class="org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.modules.detail.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>
</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.IDsfStatusConstants;
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.service.IModules;
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.datamodel.AbstractDMVMNode;
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.IElementLabelProvider;
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
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) {
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) {
try {