116 |
116 |
|
117 |
117 |
private Label infoLine;
|
118 |
118 |
|
|
119 |
/**
|
|
120 |
* Button to merge or delete some rows.
|
|
121 |
*/
|
|
122 |
protected Button mergeDeleteRowsButton;
|
|
123 |
|
|
124 |
/**
|
|
125 |
* Button to merge or delete some columns.
|
|
126 |
*/
|
|
127 |
protected Button mergeDeleteColumnsButton;
|
119 |
128 |
|
|
129 |
|
|
130 |
|
120 |
131 |
// FIXME: viewer comparator tests
|
121 |
132 |
// /**
|
122 |
133 |
// * Viewer comparator for sorting.
|
... | ... | |
134 |
145 |
|
135 |
146 |
/** The minfreqspinner. */
|
136 |
147 |
@Parameter(key=LexicalTablePreferences.F_MIN)
|
137 |
|
protected Spinner fMin;
|
|
148 |
protected Spinner fMinFilterSpinner;
|
138 |
149 |
|
139 |
150 |
/** The top spinner. */
|
140 |
151 |
@Parameter(key=LexicalTablePreferences.V_MAX)
|
141 |
|
protected Spinner vMax;
|
|
152 |
protected Spinner vMaxFilterSpinner;
|
142 |
153 |
|
143 |
154 |
|
144 |
155 |
|
... | ... | |
172 |
183 |
// Extended parameters
|
173 |
184 |
Composite extendedParametersArea = this.getExtendedParametersComposite();
|
174 |
185 |
|
175 |
|
// Apply button
|
176 |
|
Button keepTop = new Button(extendedParametersArea, SWT.PUSH);
|
177 |
|
keepTop.setText(LexicalTableUIMessages.LexicalTableEditor_4);
|
178 |
|
keepTop.addSelectionListener(new SelectionListener() {
|
179 |
|
@Override
|
180 |
|
public void widgetSelected(SelectionEvent e) {
|
181 |
|
StatusLine.setMessage(LexicalTableUIMessages.LexicalTableEditor_16);
|
182 |
|
System.out.println(NLS.bind(LexicalTableUIMessages.LexicalTableEditor_5, vMax.getSelection(), fMin.getSelection()));
|
183 |
|
|
184 |
|
MessageBox messageBox = new MessageBox(e.display.getActiveShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO);
|
185 |
|
messageBox.setMessage(TXMUIMessages.common_areYouSure);
|
186 |
|
int response = messageBox.open();
|
187 |
|
if (response != SWT.YES) {
|
188 |
|
return;
|
189 |
|
}
|
190 |
|
|
191 |
|
try {
|
192 |
|
// updateResultFromEditor();
|
193 |
|
// refresh(false);
|
194 |
|
// force the recomputing
|
195 |
|
getResult().setDirty();
|
196 |
|
compute(true);
|
197 |
|
} catch (Exception e1) {
|
198 |
|
// TODO Auto-generated catch block
|
199 |
|
org.txm.rcp.utils.Logger.printStackTrace(e1);
|
200 |
|
StatusLine.setMessage("LexicalTable: sorting error."); //$NON-NLS-1$
|
201 |
|
}
|
202 |
|
}
|
203 |
|
|
204 |
|
@Override
|
205 |
|
public void widgetDefaultSelected(SelectionEvent e) {
|
206 |
|
}
|
207 |
|
});
|
|
186 |
// FIXME: Apply button
|
|
187 |
// Button keepTop = new Button(extendedParametersArea, SWT.PUSH);
|
|
188 |
// keepTop.setText(LexicalTableUIMessages.LexicalTableEditor_4);
|
|
189 |
// keepTop.addSelectionListener(new SelectionListener() {
|
|
190 |
// @Override
|
|
191 |
// public void widgetSelected(SelectionEvent e) {
|
|
192 |
// StatusLine.setMessage(LexicalTableUIMessages.LexicalTableEditor_16);
|
|
193 |
// System.out.println(NLS.bind(LexicalTableUIMessages.LexicalTableEditor_5, vMaxFilterSpinner.getSelection(), fMinFilterSpinner.getSelection()));
|
|
194 |
//
|
|
195 |
// MessageBox messageBox = new MessageBox(e.display.getActiveShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO);
|
|
196 |
// messageBox.setMessage(TXMUIMessages.common_areYouSure);
|
|
197 |
// int response = messageBox.open();
|
|
198 |
// if (response != SWT.YES) {
|
|
199 |
// return;
|
|
200 |
// }
|
|
201 |
//
|
|
202 |
// try {
|
|
203 |
//// updateResultFromEditor();
|
|
204 |
//// refresh(false);
|
|
205 |
// // force the recomputing
|
|
206 |
// getResult().setDirty();
|
|
207 |
// compute(true);
|
|
208 |
// } catch (Exception e1) {
|
|
209 |
// // TODO Auto-generated catch block
|
|
210 |
// org.txm.rcp.utils.Logger.printStackTrace(e1);
|
|
211 |
// StatusLine.setMessage("LexicalTable: sorting error."); //$NON-NLS-1$
|
|
212 |
// }
|
|
213 |
// }
|
|
214 |
//
|
|
215 |
// @Override
|
|
216 |
// public void widgetDefaultSelected(SelectionEvent e) {
|
|
217 |
// }
|
|
218 |
// });
|
208 |
219 |
|
209 |
220 |
// Number of lines
|
210 |
221 |
Label nLines = new Label(extendedParametersArea, SWT.NONE);
|
211 |
222 |
nLines.setText(TXMCoreMessages.common_numberOfLines);
|
212 |
|
vMax = new Spinner(extendedParametersArea, SWT.BORDER);
|
213 |
|
|
|
223 |
vMaxFilterSpinner = new Spinner(extendedParametersArea, SWT.BORDER);
|
|
224 |
vMaxFilterSpinner.setMinimum(1);
|
|
225 |
vMaxFilterSpinner.setMaximum(9999999);
|
|
226 |
|
214 |
227 |
// Fmin
|
215 |
228 |
Label fmin = new Label(extendedParametersArea, SWT.NONE);
|
216 |
229 |
fmin.setText(TXMCoreMessages.common_fMin);
|
217 |
|
fMin = new Spinner(extendedParametersArea, SWT.BORDER);
|
218 |
|
|
|
230 |
fMinFilterSpinner = new Spinner(extendedParametersArea, SWT.BORDER);
|
|
231 |
fMinFilterSpinner.setMinimum(1);
|
|
232 |
fMinFilterSpinner.setMaximum(9999999);
|
219 |
233 |
|
|
234 |
|
220 |
235 |
// Merge or delete columns button
|
221 |
|
Button fusionCol = new Button(extendedParametersArea, SWT.PUSH);
|
222 |
|
fusionCol.setText(LexicalTableUIMessages.LexicalTableEditor_10);
|
223 |
|
fusionCol.addSelectionListener(new SelectionListener() {
|
|
236 |
mergeDeleteColumnsButton = new Button(extendedParametersArea, SWT.PUSH);
|
|
237 |
mergeDeleteColumnsButton.setText(LexicalTableUIMessages.LexicalTableEditor_10);
|
|
238 |
mergeDeleteColumnsButton.addSelectionListener(new SelectionListener() {
|
224 |
239 |
@Override
|
225 |
240 |
public void widgetSelected(SelectionEvent e) {
|
226 |
241 |
StatusLine.setMessage(LexicalTableUIMessages.LexicalTableEditor_18);
|
... | ... | |
311 |
326 |
});
|
312 |
327 |
|
313 |
328 |
// Merge or delete lines button
|
314 |
|
Button mergeDeleteRows = new Button(extendedParametersArea, SWT.PUSH);
|
315 |
|
mergeDeleteRows.setText(LexicalTableUIMessages.LexicalTableEditor_13);
|
316 |
|
mergeDeleteRows.addSelectionListener(new SelectionListener() {
|
|
329 |
mergeDeleteRowsButton = new Button(extendedParametersArea, SWT.PUSH);
|
|
330 |
mergeDeleteRowsButton.setText(LexicalTableUIMessages.LexicalTableEditor_13);
|
|
331 |
mergeDeleteRowsButton.addSelectionListener(new SelectionListener() {
|
317 |
332 |
@Override
|
318 |
333 |
public void widgetSelected(SelectionEvent e) {
|
319 |
334 |
|
... | ... | |
357 |
372 |
//gd.horizontalSpan = 2;
|
358 |
373 |
resultArea.setLayoutData(gd);
|
359 |
374 |
|
360 |
|
viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
|
|
375 |
viewer = new TableViewer(resultArea, SWT.VIRTUAL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
|
361 |
376 |
viewer.getTable().addKeyListener(new TableKeyListener(viewer));
|
362 |
377 |
viewer.getTable().setLinesVisible(true);
|
363 |
378 |
viewer.getTable().setHeaderVisible(true);
|
... | ... | |
665 |
680 |
* @param col the col
|
666 |
681 |
* @param index the index
|
667 |
682 |
*/
|
668 |
|
// FIXME: try to use a ViwerSorter instead of this
|
|
683 |
// FIXME: try to use a ViewerSorter instead of this but also manage the result sorting for export
|
669 |
684 |
public void sort(TableViewerColumn col, int index) {
|
670 |
685 |
|
671 |
686 |
if (index == previousSortedCol) {
|
... | ... | |
688 |
703 |
}
|
689 |
704 |
|
690 |
705 |
previousSortedCol = index;
|
|
706 |
|
691 |
707 |
refreshTable(true);
|
692 |
708 |
|
693 |
|
viewer.getTable().setSortColumn(col.getColumn());
|
|
709 |
//viewer.getTable().setSortColumn(col.getColumn());
|
|
710 |
viewer.getTable().setSortColumn(viewer.getTable().getColumn(index + 3));
|
|
711 |
|
694 |
712 |
if (reverse) {
|
695 |
713 |
viewer.getTable().setSortDirection(SWT.DOWN);
|
696 |
714 |
}
|
697 |
715 |
else {
|
698 |
716 |
viewer.getTable().setSortDirection(SWT.UP);
|
699 |
717 |
}
|
|
718 |
|
|
719 |
// Refresh and pack the columns
|
|
720 |
TXMEditor.packColumns(this.viewer);
|
|
721 |
|
700 |
722 |
}
|
701 |
723 |
|
702 |
724 |
|
703 |
725 |
|
704 |
726 |
@Override
|
705 |
727 |
public void updateEditorFromResult(boolean update) {
|
706 |
|
vMax.setMinimum(1);
|
707 |
|
if(lexicalTable.getData() != null) {
|
708 |
|
vMax.setMaximum(lexicalTable.getData().getNRows());
|
709 |
|
vMax.setSelection(lexicalTable.getData().getNRows());
|
710 |
|
fMin.setMinimum(lexicalTable.getData().getFMin());
|
711 |
|
fMin.setMaximum(lexicalTable.getData().getFMax());
|
712 |
|
fMin.setSelection(lexicalTable.getData().getFMin());
|
|
728 |
if(this.lexicalTable.getData() != null) {
|
|
729 |
//vMax.setMaximum(lexicalTable.getData().getNRows());
|
|
730 |
//vMax.setSelection(lexicalTable.getFMinFilter());
|
|
731 |
// fMin.setMinimum(lexicalTable.getData().getFMin());
|
|
732 |
//fMin.setMaximum(lexicalTable.getData().getFMax());
|
|
733 |
//fMin.setSelection(lexicalTable.getData().getFMin());
|
713 |
734 |
|
|
735 |
this.mergeDeleteColumnsButton.setEnabled(true);
|
|
736 |
this.mergeDeleteRowsButton.setEnabled(true);
|
|
737 |
|
714 |
738 |
this.refreshInfos();
|
715 |
739 |
}
|
|
740 |
else {
|
|
741 |
this.mergeDeleteColumnsButton.setEnabled(false);
|
|
742 |
this.mergeDeleteRowsButton.setEnabled(false);
|
|
743 |
}
|
716 |
744 |
|
717 |
745 |
this.refreshTable(update);
|
718 |
746 |
|