bonjour, j'essaie de swapper 2 lignes dans une table (swt pas JFace)
avant tout, je ne peut pas utiliser JFace, seulement swt .


voila comment je creer un composant

pour faire simple, j'ai une classe qui encapsule la table, la table doit contenir toutes sorte de widget (box, spinner, ....)

voici par exemple la méthode pour rajouter un spinner
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
 
public void addSpinner(int value, ModifyListener modify) {
        if (NCurCol == 0)
            NCurItem = new TableItem(table, SWT.RIGHT);
        TableEditor editor = new TableEditor(table);
 
        Spinner spinner = new Spinner(table, modify == null ? SWT.DROP_DOWN
                | SWT.READ_ONLY | SWT.CENTER : SWT.DROP_DOWN | SWT.CENTER);
        spinner.setVisible(true);
        spinner.setSelection(value);
        spinner.setMinimum(Integer.MIN_VALUE);
        spinner.setMaximum(Integer.MAX_VALUE);
        spinner.pack();
        if (modify != null)
            spinner.addModifyListener(modify);
        else
            spinner.setEnabled(false);
 
        editor.minimumWidth = spinner.getSize().x;
        editor.horizontalAlignment = SWT.LEFT;
        editor.setEditor(spinner, NCurItem, NCurCol);
        NCurItem.setData(Integer.toString(NCurCol), editor);
        NCurCol = (NCurCol + 1) % table.getColumnCount();
    }
on regarde si on est a la fin de la ligne si oui, on creer une nouvelle ligne (new tableItem);
on creer une nouvelle table editor, , un nouveau spinner, on rajoute le tout ...

Donc en gros, chaque item represente une ligne.

comment swapper 2 lignes ? (2 items).
merci

a++