Révision 891

tmp/org.txm.ahc.rcp/META-INF/MANIFEST.MF (revision 891)
2 2
Export-Package: org.txm.ahc.rcp.adapters,org.txm.ahc.rcp.editors,org.t
3 3
 xm.ahc.rcp.handlers,org.txm.ahc.rcp.messages,org.txm.ahc.rcp.preferen
4 4
 ces
5
Require-Bundle: org.txm.lexicaltable.rcp;bundle-version="1.0.0";visibility:=reexport,
6
 org.txm.chartsengine.rcp;bundle-version="1.0.0";visibility:=reexport,
5
Require-Bundle: org.txm.chartsengine.rcp;bundle-version="1.0.0";visibility:=reexport,
6
 org.txm.lexicaltable.rcp;bundle-version="1.0.0";visibility:=reexport,
7 7
 org.txm.ahc.core;bundle-version="1.0.0";visibility:=reexport,
8 8
 org.txm.ca.rcp
9 9
Bundle-Vendor: Textometrie.org
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java (revision 891)
230 230
			// Updating
231 231
			Log.finest("ChartResult.renderChart(): updating chart.");
232 232
			
233
			// FIXME: the update must be done here (BEFORE the call of this.updateLastRenderingParameters()) rather than in the SWTChartComponentsProvider => the problem is that for File based Engine, the file may be created twice, need to check this
233
			// the update must be done here (BEFORE the call of this.updateLastRenderingParameters()) rather than in the SWTChartComponentsProvider => the problem is that for File based Engine, the file may be created twice, need to check this
234 234
			// also before the call of this.updateLastParameters() to be able to check if a computing parameter has changed in the chart creators 
235 235
			chartCreator.updateChart(this);
236 236
			
......
243 243
			
244 244
			this.chartDirty = false;
245 245
			
246
			// FIXME: debug
246
			// Debug
247 247
			Log.finest("ChartResult.renderChart(): chart rendering done.");
248 248

  
249 249
			return true;
250 250
			
251 251
		}
252 252
		else	{
253
			// FIXME: debug
254 253
			Log.severe("ChartResult.renderChart(): can not find any suitable chart creator for result: " + this.getClass() + ".");
255 254
			return false;
256 255
		}
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEngine.java (revision 891)
436 436
	 * @param outputFormat
437 437
	 * @return
438 438
	 */
439
	// FIXME: original code
440
//	public File createChartFile(TXMResult result, File file, String outputFormat)	{
441
//		// FIXME : bad ? Switch the current charts engine output format, export the chart, and then roll back the output format
442
//		String oldOutputFormat = this.outputFormat;
443
//		this.setOutputFormat(outputFormat);
444
//		
445
//		
446
//		Object chart = this.getChartCreator(result.getClass()).createChart(result);
447
//		
448
//		
449
//		file = this.createChartFile(chart, file);
450
//		//this.setOutputFormat(oldOutputFormat);
451
//		this.outputFormat = oldOutputFormat;
452
//		return file;
453
//	}
454

  
455
	
456
	/**
457
	 * Creates a chart according to the specified result and output format and writes it in the specified file.
458
	 * @param result
459
	 * @param file
460
	 * @param outputFormat
461
	 * @return
462
	 */
463 439
	//FIXME: check that modification works well
464 440
	public File createChartFile(ChartResult result, File file, String outputFormat)	{
465 441
		// FIXME : bad ? Switch the current charts engine output format, export the chart, and then roll back the output format
......
587 563
	 *  UI related, this preference can be used to tell if the chart must be updated directly after editing a widget value or only after pressed a "Compute" button.
588 564
	 * @return the directComputing
589 565
	 */
590
	//FIXME: this preference is not used at this time, see if it's useless or not.
591 566
	public boolean isDirectComputing() {
592 567
		return directComputing;
593 568
	} 
tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/renderers/CAItemSelectionRenderer.java (revision 891)
253 253
			}
254 254
			// Multiple item selection
255 255
			else if(this.multipleItemsSelector.isSelectedItem(series, item))	{
256
				// FIXME: rendering tests
257
				//return new Color(255, 255, 255, 195);
258 256
				return new Color(color.getRed(), color.getGreen(), color.getBlue(), 140);
259 257
			}
260 258
		}
tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCCAChartCreator.java (revision 891)
378 378
		return orderedValues;
379 379
	}
380 380
	
381
	
382
	/**
383
	 * Gets a map where the values of the dataset are orderer by X item value and flatten despite of the series.
384
	 * @param dataset
385
	 * @return
386
	 */
387
	// FIXME: not used?
388
	public TreeMap<Object, ArrayList<Integer>> getItemsAndSeriesOrderedByXValues(XYDataset dataset)	{
389
		HashMap<Object, ArrayList<Integer>> allFlattenValues = new HashMap<Object, ArrayList<Integer>>();
390
		for(int i = 0; i < dataset.getSeriesCount(); i++) {
391
			for(int j = 0; j < dataset.getItemCount(i); j++) {
392
				ArrayList<Integer> itemData = new ArrayList<Integer>(2);
393
				itemData.add(i); // series
394
				itemData.add(j); // item
395
				
396
				// FIXME: tests, navigation clavier sur toutes les courbes en même temps d'une Progression (tri sur la valeur X du dataset, toute séries confondues)
397
//				allFlattenValues.put((int) dataset.getXValue(i, j), itemData);
398

  
399

  
400
				// Test CAXYDataset
401
				
402
				// FIXME: tests, navigation clavier par ordre alphabétique d'une AFC (toute séries confondues)
403
				String label = ((CAXYDataset)dataset).getLabel(i,  j);
404
				allFlattenValues.put(label, itemData);
405
				
406
				// FIXME: tests, navigation clavier par coord X d'une AFC (toute séries confondues)
407
				//allFlattenValues.put(dataset.getX(i, j), itemData);
408
				
409
			}
410
		}
411

  
412

  
413
		// FIXME: tests, navigation clavier sur toutes les courbes en même temps d'une Progression
414
	//	TreeMap<Object, ArrayList<Integer>> orderedValues = new TreeMap<Object, ArrayList<Integer>>(allFlattenValues);
415

  
416
		// FIXME: tests, navigation clavier par ordre alphabétique d'une AFC
417
		TreeMap<Object, ArrayList<Integer>> orderedValues = new TreeMap<Object, ArrayList<Integer>>(Collator.getInstance());
418
		orderedValues.putAll(allFlattenValues);
419

  
420
		
421
		// FIXME : comparator tests
422
//		TreeMap<String, Integer> treemap = new TreeMap<String, Integer>(new Comparator<String>() {
423
//		    public int compare(String o1, String o2) {
424
//		        return o1.toLowerCase().compareTo(o2.toLowerCase());
425
//		    }
426
//		});
427
		
428
		
429
		// FIXME: DEbug
430
//		Set cles = orderedValues.keySet();
431
//		System.err.println("MultipleItemsSelector.getItemsAndSeriesOrderedByXValues() size: " + orderedValues.size());
432
//		Iterator<Integer> it = cles.iterator();
433
//		while(it.hasNext())	{
434
//			Object key = it.next();
435
//			ArrayList<Integer> value = orderedValues.get(key);
436
//			System.out.println("MultipleItemsSelector.getItemsAndSeriesOrdererByXValues(): item position = " + key + " series = " + value.get(0) + " item = " + value.get(1));
437
//		}
438

  
439
		return orderedValues;
440
	}
441
	
442

  
443
	
444

  
445
	/**
446
	 * Gets a map where the values of the dataset are orderer by label and flatten but grouped by series.
447
	 * @param dataset
448
	 * @return
449
	 */
450
	// FIXME: tests
451
//	public TreeMap<Object, ArrayList<Integer>> getItemsAndSeriesOrderedByLabels(CAXYDataset dataset)	{
452
//		return this.getItemsAndSeriesOrderedByLabels(dataset, false, false);
453
//	}
454
//	
455
	/**
456
	 *  Gets a map where the values of the dataset are orderer by label and flatten but grouped by series.
457
	 * @param dataset
458
	 * @return
459
	 */
460
	// FIXME: tests, became useless ? (since we can give labels order with getItemsAndSeriesOrderedByLabels(CAXYDataset dataset, String[] rowLabels, String[] colLabels)) )
461
//	public TreeMap<Object, ArrayList<Integer>> getItemsAndSeriesOrderedByLabels(CAXYDataset dataset, boolean rowsReverse, boolean colsReverse)	{
462
//		
463
//		Comparator rowsComparator;
464
//		Comparator colsComparator;
465
//		
466
//		if(rowsReverse)	{
467
//			rowsComparator = Collections.reverseOrder(Collator.getInstance());
468
//		}
469
//		else	{
470
//			rowsComparator = Collator.getInstance();
471
//		}
472
//
473
//		if(colsReverse)	{
474
//			colsComparator = Collections.reverseOrder(Collator.getInstance());
475
//		}
476
//		else	{
477
//			colsComparator = Collator.getInstance();
478
//		}
479
//
480
//		
481
//		TreeMap<Object, ArrayList<Integer>> allFlattenRowsValues = new TreeMap<Object, ArrayList<Integer>>(rowsComparator);
482
//		TreeMap<Object, ArrayList<Integer>> allFlattenColsValues = new TreeMap<Object, ArrayList<Integer>>(colsComparator);
483
//
484
//		// sort the rows by label
485
//		for(int i = 0; i < dataset.getItemCount(0); i++) {
486
//			ArrayList<Integer> itemData = new ArrayList<Integer>(2);
487
//			itemData.add(0); // series
488
//			itemData.add(i); // item
489
//			allFlattenRowsValues.put(((CAXYDataset)dataset).getLabel(0,  i), itemData);
490
//			
491
//			// FIXME: tests, navigation clavier par coord X d'une AFC (toute séries confondues)
492
//			//allFlattenRowsValues.put(dataset.getX(0, j), itemData);
493
//		}
494
//		
495
//		
496
//		// sort the cols by label
497
//		for(int i = 0; i < dataset.getItemCount(1); i++) {
498
//			ArrayList<Integer> itemData = new ArrayList<Integer>(2);
499
//			itemData.add(1); // series
500
//			itemData.add(i); // item
501
//			allFlattenColsValues.put(((CAXYDataset)dataset).getLabel(1,  i), itemData);
502
//			
503
//			// FIXME: tests, navigation clavier par coord X d'une AFC (toute séries confondues)
504
//			//allFlattenColsValues.put(dataset.getX(1, j), itemData);
505
//		}
506
//
507
//		
508
//		
509
//		// FIXME: tests, navigation clavier par ordre alphabétique d'une AFC
510
//		TreeMap<Object, ArrayList<Integer>> orderedValues = new TreeMap<Object, ArrayList<Integer>>();
511
////		if(revertedOrder)	{
512
////			orderedValues = new TreeMap(Collections.reverseOrder());
513
////		}
514
//		
515
//		
516
//		// put the rows order
517
//		int i = 0;
518
//		Set keys = allFlattenRowsValues.keySet();
519
//		Iterator<Integer> it = keys.iterator();
520
//		while(it.hasNext())	{
521
//			Object key = it.next();
522
//			orderedValues.put(i, allFlattenRowsValues.get(key));
523
//			i++;
524
//		}
525
//		// put the cols order
526
//		keys = allFlattenColsValues.keySet();
527
//		it = keys.iterator();
528
//		while(it.hasNext())	{
529
//			Object key = it.next();
530
//			orderedValues.put(i, allFlattenColsValues.get(key));
531
//			i++;
532
//		}
533
//
534
//		
535
//		
536
//		//orderedValues.putAll(allFlattenRowsValues);
537
//
538
//		
539
//		// FIXME : comparator tests
540
////		TreeMap<String, Integer> treemap = new TreeMap<String, Integer>(new Comparator<String>() {
541
////		    public int compare(String o1, String o2) {
542
////		        return o1.toLowerCase().compareTo(o2.toLowerCase());
543
////		    }
544
////		});
545
//		
546
//		
547
//		// FIXME: DEbug
548
////		keys = orderedValues.keySet();
549
////		System.err.println("MultipleItemsSelector.getItemsAndSeriesOrderedByXValues() size: " + orderedValues.size());
550
////		it = keys.iterator();
551
////		while(it.hasNext())	{
552
////			Object key = it.next();
553
////			ArrayList<Integer> value = orderedValues.get(key);
554
////			System.out.println("MultipleItemsSelector.getItemsAndSeriesOrdererByXValues(): item position = " + key + " series = " + value.get(0) + " item = " + value.get(1));
555
////		}
556
//
557
//		return orderedValues;
558
//	}
559

  
560 381
	@Override
561 382
	public Class getResultDataClass() {
562 383
		return CA.class;

Formats disponibles : Unified diff