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

Replace deprecated ViewerObservables with ViewerProperties (#76)

- fix ContainerTab and ContainerPropertyTab
- fixes #73
This commit is contained in:
Jeff Johnston 2022-09-26 21:29:52 -04:00 committed by GitHub
parent e47a150db8
commit e5fde4ad58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 8 deletions

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2017 Red Hat Inc. and others.
* Copyright (c) 2017, 2022 Red Hat Inc. and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@ -53,7 +53,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
import org.eclipse.jface.databinding.viewers.ViewerSupport;
import org.eclipse.jface.databinding.viewers.ViewersObservables;
import org.eclipse.jface.databinding.viewers.typed.ViewerProperties;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@ -63,6 +63,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.linuxtools.docker.core.DockerConnectionManager;
import org.eclipse.linuxtools.docker.core.IDockerConnection;
import org.eclipse.linuxtools.docker.core.IDockerConnectionManagerListener;
@ -384,7 +385,7 @@ public class ContainerPropertyTab extends AbstractCBuildPropertyTab
// update table content when selected image changes
bind(dataVolumesTableViewer, model.getDataVolumes(), BeanProperties.values(DataVolumeModel.class,
DataVolumeModel.CONTAINER_PATH, DataVolumeModel.MOUNT, DataVolumeModel.READ_ONLY_VOLUME));
dbc.bindSet(ViewersObservables.observeCheckedElements(dataVolumesTableViewer, DataVolumeModel.class),
dbc.bindSet(ViewerProperties.checkedElements(DataVolumeModel.class).observe((Viewer) dataVolumesTableViewer),
BeanProperties.set(ContainerPropertyVolumesModel.SELECTED_DATA_VOLUMES).observe(model));
// disable the edit and removeButton if the table is empty
dataVolumesTableViewer.addSelectionChangedListener(onSelectionChanged(editButton, removeButton));
@ -401,6 +402,7 @@ public class ContainerPropertyTab extends AbstractCBuildPropertyTab
* @param input
* @param labelProperties
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
private void bind(final StructuredViewer viewer, final IObservableList input,
final IBeanValueProperty[] labelProperties) {
final ObservableListContentProvider contentProvider = new ObservableListContentProvider();
@ -493,7 +495,7 @@ public class ContainerPropertyTab extends AbstractCBuildPropertyTab
final CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);
table.setHeaderVisible(true);
table.setLinesVisible(true);
dbc.bindSet(ViewersObservables.observeCheckedElements(tableViewer, DataVolumeModel.class),
dbc.bindSet(ViewerProperties.checkedElements(DataVolumeModel.class).observe((Viewer) tableViewer),
BeanProperties.set(ContainerPropertyVolumesModel.SELECTED_DATA_VOLUMES).observe(model));
addTableViewerColumn(tableViewer, WizardMessages.getString("ImageRunResourceVolVarPage.containerPathColumn"), //$NON-NLS-1$
180);
@ -520,6 +522,7 @@ public class ContainerPropertyTab extends AbstractCBuildPropertyTab
private Image FOLDER_CLOSED_IMAGE = SWTImagesFactory.DESC_FOLDER_CLOSED.createImage();
private Image FILE_IMAGE = SWTImagesFactory.DESC_FILE.createImage();
@SuppressWarnings("rawtypes")
public DataVolumesLabelProvider(final IObservableMap[] attributeMaps) {
super(attributeMaps);
}

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2015, 2016 Red Hat and others.
* Copyright (c) 2015, 2022 Red Hat and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@ -29,7 +29,7 @@ import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.databinding.viewers.ViewerSupport;
import org.eclipse.jface.databinding.viewers.ViewersObservables;
import org.eclipse.jface.databinding.viewers.typed.ViewerProperties;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
@ -40,6 +40,7 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.linuxtools.docker.core.DockerConnectionManager;
import org.eclipse.linuxtools.docker.core.IDockerConnection;
import org.eclipse.linuxtools.docker.core.IDockerConnectionManagerListener;
@ -242,7 +243,6 @@ public class ContainerTab extends AbstractLaunchConfigurationTab
removeButton.setEnabled(false);
}
@SuppressWarnings("unchecked")
private void createPortSettingsSection(final Composite parent) {
Font font = parent.getFont();
Composite comp = createComposite(parent, 1, 2, GridData.FILL_BOTH);
@ -289,7 +289,7 @@ public class ContainerTab extends AbstractLaunchConfigurationTab
ViewerSupport.bind(exposedPortsTableViewer, model.getExposedPorts(),
BeanProperties.values(ExposedPortModel.class, ExposedPortModel.CONTAINER_PORT,
ExposedPortModel.PORT_TYPE, ExposedPortModel.HOST_ADDRESS, ExposedPortModel.HOST_PORT));
dbc.bindSet(ViewersObservables.observeCheckedElements(exposedPortsTableViewer, ExposedPortModel.class),
dbc.bindSet(ViewerProperties.checkedElements(ExposedPortModel.class).observe((Viewer) exposedPortsTableViewer),
BeanProperties.set(ContainerTabModel.SELECTED_PORTS).observe(model));
checkAllElements(exposedPortsTableViewer);
@ -371,6 +371,7 @@ public class ContainerTab extends AbstractLaunchConfigurationTab
}
}
@SuppressWarnings("rawtypes")
private CheckboxTableViewer createPortSettingsTable(final Composite container) {
final Table table = new Table(container,
SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.CHECK);