Révision 2555
| tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/SynopticEditionEditor.java (revision 2555) | ||
|---|---|---|
| 85 | 85 |
import org.txm.searchengine.cqp.corpus.MainCorpus; |
| 86 | 86 |
import org.txm.searchengine.cqp.serverException.CqiServerError; |
| 87 | 87 |
import org.txm.utils.logger.Log; |
| 88 |
|
|
| 88 | 89 |
/** |
| 89 | 90 |
* Call the internal browser of RCP to display the Edition Pages of a Text |
| 90 | 91 |
* |
| ... | ... | |
| 92 | 93 |
* |
| 93 | 94 |
*/ |
| 94 | 95 |
public class SynopticEditionEditor extends TXMEditor<Text> implements IEditionEditor {
|
| 95 |
|
|
| 96 |
|
|
| 96 | 97 |
/** The Constant ID. */ |
| 97 |
public final static String ID = SynopticEditionEditor.class.getName(); //$NON-NLS-1$ |
|
| 98 |
LinkedHashMap<String, EditionPanel> editionPanels = new LinkedHashMap<String, EditionPanel>(); |
|
| 99 |
|
|
| 98 |
public final static String ID = SynopticEditionEditor.class.getName(); |
|
| 99 |
|
|
| 100 |
LinkedHashMap<String, EditionPanel> editionPanels = new LinkedHashMap<>(); |
|
| 101 |
|
|
| 100 | 102 |
/** The page_label: show current page name. */ |
| 101 | 103 |
org.eclipse.swt.widgets.Text page_text; |
| 104 |
|
|
| 102 | 105 |
Label page_label; |
| 106 |
|
|
| 103 | 107 |
GLComposite editionsArea; |
| 108 |
|
|
| 104 | 109 |
private List<String> editionNames; |
| 110 |
|
|
| 105 | 111 |
private CQPCorpus corpus; |
| 112 |
|
|
| 106 | 113 |
private MainCorpus mainCorpus; |
| 107 | 114 |
|
| 108 | 115 |
private Text text; |
| 116 |
|
|
| 109 | 117 |
private Button editionsChooser; |
| 110 |
//private Label editionsLabel; |
|
| 118 |
|
|
| 119 |
// private Label editionsLabel; |
|
| 111 | 120 |
private GLComposite controlsArea; |
| 112 |
// private GLComposite annotationWidgetsArea; |
|
| 113 |
// private TXMEditorToolBar supplementaryButtonToolbar; |
|
| 121 |
|
|
| 122 |
// private GLComposite annotationWidgetsArea; |
|
| 123 |
// private TXMEditorToolBar supplementaryButtonToolbar; |
|
| 114 | 124 |
private ISelectionProvider selProvider; |
| 125 |
|
|
| 115 | 126 |
private org.eclipse.swt.widgets.Text text_text; |
| 116 |
// private Label text_label; |
|
| 127 |
|
|
| 128 |
// private Label text_label; |
|
| 117 | 129 |
private TXMAutoCompleteField identifiantComboAutoCompleteField; |
| 118 |
|
|
| 119 |
//TODO finish editor conversion |
|
| 130 |
|
|
| 131 |
// TODO finish editor conversion |
|
| 132 |
@Override |
|
| 120 | 133 |
public Text getResult() {
|
| 121 | 134 |
for (EditionPanel panel : editionPanels.values()) {
|
| 122 | 135 |
return panel.getCurrentText(); |
| ... | ... | |
| 129 | 142 |
*/ |
| 130 | 143 |
public SynopticEditionEditor() {
|
| 131 | 144 |
selProvider = new ISelectionProvider() {
|
| 145 |
|
|
| 132 | 146 |
@Override |
| 133 |
public void setSelection(ISelection selection) { }
|
|
| 147 |
public void setSelection(ISelection selection) {}
|
|
| 148 |
|
|
| 134 | 149 |
@Override |
| 135 |
public void removeSelectionChangedListener(ISelectionChangedListener listener) { }
|
|
| 150 |
public void removeSelectionChangedListener(ISelectionChangedListener listener) {}
|
|
| 151 |
|
|
| 136 | 152 |
@Override |
| 137 | 153 |
public ISelection getSelection() {
|
| 138 | 154 |
ITextSelection sel = new ITextSelection() {
|
| 155 |
|
|
| 139 | 156 |
@Override |
| 140 | 157 |
public boolean isEmpty() {
|
| 141 | 158 |
for (EditionPanel panel : editionPanels.values()) {
|
| ... | ... | |
| 144 | 161 |
} |
| 145 | 162 |
return true; |
| 146 | 163 |
} |
| 164 |
|
|
| 147 | 165 |
@Override |
| 148 | 166 |
public String getText() {
|
| 149 | 167 |
for (EditionPanel panel : editionPanels.values()) {
|
| ... | ... | |
| 152 | 170 |
} |
| 153 | 171 |
return EditionUIMessages.CommandLink_empty; |
| 154 | 172 |
} |
| 173 |
|
|
| 155 | 174 |
@Override |
| 156 |
public int getStartLine() { return 0;}
|
|
| 175 |
public int getStartLine() {
|
|
| 176 |
return 0; |
|
| 177 |
} |
|
| 178 |
|
|
| 157 | 179 |
@Override |
| 158 |
public int getOffset() {return 0;}
|
|
| 180 |
public int getOffset() {
|
|
| 181 |
return 0; |
|
| 182 |
} |
|
| 183 |
|
|
| 159 | 184 |
@Override |
| 160 |
public int getLength() {return 0;}
|
|
| 185 |
public int getLength() {
|
|
| 186 |
return 0; |
|
| 187 |
} |
|
| 188 |
|
|
| 161 | 189 |
@Override |
| 162 |
public int getEndLine() {return 0;}
|
|
| 190 |
public int getEndLine() {
|
|
| 191 |
return 0; |
|
| 192 |
} |
|
| 163 | 193 |
}; |
| 164 | 194 |
return sel; |
| 165 | 195 |
} |
| 166 |
|
|
| 196 |
|
|
| 167 | 197 |
@Override |
| 168 |
public void addSelectionChangedListener(ISelectionChangedListener listener) { }
|
|
| 198 |
public void addSelectionChangedListener(ISelectionChangedListener listener) {}
|
|
| 169 | 199 |
}; |
| 170 |
|
|
| 200 |
|
|
| 171 | 201 |
} |
| 172 |
|
|
| 202 |
|
|
| 173 | 203 |
public void setHighlightWordsById(RGBA color, HashSet<String> wordids) {
|
| 174 |
for(EditionPanel panel : editionPanels.values()) {
|
|
| 204 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 175 | 205 |
panel.setHighlightWordsById(color, wordids); |
| 176 | 206 |
} |
| 177 | 207 |
} |
| 178 |
|
|
| 208 |
|
|
| 179 | 209 |
public void addHighlightWordsById(RGBA color, String wordid) {
|
| 180 |
for(EditionPanel panel : editionPanels.values()) {
|
|
| 210 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 181 | 211 |
panel.addHighlightWordsById(color, wordid); |
| 182 | 212 |
} |
| 183 | 213 |
} |
| 184 |
|
|
| 214 |
|
|
| 185 | 215 |
public void addHighlightWordsById(RGBA color, Collection<String> wordids) {
|
| 186 |
for(EditionPanel panel : editionPanels.values()) {
|
|
| 216 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 187 | 217 |
panel.addHighlightWordsById(color, wordids); |
| 188 | 218 |
} |
| 189 | 219 |
} |
| 190 |
|
|
| 220 |
|
|
| 191 | 221 |
public void removeHighlightWordsById(RGBA color, Collection<String> wordids) {
|
| 192 |
for(EditionPanel panel : editionPanels.values()) {
|
|
| 222 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 193 | 223 |
if (!panel.isDisposed()) {
|
| 194 | 224 |
panel.removeHighlightWordsById(color, wordids); |
| 195 | 225 |
} |
| 196 | 226 |
} |
| 197 | 227 |
} |
| 198 |
|
|
| 228 |
|
|
| 199 | 229 |
public void removeHighlightWordsById(RGBA color, String wordid) {
|
| 200 |
for(EditionPanel panel : editionPanels.values()) {
|
|
| 230 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 201 | 231 |
if (!panel.isDisposed()) {
|
| 202 | 232 |
panel.removeHighlightWordsById(color, wordid); |
| 203 | 233 |
} |
| 204 | 234 |
} |
| 205 | 235 |
} |
| 206 |
|
|
| 207 |
// /**
|
|
| 208 |
// *
|
|
| 209 |
// * @param wordids2 all the words to highlight
|
|
| 210 |
// * @param lineids2 the words to highlight better and to scroll to
|
|
| 211 |
// */
|
|
| 212 |
// public void highlightWordsById(List<String> wordids, List<String> lineids, int[] pos, String focusid) {
|
|
| 213 |
// for(EditionPanel panel : editionPanels.values()) {
|
|
| 214 |
// if (panel.getEdition().getName().startsWith("facs")) {
|
|
| 215 |
// List<int[]> wordRectangles = new ArrayList<int[]>();
|
|
| 216 |
// List<int[]> keywordRectangles = new ArrayList<int[]>();
|
|
| 217 |
// if (pos != null) keywordRectangles.add(pos);
|
|
| 218 |
// panel.highlightWordsByPositions(wordRectangles, keywordRectangles);
|
|
| 219 |
// } else {
|
|
| 220 |
// panel.highlightWordsById(wordids, lineids, focusid);
|
|
| 221 |
// }
|
|
| 222 |
// }
|
|
| 236 |
|
|
| 237 |
// /**
|
|
| 238 |
// *
|
|
| 239 |
// * @param wordids2 all the words to highlight |
|
| 240 |
// * @param lineids2 the words to highlight better and to scroll to |
|
| 241 |
// */ |
|
| 242 |
// public void highlightWordsById(List<String> wordids, List<String> lineids, int[] pos, String focusid) {
|
|
| 243 |
// for(EditionPanel panel : editionPanels.values()) {
|
|
| 244 |
// if (panel.getEdition().getName().startsWith("facs")) {
|
|
| 245 |
// List<int[]> wordRectangles = new ArrayList<int[]>();
|
|
| 246 |
// List<int[]> keywordRectangles = new ArrayList<int[]>();
|
|
| 247 |
// if (pos != null) keywordRectangles.add(pos);
|
|
| 248 |
// panel.highlightWordsByPositions(wordRectangles, keywordRectangles);
|
|
| 249 |
// } else {
|
|
| 250 |
// panel.highlightWordsById(wordids, lineids, focusid);
|
|
| 251 |
// }
|
|
| 252 |
// }
|
|
| 223 | 253 |
// |
| 224 |
// updatePageLabel();
|
|
| 225 |
//
|
|
| 226 |
//
|
|
| 227 |
// }
|
|
| 228 |
|
|
| 254 |
// updatePageLabel();
|
|
| 255 |
// |
|
| 256 |
// |
|
| 257 |
// }
|
|
| 258 |
|
|
| 229 | 259 |
/** |
| 230 | 260 |
* First page. |
| 231 | 261 |
*/ |
| 232 | 262 |
public void firstPage() {
|
| 233 |
for(EditionPanel panel : editionPanels.values()) {
|
|
| 263 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 234 | 264 |
panel.firstPage(); |
| 235 | 265 |
} |
| 236 | 266 |
updatePageLabel(); |
| 237 | 267 |
} |
| 238 |
|
|
| 268 |
|
|
| 239 | 269 |
/** |
| 240 | 270 |
* Last page. |
| 241 | 271 |
*/ |
| 242 | 272 |
public void lastPage() {
|
| 243 |
for(EditionPanel panel : editionPanels.values()) |
|
| 273 |
for (EditionPanel panel : editionPanels.values())
|
|
| 244 | 274 |
panel.lastPage(); |
| 245 | 275 |
updatePageLabel(); |
| 246 | 276 |
} |
| 247 |
|
|
| 277 |
|
|
| 248 | 278 |
/** |
| 249 | 279 |
* Previous page. |
| 250 | 280 |
*/ |
| 251 | 281 |
public void previousPage() {
|
| 252 |
for(EditionPanel panel : editionPanels.values()) |
|
| 282 |
for (EditionPanel panel : editionPanels.values())
|
|
| 253 | 283 |
panel.previousPage(); |
| 254 | 284 |
updatePageLabel(); |
| 255 | 285 |
} |
| 256 |
|
|
| 286 |
|
|
| 257 | 287 |
/** |
| 258 | 288 |
* Next page. |
| 259 | 289 |
*/ |
| 260 | 290 |
public void nextPage() {
|
| 261 |
for(EditionPanel panel : editionPanels.values()) |
|
| 291 |
for (EditionPanel panel : editionPanels.values())
|
|
| 262 | 292 |
panel.nextPage(); |
| 263 | 293 |
updatePageLabel(); |
| 264 | 294 |
} |
| 265 |
|
|
| 295 |
|
|
| 266 | 296 |
/** |
| 267 | 297 |
* Direct access to a page with a name. |
| 268 | 298 |
*/ |
| 269 | 299 |
public void goToPage(String name) {
|
| 270 |
for(EditionPanel panel : editionPanels.values())
|
|
| 300 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 271 | 301 |
panel.goToPage(name); |
| 302 |
} |
|
| 272 | 303 |
updatePageLabel(); |
| 273 |
|
|
| 304 |
|
|
| 274 | 305 |
} |
| 275 | 306 |
|
| 276 | 307 |
/** |
| ... | ... | |
| 288 | 319 |
} |
| 289 | 320 |
} |
| 290 | 321 |
} |
| 291 |
} catch (Exception e) {
|
|
| 322 |
} |
|
| 323 |
catch (Exception e) {
|
|
| 292 | 324 |
e.printStackTrace(); |
| 293 | 325 |
} |
| 294 | 326 |
|
| 295 | 327 |
Log.info(NLS.bind("No {0} text found.", id));
|
| 296 | 328 |
} |
| 297 |
|
|
| 329 |
|
|
| 298 | 330 |
/** |
| 299 | 331 |
* Previous text. |
| 300 | 332 |
*/ |
| ... | ... | |
| 304 | 336 |
} |
| 305 | 337 |
updatePageLabel(); |
| 306 | 338 |
} |
| 307 |
|
|
| 339 |
|
|
| 308 | 340 |
/** |
| 309 | 341 |
* Next text. |
| 310 | 342 |
*/ |
| 311 | 343 |
public void nextText() {
|
| 312 |
for( EditionPanel panel : editionPanels.values()) {
|
|
| 344 |
for (EditionPanel panel : editionPanels.values()) {
|
|
| 313 | 345 |
panel.nextText(); |
| 314 | 346 |
} |
| 315 | 347 |
updatePageLabel(); |
| ... | ... | |
| 324 | 356 |
} |
| 325 | 357 |
updatePageLabel(); |
| 326 | 358 |
} |
| 327 |
|
|
| 359 |
|
|
| 328 | 360 |
/** |
| 329 | 361 |
* Next text. |
| 330 | 362 |
*/ |
| ... | ... | |
| 334 | 366 |
} |
| 335 | 367 |
updatePageLabel(); |
| 336 | 368 |
} |
| 337 |
|
|
| 369 |
|
|
| 338 | 370 |
public Composite getEditionArea() {
|
| 339 | 371 |
return editionsArea; |
| 340 | 372 |
} |
| 341 |
|
|
| 342 |
// public Composite getUpperToolbarArea() {
|
|
| 343 |
// return annotationWidgetsArea;
|
|
| 344 |
// }
|
|
| 345 |
|
|
| 373 |
|
|
| 374 |
// public Composite getUpperToolbarArea() {
|
|
| 375 |
// return annotationWidgetsArea;
|
|
| 376 |
// }
|
|
| 377 |
|
|
| 346 | 378 |
public Composite getLowerToolbarArea() {
|
| 347 | 379 |
return controlsArea; |
| 348 | 380 |
} |
| 349 |
|
|
| 381 |
|
|
| 350 | 382 |
@Override |
| 351 | 383 |
public void _createPartControl() {
|
| 352 |
|
|
| 384 |
|
|
| 353 | 385 |
// remove the compute button |
| 354 | 386 |
this.removeComputeButton(); |
| 355 | 387 |
|
| 356 | 388 |
editionsArea = getResultArea(); |
| 357 |
|
|
| 389 |
|
|
| 358 | 390 |
controlsArea = getBottomToolbar().installGLComposite(EditionUIMessages.controls, 15, false); |
| 359 | 391 |
controlsArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); |
| 360 |
//spacer |
|
| 392 |
// spacer
|
|
| 361 | 393 |
new Label(controlsArea, SWT.NONE).setText(" "); //$NON-NLS-1$
|
| 362 | 394 |
|
| 363 |
// annotationWidgetsArea = new GLComposite(getBetweenTopToolbarsAndResultComposite(), SWT.NONE, "Edition annotation area"); |
|
| 364 |
// this.annotationWidgetsArea.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); |
|
| 365 |
|
|
| 366 |
//supplementaryButtonToolbar = new TXMEditorToolBar(this, getTopToolbarContainer(), annotationWidgetsArea, SWT.NONE, "annotation urs"); |
|
| 395 |
// annotationWidgetsArea = new GLComposite(getBetweenTopToolbarsAndResultComposite(), SWT.NONE, "Edition annotation area"); |
|
| 396 |
// this.annotationWidgetsArea.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); |
|
| 367 | 397 |
|
| 398 |
// supplementaryButtonToolbar = new TXMEditorToolBar(this, getTopToolbarContainer(), annotationWidgetsArea, SWT.NONE, "annotation urs"); |
|
| 399 |
|
|
| 368 | 400 |
// Edition names label |
| 369 | 401 |
editionsChooser = new Button(controlsArea, SWT.PUSH); |
| 370 | 402 |
editionsChooser.setText(StringUtils.join(editionNames, " | ")); //$NON-NLS-1$ |
| 371 |
|
|
| 372 |
if (mainCorpus.getProject().getBuiltEditionNames().size() > 1) {
|
|
| 373 |
|
|
| 403 |
|
|
| 404 |
if (mainCorpus.getProject().getBuiltEditionNames().size() > 1) {
|
|
| 405 |
|
|
| 374 | 406 |
editionsChooser.addSelectionListener(new SelectionListener() {
|
| 407 |
|
|
| 375 | 408 |
@Override |
| 376 | 409 |
public void widgetSelected(SelectionEvent e) {
|
| 377 | 410 |
try {
|
| ... | ... | |
| 382 | 415 |
|
| 383 | 416 |
Shell shell = e.display.getActiveShell(); |
| 384 | 417 |
EditionSelectorDialog d = new EditionSelectorDialog(shell, mainCorpus, editionNames); |
| 385 |
|
|
| 418 |
|
|
| 386 | 419 |
if (d.open() == Window.OK) {
|
| 387 | 420 |
Object[] rez = d.getResult(); |
| 388 |
editionNames = new ArrayList<String>();
|
|
| 389 |
for (int i = 0 ; i < rez.length ; i++) {
|
|
| 421 |
editionNames = new ArrayList<>(); |
|
| 422 |
for (int i = 0; i < rez.length; i++) {
|
|
| 390 | 423 |
editionNames.add(rez[i].toString()); |
| 391 | 424 |
} |
| 392 | 425 |
|
| ... | ... | |
| 394 | 427 |
openEditions(text, editionNames); |
| 395 | 428 |
firstPage(); |
| 396 | 429 |
} |
| 397 |
} catch (Exception e2) {
|
|
| 430 |
} |
|
| 431 |
catch (Exception e2) {
|
|
| 398 | 432 |
org.txm.utils.logger.Log.printStackTrace(e2); |
| 399 | 433 |
System.out.println(NLS.bind(EditionUIMessages.errorWhileGettingAvailableEditionsColonP0, e2)); |
| 400 | 434 |
} |
| 401 | 435 |
} |
| 402 |
|
|
| 436 |
|
|
| 403 | 437 |
@Override |
| 404 |
public void widgetDefaultSelected(SelectionEvent e) { }
|
|
| 438 |
public void widgetDefaultSelected(SelectionEvent e) {}
|
|
| 405 | 439 |
}); |
| 406 |
} else {
|
|
| 440 |
} |
|
| 441 |
else {
|
|
| 407 | 442 |
editionsChooser.setEnabled(false); |
| 408 | 443 |
} |
| 409 |
|
|
| 444 |
|
|
| 410 | 445 |
// Navigation buttons |
| 411 | 446 |
GLComposite pageNavigationComposite = new GLComposite(controlsArea, SWT.NONE, EditionUIMessages.pageButtons); |
| 412 | 447 |
pageNavigationComposite.getLayout().numColumns = 6; |
| 413 | 448 |
pageNavigationComposite.getLayout().horizontalSpacing = 1; |
| 414 |
Button first = new Button(pageNavigationComposite, SWT.FLAT|SWT.PUSH);
|
|
| 415 |
Button previous = new Button(pageNavigationComposite, SWT.FLAT|SWT.PUSH);
|
|
| 449 |
Button first = new Button(pageNavigationComposite, SWT.FLAT | SWT.PUSH);
|
|
| 450 |
Button previous = new Button(pageNavigationComposite, SWT.FLAT | SWT.PUSH);
|
|
| 416 | 451 |
page_text = new org.eclipse.swt.widgets.Text(pageNavigationComposite, SWT.BORDER); |
| 417 | 452 |
page_label = new Label(pageNavigationComposite, SWT.NONE); |
| 418 |
Button next = new Button(pageNavigationComposite, SWT.FLAT|SWT.PUSH);
|
|
| 419 |
Button last = new Button(pageNavigationComposite, SWT.FLAT|SWT.PUSH);
|
|
| 453 |
Button next = new Button(pageNavigationComposite, SWT.FLAT | SWT.PUSH);
|
|
| 454 |
Button last = new Button(pageNavigationComposite, SWT.FLAT | SWT.PUSH);
|
|
| 420 | 455 |
pageNavigationComposite.setLayoutData(new GridData(GridData.CENTER, GridData.FILL, true, false)); |
| 421 | 456 |
|
| 422 | 457 |
GLComposite textNavigationComposite = new GLComposite(controlsArea, SWT.NONE, EditionUIMessages.textButtons); |
| ... | ... | |
| 431 | 466 |
GridData gdata = new GridData(GridData.CENTER, GridData.FILL, true, false); |
| 432 | 467 |
gdata.minimumWidth = 1; |
| 433 | 468 |
for (String text_id : text_ids) {
|
| 434 |
double s = text_id.length()*7;
|
|
| 469 |
double s = text_id.length() * 7;
|
|
| 435 | 470 |
if (s > gdata.minimumWidth) {
|
| 436 | 471 |
gdata.minimumWidth = (int) s; |
| 437 | 472 |
} |
| 438 | 473 |
} |
| 439 | 474 |
text_text.setLayoutData(gdata); |
| 440 | 475 |
identifiantComboAutoCompleteField = new TXMAutoCompleteField(text_text, new TextContentAdapter(), text_ids, keys); |
| 441 |
// identifiantComboAutoCompleteField.setSelectionListener(new SelectionListener() {
|
|
| 442 |
// @Override |
|
| 443 |
// public void widgetSelected(SelectionEvent e) {
|
|
| 444 |
// goToText(text_text.getText()); |
|
| 445 |
// } |
|
| 446 |
// |
|
| 447 |
// @Override |
|
| 448 |
// public void widgetDefaultSelected(SelectionEvent e) { }
|
|
| 449 |
// }); |
|
| 450 |
} catch (Exception e2) {
|
|
| 476 |
// identifiantComboAutoCompleteField.setSelectionListener(new SelectionListener() {
|
|
| 477 |
// @Override |
|
| 478 |
// public void widgetSelected(SelectionEvent e) {
|
|
| 479 |
// goToText(text_text.getText()); |
|
| 480 |
// } |
|
| 481 |
// |
|
| 482 |
// @Override |
|
| 483 |
// public void widgetDefaultSelected(SelectionEvent e) { }
|
|
| 484 |
// }); |
|
| 485 |
} |
|
| 486 |
catch (Exception e2) {
|
|
| 451 | 487 |
e2.printStackTrace(); |
| 452 | 488 |
} |
| 453 | 489 |
Cursor cursor = new Cursor(text_text.getDisplay(), SWT.CURSOR_SIZENS); |
| 454 | 490 |
text_text.setCursor(cursor); |
| 455 |
// text_label = new Label(textNavigationComposite, SWT.NONE);
|
|
| 456 |
Button nextText = new Button(textNavigationComposite, SWT.FLAT|SWT.PUSH);
|
|
| 457 |
Button lastText = new Button(textNavigationComposite, SWT.FLAT|SWT.PUSH);
|
|
| 491 |
// text_label = new Label(textNavigationComposite, SWT.NONE);
|
|
| 492 |
Button nextText = new Button(textNavigationComposite, SWT.FLAT | SWT.PUSH);
|
|
| 493 |
Button lastText = new Button(textNavigationComposite, SWT.FLAT | SWT.PUSH);
|
|
| 458 | 494 |
textNavigationComposite.setLayoutData(new GridData(GridData.CENTER, GridData.FILL, false, false)); |
| 459 | 495 |
// Layouts data |
| 460 |
|
|
| 461 |
editionsChooser.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER, false, false)); |
|
| 462 |
|
|
| 463 |
// GridData buttonGridData = new GridData(GridData.END,GridData.CENTER, true, false);
|
|
| 464 |
// buttonGridData.widthHint = 30;
|
|
| 465 |
// buttonGridData.heightHint = 30;
|
|
| 466 |
// firstText.setLayoutData(buttonGridData);
|
|
| 467 |
// buttonGridData = new GridData(GridData.CENTER,GridData.CENTER, false, false);
|
|
| 468 |
// buttonGridData.widthHint = 30;
|
|
| 469 |
// buttonGridData.heightHint = 30;
|
|
| 470 |
// previousText.setLayoutData(buttonGridData);
|
|
| 471 |
// GridData centerButtonGridData = new GridData(GridData.END,GridData.CENTER, true, true);
|
|
| 472 |
// centerButtonGridData.widthHint = 30;
|
|
| 473 |
// centerButtonGridData.heightHint = 30;
|
|
| 474 |
// first.setLayoutData(centerButtonGridData);
|
|
| 475 |
// previous.setLayoutData(buttonGridData);
|
|
| 476 |
|
|
| 496 |
|
|
| 497 |
editionsChooser.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
|
|
| 498 |
|
|
| 499 |
// GridData buttonGridData = new GridData(GridData.END,GridData.CENTER, true, false);
|
|
| 500 |
// buttonGridData.widthHint = 30;
|
|
| 501 |
// buttonGridData.heightHint = 30;
|
|
| 502 |
// firstText.setLayoutData(buttonGridData);
|
|
| 503 |
// buttonGridData = new GridData(GridData.CENTER,GridData.CENTER, false, false);
|
|
| 504 |
// buttonGridData.widthHint = 30;
|
|
| 505 |
// buttonGridData.heightHint = 30;
|
|
| 506 |
// previousText.setLayoutData(buttonGridData);
|
|
| 507 |
// GridData centerButtonGridData = new GridData(GridData.END,GridData.CENTER, true, true);
|
|
| 508 |
// centerButtonGridData.widthHint = 30;
|
|
| 509 |
// centerButtonGridData.heightHint = 30;
|
|
| 510 |
// first.setLayoutData(centerButtonGridData);
|
|
| 511 |
// previous.setLayoutData(buttonGridData);
|
|
| 512 |
|
|
| 477 | 513 |
// set sizes |
| 478 |
GridData gdata = new GridData(GridData.END,GridData.CENTER, false, false); |
|
| 514 |
GridData gdata = new GridData(GridData.END, GridData.CENTER, false, false);
|
|
| 479 | 515 |
gdata.minimumWidth = 25; |
| 480 | 516 |
gdata.widthHint = 25; |
| 481 | 517 |
|
| 482 | 518 |
page_text.setLayoutData(gdata); |
| 483 |
// page_label.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER, false, false));
|
|
| 484 |
// |
|
| 485 |
// next.setLayoutData(buttonGridData);
|
|
| 486 |
// centerButtonGridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, true);
|
|
| 487 |
// centerButtonGridData.widthHint = 30;
|
|
| 488 |
// centerButtonGridData.heightHint = 30;
|
|
| 489 |
// last.setLayoutData(centerButtonGridData);
|
|
| 490 |
// nextText.setLayoutData(buttonGridData);
|
|
| 491 |
// lastText.setLayoutData(buttonGridData);
|
|
| 492 |
|
|
| 493 |
// if (editionsChooser != null)
|
|
| 494 |
// editionsChooser.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER, false, true));
|
|
| 495 |
//else spacer.setLayoutData(new GridData(GridData.END,GridData.CENTER, true, true)); |
|
| 496 |
|
|
| 519 |
// page_label.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER, false, false));
|
|
| 520 |
//
|
|
| 521 |
// next.setLayoutData(buttonGridData);
|
|
| 522 |
// centerButtonGridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, true);
|
|
| 523 |
// centerButtonGridData.widthHint = 30;
|
|
| 524 |
// centerButtonGridData.heightHint = 30;
|
|
| 525 |
// last.setLayoutData(centerButtonGridData);
|
|
| 526 |
// nextText.setLayoutData(buttonGridData);
|
|
| 527 |
// lastText.setLayoutData(buttonGridData);
|
|
| 528 |
|
|
| 529 |
// if (editionsChooser != null)
|
|
| 530 |
// editionsChooser.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER, false, true));
|
|
| 531 |
// else spacer.setLayoutData(new GridData(GridData.END,GridData.CENTER, true, true));
|
|
| 532 |
|
|
| 497 | 533 |
// set labels |
| 498 | 534 |
page_label.setText(""); //$NON-NLS-1$
|
| 499 |
// text_label.setText(""); //$NON-NLS-1$
|
|
| 535 |
// text_label.setText(""); //$NON-NLS-1$
|
|
| 500 | 536 |
firstText.setImage(IImageKeys.getImage(IImageKeys.CTRLREWINDSTART)); |
| 501 |
firstText.setToolTipText(EditionUIMessages.firstTextOfTheCorpus);
|
|
| 537 |
firstText.setToolTipText(EditionUIMessages.firstTextOfTheCorpus); |
|
| 502 | 538 |
previousText.setImage(IImageKeys.getImage(IImageKeys.CTRLREWIND)); |
| 503 |
previousText.setToolTipText(EditionUIMessages.previousText);
|
|
| 504 |
first.setImage(IImageKeys.getImage(IImageKeys.CTRLSTART));
|
|
| 505 |
first.setToolTipText(EditionUIMessages.firstPageOfTheText);
|
|
| 539 |
previousText.setToolTipText(EditionUIMessages.previousText); |
|
| 540 |
first.setImage(IImageKeys.getImage(IImageKeys.CTRLSTART)); |
|
| 541 |
first.setToolTipText(EditionUIMessages.firstPageOfTheText); |
|
| 506 | 542 |
previous.setImage(IImageKeys.getImage(IImageKeys.CTRLREVERSE)); |
| 507 |
previous.setToolTipText(EditionUIMessages.previousPage);
|
|
| 543 |
previous.setToolTipText(EditionUIMessages.previousPage); |
|
| 508 | 544 |
next.setImage(IImageKeys.getImage(IImageKeys.CTRLPLAY)); |
| 509 |
next.setToolTipText(EditionUIMessages.nextPage);
|
|
| 545 |
next.setToolTipText(EditionUIMessages.nextPage); |
|
| 510 | 546 |
last.setImage(IImageKeys.getImage(IImageKeys.CTRLEND)); |
| 511 | 547 |
last.setToolTipText(EditionUIMessages.lastPageOfTheText); |
| 512 | 548 |
nextText.setImage(IImageKeys.getImage(IImageKeys.CTRLFASTFORWARD)); |
| 513 |
nextText.setToolTipText(EditionUIMessages.nextText);
|
|
| 549 |
nextText.setToolTipText(EditionUIMessages.nextText); |
|
| 514 | 550 |
lastText.setImage(IImageKeys.getImage(IImageKeys.CTRLFASTFORWARDEND)); |
| 515 |
lastText.setToolTipText(EditionUIMessages.lastTextOfTheCorpus);
|
|
| 516 |
|
|
| 551 |
lastText.setToolTipText(EditionUIMessages.lastTextOfTheCorpus); |
|
| 552 |
|
|
| 517 | 553 |
page_text.addKeyListener(new KeyListener() {
|
| 518 |
|
|
| 554 |
|
|
| 519 | 555 |
@Override |
| 520 | 556 |
public void keyReleased(KeyEvent e) {
|
| 521 | 557 |
if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
|
| 522 | 558 |
goToPage(page_text.getText()); |
| 523 | 559 |
} |
| 524 | 560 |
} |
| 525 |
|
|
| 561 |
|
|
| 526 | 562 |
@Override |
| 527 | 563 |
public void keyPressed(KeyEvent e) {}
|
| 528 | 564 |
}); |
| 529 | 565 |
text_text.addKeyListener(new KeyListener() {
|
| 530 |
|
|
| 566 |
|
|
| 531 | 567 |
@Override |
| 532 | 568 |
public void keyReleased(KeyEvent e) {
|
| 569 |
if (identifiantComboAutoCompleteField.isOpen()) return; |
|
| 570 |
|
|
| 533 | 571 |
if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
|
| 534 | 572 |
if (identifiantComboAutoCompleteField.isOpen()) {
|
| 535 | 573 |
return; // ignore keys when content assist is opened |
| 536 | 574 |
} |
| 537 | 575 |
|
| 538 | 576 |
goToText(text_text.getText()); |
| 539 |
} else if (e.keyCode == SWT.ARROW_DOWN) {
|
|
| 577 |
} |
|
| 578 |
else if (e.keyCode == SWT.ARROW_DOWN) {
|
|
| 540 | 579 |
nextText(); |
| 541 |
} else if (e.keyCode == SWT.ARROW_UP) {
|
|
| 580 |
} |
|
| 581 |
else if (e.keyCode == SWT.ARROW_UP) {
|
|
| 542 | 582 |
previousText(false); |
| 543 | 583 |
} |
| 544 | 584 |
} |
| 545 |
|
|
| 585 |
|
|
| 546 | 586 |
@Override |
| 547 | 587 |
public void keyPressed(KeyEvent e) {}
|
| 548 | 588 |
}); |
| 549 | 589 |
text_text.addMouseWheelListener(new MouseWheelListener() {
|
| 590 |
|
|
| 550 | 591 |
@Override |
| 551 | 592 |
public void mouseScrolled(MouseEvent e) {
|
| 552 | 593 |
if (identifiantComboAutoCompleteField.isOpen()) {
|
| 553 | 594 |
return; |
| 554 | 595 |
} |
| 555 |
|
|
| 596 |
|
|
| 556 | 597 |
if (e.count > 0) {
|
| 557 | 598 |
previousText(false); |
| 558 |
} else {
|
|
| 599 |
} |
|
| 600 |
else {
|
|
| 559 | 601 |
nextText(); |
| 560 | 602 |
} |
| 561 |
//toolbar.getEditor().updateWordStyles(); |
|
| 603 |
// toolbar.getEditor().updateWordStyles();
|
|
| 562 | 604 |
} |
| 563 | 605 |
}); |
| 564 | 606 |
// set listeners |
| 565 | 607 |
first.addSelectionListener(new SelectionListener() {
|
| 608 |
|
|
| 566 | 609 |
@Override |
| 567 | 610 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 568 | 611 |
firstPage(); |
| 569 | 612 |
} |
| 570 |
|
|
| 613 |
|
|
| 571 | 614 |
@Override |
| 572 | 615 |
public void widgetSelected(SelectionEvent e) {
|
| 573 | 616 |
firstPage(); |
| 574 | 617 |
} |
| 575 | 618 |
}); |
| 576 | 619 |
previous.addSelectionListener(new SelectionListener() {
|
| 620 |
|
|
| 577 | 621 |
@Override |
| 578 | 622 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 579 | 623 |
previousPage(); |
| 580 | 624 |
} |
| 581 |
|
|
| 625 |
|
|
| 582 | 626 |
@Override |
| 583 | 627 |
public void widgetSelected(SelectionEvent e) {
|
| 584 | 628 |
previousPage(); |
| 585 | 629 |
} |
| 586 | 630 |
}); |
| 587 | 631 |
next.addSelectionListener(new SelectionListener() {
|
| 632 |
|
|
| 588 | 633 |
@Override |
| 589 | 634 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 590 | 635 |
nextPage(); |
| 591 | 636 |
} |
| 592 |
|
|
| 637 |
|
|
| 593 | 638 |
@Override |
| 594 | 639 |
public void widgetSelected(SelectionEvent e) {
|
| 595 | 640 |
nextPage(); |
| 596 | 641 |
} |
| 597 | 642 |
}); |
| 598 | 643 |
last.addSelectionListener(new SelectionListener() {
|
| 644 |
|
|
| 599 | 645 |
@Override |
| 600 | 646 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 601 | 647 |
lastPage(); |
| 602 | 648 |
} |
| 603 |
|
|
| 649 |
|
|
| 604 | 650 |
@Override |
| 605 | 651 |
public void widgetSelected(SelectionEvent e) {
|
| 606 | 652 |
lastPage(); |
| 607 | 653 |
} |
| 608 | 654 |
}); |
| 609 | 655 |
nextText.addSelectionListener(new SelectionListener() {
|
| 656 |
|
|
| 610 | 657 |
@Override |
| 611 | 658 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 612 | 659 |
nextText(); |
| 613 | 660 |
} |
| 614 |
|
|
| 661 |
|
|
| 615 | 662 |
@Override |
| 616 | 663 |
public void widgetSelected(SelectionEvent e) {
|
| 617 | 664 |
nextText(); |
| ... | ... | |
| 619 | 666 |
}); |
| 620 | 667 |
// set listeners |
| 621 | 668 |
previousText.addSelectionListener(new SelectionListener() {
|
| 669 |
|
|
| 622 | 670 |
@Override |
| 623 | 671 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 624 | 672 |
previousText(false); |
| 625 | 673 |
} |
| 626 |
|
|
| 674 |
|
|
| 627 | 675 |
@Override |
| 628 | 676 |
public void widgetSelected(SelectionEvent e) {
|
| 629 | 677 |
previousText(false); |
| 630 | 678 |
} |
| 631 | 679 |
}); |
| 632 | 680 |
lastText.addSelectionListener(new SelectionListener() {
|
| 681 |
|
|
| 633 | 682 |
@Override |
| 634 | 683 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 635 | 684 |
lastText(); |
| 636 | 685 |
} |
| 637 |
|
|
| 686 |
|
|
| 638 | 687 |
@Override |
| 639 | 688 |
public void widgetSelected(SelectionEvent e) {
|
| 640 | 689 |
lastText(); |
| ... | ... | |
| 642 | 691 |
}); |
| 643 | 692 |
// set listeners |
| 644 | 693 |
firstText.addSelectionListener(new SelectionListener() {
|
| 694 |
|
|
| 645 | 695 |
@Override |
| 646 | 696 |
public void widgetDefaultSelected(SelectionEvent e) {
|
| 647 | 697 |
firstText(); |
| 648 | 698 |
} |
| 649 |
|
|
| 699 |
|
|
| 650 | 700 |
@Override |
| 651 | 701 |
public void widgetSelected(SelectionEvent e) {
|
| 652 | 702 |
firstText(); |
| 653 | 703 |
} |
| 654 | 704 |
}); |
| 655 |
|
|
| 705 |
|
|
| 656 | 706 |
try {
|
| 657 | 707 |
// ensure all texts have build their page indexes |
| 658 | 708 |
for (Text t : mainCorpus.getProject().getTexts()) {
|
| ... | ... | |
| 661 | 711 |
if (openEditions(text, editionNames)) {
|
| 662 | 712 |
firstPage(); |
| 663 | 713 |
} |
| 664 |
} catch (Exception e1) {
|
|
| 714 |
} |
|
| 715 |
catch (Exception e1) {
|
|
| 665 | 716 |
e1.printStackTrace(); |
| 666 | 717 |
} |
| 667 | 718 |
} |
| 668 |
|
|
| 669 |
// /**
|
|
| 670 |
// * Opens the default corpus edition with the first Text
|
|
| 671 |
// *
|
|
| 672 |
// * @param corpus
|
|
| 673 |
// */
|
|
| 674 |
// public boolean openEditions(CQPCorpus corpus) {
|
|
| 675 |
// if (corpus == null) return false;
|
|
| 676 |
// return openEditions(corpus, corpus.getProject().getFirstText(), corpus.getProject().getDefaultEdition());
|
|
| 677 |
// }
|
|
| 678 |
|
|
| 719 |
|
|
| 720 |
// /**
|
|
| 721 |
// * Opens the default corpus edition with the first Text
|
|
| 722 |
// *
|
|
| 723 |
// * @param corpus
|
|
| 724 |
// */
|
|
| 725 |
// public boolean openEditions(CQPCorpus corpus) {
|
|
| 726 |
// if (corpus == null) return false;
|
|
| 727 |
// return openEditions(corpus, corpus.getProject().getFirstText(), corpus.getProject().getDefaultEdition());
|
|
| 728 |
// }
|
|
| 729 |
|
|
| 679 | 730 |
/** |
| 680 |
* update editor title using the first panel only
|
|
| 731 |
* update editor title using the first panel only |
|
| 681 | 732 |
*/ |
| 682 | 733 |
private void updatePageLabel() {
|
| 683 | 734 |
for (EditionPanel p : editionPanels.values()) {
|
| ... | ... | |
| 689 | 740 |
if (e == null) {
|
| 690 | 741 |
continue; |
| 691 | 742 |
} |
| 692 |
this.setPartName(e.getText().getName()+ " - "+cpage.getName()); //$NON-NLS-1$
|
|
| 743 |
this.setPartName(e.getText().getName() + " - " + cpage.getName()); //$NON-NLS-1$
|
|
| 693 | 744 |
|
| 694 | 745 |
if (page_text.isDisposed()) {
|
| 695 | 746 |
continue; |
| 696 | 747 |
} |
| 697 | 748 |
page_text.setText(cpage.getName()); |
| 698 |
page_label.setText(" / "+e.getNumPages()); //$NON-NLS-1$
|
|
| 749 |
page_label.setText(" / " + e.getNumPages()); //$NON-NLS-1$
|
|
| 699 | 750 |
|
| 700 | 751 |
text_text.setText(p.getCurrentText().getName()); |
| 701 |
// try {
|
|
| 702 |
// text_label.setText(" / "+corpus.getCorpusTextIdsList().length);
|
|
| 703 |
// } catch (Exception e1) {
|
|
| 704 |
// // TODO Auto-generated catch block
|
|
| 705 |
// e1.printStackTrace();
|
|
| 706 |
// }
|
|
| 707 |
|
|
| 752 |
// try {
|
|
| 753 |
// text_label.setText(" / "+corpus.getCorpusTextIdsList().length);
|
|
| 754 |
// } catch (Exception e1) {
|
|
| 755 |
// // TODO Auto-generated catch block
|
|
| 756 |
// e1.printStackTrace();
|
|
| 757 |
// }
|
|
| 758 |
|
|
| 708 | 759 |
controlsArea.layout(); |
| 709 | 760 |
return; |
| 710 | 761 |
} |
| 711 | 762 |
} |
| 712 |
|
|
| 713 |
// public boolean openEditions(CQPCorpus corpus, String textID, String... editionNames) {
|
|
| 714 |
// Text text = corpus.getProject().getText(textID); |
|
| 715 |
// if (text == null) return false; |
|
| 716 |
// return openEditions(corpus, text, editionNames); |
|
| 717 |
// } |
|
| 718 |
|
|
| 719 |
// /** |
|
| 720 |
// * Opens a list of edition corpus |
|
| 721 |
// * @param corpus |
|
| 722 |
// * @param editionNames |
|
| 723 |
// */ |
|
| 724 |
// public boolean openEditions(CQPCorpus corpus, Text text, String... editionNames) {
|
|
| 725 |
// return openEditions(corpus, text, Arrays.asList(editionNames)); |
|
| 726 |
// } |
|
| 727 | 763 |
|
| 764 |
// public boolean openEditions(CQPCorpus corpus, String textID, String... editionNames) {
|
|
| 765 |
// Text text = corpus.getProject().getText(textID); |
|
| 766 |
// if (text == null) return false; |
|
| 767 |
// return openEditions(corpus, text, editionNames); |
|
| 768 |
// } |
|
| 769 |
|
|
| 770 |
// /** |
|
| 771 |
// * Opens a list of edition corpus |
|
| 772 |
// * @param corpus |
|
| 773 |
// * @param editionNames |
|
| 774 |
// */ |
|
| 775 |
// public boolean openEditions(CQPCorpus corpus, Text text, String... editionNames) {
|
|
| 776 |
// return openEditions(corpus, text, Arrays.asList(editionNames)); |
|
| 777 |
// } |
|
| 778 |
|
|
| 728 | 779 |
/** |
| 729 | 780 |
* Opens a list of edition corpus |
| 781 |
* |
|
| 730 | 782 |
* @param corpus |
| 731 | 783 |
* @param editionNames |
| 732 | 784 |
*/ |
| 733 | 785 |
public boolean openEditions(Text text, List<String> editionNames) {
|
| 734 |
|
|
| 786 |
|
|
| 735 | 787 |
try {
|
| 736 | 788 |
text.compute(); |
| 737 |
} catch (Exception e) {
|
|
| 738 |
System.out.println("Error: "+text.getName()+" is not ready to use");
|
|
| 789 |
} |
|
| 790 |
catch (Exception e) {
|
|
| 791 |
System.out.println("Error: " + text.getName() + " is not ready to use");
|
|
| 739 | 792 |
return false; |
| 740 | 793 |
} |
| 741 | 794 |
// remove previous EditionPanel |
| 742 | 795 |
for (EditionPanel panel : editionPanels.values()) {
|
| 743 | 796 |
panel.dispose(); |
| 744 | 797 |
} |
| 745 |
editionPanels = new LinkedHashMap<String, EditionPanel>();
|
|
| 746 |
|
|
| 798 |
editionPanels = new LinkedHashMap<>(); |
|
| 799 |
|
|
| 747 | 800 |
editionsArea.getLayout().numColumns = editionNames.size(); |
| 748 |
|
|
| 749 |
for (int i = 0 ; i < editionNames.size() ;i++) {
|
|
| 801 |
|
|
| 802 |
for (int i = 0; i < editionNames.size(); i++) {
|
|
| 750 | 803 |
String editionName = editionNames.get(i); |
| 751 |
//System.out.println("EDITION NAME: "+editionName);
|
|
| 752 |
Composite container = editionsArea;//.getContainer(i); |
|
| 804 |
// System.out.println("EDITION NAME: "+editionName);
|
|
| 805 |
Composite container = editionsArea;// .getContainer(i);
|
|
| 753 | 806 |
Edition edition = text.getEdition(editionName); |
| 754 | 807 |
if (edition != null) {
|
| 755 | 808 |
EditionPanel panel = new EditionPanel(this, container, SWT.BORDER, edition); |
| 756 | 809 |
panel.initSelectionProvider(); |
| 757 |
|
|
| 810 |
|
|
| 758 | 811 |
if (i == 0) { // TODO: how to manage multiple menumanager -> the text selection does not work only the first panel selection is used
|
| 759 | 812 |
panel.initMenu(); |
| 760 | 813 |
getSite().registerContextMenu(panel.getMenuManager(), panel.getSelectionProvider()); |
| 761 | 814 |
} |
| 762 |
|
|
| 815 |
|
|
| 763 | 816 |
editionPanels.put(editionName, panel); |
| 764 |
} else {
|
|
| 817 |
} |
|
| 818 |
else {
|
|
| 765 | 819 |
System.out.println(NLS.bind(EditionUIMessages.warningColonCouldNotFindEditionForNameEqualsP0, editionName)); |
| 766 | 820 |
} |
| 767 | 821 |
} |
| 768 | 822 |
editionsArea.layout(); |
| 769 | 823 |
return true; |
| 770 | 824 |
} |
| 771 |
|
|
| 772 |
// /**
|
|
| 773 |
// *
|
|
| 774 |
// * //TODO: add getDefaultEditions to Corpus object
|
|
| 775 |
// *
|
|
| 776 |
// * @param corpus
|
|
| 777 |
// * @return a list of default editions
|
|
| 778 |
// */
|
|
| 779 |
// public String[] getDefaultEditions(CQPCorpus corpus) {
|
|
| 780 |
// String defaultEdition = corpus.getProject().getDefaultEdition();
|
|
| 781 |
// if (defaultEdition.contains(",")) { //$NON-NLS-1$
|
|
| 782 |
// return defaultEdition.split(","); //$NON-NLS-1$
|
|
| 783 |
// } else {
|
|
| 784 |
// return new String[]{defaultEdition};
|
|
| 785 |
// }
|
|
| 786 |
// }
|
|
| 787 |
|
|
| 825 |
|
|
| 826 |
// /**
|
|
| 827 |
// *
|
|
| 828 |
// * //TODO: add getDefaultEditions to Corpus object
|
|
| 829 |
// *
|
|
| 830 |
// * @param corpus
|
|
| 831 |
// * @return a list of default editions
|
|
| 832 |
// */
|
|
| 833 |
// public String[] getDefaultEditions(CQPCorpus corpus) {
|
|
| 834 |
// String defaultEdition = corpus.getProject().getDefaultEdition();
|
|
| 835 |
// if (defaultEdition.contains(",")) { //$NON-NLS-1$
|
|
| 836 |
// return defaultEdition.split(","); //$NON-NLS-1$
|
|
| 837 |
// } else {
|
|
| 838 |
// return new String[]{defaultEdition};
|
|
| 839 |
// }
|
|
| 840 |
// }
|
|
| 841 |
|
|
| 788 | 842 |
@Override |
| 789 | 843 |
public void doSaveAs() {
|
| 790 | 844 |
return; |
| 791 | 845 |
} |
| 792 |
|
|
| 846 |
|
|
| 793 | 847 |
@Override |
| 794 | 848 |
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
|
| 795 | 849 |
|
| ... | ... | |
| 801 | 855 |
|
| 802 | 856 |
super.init(site, input); |
| 803 | 857 |
} |
| 804 |
|
|
| 858 |
|
|
| 805 | 859 |
public boolean isDisposed() {
|
| 806 | 860 |
return editionsArea.isDisposed(); |
| 807 | 861 |
} |
| 808 |
|
|
| 862 |
|
|
| 809 | 863 |
@Override |
| 810 | 864 |
public boolean isSaveAsAllowed() {
|
| 811 | 865 |
return false; |
| 812 | 866 |
} |
| 813 |
|
|
| 867 |
|
|
| 814 | 868 |
@Override |
| 815 | 869 |
public void setFocus() {
|
| 816 |
|
|
| 870 |
|
|
| 817 | 871 |
} |
| 818 |
|
|
| 872 |
|
|
| 819 | 873 |
public void backToText(Text text, String line_wordid) {
|
| 820 | 874 |
try {
|
| 821 | 875 |
text.compute(); |
| ... | ... | |
| 825 | 879 |
updatePageLabel(); |
| 826 | 880 |
updateWordStyles(); |
| 827 | 881 |
notifyExtensions("onBackToText"); //$NON-NLS-1$
|
| 828 |
} catch (Exception e) {
|
|
| 882 |
} |
|
| 883 |
catch (Exception e) {
|
|
| 829 | 884 |
e.printStackTrace(); |
| 830 | 885 |
} |
| 831 | 886 |
} |
| 832 |
|
|
| 887 |
|
|
| 833 | 888 |
public void reloadPage() {
|
| 834 | 889 |
for (EditionPanel p : editionPanels.values()) {
|
| 835 | 890 |
p.reloadPage(); |
| 836 | 891 |
} |
| 837 | 892 |
} |
| 838 |
|
|
| 893 |
|
|
| 839 | 894 |
@Override |
| 840 | 895 |
public String getTextSelection() {
|
| 841 | 896 |
String sel = null; |
| ... | ... | |
| 847 | 902 |
} |
| 848 | 903 |
return EditionUIMessages.CommandLink_empty; |
| 849 | 904 |
} |
| 850 |
|
|
| 905 |
|
|
| 851 | 906 |
@Override |
| 852 | 907 |
public CQPCorpus getCorpus() {
|
| 853 | 908 |
return corpus; |
| 854 | 909 |
} |
| 855 |
|
|
| 910 |
|
|
| 856 | 911 |
public CQPCorpus getMainCorpus() {
|
| 857 | 912 |
return mainCorpus; |
| 858 | 913 |
} |
| 859 |
|
|
| 914 |
|
|
| 860 | 915 |
public EditionPanel getEditionPanel(int i) {
|
| 861 | 916 |
int n = 0; |
| 862 | 917 |
for (EditionPanel p : editionPanels.values()) {
|
| ... | ... | |
| 866 | 921 |
} |
| 867 | 922 |
return null; |
| 868 | 923 |
} |
| 869 |
|
|
| 924 |
|
|
| 870 | 925 |
/** |
| 871 | 926 |
* |
| 872 | 927 |
* @return the first and last word ID covered by the text selection of the first EditionPanel |
| ... | ... | |
| 877 | 932 |
} |
| 878 | 933 |
return null; |
| 879 | 934 |
} |
| 880 |
|
|
| 935 |
|
|
| 881 | 936 |
/** |
| 882 | 937 |
* |
| 883 | 938 |
* @param text2 the Text to set |
| ... | ... | |
| 889 | 944 |
} |
| 890 | 945 |
updatePageLabel(); |
| 891 | 946 |
} |
| 892 |
|
|
| 947 |
|
|
| 893 | 948 |
public void setFocusedWordID(String focusid) {
|
| 894 | 949 |
for (EditionPanel p : editionPanels.values()) {
|
| 895 | 950 |
p.setFocusedWordID(focusid); |
| 896 | 951 |
} |
| 897 | 952 |
updatePageLabel(); |
| 898 | 953 |
} |
| 899 |
|
|
| 954 |
|
|
| 900 | 955 |
/** |
| 901 | 956 |
* TODO finish implementation in EditionPanel |
| 902 |
*
|
|
| 957 |
* |
|
| 903 | 958 |
* @param posisions |
| 904 | 959 |
*/ |
| 905 | 960 |
public void setHighlightedArea(HashSet<int[]> positions) {
|
| ... | ... | |
| 907 | 962 |
p.setHighlightedArea(positions); |
| 908 | 963 |
} |
| 909 | 964 |
} |
| 910 |
|
|
| 965 |
|
|
| 911 | 966 |
public void updateWordStyles() {
|
| 912 | 967 |
for (EditionPanel p : editionPanels.values()) {
|
| 913 | 968 |
p.updateWordStyles(); |
| 914 | 969 |
} |
| 915 | 970 |
} |
| 916 |
|
|
| 971 |
|
|
| 917 | 972 |
public void addFontWeightWordsById(String weight, List<String> previousSelectedUnitIDS) {
|
| 918 | 973 |
for (EditionPanel p : editionPanels.values()) {
|
| 919 | 974 |
p.addFontWeightWordsById(weight, previousSelectedUnitIDS); |
| 920 | 975 |
} |
| 921 | 976 |
} |
| 922 |
|
|
| 977 |
|
|
| 923 | 978 |
public void removeFontWeightWordsById(List<String> previousSelectedUnitIDS) {
|
| 924 | 979 |
for (EditionPanel p : editionPanels.values()) {
|
| 925 | 980 |
p.removeFontWeightWordsById(previousSelectedUnitIDS); |
| 926 | 981 |
} |
| 927 | 982 |
} |
| 928 |
|
|
| 983 |
|
|
| 929 | 984 |
public void fireIsDirty() {
|
| 930 | 985 |
this.firePropertyChange(IEditorPart.PROP_DIRTY); |
| 931 | 986 |
} |
| 932 |
|
|
| 987 |
|
|
| 933 | 988 |
/** |
| 934 | 989 |
* Clears all highlighted words. |
| 935 | 990 |
*/ |
| ... | ... | |
| 938 | 993 |
p.removeHighlightWords(); |
| 939 | 994 |
} |
| 940 | 995 |
} |
| 941 |
|
|
| 996 |
|
|
| 942 | 997 |
@Override |
| 943 | 998 |
public void updateResultFromEditor() {
|
| 944 | 999 |
// TODO Auto-generated method stub |
| 945 | 1000 |
} |
| 946 |
|
|
| 1001 |
|
|
| 947 | 1002 |
@Override |
| 948 | 1003 |
public void updateEditorFromResult(boolean update) throws Exception {
|
| 949 | 1004 |
this.firstPage(); |
| ... | ... | |
| 951 | 1006 |
|
| 952 | 1007 |
/** |
| 953 | 1008 |
* Browser command that opens an edition |
| 1009 |
* |
|
| 954 | 1010 |
* @author mdecorde |
| 955 | 1011 |
* |
| 956 | 1012 |
*/ |
| 957 | 1013 |
public static Object callTXMCommand(String id, HashMap<String, String> params) {
|
| 958 | 1014 |
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); |
| 959 |
ICommandService cmdService = (ICommandService)window.getService(ICommandService.class);
|
|
| 1015 |
ICommandService cmdService = window.getService(ICommandService.class); |
|
| 960 | 1016 |
Command cmd = cmdService.getCommand(id); |
| 961 |
|
|
| 962 |
//get the parameter |
|
| 963 |
ArrayList<Parameterization> parameters = new ArrayList<Parameterization>();
|
|
| 1017 |
|
|
| 1018 |
// get the parameter
|
|
| 1019 |
ArrayList<Parameterization> parameters = new ArrayList<>(); |
|
| 964 | 1020 |
for (String k : params.keySet()) {
|
| 965 | 1021 |
try {
|
| 966 | 1022 |
IParameter iparam = cmd.getParameter(k); |
| 967 | 1023 |
Parameterization p = new Parameterization(iparam, params.get(k)); |
| 968 | 1024 |
parameters.add(p); |
| 969 |
} catch (NotDefinedException e) {
|
|
| 1025 |
} |
|
| 1026 |
catch (NotDefinedException e) {
|
|
| 970 | 1027 |
System.out.println(NLS.bind(EditionUIMessages.warningColonUnknownedParameterIdEqualsP0, k)); |
| 971 | 1028 |
} |
| 972 | 1029 |
} |
| 973 |
|
|
| 974 |
//build the parameterized command |
|
| 1030 |
|
|
| 1031 |
// build the parameterized command
|
|
| 975 | 1032 |
ParameterizedCommand pc = new ParameterizedCommand(cmd, parameters.toArray(new Parameterization[parameters.size()])); |
| 976 |
|
|
| 977 |
//execute the command |
|
| 978 |
IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class);
|
|
| 1033 |
|
|
| 1034 |
// execute the command
|
|
| 1035 |
IHandlerService handlerService = window.getService(IHandlerService.class); |
|
| 979 | 1036 |
try {
|
| 980 | 1037 |
return handlerService.executeCommand(pc, null); |
| 981 |
} catch (Exception e) {
|
|
| 1038 |
} |
|
| 1039 |
catch (Exception e) {
|
|
| 982 | 1040 |
e.printStackTrace(); |
| 983 | 1041 |
} |
| 984 | 1042 |
return null; |
| 985 | 1043 |
} |
| 986 |
|
|
| 1044 |
|
|
| 987 | 1045 |
/** |
| 988 | 1046 |
* |
| 989 | 1047 |
* @param editor may be null, will be used by the command to display its result |
| 990 |
* @param arguments array of command id + (parameters+values).
|
|
| 1048 |
* @param arguments array of command id + (parameters+values). |
|
| 991 | 1049 |
* |
| 992 |
* <pre>ex: String[] arguments = {"commandid", "paramname", "value", "paramname2", "othervalue"};</pre>
|
|
| 1050 |
* <pre> |
|
| 1051 |
* ex: String[] arguments = {"commandid", "paramname", "value", "paramname2", "othervalue"};
|
|
| 1052 |
* </pre> |
|
| 993 | 1053 |
* |
| 994 | 1054 |
* @return |
| 995 | 1055 |
*/ |
| 996 | 1056 |
public static Object callTXMCommand(Object[] arguments) {
|
| 997 |
HashMap<String, String> params = new HashMap<String, String>();
|
|
| 998 |
for (int i = 0 ; i+1 < arguments.length ; i += 2) {
|
|
| 999 |
params.put(arguments[i].toString(), arguments[i+1].toString());
|
|
| 1057 |
HashMap<String, String> params = new HashMap<>(); |
|
| 1058 |
for (int i = 0; i + 1 < arguments.length; i += 2) {
|
|
| 1059 |
params.put(arguments[i].toString(), arguments[i + 1].toString());
|
|
| 1000 | 1060 |
} |
| 1001 |
|
|
| 1061 |
|
|
| 1002 | 1062 |
String id = params.get("id"); //$NON-NLS-1$
|
| 1003 | 1063 |
if (id != null) {
|
| 1004 | 1064 |
params.remove("id"); //$NON-NLS-1$
|
| 1005 |
//System.out.println("CALLING CMD with id="+id+" and parameters="+params);
|
|
| 1006 |
//get the command from plugin.xml |
|
| 1065 |
// System.out.println("CALLING CMD with id="+id+" and parameters="+params);
|
|
| 1066 |
// get the command from plugin.xml
|
|
| 1007 | 1067 |
callTXMCommand(id, params); |
| 1008 |
} else {
|
|
| 1068 |
} |
|
| 1069 |
else {
|
|
| 1009 | 1070 |
System.out.println(NLS.bind(EditionUIMessages.cannotCallTxmcommandWithoutIdParameterColonP0, params)); |
| 1010 | 1071 |
} |
| 1011 | 1072 |
return arguments; |
| 1012 | 1073 |
} |
| 1013 |
} |
|
| 1074 |
} |
|
Formats disponibles : Unified diff