diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf')
16 files changed, 182 insertions, 557 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java index b4c6ca5b7..912d8faf9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/adapters/AdapterFactory.java @@ -58,7 +58,7 @@ public class AdapterFactory implements IAdapterFactory { Runnable runnable = new Runnable() { @Override public void run() { - node.set(((IRuntimeModel)adaptableObject).getPeerModel()); + node.set(((IRuntimeModel)adaptableObject).getPeerNode()); } }; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/AdvancedPropertiesPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/AdvancedPropertiesPage.java deleted file mode 100644 index b065c0126..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/AdvancedPropertiesPage.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.processes.ui.internal.properties; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.tcf.protocol.Protocol; -import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; -import org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed.MapContentProvider; -import org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed.MapEntryLabelProvider; -import org.eclipse.tcf.te.tcf.processes.ui.nls.Messages; -import org.eclipse.ui.dialogs.PropertyPage; - -/** - * The property page to display the advanced properties of a process context. - */ -public class AdvancedPropertiesPage extends PropertyPage { - - /* (non-Javadoc) - * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) - */ - @Override - protected Control createContents(Composite parent) { - IAdaptable element = getElement(); - Assert.isTrue(element instanceof IProcessContextNode); - - final IProcessContextNode node = (IProcessContextNode) element; - final Map<String, Object> props = new HashMap<String, Object>(); - - Runnable runnable = new Runnable() { - @Override - public void run() { - props.putAll(node.getSysMonitorContext().getProperties()); - } - }; - Assert.isTrue(!Protocol.isDispatchThread()); - Protocol.invokeAndWait(runnable); - - Composite page = new Composite(parent, SWT.NONE); - FillLayout layout = new FillLayout(); - layout.marginHeight = 10; - layout.marginWidth = 10; - page.setLayout(layout); - - TableViewer viewer = new TableViewer(page, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); - Table table = viewer.getTable(); - TableColumn column = new TableColumn(table, SWT.LEFT); - column.setText(Messages.AdvancedPropertiesSection_Name); - column.setWidth(100); - column = new TableColumn(table, SWT.LEFT); - column.setText(Messages.AdvancedPropertiesSection_Value); - column.setWidth(150); - table.setHeaderVisible(true); - table.setLinesVisible(true); - viewer.setContentProvider(new MapContentProvider()); - viewer.setLabelProvider(new MapEntryLabelProvider()); - viewer.setInput(props); - - return page; - } -} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/ContextPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/ContextPage.java deleted file mode 100644 index cdc445cb9..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/ContextPage.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2013 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.processes.ui.internal.properties; - -import java.util.concurrent.atomic.AtomicReference; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.protocol.Protocol; -import org.eclipse.tcf.services.ISysMonitor; -import org.eclipse.tcf.services.ISysMonitor.SysMonitorContext; -import org.eclipse.tcf.te.runtime.services.ServiceManager; -import org.eclipse.tcf.te.runtime.services.interfaces.IUIService; -import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode; -import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; -import org.eclipse.tcf.te.tcf.processes.ui.interfaces.IProcessMonitorUIDelegate; -import org.eclipse.tcf.te.tcf.processes.ui.nls.Messages; -import org.eclipse.ui.dialogs.PropertyPage; - -/** - * The property page to display the context IDs of a process. - */ -public class ContextPage extends PropertyPage { - - /* (non-Javadoc) - * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) - */ - @Override - protected Control createContents(Composite parent) { - IAdaptable element = getElement(); - Assert.isTrue(element instanceof IProcessContextNode); - - final IProcessContextNode node = (IProcessContextNode) element; - Composite page = new Composite(parent, SWT.NONE); - GridLayout gridLayout = new GridLayout(2, false); - page.setLayout(gridLayout); - - final AtomicReference<ISysMonitor.SysMonitorContext> ctx = new AtomicReference<ISysMonitor.SysMonitorContext>(); - Runnable runnable = new Runnable() { - @Override - public void run() { - ctx.set(node.getSysMonitorContext()); - } - }; - Assert.isTrue(!Protocol.isDispatchThread()); - Protocol.invokeAndWait(runnable); - - IPeerNode peerNode = (IPeerNode)node.getAdapter(IPeerNode.class); - IUIService service = peerNode != null ? ServiceManager.getInstance().getService(peerNode, IUIService.class) : null; - IProcessMonitorUIDelegate delegate = service != null ? service.getDelegate(peerNode, IProcessMonitorUIDelegate.class) : null; - - SysMonitorContext context = ctx.get(); - createField(Messages.ContextPage_File, context == null ? null : context.getFile(), page); - createField(Messages.ContextPage_WorkHome, context == null ? null : context.getCurrentWorkingDirectory(), page); - createField(Messages.ContextPage_Root, context == null ? null : context.getRoot(), page); - createField(Messages.ContextPage_State, context == null ? null : context.getState(), page); - createField(Messages.ContextPage_Group, context == null ? null : context.getGroupName(), page); - createSeparator(page); - createField(Messages.ContextPage_ID, context == null ? null : context.getID(), page); - createField(Messages.ContextPage_ParentID, context == null ? null : context.getParentID(), page); - createField(Messages.ContextPage_GroupID, context == null || context.getPGRP() < 0 ? null : Long.valueOf(context.getPGRP()), page); - String label = Messages.getStringDelegated(peerNode, "ContextPage_PID"); //$NON-NLS-1$ - Long v = context == null || context.getPID() < 0 ? null : Long.valueOf(context.getPID()); - String value = delegate != null && v != null ? delegate.getText(node, "PID", v.toString()) : null; //$NON-NLS-1$ - createField(label != null ? label : Messages.ContextPage_PID, value != null ? value : v, page); - label = Messages.getStringDelegated(peerNode, "ContextPage_PPID"); //$NON-NLS-1$ - v = context == null || context.getPPID() < 0 ? null : Long.valueOf(context.getPPID()); - value = delegate != null && v != null ? delegate.getText(node, "PPID", v.toString()) : null; //$NON-NLS-1$ - createField(label != null ? label : Messages.ContextPage_PPID, value != null ? value : v, page); - createField(Messages.ContextPage_TTYGRPID, context == null || context.getTGID() < 0 ? null : Long.valueOf(context.getTGID()), page); - createField(Messages.ContextPage_TracerPID, context == null || context.getTracerPID() < 0 ? null : Long.valueOf(context.getTracerPID()), page); - createField(Messages.ContextPage_UserID, context == null || context.getUID() < 0 ? null : Long.valueOf(context.getUID()), page); - createField(Messages.ContextPage_UserGRPID, context == null || context.getUGID() < 0 ? null : Long.valueOf(context.getUGID()), page); - createSeparator(page); - createField(Messages.ContextPage_Virtual, context == null || context.getVSize() < 0 ? null : Long.valueOf(context.getVSize()), page); - createField(Messages.ContextPage_Pages, context == null || context.getPSize() < 0 ? null : Long.valueOf(context.getPSize()), page); - createField(Messages.ContextPage_Resident, context == null || context.getRSS() < 0 ? null : Long.valueOf(context.getRSS()), page); - - return page; - } - /** - * Create a horizontal separator between field sections. - * - * @param parent - * The parent composite of the separator. - */ - protected void createSeparator(Composite parent) { - Label label = new Label(parent, SWT.SEPARATOR | SWT.SHADOW_ETCHED_IN | SWT.HORIZONTAL); - GridData data = new GridData(SWT.FILL, SWT.BEGINNING, true, false); - data.horizontalSpan = 2; - label.setLayoutData(data); - } - /** - * Create a field displaying the a specific value with a specific label. - * - * @param text - * The label text for the field. - * @param value - * The value to be displayed. - * @param parent - * The parent composite of the field. - */ - protected void createField(String text, Object value, Composite parent) { - Label label = new Label(parent, SWT.NONE); - label.setText(text); - GridData data = new GridData(); - data.horizontalAlignment = SWT.LEFT; - data.verticalAlignment = SWT.TOP; - label.setLayoutData(data); - Text txt = new Text(parent, SWT.WRAP | SWT.READ_ONLY); - data = new GridData(); - data.verticalAlignment = SWT.TOP; - data.widthHint = 300; - data.grabExcessHorizontalSpace = true; - data.horizontalAlignment = GridData.FILL; - txt.setLayoutData(data); - txt.setBackground(txt.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); - txt.setText(value == null ? "" : value.toString()); //$NON-NLS-1$ - } -} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/GeneralInformationPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/GeneralInformationPage.java deleted file mode 100644 index ecfc3bdbf..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/properties/GeneralInformationPage.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2013 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.processes.ui.internal.properties; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.protocol.Protocol; -import org.eclipse.tcf.services.IProcesses; -import org.eclipse.tcf.services.ISysMonitor; -import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode; -import org.eclipse.tcf.te.runtime.services.ServiceManager; -import org.eclipse.tcf.te.runtime.services.interfaces.IUIService; -import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode; -import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; -import org.eclipse.tcf.te.tcf.processes.ui.interfaces.IProcessMonitorUIDelegate; -import org.eclipse.tcf.te.tcf.processes.ui.nls.Messages; -import org.eclipse.ui.dialogs.PropertyPage; - -/** - * The general information page of a process' properties dialog. - */ -public class GeneralInformationPage extends PropertyPage { - - /* default */ IProcessContextNode node; - - /* (non-Javadoc) - * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) - */ - @Override - protected Control createContents(Composite parent) { - IAdaptable element = getElement(); - Assert.isTrue(element instanceof IProcessContextNode); - - node = (IProcessContextNode) element; - - IPeerNode peerNode = (IPeerNode)node.getAdapter(IPeerNode.class); - IUIService service = peerNode != null ? ServiceManager.getInstance().getService(peerNode, IUIService.class) : null; - IProcessMonitorUIDelegate delegate = service != null ? service.getDelegate(peerNode, IProcessMonitorUIDelegate.class) : null; - - final Map<String, Object> props = new HashMap<String, Object>(); - - Runnable runnable = new Runnable() { - @Override - public void run() { - props.putAll(node.getProcessContext().getProperties()); - props.putAll(node.getSysMonitorContext().getProperties()); - props.put(IModelNode.PROPERTY_TYPE, node.getType().toString()); - } - }; - Assert.isTrue(!Protocol.isDispatchThread()); - Protocol.invokeAndWait(runnable); - - Composite page = new Composite(parent, SWT.NONE); - GridLayout gridLayout = new GridLayout(2, false); - page.setLayout(gridLayout); - - createField(Messages.GeneralInformationPage_Name, props.get(IProcesses.PROP_NAME), page); - createField(Messages.GeneralInformationPage_Type, props.get(IModelNode.PROPERTY_TYPE), page); - createField(Messages.GeneralInformationPage_State, props.get(ISysMonitor.PROP_STATE), page); - createField(Messages.GeneralInformationPage_User, props.get(ISysMonitor.PROP_USERNAME), page); - createSeparator(page); - - String label = Messages.getStringDelegated(peerNode, "GeneralInformationPage_ProcessID"); //$NON-NLS-1$ - String value = delegate != null ? delegate.getText(node, "PID", (props.get(ISysMonitor.PROP_PID) != null ? props.get(ISysMonitor.PROP_PID).toString() : null)) : null; //$NON-NLS-1$ - createField(label != null ? label : Messages.GeneralInformationPage_ProcessID, value != null ? value : props.get(ISysMonitor.PROP_PID), page); - label = Messages.getStringDelegated(peerNode, "GeneralInformationPage_ParentPID"); //$NON-NLS-1$ - value = delegate != null ? delegate.getText(node, "PPID", (props.get(ISysMonitor.PROP_PPID) != null ? props.get(ISysMonitor.PROP_PPID).toString() : null)) : null; //$NON-NLS-1$ - createField(label != null ? label : Messages.GeneralInformationPage_ParentPID, props.get(ISysMonitor.PROP_PPID), page); - label = Messages.getStringDelegated(peerNode, "GeneralInformationPage_InternalPID"); //$NON-NLS-1$ - createField(label != null ? label : Messages.GeneralInformationPage_InternalPID, props.get(IProcesses.PROP_ID), page); - label = Messages.getStringDelegated(peerNode, "GeneralInformationPage_InternalPPID"); //$NON-NLS-1$ - createField(label != null ? label : Messages.GeneralInformationPage_InternalPPID, props.get(IProcesses.PROP_PARENTID), page); - - return page; - } - /** - * Create a horizontal separator between field sections. - * - * @param parent - * The parent composite of the separator. - */ - protected void createSeparator(Composite parent) { - Label label = new Label(parent, SWT.SEPARATOR | SWT.SHADOW_ETCHED_IN | SWT.HORIZONTAL); - GridData data = new GridData(SWT.FILL, SWT.BEGINNING, true, false); - data.horizontalSpan = 2; - label.setLayoutData(data); - } - /** - * Create a field displaying the a specific value with a specific label. - * - * @param text - * The label text for the field. - * @param value - * The value to be displayed. - * @param parent - * The parent composite of the field. - */ - protected void createField(String text, Object value, Composite parent) { - Label label = new Label(parent, SWT.NONE); - label.setText(text); - GridData data = new GridData(); - data.horizontalAlignment = SWT.LEFT; - data.verticalAlignment = SWT.TOP; - label.setLayoutData(data); - Text txt = new Text(parent, SWT.WRAP | SWT.READ_ONLY); - data = new GridData(); - data.verticalAlignment = SWT.TOP; - data.widthHint = 300; - data.grabExcessHorizontalSpace = true; - data.horizontalAlignment = GridData.FILL; - txt.setLayoutData(data); - txt.setBackground(txt.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); - txt.setText(value == null ? "" : value.toString()); //$NON-NLS-1$ - } -} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/AdvancedPropertiesSection.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/AdvancedPropertiesSection.java deleted file mode 100644 index 33624a6fb..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/AdvancedPropertiesSection.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed; - -import java.util.Map; -import java.util.concurrent.atomic.AtomicReference; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FormAttachment; -import org.eclipse.swt.layout.FormData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.tcf.protocol.Protocol; -import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; -import org.eclipse.tcf.te.tcf.processes.ui.nls.Messages; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection; -import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; - -/** - * The property section to display the advanced properties of a process context. - */ -public class AdvancedPropertiesSection extends AbstractPropertySection { - // The properties map. - /* default */ Map<String, Object> properties; - - // The table control to display the properties. - private TableViewer viewer; - - /* - * (non-Javadoc) - * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) - */ - @Override - public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) { - super.createControls(parent, aTabbedPropertySheetPage); - Composite composite = getWidgetFactory().createFlatFormComposite(parent); - Table table = getWidgetFactory().createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); - FormData data = new FormData(); - data.left = new FormAttachment(0, 0); - data.right = new FormAttachment(100, 0); - data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE); - data.bottom = new FormAttachment(100, -ITabbedPropertyConstants.VSPACE); - table.setLayoutData(data); - TableColumn column = new TableColumn(table, SWT.LEFT); - column.setText(Messages.AdvancedPropertiesSection_Name); - column.setWidth(100); - column = new TableColumn(table, SWT.LEFT); - column.setText(Messages.AdvancedPropertiesSection_Value); - column.setWidth(150); - table.setHeaderVisible(true); - table.setLinesVisible(true); - viewer = new TableViewer(table); - viewer.setContentProvider(new MapContentProvider()); - viewer.setLabelProvider(new MapEntryLabelProvider()); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) - */ - @Override - public void setInput(IWorkbenchPart part, ISelection selection) { - super.setInput(part, selection); - Assert.isTrue(selection instanceof IStructuredSelection); - Object input = ((IStructuredSelection) selection).getFirstElement(); - Assert.isTrue(input instanceof IProcessContextNode); - final IProcessContextNode node = (IProcessContextNode) input; - final AtomicReference<Map<String, Object>> props = new AtomicReference<Map<String,Object>>(); - Runnable runnable = new Runnable() { - @Override - public void run() { - props.set(node.getSysMonitorContext().getProperties()); - } - }; - Assert.isTrue(!Protocol.isDispatchThread()); - Protocol.invokeAndWait(runnable); - - properties = props.get(); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#refresh() - */ - @Override - public void refresh() { - if (viewer != null) viewer.setInput(properties); - } -} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/MapContentProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/MapContentProvider.java deleted file mode 100644 index 64bc32e93..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/MapContentProvider.java +++ /dev/null @@ -1,50 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed;
-
-import java.util.Map;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * A content provider used to get the properties from a map.
- */
-public class MapContentProvider implements IStructuredContentProvider {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- @Override
- public void dispose() {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- @Override
- public Object[] getElements(Object inputElement) {
- if(inputElement instanceof Map) {
- Map<?, ?> map = (Map<?, ?>) inputElement;
- return map.entrySet().toArray();
- }
- return new Object[0];
- }
-}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/MapEntryLabelProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/MapEntryLabelProvider.java deleted file mode 100644 index f020f0fd0..000000000 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/MapEntryLabelProvider.java +++ /dev/null @@ -1,49 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed;
-
-import java.util.Map.Entry;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The label provider to provide texts and images of map entries.
- */
-public class MapEntryLabelProvider extends LabelProvider implements ITableLabelProvider {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
- */
- @Override
- public Image getColumnImage(Object element, int columnIndex) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
- */
- @Override
- public String getColumnText(Object element, int columnIndex) {
- if(element instanceof Entry) {
- Entry<?, ?> entry = (Entry<?, ?>) element;
- if(columnIndex == 0) {
- Object key = entry.getKey();
- return key == null ? "" : key.toString(); //$NON-NLS-1$
- }
- Object object = entry.getValue();
- return object == null ? "" : object.toString(); //$NON-NLS-1$
- }
- return null;
- }
-}
\ No newline at end of file diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessContextFilter.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessContextFilter.java new file mode 100644 index 000000000..6a84e4b01 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessContextFilter.java @@ -0,0 +1,33 @@ +/** + * ProcessContextFilter.java + * Created on Sep 14, 2013 + * + * Copyright (c) 2013 Wind River Systems, Inc. + * + * The right to copy, distribute, modify, or otherwise make use + * of this software may be licensed only pursuant to the terms + * of an applicable Wind River license agreement. + */ +package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed; + +import org.eclipse.jface.viewers.IFilter; +import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; + +/** + * The filter to filter out non process nodes. + */ +public class ProcessContextFilter implements IFilter { + + /* + * (non-Javadoc) + * @see org.eclipse.jface.viewers.IFilter#select(java.lang.Object) + */ + @Override + public boolean select(Object toTest) { + if (toTest instanceof IProcessContextNode) { + return true; + } + return false; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessNodePropertiesSection.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessNodePropertiesSection.java new file mode 100644 index 000000000..ca03de51c --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessNodePropertiesSection.java @@ -0,0 +1,55 @@ +/** + * AbstractMapPropertiesSection.java + * Created on Sep 14, 2013 + * + * Copyright (c) 2013 Wind River Systems, Inc. + * + * The right to copy, distribute, modify, or otherwise make use + * of this software may be licensed only pursuant to the terms + * of an applicable Wind River license agreement. + */ +package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.protocol.Protocol; +import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; +import org.eclipse.tcf.te.tcf.processes.ui.nls.Messages; +import org.eclipse.tcf.te.tcf.ui.tabbed.AbstractMapPropertiesSection; + +/** + * The property section to display the properties of a module. + */ +public class ProcessNodePropertiesSection extends AbstractMapPropertiesSection { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.tcf.ui.tabbed.AbstractMapPropertiesSection#getViewerInput() + */ + @Override + protected Object getViewerInput() { + final AtomicReference<Map<String, Object>> props = new AtomicReference<Map<String,Object>>(); + Runnable runnable = new Runnable() { + @SuppressWarnings("synthetic-access") + @Override + public void run() { + if (provider instanceof IProcessContextNode) { + props.set(((IProcessContextNode)provider).getProperties()); + } + } + }; + Assert.isTrue(!Protocol.isDispatchThread()); + Protocol.invokeAndWait(runnable); + + return props.get(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.views.tabbed.BaseTitledSection#getText() + */ + @Override + protected String getText() { + return Messages.ProcessNodePropertiesSection_Title; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessPropertiesFilter.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessPropertiesFilter.java new file mode 100644 index 000000000..d2d3cc914 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/ProcessPropertiesFilter.java @@ -0,0 +1,29 @@ +/** + * ProcessPropertiesFilter.java + * Created on Sep 14, 2013 + * + * Copyright (c) 2013 Wind River Systems, Inc. + * + * The right to copy, distribute, modify, or otherwise make use + * of this software may be licensed only pursuant to the terms + * of an applicable Wind River license agreement. + */ +package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed; + +import org.eclipse.core.runtime.Platform; + +/** + * The filter to filter out non process nodes. + */ +public class ProcessPropertiesFilter extends ProcessContextFilter { + + /* + * (non-Javadoc) + * @see org.eclipse.jface.viewers.IFilter#select(java.lang.Object) + */ + @Override + public boolean select(Object toTest) { + return Platform.inDebugMode() && super.select(toTest); + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/SystemMonitorContextPropertiesSection.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/SystemMonitorContextPropertiesSection.java new file mode 100644 index 000000000..6ff122aeb --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/tabbed/SystemMonitorContextPropertiesSection.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.processes.ui.internal.tabbed; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.protocol.Protocol; +import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode; +import org.eclipse.tcf.te.tcf.processes.ui.nls.Messages; +import org.eclipse.tcf.te.tcf.ui.tabbed.AbstractMapPropertiesSection; + +/** + * The property section to display the advanced properties of a process context. + */ +public class SystemMonitorContextPropertiesSection extends AbstractMapPropertiesSection { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.tcf.ui.tabbed.AbstractMapPropertiesSection#getViewerInput() + */ + @Override + protected Object getViewerInput() { + final AtomicReference<Map<String, Object>> props = new AtomicReference<Map<String,Object>>(); + Runnable runnable = new Runnable() { + @SuppressWarnings("synthetic-access") + @Override + public void run() { + if (provider instanceof IProcessContextNode) { + props.set(((IProcessContextNode)provider).getSysMonitorContext().getProperties()); + } + } + }; + Assert.isTrue(!Protocol.isDispatchThread()); + Protocol.invokeAndWait(runnable); + + return props.get(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.tcf.ui.tabbed.BaseTitledSection#getText() + */ + @Override + protected String getText() { + return Messages.SystemMonitorContextPropertiesSection_Title; + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/ContentProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/ContentProvider.java index ed42eb963..dbb17ddf9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/ContentProvider.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/ContentProvider.java @@ -195,7 +195,7 @@ public class ContentProvider implements ITreeContentProvider { Runnable runnable = new Runnable() { @Override public void run() { - parent.set(((IRuntimeModel)element).getPeerModel()); + parent.set(((IRuntimeModel)element).getPeerNode()); } }; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/LabelProviderDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/LabelProviderDelegate.java index 5ac1825e0..2b40acc54 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/LabelProviderDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/navigator/runtime/LabelProviderDelegate.java @@ -40,7 +40,7 @@ public class LabelProviderDelegate extends AbstractLabelProviderDelegate impleme Runnable runnable = new Runnable() { @Override public void run() { - node.set(((IRuntimeModel)element).getPeerModel()); + node.set(((IRuntimeModel)element).getPeerNode()); } }; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.java index 06c8812ab..c1467fba8 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.java @@ -72,8 +72,8 @@ public class Messages extends NLS { public static String AbstractChannelCommandHandler_statusDialog_title; - public static String AdvancedPropertiesSection_Name; - public static String AdvancedPropertiesSection_Value; + public static String ProcessNodePropertiesSection_Title; + public static String SystemMonitorContextPropertiesSection_Title; public static String BasicContextSection_File; public static String BasicContextSection_Group; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.properties index eee83cccf..9a4e7d230 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/nls/Messages.properties @@ -26,8 +26,8 @@ ProcessPreferencePage_ValueLabel=Value (seconds) AbstractChannelCommandHandler_statusDialog_title=Error -AdvancedPropertiesSection_Name=Name -AdvancedPropertiesSection_Value=Value +ProcessNodePropertiesSection_Title=Process Node Properties +SystemMonitorContextPropertiesSection_Title=Process Context Properties BasicContextSection_File=File: BasicContextSection_Group=Group: diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/search/ProcessSearchable.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/search/ProcessSearchable.java index 964856b11..5a6f8b960 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/search/ProcessSearchable.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/search/ProcessSearchable.java @@ -63,7 +63,7 @@ public class ProcessSearchable extends CompositeSearchable { @Override public void run() { if (rootElement instanceof IRuntimeModel) { - node.set(((IRuntimeModel)rootElement).getPeerModel()); + node.set(((IRuntimeModel)rootElement).getPeerNode()); } } }; @@ -91,7 +91,7 @@ public class ProcessSearchable extends CompositeSearchable { @Override public void run() { if (rootElement instanceof IRuntimeModel) { - node.set(((IRuntimeModel)rootElement).getPeerModel()); + node.set(((IRuntimeModel)rootElement).getPeerNode()); } } }; @@ -123,7 +123,7 @@ public class ProcessSearchable extends CompositeSearchable { @Override public void run() { if (rootElement instanceof IRuntimeModel) { - node.set(((IRuntimeModel)rootElement).getPeerModel()); + node.set(((IRuntimeModel)rootElement).getPeerNode()); } } }; @@ -152,7 +152,7 @@ public class ProcessSearchable extends CompositeSearchable { Runnable runnable = new Runnable() { @Override public void run() { - node.set(((IRuntimeModel)rootElement).getPeerModel()); + node.set(((IRuntimeModel)rootElement).getPeerNode()); } }; |