Bonjour,
J'ai un problème pour créer une interface avec SWT (contrainte imposée), je souhaite une interface simple découpée en 2 parties droite (produits) et gauche (versions), chaque partie doit contenir un bouton "Select all" et un bouton "Unselect all" en haut sur la même ligne, puis une liste contenant les différents produits ou versions disponibles.
Pour ce faire j'ai découpée la fenêtre en 2 avec un composite à 2 colonnes (séparation droite / gauche : versions / produits).
Ensuite je viens mettre 2 groupes (Produits et versions), jusque la tout va bien.
Maintenant dans chaque Group je fais un Composite à 2 colonnes pour insérer les 2 boutons (Select All et Unselect All), et un Composite à 1 colonne pour la liste correspondante au groupe (version / produit).
La ça ne va pas car cette liste s'aligne sur le bouton Select All et ne fait pas la largeur complète de mon groupe => si le texte est trop grand je ne vois pas tout.
Comment faire pour que ma liste dans le groupe prennent toute la largeur (en conservant les 2 boutons bien alignés juste au dessus).

Voici mon code si quelqu'un a une idée.
Merci d'avance.

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
		Composite container = (Composite) super.createDialogArea(parent);
 
		composite = new Composite(container, SWT.MAX);
 
		gdCompo = new GridLayout(2, true);
		composite.setLayout(gdCompo);
 
		GridData gds = new GridData(SWT.FILL, SWT.TOP, true, false);
		composite.setLayoutData(gds);
 
		// Products
		groupProducts = new Group(composite, SWT.TOP | SWT.V_SCROLL);
		groupProducts.setLayout(new GridLayout(2, true));
		groupProducts.setText("Products");
 
		SelectProducts = new Button(groupProducts, SWT.CHECK);
		SelectProducts.setText("Select All");
		SelectProducts.setSelection(false);
 
		UnSelectProducts = new Button(groupProducts, SWT.CHECK);
		UnSelectProducts.setText("Unselect All");
		UnSelectProducts.setSelection(false);
 
		productsList = new List(groupProducts, SWT.V_SCROLL | SWT.MULTI | SWT.CHECK); 
		for (Iterator<String> iterator = datas.getProducts().iterator(); iterator.hasNext();) {
			productsList.add(iterator.next());
		}
 
		// Versions
		groupVersions = new Group(composite, SWT.V_SCROLL | SWT.FILL);
		groupVersions.setLayout(new GridLayout(1, false));
		groupVersions.setText("Versions");
 
		Composite cmp1 = new Composite(groupVersions, SWT.FILL);
		cmp1.setLayout(new GridLayout(2, true));
 
		SelectVersions = new Button(cmp1, SWT.CHECK);
		SelectVersions.setText("Select All");
		SelectVersions.setSelection(false);
 
		UnSelectVersions = new Button(cmp1, SWT.CHECK);
		UnSelectVersions.setText("Unselect All");
		UnSelectVersions.setSelection(false);
 
		Composite cmp2 = new Composite(groupVersions, SWT.FILL);
		cmp2.setLayout(new FillLayout(SWT.FILL));
 
		versionsList = new List(cmp2, SWT.V_SCROLL | SWT.MULTI | SWT.CHECK | SWT.FILL); 
		for (Iterator<String> iterator = datas.getVersions().iterator(); iterator.hasNext();) {
			versionsList.add(iterator.next());
		}