J'ai dans une ApplicationWindow une SashForm, dans laquelle je mets à gauche un TreeViewer, et à droite un Browser.
Code:
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....
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;
Lorsque que change mon modèle en injectant une nouvelle racine dans le TreeViewer par
, 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....
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); }
J'ai vainement tenté des layout(), des refresh, des setRedraw.... Rien...
Quelqu'un peut-il m'aider à résoudre ce truc ? Merci.
Partager