mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-04 23:55:26 +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:
parent
9dbd3cffef
commit
d84a19cfb9
1 changed files with 12 additions and 14 deletions
|
@ -28,7 +28,6 @@ import org.eclipse.core.resources.IResource;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
import org.eclipse.core.runtime.Status;
|
import org.eclipse.core.runtime.Status;
|
||||||
import org.eclipse.jface.layout.PixelConverter;
|
|
||||||
import org.eclipse.jface.viewers.IDecoration;
|
import org.eclipse.jface.viewers.IDecoration;
|
||||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
import org.eclipse.jface.viewers.TreeViewer;
|
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.PaintListener;
|
||||||
import org.eclipse.swt.events.SelectionAdapter;
|
import org.eclipse.swt.events.SelectionAdapter;
|
||||||
import org.eclipse.swt.events.SelectionEvent;
|
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.Image;
|
||||||
import org.eclipse.swt.graphics.Point;
|
|
||||||
import org.eclipse.swt.layout.GridData;
|
import org.eclipse.swt.layout.GridData;
|
||||||
import org.eclipse.swt.layout.GridLayout;
|
import org.eclipse.swt.layout.GridLayout;
|
||||||
import org.eclipse.swt.widgets.Button;
|
import org.eclipse.swt.widgets.Button;
|
||||||
|
@ -361,13 +361,12 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
columnLanguages.setResizable(false);
|
columnLanguages.setResizable(false);
|
||||||
columnLanguages.setToolTipText(Messages.AbstractLangsListTab_Languages);
|
columnLanguages.setToolTipText(Messages.AbstractLangsListTab_Languages);
|
||||||
|
|
||||||
treeLanguages.addPaintListener(new PaintListener() {
|
treeLanguages.addTreeListener(new TreeAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void paintControl(PaintEvent e) {
|
public void treeExpanded(TreeEvent e) {
|
||||||
int x = treeLanguages.getBounds().width - 5;
|
treeLanguages.getDisplay().asyncExec(() -> {
|
||||||
if (columnLanguages.getWidth() != x) {
|
columnLanguages.pack();
|
||||||
columnLanguages.setWidth(x);
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -382,19 +381,18 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
treeEntries.setLinesVisible(true);
|
treeEntries.setLinesVisible(true);
|
||||||
|
|
||||||
final TreeColumn treeCol = new TreeColumn(treeEntries, SWT.NONE);
|
final TreeColumn treeCol = new TreeColumn(treeEntries, SWT.NONE);
|
||||||
treeEntries.addPaintListener(new PaintListener() {
|
treeEntries.addTreeListener(new TreeAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void paintControl(PaintEvent e) {
|
public void treeExpanded(TreeEvent e) {
|
||||||
Point p = treeEntries.computeSize(SWT.DEFAULT, SWT.DEFAULT);
|
treeEntries.getDisplay().asyncExec(() -> {
|
||||||
if (treeCol.getWidth() != p.x)
|
treeCol.pack();
|
||||||
treeCol.setWidth(p.x);
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
treeCol.setText(Messages.LanguageSettingsProviderTab_SettingEntries);
|
treeCol.setText(Messages.LanguageSettingsProviderTab_SettingEntries);
|
||||||
|
|
||||||
treeCol.setWidth(200);
|
treeCol.setWidth(200);
|
||||||
treeCol.setResizable(false);
|
|
||||||
treeCol.setToolTipText(Messages.LanguageSettingsProviderTab_SettingEntriesTooltip);
|
treeCol.setToolTipText(Messages.LanguageSettingsProviderTab_SettingEntriesTooltip);
|
||||||
|
|
||||||
treeEntriesViewer = new TreeViewer(treeEntries);
|
treeEntriesViewer = new TreeViewer(treeEntries);
|
||||||
|
|
Loading…
Add table
Reference in a new issue