J'ai dans une ApplicationWindow une SashForm, dans laquelle je mets à gauche un TreeViewer, et à droite un Browser.

Code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
	@Override
	protected Control createContents(Composite parent) {
....
		// Sash form
	    Composite sash = new Composite(parent, SWT.NONE);
	    sash.setLayout(new FillLayout());
	    sash.setLayoutData(new GridData(GridData.FILL_BOTH));
	    sashForm = new SashForm(sash, SWT.HORIZONTAL | SWT.NULL);
 
		// Tree Viewer
		PBS pbs =  new EBOM();
		treeviewer = new PBSTreeViewer(sashForm, pbs);
		Tree tree = treeviewer.getViewer().getTree();
		treeviewer.getViewer().expandAll();
		treeviewer.getViewer().addSelectionChangedListener(
				new SelectionChangedListener(this));
 
		// Browser
		pbsbrowser = new PBSBrowser(sashForm);
		Browser browser = pbsbrowser.getBrowser();
		refreshBrowser();
 
		return sashForm;
A l'initialisation de mon TreeViewer (la racine de mon modèle est indiquée par le <code>new EBOM()</code>, tout se passe correctement. Le resize de la fenêtre est correct, tout baigne....
Lorsque que change mon modèle en injectant une nouvelle racine dans le TreeViewer par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
	public void updatePBS (Navigable PBS) {
		pbs = PBS;
		viewer.setContentProvider(new PBSContentProvider(pbs));	
		setColumns();
		viewer.setInput(pbs);		
	}
, l'affichage du TreeViewer et du Browser est OK, le sash est OK...Mais tout intervention sur le resize de la fenêtre me vide celle-ci en ne me laissant qu'un fond gris barré d'une ligne horizontale, seuls la barre de menu est conservée....
J'ai vainement tenté des layout(), des refresh, des setRedraw.... Rien...

Quelqu'un peut-il m'aider à résoudre ce truc ? Merci.