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:
parent
8a84fa9f72
commit
2f40ba594e
2 changed files with 23 additions and 0 deletions
|
@ -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>
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue