1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-04 15:45:25 +02:00

Bug 529799 - problem with entries tree in LanguageSettingsEntriesTab

- fix provided by Christian Walther
- fix methods to use addTreeListener() instead
  of addPaintListener() to handle resizing
- in TreeListener, define treeExpanded method which uses pack method
  for entries column

Change-Id: I28db2059d3e0561ce9e5e52f569409de9aff9a6d
This commit is contained in:
Jeff Johnston 2018-01-16 16:17:52 -05:00
parent 9dbd3cffef
commit d84a19cfb9

View file

@ -28,7 +28,6 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.layout.PixelConverter;
import org.eclipse.jface.viewers.IDecoration;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
@ -39,8 +38,9 @@ import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.TreeAdapter;
import org.eclipse.swt.events.TreeEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
@ -361,13 +361,12 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
columnLanguages.setResizable(false);
columnLanguages.setToolTipText(Messages.AbstractLangsListTab_Languages);
treeLanguages.addPaintListener(new PaintListener() {
treeLanguages.addTreeListener(new TreeAdapter() {
@Override
public void paintControl(PaintEvent e) {
int x = treeLanguages.getBounds().width - 5;
if (columnLanguages.getWidth() != x) {
columnLanguages.setWidth(x);
}
public void treeExpanded(TreeEvent e) {
treeLanguages.getDisplay().asyncExec(() -> {
columnLanguages.pack();
});
}
});
}
@ -382,19 +381,18 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
treeEntries.setLinesVisible(true);
final TreeColumn treeCol = new TreeColumn(treeEntries, SWT.NONE);
treeEntries.addPaintListener(new PaintListener() {
treeEntries.addTreeListener(new TreeAdapter() {
@Override
public void paintControl(PaintEvent e) {
Point p = treeEntries.computeSize(SWT.DEFAULT, SWT.DEFAULT);
if (treeCol.getWidth() != p.x)
treeCol.setWidth(p.x);
public void treeExpanded(TreeEvent e) {
treeEntries.getDisplay().asyncExec(() -> {
treeCol.pack();
});
}
});
treeCol.setText(Messages.LanguageSettingsProviderTab_SettingEntries);
treeCol.setWidth(200);
treeCol.setResizable(false);
treeCol.setToolTipText(Messages.LanguageSettingsProviderTab_SettingEntriesTooltip);
treeEntriesViewer = new TreeViewer(treeEntries);