sanchou
Messages postés9Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention12 avril 2007
-
26 mars 2007 à 20:38
sanchou
Messages postés9Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention12 avril 2007
-
27 mars 2007 à 10:30
Bonjour,
je viens de me mettre à SWT (et aux IHM en général) et j'ai déjà un petit soucis...
Je vous explique.
Je voudrais mettre en place 2 Tree l'un en dessous de l'autre.
Pour chaque Tree, j'insère un TreeItem auquel j'associe plusieurs TreeItem fils.
Jusque là pas de pb.
Sauf que quand je veux "expand" mes Tree, il n'y a pas de redimensionnement des différents GridLayout et GridData.
2 images en pièce jointe pour illlustrer cela.
Je pense que ce n'est pas très clair, donc je met le code source ci-dessous.
<hr size="2" width="100%" />
privatestaticvoid fill(final Composite comp){
GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
final Tree tree = new Tree(comp, SWT.CHECK);
tree.setLayoutData(data);
tree.addTreeListener(new TreeListener(){
TreeItem services = new TreeItem(tree,SWT.CHECK);
services.setText("services");
TreeItem it1 = new TreeItem(services,SWT.CHECK);
it1.setText("item 1");
TreeItem it2 = new TreeItem(services,SWT.CHECK);
it2.setText("item 2");
TreeItem it3 = new TreeItem(services,SWT.CHECK);
it3.setText("item 3");
TreeItem it4 = new TreeItem(services,SWT.CHECK);
it4.setText("item 4");
GridData data2 = new GridData(SWT.FILL, SWT.FILL, true, false);
final Tree tree2 = new Tree(comp, SWT.CHECK);
tree2.setLayoutData(data2);
tree2.addTreeListener(new TreeListener(){
private static void fill(final Composite comp){
GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
final Tree tree = new Tree(comp, SWT.CHECK);
tree.setLayoutData(data);
tree.addTreeListener(new TreeListener(){
public void treeCollapsed(TreeEvent arg0){
((GridData) tree.getLayoutData()).grabExcessVerticalSpace=false;
comp.pack();
}
public void treeExpanded(TreeEvent arg0){
((GridData) tree.getLayoutData()).grabExcessVerticalSpace=true;
comp.pack();
}
});
TreeItem services = new TreeItem(tree,SWT.CHECK);
services.setText("services");
TreeItem it1 = new TreeItem(services,SWT.CHECK);
it1.setText("item 1");
TreeItem it2 = new TreeItem(services,SWT.CHECK);
it2.setText("item 2");
TreeItem it3 = new TreeItem(services,SWT.CHECK);
it3.setText("item 3");
TreeItem it4 = new TreeItem(services,SWT.CHECK);
it4.setText("item 4");
GridData data2 = new GridData(SWT.FILL, SWT.FILL, true, false);
final Tree tree2 = new Tree(comp, SWT.CHECK);
tree2.setLayoutData(data2);
tree2.addTreeListener(new TreeListener(){
public void treeCollapsed(TreeEvent arg0){
((GridData) tree2.getLayoutData()).grabExcessVerticalSpace=false;
comp.pack();
}
public void treeExpanded(TreeEvent arg0){
((GridData) tree2.getLayoutData()).grabExcessVerticalSpace=true;
comp.pack();
}
});
TreeItem contracts = new TreeItem(tree2,SWT.CHECK);
contracts.setText("contracts");
TreeItem it1C = new TreeItem(contracts,SWT.CHECK);
it1C.setText("item 1");
TreeItem it2C = new TreeItem(contracts,SWT.CHECK);
it2C.setText("item 2");
TreeItem it3C = new TreeItem(contracts,SWT.CHECK);
it3C.setText("item 3");
TreeItem it4C = new TreeItem(contracts,SWT.CHECK);
it4C.setText("item 4");
TreeItem it5C = new TreeItem(contracts,SWT.CHECK);
it5C.setText("item 5");
TreeItem it6C = new TreeItem(contracts,SWT.CHECK);
it6C.setText("item 6");
}
}