Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/modules/ModulesVMNode.java')
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/modules/ModulesVMNode.java354
1 files changed, 177 insertions, 177 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/modules/ModulesVMNode.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/modules/ModulesVMNode.java
index caa6c539ddd..bcbff3d2307 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/modules/ModulesVMNode.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/modules/ModulesVMNode.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* Wind River Systems - initial API and implementation
* Ericsson AB - Modules view for DSF implementation
@@ -52,180 +52,180 @@ import org.eclipse.jface.resource.JFaceResources;
/**
* @since 1.0
- */
-public class ModulesVMNode extends AbstractDMVMNode
- implements IElementLabelProvider, IElementPropertiesProvider
-{
- /**
- * 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);
- }
- }
-
- /**
- * @since 2.0
- */
- public static final String PROP_IS_LOADED = "is_loaded"; //$NON-NLS-1$
-
-
- /**
- * The label provider delegate. This VM node will delegate label updates to this provider
- * which can be created by sub-classes.
- *
- * @since 2.0
- */
- private IElementLabelProvider fLabelProvider;
-
- /**
- * Creates the label provider delegate. This VM node will delegate label
- * updates to this provider which can be created by sub-classes.
- *
- * @return Returns the label provider for this node.
- *
- * @since 2.0
- */
- protected IElementLabelProvider createLabelProvider() {
- PropertiesBasedLabelProvider provider = new PropertiesBasedLabelProvider();
-
- provider.setColumnInfo(
- PropertiesBasedLabelProvider.ID_COLUMN_NO_COLUMNS,
- new LabelColumnInfo(new LabelAttribute[] {
- new LabelText(MessagesForModulesVM.ModulesVMNode_No_columns__text_format, new String[] { PROP_NAME }),
- new DsfUILabelImage(IDsfDebugUIConstants.IMG_OBJS_SHARED_LIBRARY_SYMBOLS_LOADED) {
- { setPropertyNames(new String[] { PROP_IS_LOADED }); }
-
- @Override
- public boolean checkProperty(String propertyName, IStatus status, Map<String,Object> properties) {
- if (PROP_IS_LOADED.equals(propertyName)) {
- return Boolean.TRUE.equals( properties.get(propertyName) );
- }
- return super.checkProperty(propertyName, status, properties);
- };
- },
- new DsfUILabelImage(IDsfDebugUIConstants.IMG_OBJS_SHARED_LIBRARY_SYMBOLS_UNLOADED),
- new StaleDataLabelBackground(),
- new LabelFont(JFaceResources.getFontDescriptor(IDebugUIConstants.PREF_VARIABLE_TEXT_FONT).getFontData()[0])
- }));
-
- return provider;
- }
-
- public ModulesVMNode(AbstractDMVMProvider provider, DsfSession session) {
- super(provider, session, IModuleDMContext.class);
-
- fLabelProvider = createLabelProvider();
- }
-
- @Override
- public String toString() {
- return "ModulesVMNode(" + getSession().getId() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- protected void updateElementsInSessionThread(final IChildrenUpdate update) {
- IModules modulesService = getServicesTracker().getService(IModules.class);
- final ISymbolDMContext symDmc = findDmcInPath(update.getViewerInput(), update.getElementPath(), ISymbolDMContext.class) ;
-
- if (modulesService == null || symDmc == null) {
- handleFailedUpdate(update);
- return;
- }
-
- modulesService.getModules(
- symDmc,
- new ViewerDataRequestMonitor<IModuleDMContext[]>(getSession().getExecutor(), update) {
- @Override
- public void handleCompleted() {
- if (!isSuccess()) {
- update.done();
- return;
- }
- fillUpdateWithVMCs(update, getData());
- update.done();
- }});
- }
-
- @Override
- protected IDMVMContext createVMContext(IDMContext dmc) {
- return new ModuleVMContext(dmc);
- }
-
- /*
- * @since 2.0
- */
- @Override
- public void update(final IPropertiesUpdate[] updates) {
- try {
- getSession().getExecutor().execute(new DsfRunnable() {
- @Override
- public void run() {
- updatePropertiesInSessionThread(updates);
- }});
- } catch (RejectedExecutionException e) {
- for (IPropertiesUpdate update : updates) {
- handleFailedUpdate(update);
- }
- }
- }
-
- @Override
- public void update(final ILabelUpdate[] updates) {
- fLabelProvider.update(updates);
- }
-
- /**
- * @since 2.0
- */
- @ConfinedToDsfExecutor("getSession().getExecutor()")
- protected void updatePropertiesInSessionThread(final IPropertiesUpdate[] updates) {
- IModules modulesService = getServicesTracker().getService(IModules.class);
- for (final IPropertiesUpdate update : updates) {
- final IModuleDMContext dmc = findDmcInPath(update.getViewerInput(), update.getElementPath(), IModuleDMContext.class);
- // If either update or service are not valid, fail the update and exit.
- if ( modulesService == null || dmc == null ) {
- handleFailedUpdate(update);
- return;
- }
-
- modulesService.getModuleData(
- dmc,
- new ViewerDataRequestMonitor<IModuleDMData>(getSession().getExecutor(), update) {
- @Override
- protected void handleSuccess() {
- fillModuleDataProperties(update, getData());
- update.done();
- }
- });
- }
- }
-
- /**
- * @since 2.0
- */
- protected void fillModuleDataProperties(IPropertiesUpdate update, IModuleDMData data) {
- update.setProperty(PROP_NAME, data.getName());
- update.setProperty(PROP_IS_LOADED, data.isSymbolsLoaded());
- }
-
- @Override
- public int getDeltaFlags(Object e) {
- if (e instanceof IRunControl.ISuspendedDMEvent) {
- return IModelDelta.CONTENT;
- }
- return IModelDelta.NO_CHANGE;
- }
-
- @Override
- public void buildDelta(Object e, VMDelta parentDelta, int nodeOffset, RequestMonitor rm) {
- if (e instanceof IRunControl.ISuspendedDMEvent) {
- // Create a delta that indicates all groups have changed
- parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.CONTENT);
- }
-
- rm.done();
- }
+ */
+public class ModulesVMNode extends AbstractDMVMNode implements IElementLabelProvider, IElementPropertiesProvider {
+ /**
+ * 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);
+ }
+ }
+
+ /**
+ * @since 2.0
+ */
+ public static final String PROP_IS_LOADED = "is_loaded"; //$NON-NLS-1$
+
+ /**
+ * The label provider delegate. This VM node will delegate label updates to this provider
+ * which can be created by sub-classes.
+ *
+ * @since 2.0
+ */
+ private IElementLabelProvider fLabelProvider;
+
+ /**
+ * Creates the label provider delegate. This VM node will delegate label
+ * updates to this provider which can be created by sub-classes.
+ *
+ * @return Returns the label provider for this node.
+ *
+ * @since 2.0
+ */
+ protected IElementLabelProvider createLabelProvider() {
+ PropertiesBasedLabelProvider provider = new PropertiesBasedLabelProvider();
+
+ provider.setColumnInfo(PropertiesBasedLabelProvider.ID_COLUMN_NO_COLUMNS,
+ new LabelColumnInfo(new LabelAttribute[] {
+ new LabelText(MessagesForModulesVM.ModulesVMNode_No_columns__text_format,
+ new String[] { PROP_NAME }),
+ new DsfUILabelImage(IDsfDebugUIConstants.IMG_OBJS_SHARED_LIBRARY_SYMBOLS_LOADED) {
+ {
+ setPropertyNames(new String[] { PROP_IS_LOADED });
+ }
+
+ @Override
+ public boolean checkProperty(String propertyName, IStatus status,
+ Map<String, Object> properties) {
+ if (PROP_IS_LOADED.equals(propertyName)) {
+ return Boolean.TRUE.equals(properties.get(propertyName));
+ }
+ return super.checkProperty(propertyName, status, properties);
+ };
+ }, new DsfUILabelImage(IDsfDebugUIConstants.IMG_OBJS_SHARED_LIBRARY_SYMBOLS_UNLOADED),
+ new StaleDataLabelBackground(), new LabelFont(JFaceResources
+ .getFontDescriptor(IDebugUIConstants.PREF_VARIABLE_TEXT_FONT).getFontData()[0]) }));
+
+ return provider;
+ }
+
+ public ModulesVMNode(AbstractDMVMProvider provider, DsfSession session) {
+ super(provider, session, IModuleDMContext.class);
+
+ fLabelProvider = createLabelProvider();
+ }
+
+ @Override
+ public String toString() {
+ return "ModulesVMNode(" + getSession().getId() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @Override
+ protected void updateElementsInSessionThread(final IChildrenUpdate update) {
+ IModules modulesService = getServicesTracker().getService(IModules.class);
+ final ISymbolDMContext symDmc = findDmcInPath(update.getViewerInput(), update.getElementPath(),
+ ISymbolDMContext.class);
+
+ if (modulesService == null || symDmc == null) {
+ handleFailedUpdate(update);
+ return;
+ }
+
+ modulesService.getModules(symDmc,
+ new ViewerDataRequestMonitor<IModuleDMContext[]>(getSession().getExecutor(), update) {
+ @Override
+ public void handleCompleted() {
+ if (!isSuccess()) {
+ update.done();
+ return;
+ }
+ fillUpdateWithVMCs(update, getData());
+ update.done();
+ }
+ });
+ }
+
+ @Override
+ protected IDMVMContext createVMContext(IDMContext dmc) {
+ return new ModuleVMContext(dmc);
+ }
+
+ /*
+ * @since 2.0
+ */
+ @Override
+ public void update(final IPropertiesUpdate[] updates) {
+ try {
+ getSession().getExecutor().execute(new DsfRunnable() {
+ @Override
+ public void run() {
+ updatePropertiesInSessionThread(updates);
+ }
+ });
+ } catch (RejectedExecutionException e) {
+ for (IPropertiesUpdate update : updates) {
+ handleFailedUpdate(update);
+ }
+ }
+ }
+
+ @Override
+ public void update(final ILabelUpdate[] updates) {
+ fLabelProvider.update(updates);
+ }
+
+ /**
+ * @since 2.0
+ */
+ @ConfinedToDsfExecutor("getSession().getExecutor()")
+ protected void updatePropertiesInSessionThread(final IPropertiesUpdate[] updates) {
+ IModules modulesService = getServicesTracker().getService(IModules.class);
+ for (final IPropertiesUpdate update : updates) {
+ final IModuleDMContext dmc = findDmcInPath(update.getViewerInput(), update.getElementPath(),
+ IModuleDMContext.class);
+ // If either update or service are not valid, fail the update and exit.
+ if (modulesService == null || dmc == null) {
+ handleFailedUpdate(update);
+ return;
+ }
+
+ modulesService.getModuleData(dmc,
+ new ViewerDataRequestMonitor<IModuleDMData>(getSession().getExecutor(), update) {
+ @Override
+ protected void handleSuccess() {
+ fillModuleDataProperties(update, getData());
+ update.done();
+ }
+ });
+ }
+ }
+
+ /**
+ * @since 2.0
+ */
+ protected void fillModuleDataProperties(IPropertiesUpdate update, IModuleDMData data) {
+ update.setProperty(PROP_NAME, data.getName());
+ update.setProperty(PROP_IS_LOADED, data.isSymbolsLoaded());
+ }
+
+ @Override
+ public int getDeltaFlags(Object e) {
+ if (e instanceof IRunControl.ISuspendedDMEvent) {
+ return IModelDelta.CONTENT;
+ }
+ return IModelDelta.NO_CHANGE;
+ }
+
+ @Override
+ public void buildDelta(Object e, VMDelta parentDelta, int nodeOffset, RequestMonitor rm) {
+ if (e instanceof IRunControl.ISuspendedDMEvent) {
+ // Create a delta that indicates all groups have changed
+ parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.CONTENT);
+ }
+
+ rm.done();
+ }
}

Back to the top