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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
| public class TestExportPopup extends AbstractPopup {
private static Logger LOGGER = Logger.getLogger(TestExportPopup.class);
private Table tradeTable;
private TableViewer tradeTableViewer;
private Button sendButton;
public TestExportPopup(Shell aParent, // autre parametres
) {
super(aParent);
// autre parametres settés
}
@Override
protected String getTitle() {
return "Test Export";
}
@Override
protected void setSize() {
Rectangle bounds = Display.getCurrent().getBounds();
int height = bounds.height;
int width = bounds.width;
System.err.println("Bounds: x=" + bounds.x + "+, y=" + bounds.y + ", height=" + height + ", width=" + width);
Point size = shell.getSize();
int x = size.x;
int y = size.y;
if (x > width) {
x = width;
}
if (y > (height - 50)) {
y = height - 50;
}
System.err.println("Size (before setSize()=" + shell.getSize() + ")");
shell.setSize(x, y);
System.err.println("Size (after setSize()=" + shell.getSize() + ")");
}
@Override
protected void createContent() {
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
Composite content = new Composite(shell, SWT.NONE);
content.setLayout(new GridLayout());
content.setLayoutData(gridData);
tradeTable = createTable(content);
sendButton = new Button(content, SWT.CENTER);
sendButton.setText("Send");
sendButton.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
// on recupere les lignes du tableau et on les envoie a un serveur pour traitement
List<MonObjetVO> trades = new ArrayList<MonObjetVO>();
for (TableItem item : tradeTable.getItems()) {
if (item.getChecked()) {
trades.add((MonObjetVO) item.getData());
}
}
// etc
}
});
try {
List<MonObjetVO> trades = getTestTrades();
// tri des objets par id avec le comparator adequat
for (MonObjetVO trade : trades) {
TableItem item = new TableItem(tradeTable, SWT.NONE);
String[] line = new String[8];
line[0] = "";
// line[1], line[2] ... line[7] avec les informations correspondantes
item.setText(line);
item.setData(trade);
item.setChecked(true);
}
} catch (NxServiceException e) {
LOGGER.error(e.getMessage(), e);
MessageDialog.openError(shell, "Error", "Error while loading the trades");
}
Point size = shell.getSize();
System.err.println("Size (before pack()=" + size + ")");
shell.pack();
size = shell.getSize();
System.err.println("Size (after pack()=" + size + ")");
}
protected Table createTable(Composite content) {
tradeTableViewer = new TableViewer(content, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL
| SWT.FULL_SELECTION);
// Table table = new Table(content, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
Table table = tradeTableViewer.getTable();
table.setHeaderVisible(true);
table.setLinesVisible(true);
TableColumn tc = new TableColumn(table, SWT.LEFT);
tc.setText("");
tc.setWidth(30);
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Order ID");
tc.setWidth(80);
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Date");
tc.setWidth(130);
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Direction");
tc.pack();
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Quantity");
tc.setWidth(90);
tc = new TableColumn(table, SWT.LEFT);
//tc.setText("Instrument");
tc.setText("Kesako ?");
tc.setWidth(270);
tc = new TableColumn(table, SWT.LEFT);
tc.setText("User");
tc.setWidth(130);
tc = new TableColumn(table, SWT.LEFT);
tc.setText("Status");
tc.setWidth(60);
return table;
}
private List<MonObjetVO> getTestTrades() {
List<MonObjetVO> trades = new ArrayList<MonObjetVO>();
// renvoie une liste de "MonObjetVO"
return trades;
}
} |
Partager