Révision 3730
| TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 3730) | ||
|---|---|---|
| 2392 | 2392 |
} |
| 2393 | 2393 |
|
| 2394 | 2394 |
if (!skipComputing) {
|
| 2395 |
|
|
| 2396 |
// Debug |
|
| 2397 |
Log.finest("+++ TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing result of type " + this.getClass() + "...");
|
|
| 2395 | 2398 |
|
| 2396 | 2399 |
// Computing requirements test |
| 2397 | 2400 |
if (!this.canCompute()) {
|
| ... | ... | |
| 2429 | 2432 |
this.computing = false; |
| 2430 | 2433 |
return false; |
| 2431 | 2434 |
} |
| 2432 |
else {
|
|
| 2433 |
// Debug |
|
| 2434 |
Log.finest("+++ TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing result of type " + this.getClass() + "...");
|
|
| 2435 |
} |
|
| 2436 | 2435 |
} |
| 2437 | 2436 |
else {
|
| 2438 | 2437 |
mainSubMonitor.setWorkRemaining(1); |
| TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/messages/messages.properties (revision 3730) | ||
|---|---|---|
| 22 | 22 |
common_noResults=No results. |
| 23 | 23 |
common_numberOfLines=Number of lines |
| 24 | 24 |
common_ok=OK |
| 25 |
common_defaultFont=Default font |
|
| 25 | 26 |
common_P0ItemsForP1Occurrences={0} item for {1} occurrences.
|
| 26 | 27 |
common_P0Occurrences={0} occurrences.
|
| 27 | 28 |
common_P0Positions=Number of occurrences\: [{0}].
|
| TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java (revision 3730) | ||
|---|---|---|
| 27 | 27 |
|
| 28 | 28 |
public static String common_cols; |
| 29 | 29 |
|
| 30 |
public static String common_defaultFont; |
|
| 31 |
|
|
| 30 | 32 |
public static String common_delete; |
| 31 | 33 |
|
| 32 | 34 |
public static String common_description; |
| TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/messages/messages_fr.properties (revision 3730) | ||
|---|---|---|
| 22 | 22 |
common_noResults=Aucun résultat. |
| 23 | 23 |
common_numberOfLines=Nombre de lignes |
| 24 | 24 |
common_ok=OK |
| 25 |
common_defaultFont=Police par défaut |
|
| 25 | 26 |
common_P0ItemsForP1Occurrences={0} items pour {1} occurrences.
|
| 26 | 27 |
common_P0Occurrences={0} occurrences.
|
| 27 | 28 |
common_P0Positions=Nombre d'occurrences \: [{0}].
|
| TXM/trunk/bundles/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java (revision 3730) | ||
|---|---|---|
| 118 | 118 |
} |
| 119 | 119 |
|
| 120 | 120 |
|
| 121 |
// Font selection
|
|
| 121 |
// Logical user-friendly font selection
|
|
| 122 | 122 |
final Font currentFont = ChartsEngine.createFont(chartEditor.getResult().getFont()); |
| 123 | 123 |
|
| 124 |
// FIXME: SJ: may be better here to get the fonts from SWT rather than from Java, see java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); |
|
| 125 | 124 |
final Combo fontCombo = new Combo(this, SWT.READ_ONLY); |
| 126 |
String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); |
|
| 125 |
|
|
| 126 |
// transpose logical font name to user-friendly name |
|
| 127 |
String fonts[] = new String[] {"Arial", "Courier", "Times"}; // SansSerif,Monospaced,Serif
|
|
| 128 |
|
|
| 127 | 129 |
fontCombo.setItems(fonts); |
| 128 | 130 |
|
| 129 | 131 |
this.addControl(fontCombo); |
| 130 |
|
|
| 132 |
|
|
| 131 | 133 |
int currentFontIndex = 0; |
| 132 |
for (int i = 0; i < fonts.length; i++) {
|
|
| 133 |
if (fonts[i].equals(currentFont.getName())) {
|
|
| 134 |
currentFontIndex = i; |
|
| 135 |
break; |
|
| 136 |
} |
|
| 134 |
if(currentFont.getName().equals("Monospaced")) {
|
|
| 135 |
currentFontIndex = 1; |
|
| 137 | 136 |
} |
| 137 |
else if(currentFont.getName().equals("Times")) {
|
|
| 138 |
currentFontIndex = 2; |
|
| 139 |
} |
|
| 140 |
|
|
| 138 | 141 |
fontCombo.select(currentFontIndex); |
| 139 | 142 |
|
| 140 | 143 |
|
| ... | ... | |
| 244 | 247 |
} |
| 245 | 248 |
|
| 246 | 249 |
|
| 250 |
|
|
| 251 |
// Advanced font selection |
|
| 252 |
final Combo advancedFontCombo = new Combo(this, SWT.READ_ONLY); |
|
| 253 |
if (TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)) {
|
|
| 254 |
|
|
| 255 |
String advancedFonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); |
|
| 256 |
|
|
| 257 |
advancedFontCombo.setItems(advancedFonts); |
|
| 258 |
this.addControl(advancedFontCombo); |
|
| 259 |
|
|
| 260 |
int currentAllFontIndex = 0; |
|
| 261 |
for (int i = 0; i < advancedFonts.length; i++) {
|
|
| 262 |
if (advancedFonts[i].equals(currentFont.getName())) {
|
|
| 263 |
currentAllFontIndex = i; |
|
| 264 |
break; |
|
| 265 |
} |
|
| 266 |
} |
|
| 267 |
|
|
| 268 |
advancedFontCombo.select(currentAllFontIndex); |
|
| 269 |
|
|
| 270 |
} |
|
| 271 |
|
|
| 247 | 272 |
|
| 248 | 273 |
|
| 249 | 274 |
// Listeners |
| ... | ... | |
| 270 | 295 |
// end of FIXME |
| 271 | 296 |
|
| 272 | 297 |
// Font |
| 273 |
else if (e.getSource() == fontCombo || e.getSource() == fontSizeCombo || e.getSource() == fontStyleCombo) {
|
|
| 274 |
getEditorPart().getResult().setFont("1|" + fontCombo.getItem(fontCombo.getSelectionIndex()) + "|" + fontSizeCombo.getItem(fontSizeCombo.getSelectionIndex()) + "|" + fontStyleCombo.getSelectionIndex()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 298 |
else if (e.getSource() == fontCombo || e.getSource() == fontSizeCombo || e.getSource() == fontStyleCombo || e.getSource() == advancedFontCombo) {
|
|
| 299 |
|
|
| 300 |
String fontName; |
|
| 301 |
if(e.getSource() == advancedFontCombo) {
|
|
| 302 |
fontName = advancedFontCombo.getItem(advancedFontCombo.getSelectionIndex()); |
|
| 303 |
} |
|
| 304 |
// transpose user-friendly name to logical font name |
|
| 305 |
else {
|
|
| 306 |
if(fontCombo.getSelectionIndex() == 0) {
|
|
| 307 |
fontName = "SansSerif"; |
|
| 308 |
} |
|
| 309 |
else if(fontCombo.getSelectionIndex() == 1) {
|
|
| 310 |
fontName = "Monospaced"; |
|
| 311 |
} |
|
| 312 |
else {
|
|
| 313 |
fontName = "Serif"; |
|
| 314 |
} |
|
| 315 |
} |
|
| 316 |
|
|
| 317 |
getEditorPart().getResult().setFont("1|" + fontName + "|" + fontSizeCombo.getItem(fontSizeCombo.getSelectionIndex()) + "|" + fontStyleCombo.getSelectionIndex()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
|
| 318 |
|
|
| 275 | 319 |
} |
| 276 | 320 |
// Chart type / chart creators |
| 277 | 321 |
else if (e.getSource() == chartTypeCombo) {
|
| ... | ... | |
| 293 | 337 |
|| e.getSource() == renderingModeCombo |
| 294 | 338 |
|| e.getSource() == fontSizeCombo |
| 295 | 339 |
|| e.getSource() == fontStyleCombo |
| 296 |
|| e.getSource() == chartTypeCombo) {
|
|
| 340 |
|| e.getSource() == chartTypeCombo |
|
| 341 |
|| e.getSource() == advancedFontCombo) {
|
|
| 297 | 342 |
// updates or creates chart |
| 298 | 343 |
getEditorPart().compute(update); |
| 299 | 344 |
getEditorPart().setFocus(); |
| ... | ... | |
| 331 | 376 |
// if (chartTypeCombo.isVisible()) {
|
| 332 | 377 |
chartTypeCombo.addSelectionListener(listener); |
| 333 | 378 |
// } |
| 379 |
advancedFontCombo.addSelectionListener(listener); |
|
| 334 | 380 |
} |
| 335 | 381 |
|
| 336 | 382 |
|
| TXM/trunk/bundles/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/preferences/ChartsEnginePreferencePage.java (revision 3730) | ||
|---|---|---|
| 1 | 1 |
package org.txm.chartsengine.rcp.preferences; |
| 2 | 2 |
|
| 3 |
import java.util.ArrayList; |
|
| 4 | 3 |
import java.util.Map; |
| 5 |
import java.util.TreeSet; |
|
| 6 | 4 |
|
| 7 |
import org.eclipse.core.runtime.preferences.InstanceScope; |
|
| 8 | 5 |
import org.eclipse.jface.preference.ColorFieldEditor; |
| 9 | 6 |
import org.eclipse.jface.preference.ComboFieldEditor; |
| 10 | 7 |
import org.eclipse.jface.preference.FontFieldEditor; |
| 11 |
import org.eclipse.jface.preference.ListEditor;
|
|
| 8 |
import org.eclipse.jface.resource.JFaceResources;
|
|
| 12 | 9 |
import org.eclipse.jface.util.PropertyChangeEvent; |
| 10 |
import org.eclipse.swt.graphics.Font; |
|
| 13 | 11 |
import org.eclipse.ui.IWorkbench; |
| 14 | 12 |
import org.txm.chartsengine.core.ChartsEngine; |
| 15 | 13 |
import org.txm.chartsengine.core.ChartsEnginesManager; |
| 16 | 14 |
import org.txm.chartsengine.core.preferences.ChartsEnginePreferences; |
| 17 | 15 |
import org.txm.chartsengine.rcp.SWTChartsComponentsProvider; |
| 18 | 16 |
import org.txm.chartsengine.rcp.messages.ChartsUIMessages; |
| 19 |
import org.txm.core.preferences.TXMPreferences;
|
|
| 17 |
import org.txm.core.messages.TXMCoreMessages;
|
|
| 20 | 18 |
import org.txm.rcp.preferences.TXMPreferencePage; |
| 21 | 19 |
import org.txm.rcp.preferences.TXMPreferenceStore; |
| 22 | 20 |
import org.txm.utils.logger.Log; |
| ... | ... | |
| 108 | 106 |
|
| 109 | 107 |
// Monochrome color |
| 110 | 108 |
this.addField(new ColorFieldEditor(ChartsEnginePreferences.MONOCHROME_COLOR, ChartsUIMessages.monochromeRenderingColor, this.getFieldEditorParent())); |
| 109 |
|
|
| 111 | 110 |
|
| 112 |
FontFieldEditor font = new FontFieldEditor(ChartsEnginePreferences.FONT, "Font", "Specificities / Spécificités / Специфичность", this.getFieldEditorParent()); //$NON-NLS-1$ //$NON-NLS-2$ |
|
| 113 |
this.addField(font); |
|
| 114 |
// FIXME: SJ: preview area tests |
|
| 115 |
// font.fillIntoGrid(this.getFieldEditorParent(), 4); |
|
| 116 |
// ((Text)font.getPreviewControl()).setLayoutData(new GridData(GridData.FILL_BOTH)); |
|
| 117 |
// System.out.println("ChartsEnginePreferencePage.createFieldEditors() " + font.getPreviewControl());
|
|
| 118 |
|
|
| 119 |
|
|
| 111 |
// FontFieldEditor font = new FontFieldEditor(ChartsEnginePreferences.FONT, "Font", "Specificities / Spécificités / Специфичность", this.getFieldEditorParent()); //$NON-NLS-2$ |
|
| 112 |
// //FontFieldEditor font = new FontFieldEditor(ChartsEnginePreferences.FONT, "Font", "Specificities / Spécificités / Специфичность / 仕様 / 特別說明 / विशिष्टता", this.getFieldEditorParent()); //$NON-NLS-2$ |
|
| 113 |
// this.addField(font); |
|
| 114 |
// // FIXME: SJ: preview area tests |
|
| 115 |
// //font.fillIntoGrid(this.getFieldEditorParent(), 4); |
|
| 116 |
// // ((Text)font.getPreviewControl()).setLayoutData(new GridData(GridData.FILL_BOTH)); |
|
| 117 |
// // System.out.println("ChartsEnginePreferencePage.createFieldEditors() " + font.getPreviewControl());
|
|
| 118 |
|
|
| 119 |
// transpose logical font name to user-friendly name |
|
| 120 |
String logicalFonts[][] = new String[3][2]; |
|
| 121 |
logicalFonts[0][0] = "Arial"; |
|
| 122 |
logicalFonts[0][1] = "1|SansSerif|14|0"; //$NON-NLS-1$ |
|
| 123 |
logicalFonts[1][0] = "Courier"; |
|
| 124 |
logicalFonts[1][1] = "1|Monospaced|14|0"; //$NON-NLS-1$ |
|
| 125 |
logicalFonts[2][0] = "Times"; |
|
| 126 |
logicalFonts[2][1] = "1|Serif|14|0"; //$NON-NLS-1$ |
|
| 127 |
ComboFieldEditor fontComboField = new ComboFieldEditor(ChartsEnginePreferences.FONT, TXMCoreMessages.common_defaultFont, logicalFonts, this.getFieldEditorParent()); |
|
| 128 |
this.addField(fontComboField); |
|
| 129 |
|
|
| 120 | 130 |
} |
| 131 |
|
|
| 121 | 132 |
|
| 122 | 133 |
/** |
| 123 | 134 |
* Creates the export format combo box according the specified charts engine. |
| TXM/trunk/bundles/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/JFCTheme.java (revision 3730) | ||
|---|---|---|
| 143 | 143 |
|
| 144 | 144 |
Font baseFont = ChartsEngine.createFont(result.getFont()); |
| 145 | 145 |
|
| 146 |
// System.err.println("JFCTheme.createFonts(): Font = " + baseFont);
|
|
| 147 |
|
|
| 146 | 148 |
// Titles |
| 147 | 149 |
this.setExtraLargeFont(baseFont.deriveFont(baseFont.getStyle(), baseFont.getSize() + 5)); |
| 148 | 150 |
|
| TXM/trunk/bundles/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/HighchartsDefaultTheme.java (revision 3730) | ||
|---|---|---|
| 6 | 6 |
import java.awt.Shape; |
| 7 | 7 |
import java.awt.Stroke; |
| 8 | 8 |
import java.awt.geom.Ellipse2D; |
| 9 |
import java.text.DecimalFormat; |
|
| 10 |
import java.text.DecimalFormatSymbols; |
|
| 11 |
import java.text.NumberFormat; |
|
| 9 | 12 |
import java.util.ArrayList; |
| 10 | 13 |
import java.util.HashMap; |
| 14 |
import java.util.Locale; |
|
| 11 | 15 |
|
| 12 | 16 |
import org.jfree.chart.JFreeChart; |
| 13 | 17 |
import org.jfree.chart.axis.CategoryLabelPositions; |
| 18 |
import org.jfree.chart.axis.NumberAxis; |
|
| 14 | 19 |
import org.jfree.chart.axis.SymbolAxis; |
| 15 | 20 |
import org.jfree.chart.block.BlockBorder; |
| 16 | 21 |
import org.jfree.chart.plot.CategoryPlot; |
| ... | ... | |
| 283 | 288 |
plot.getRangeAxis().setTickMarkOutsideLength(5); |
| 284 | 289 |
plot.getRangeAxis().setTickLabelFont(regularFont.deriveFont(Font.BOLD)); |
| 285 | 290 |
|
| 291 |
|
|
| 292 |
// SJ: to fix a bug with unbreakable space thousand separator that is displayed as a white square glyph with some fonts |
|
| 293 |
NumberAxis range = (NumberAxis) plot.getRangeAxis(); |
|
| 294 |
DecimalFormat formatter = (DecimalFormat) DecimalFormat.getInstance(); |
|
| 295 |
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); |
|
| 296 |
|
|
| 297 |
if((int)symbols.getGroupingSeparator() == 8239) { //unbreakable space char code
|
|
| 298 |
symbols.setGroupingSeparator(' ');
|
|
| 299 |
formatter.setDecimalFormatSymbols(symbols); |
|
| 300 |
range.setNumberFormatOverride(formatter); |
|
| 301 |
} |
|
| 302 |
|
|
| 303 |
|
|
| 286 | 304 |
plot.getDomainAxis().setAxisLinePaint(Color.decode("#C0D0E0"));
|
| 287 | 305 |
plot.getDomainAxis().setTickMarkPaint(Color.decode("#C0D0E0"));
|
| 288 | 306 |
plot.getDomainAxis().setTickMarkOutsideLength(5); |
| ... | ... | |
| 453 | 471 |
// Used for item selection mouse over |
| 454 | 472 |
renderer.setDefaultOutlinePaint(Color.WHITE); |
| 455 | 473 |
|
| 474 |
|
|
| 456 | 475 |
} |
| 457 | 476 |
|
| 458 | 477 |
|
| TXM/trunk/bundles/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionXYBarRenderer.java (revision 3730) | ||
|---|---|---|
| 4 | 4 |
import java.awt.Paint; |
| 5 | 5 |
import java.awt.Shape; |
| 6 | 6 |
import java.text.DecimalFormat; |
| 7 |
import java.text.NumberFormat; |
|
| 7 | 8 |
|
| 8 | 9 |
import org.jfree.chart.LegendItem; |
| 10 |
import org.jfree.chart.axis.NumberAxis; |
|
| 9 | 11 |
import org.jfree.chart.axis.SymbolAxis; |
| 10 | 12 |
import org.jfree.chart.labels.XYSeriesLabelGenerator; |
| 11 | 13 |
import org.jfree.chart.labels.XYToolTipGenerator; |
| ... | ... | |
| 45 | 47 |
|
| 46 | 48 |
// Tooltips |
| 47 | 49 |
this.initToolTipGenerator(this); |
| 50 |
|
|
| 48 | 51 |
} |
| 49 | 52 |
|
| 50 | 53 |
|
| TXM/trunk/bundles/org.txm.chartsengine.core/src/org/txm/chartsengine/core/preferences/ChartsEnginePreferences.java (revision 3730) | ||
|---|---|---|
| 126 | 126 |
preferences.put(MONOCHROME_COLOR, "0,220,20"); //$NON-NLS-1$ |
| 127 | 127 |
preferences.putBoolean(MULTIPLE_LINE_STROKES, false); |
| 128 | 128 |
|
| 129 |
//FIXME: SJ: old version |
|
| 129 | 130 |
// Check the target OS and set the default font using encoded String in JFace StringConverter format (?|Font name|size|style|?|?|...) |
| 130 |
String defaultFont; |
|
| 131 |
if (OSDetector.isFamilyUnix()) {
|
|
| 132 |
defaultFont = "1|Lucida Sans|11.0|1|GTK|1|"; //$NON-NLS-1$ |
|
| 133 |
} |
|
| 134 |
else {
|
|
| 135 |
defaultFont = "1|Lucida Sans Unicode|11.0|1|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|34|Lucida Sans Unicode;"; //$NON-NLS-1$ |
|
| 136 |
} |
|
| 131 |
// String defaultFont;
|
|
| 132 |
// if (OSDetector.isFamilyUnix()) {
|
|
| 133 |
// defaultFont = "1|Lucida Sans|11.0|1|GTK|1|"; //$NON-NLS-1$
|
|
| 134 |
// }
|
|
| 135 |
// else {
|
|
| 136 |
// defaultFont = "1|Lucida Sans Unicode|11.0|1|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|34|Lucida Sans Unicode;"; //$NON-NLS-1$
|
|
| 137 |
// }
|
|
| 137 | 138 |
|
| 139 |
String defaultFont = "1|SansSerif|14|0"; |
|
| 140 |
|
|
| 141 |
|
|
| 138 | 142 |
preferences.put(FONT, defaultFont); |
| 139 | 143 |
} |
| 140 | 144 |
|
| TXM/trunk/bundles/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java (revision 3730) | ||
|---|---|---|
| 484 | 484 |
* @param chartType the chartType to set |
| 485 | 485 |
*/ |
| 486 | 486 |
public void setChartType(String chartType) {
|
| 487 |
if (!this.chartType.equals(chartType)) {
|
|
| 488 |
// TODO find a better way to switch chart creators. this way previous chart is lost. |
|
| 489 |
setChart(null); // the chart must be redrawn from scratch |
|
| 490 |
} |
|
| 487 |
setChart(null); // the chart must be redrawn from scratch |
|
| 491 | 488 |
this.chartType = chartType; |
| 489 |
this.setDirty(); |
|
| 490 |
this.chartDirty = true; |
|
| 492 | 491 |
|
| 493 |
// FIXME: SJ: need to validate this MD: this seems no more necessary since the chart object is reset just before |
|
| 494 |
HashMap<String, Object> last = this.getLastParametersFromHistory(); |
|
| 495 |
if (last != null) {
|
|
| 496 |
this.getLastParametersFromHistory().put(ChartsEnginePreferences.CHART_TYPE, "__undef___"); //$NON-NLS-1$ |
|
| 497 |
} |
|
| 498 |
|
|
| 499 |
|
|
| 500 | 492 |
// this.getLastParametersFromHistory().put(ChartsEnginePreferences.CHART_TYPE, "[Default]"); |
| 501 | 493 |
|
| 494 |
// update the chart type of last cycle parameters so hasRenderingParameterChanged() returns true |
|
| 495 |
// HashMap<String, Object> last = this.getLastParametersFromHistory(); |
|
| 496 |
// if (last != null) {
|
|
| 497 |
// this.getLastParametersFromHistory().put(ChartsEnginePreferences.CHART_TYPE, "__undef___"); //$NON-NLS-1$ |
|
| 498 |
// } |
|
| 499 |
|
|
| 500 |
// clear all last rendering parameters to force the chart full recreation |
|
| 501 |
this.clearLastRenderingParameters(); |
|
| 502 | 502 |
|
| 503 |
|
|
| 504 |
// clear all last parameters to force a full recomputing |
|
| 505 |
// this.clearLastRenderingParameters(); |
|
| 506 |
// this.clearLastRenderingParameters(); |
|
| 507 | 503 |
} |
| 508 | 504 |
|
| 509 | 505 |
/** |
| TXM/trunk/bundles/org.txm.libs.jfreechart/build.properties (revision 3730) | ||
|---|---|---|
| 2 | 2 |
about.html,\ |
| 3 | 3 |
about_files/,\ |
| 4 | 4 |
.,\ |
| 5 |
lib/jfreechart-1.5.0.jar,\ |
|
| 6 |
OSGI-INF/ |
|
| 5 |
OSGI-INF/,\ |
|
| 6 |
lib/jfreechart-1.5.4.jar |
|
| TXM/trunk/bundles/org.txm.libs.jfreechart/about.html (revision 3730) | ||
|---|---|---|
| 1 | 1 |
JFreeChart |
| 2 | 2 |
========== |
| 3 | 3 |
|
| 4 |
Version 1.5.0, 5 November 2017.
|
|
| 4 |
Version 2.0.0, not yet released.
|
|
| 5 | 5 |
|
| 6 | 6 |
[](https://maven-badges.herokuapp.com/maven-central/org.jfree/jfreechart) |
| 7 | 7 |
|
| 8 | 8 |
Overview |
| 9 | 9 |
-------- |
| 10 |
JFreeChart is a comprehensive free chart library for the Java(tm) platform that
|
|
| 11 |
can be used on the client-side (JavaFX and Swing) or the server side (with
|
|
| 12 |
export to multiple formats including SVG, PNG and PDF).
|
|
| 10 |
JFreeChart is a comprehensive free chart library for the Java™ platform that
|
|
| 11 |
can be used on the client-side (JavaFX and Swing) or the server side, with
|
|
| 12 |
export to multiple formats including SVG, PNG and PDF. |
|
| 13 | 13 |
|
| 14 | 14 |
 |
| 15 | 15 |
|
| ... | ... | |
| 17 | 17 |
|
| 18 | 18 |
http://www.jfree.org/jfreechart |
| 19 | 19 |
|
| 20 |
JFreeChart requires JDK 1.6.0 or later. If JavaFX support is required, you |
|
| 21 |
need to also include the JFreeChart-FX extensions: |
|
| 20 |
JFreeChart requires JDK 11 or later. For Java 8 support, check the `v1.5.x` branch. |
|
| 22 | 21 |
|
| 23 |
https://github.com/jfree/jfreechart-fx |
|
| 24 |
|
|
| 25 | 22 |
The library is licensed under the terms of the GNU Lesser General Public |
| 26 | 23 |
License (LGPL) version 2.1 or later. |
| 27 | 24 |
|
| 28 | 25 |
|
| 29 |
Using JFreeChart |
|
| 30 |
---------------- |
|
| 26 |
JavaFX |
|
| 27 |
------ |
|
| 28 |
JFreeChart can be used with JavaFX via the `JFreeChart-FX` extensions: |
|
| 29 |
|
|
| 30 |
https://github.com/jfree/jfreechart-fx |
|
| 31 |
|
|
| 32 |
Demos |
|
| 33 |
----- |
|
| 34 |
A small set of demo applications can be found in the following projects here |
|
| 35 |
at GitHub: |
|
| 36 |
|
|
| 37 |
* [JFree-Demos](https://github.com/jfree/jfree-demos "JFree-Demos Project Page at GitHub") |
|
| 38 |
* [JFree-FXDemos](https://github.com/jfree/jfree-fxdemos "JFree-FXDemos Project Page at GitHub") |
|
| 39 |
|
|
| 40 |
A more comprehensive set of demos, plus the JFreeChart Developer Guide, is a reward at most |
|
| 41 |
tiers of the [JFree sponsorship](https://github.com/sponsors/jfree) program. Thanks for supporting the JFree projects! |
|
| 42 |
|
|
| 43 |
For Developers |
|
| 44 |
-------------- |
|
| 45 |
|
|
| 46 |
### Using JFreeChart |
|
| 31 | 47 |
To use JFreeChart in your projects, add the following dependency to your build tool: |
| 32 | 48 |
|
| 33 | 49 |
<dependency> |
| 34 | 50 |
<groupId>org.jfree</groupId> |
| 35 | 51 |
<artifactId>jfreechart</artifactId> |
| 36 |
<version>1.5.0</version>
|
|
| 52 |
<version>1.5.3</version>
|
|
| 37 | 53 |
</dependency> |
| 38 | 54 |
|
| 39 | 55 |
|
| 40 |
Building JFreeChart |
|
| 41 |
------------------- |
|
| 56 |
### Building JFreeChart |
|
| 42 | 57 |
You can build JFreeChart using Maven by issuing the following command from the root directory of the project: |
| 43 | 58 |
|
| 44 | 59 |
mvn clean install |
| 45 | 60 |
|
| 46 |
The build requires JDK 1.6.0 or later.
|
|
| 61 |
The build requires JDK 11 or later.
|
|
| 47 | 62 |
|
| 48 | 63 |
|
| 49 |
Migration from JFreeChart 1.0.x |
|
| 50 |
------------------------------- |
|
| 64 |
### Migration |
|
| 51 | 65 |
When migrating from JFreeChart 1.0.x to JFreeChart 1.5.0, please be aware of the following API changes: |
| 52 | 66 |
|
| 53 | 67 |
* all the classes from JCommon that are used by JFreeChart have integrated within the JFreeChart jar file within a different package than before (you will need to change your imports); |
| ... | ... | |
| 60 | 74 |
Please refer to [Issue 66](https://github.com/jfree/jfreechart/issues/66) for additional info. |
| 61 | 75 |
|
| 62 | 76 |
|
| 63 |
Demos |
|
| 64 |
----- |
|
| 65 |
A small set of demo applications can be found in the following projects here |
|
| 66 |
at GitHub: |
|
| 67 |
|
|
| 68 |
* [JFree-Demos](https://github.com/jfree/jfree-demos "JFree-Demos Project Page at GitHub") |
|
| 69 |
* [JFree-FXDemos](https://github.com/jfree/jfree-fxdemos "JFree-FXDemos Project Page at GitHub") |
|
| 70 |
|
|
| 71 |
|
|
| 72 | 77 |
History |
| 73 | 78 |
------- |
| 74 | 79 |
|
| 80 |
##### Version 2.0 (not yet released) |
|
| 81 |
- use `ThreadLocal` for calendars in time series datasets ([#171](https://github.com/jfree/jfreechart/pull/171)); |
|
| 82 |
- added `valueVisible` flag to `MeterPlot` ([#231](https://github.com/jfree/jfreechart/pull/231)); |
|
| 83 |
- modify buffer in `ChartPanel` to handle high DPI displays ([#170](https://github.com/jfree/jfreechart/issues/170)); |
|
| 84 |
- add options to control pan vs zoom in `ChartPanel` ([#172](https://github.com/jfree/jfreechart/pull/172)); |
|
| 85 |
- observe series visibility flags in `ClusteredXYBarRenderer` ([#89](https://github.com/jfree/jfreechart/pull/89)); |
|
| 86 |
- observe axis visibility flag in `PeriodAxis` ([#198](https://github.com/jfree/jfreechart/issues/198)); |
|
| 87 |
- fix for exception on extreme zoom on `NumberAxis` (bug #64); |
|
| 88 |
- fix tick label font for `LogAxis` with number format override ([#98](https://github.com/jfree/jfreechart/issues/98)); |
|
| 89 |
- remove alpha channel from copy-to-clipboard (fixes bug #182); |
|
| 90 |
- apply rendering hints to overlays - fixes bug #187; |
|
| 91 |
- modify `TextTitle` to throw `IllegalArgumentException` rather than `NullPointerException` ([#205](https://github.com/jfree/jfreechart/issues/205)); |
|
| 92 |
- fix bugs on crosshair labels ([#189](https://github.com/jfree/jfreechart/pull/189), [#194](https://github.com/jfree/jfreechart/pull/194)); |
|
| 93 |
- removed `ObjectUtils` class ([#163](https://github.com/jfree/jfreechart/pull/163)); |
|
| 94 |
- removed unused `URLUtilities` class ([#162](https://github.com/jfree/jfreechart/pull/162)) |
|
| 95 |
- fixed `LayeredBarRenderer` (bugs [#169](https://github.com/jfree/jfreechart/issues/169) and [#175](https://github.com/jfree/jfreechart/issues/175)); |
|
| 96 |
- minor fix for `DefaultPieDataset` (bugs [#212](https://github.com/jfree/jfreechart/issues/212)) |
|
| 97 |
- fix `isJFreeSVGAvailable()` method (bugs [#207](https://github.com/jfree/jfreechart/issues/207)) |
|
| 98 |
- add new methods to access maps for datasets, renderers and axes in plots ([#201](https://github.com/jfree/jfreechart/issues/201)); |
|
| 99 |
- update French translations (bug #186); |
|
| 100 |
- fix "Save_as" entries in localisation files (bug #184); |
|
| 101 |
- add flags for visibility of outliers in `BoxAndWhiskerRenderer` ([#79](https://github.com/jfree/jfreechart/pull/79)); |
|
| 102 |
- added generics; |
|
| 103 |
- `DefaultIntervalCategoryDataset` no longer allows null keys in constructor (this |
|
| 104 |
is a consequence of introducing generics); |
|
| 105 |
- update required JDK to version 11. |
|
| 106 |
|
|
| 75 | 107 |
##### Version 1.5.0 (5 November 2017) |
| 76 | 108 |
- all JavaFX classes moved to a separate project; |
| 77 | 109 |
- added cleaner method to create histograms in `ChartFactory`; |
| TXM/trunk/bundles/org.txm.libs.jfreechart/.classpath (revision 3730) | ||
|---|---|---|
| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
| 2 |
<classpath> |
|
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> |
|
| 4 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> |
|
| 5 |
<classpathentry exported="true" kind="lib" path="lib/jfreechart-1.5.0.jar"> |
|
| 6 |
<attributes> |
|
| 7 |
<attribute name="javadoc_location" value="jar:platform:/resource/org.txm.libs.jfreechart/doc/jfreechart-1.5.0-javadoc.jar!/"/> |
|
| 8 |
</attributes> |
|
| 9 |
</classpathentry> |
|
| 10 |
<classpathentry kind="output" path="bin"/> |
|
| 11 |
</classpath> |
|
| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
| 2 |
<classpath> |
|
| 3 |
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"> |
|
| 4 |
<attributes> |
|
| 5 |
<attribute name="module" value="true"/> |
|
| 6 |
</attributes> |
|
| 7 |
</classpathentry> |
|
| 8 |
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> |
|
| 9 |
<classpathentry exported="true" kind="lib" path="lib/jfreechart-1.5.4.jar"> |
|
| 10 |
<attributes> |
|
| 11 |
<attribute name="javadoc_location" value="jar:platform:/resource/org.txm.libs.jfreechart/doc/jfreechart-1.5.0-javadoc.jar!/"/> |
|
| 12 |
</attributes> |
|
| 13 |
</classpathentry> |
|
| 14 |
<classpathentry kind="output" path="bin"/> |
|
| 15 |
</classpath> |
|
| TXM/trunk/bundles/org.txm.libs.jfreechart/META-INF/MANIFEST.MF (revision 3730) | ||
|---|---|---|
| 2 | 2 |
Bundle-ManifestVersion: 2 |
| 3 | 3 |
Bundle-Name: JFreeChart |
| 4 | 4 |
Bundle-SymbolicName: org.txm.libs.jfreechart |
| 5 |
Bundle-Version: 1.5.0
|
|
| 5 |
Bundle-Version: 1.5.4
|
|
| 6 | 6 |
Export-Package: org.jfree.chart, |
| 7 | 7 |
org.jfree.chart.annotations, |
| 8 | 8 |
org.jfree.chart.axis, |
| ... | ... | |
| 18 | 18 |
org.jfree.chart.panel, |
| 19 | 19 |
org.jfree.chart.plot, |
| 20 | 20 |
org.jfree.chart.plot.dial, |
| 21 |
org.jfree.chart.plot.flow, |
|
| 21 | 22 |
org.jfree.chart.renderer, |
| 22 | 23 |
org.jfree.chart.renderer.category, |
| 23 | 24 |
org.jfree.chart.renderer.xy, |
| 24 |
org.jfree.chart.resources, |
|
| 25 |
org.jfree.chart.servlet, |
|
| 25 |
org.jfree.chart.servlet, |
|
| 26 | 26 |
org.jfree.chart.text, |
| 27 | 27 |
org.jfree.chart.title, |
| 28 | 28 |
org.jfree.chart.ui, |
| ... | ... | |
| 30 | 30 |
org.jfree.chart.util, |
| 31 | 31 |
org.jfree.data, |
| 32 | 32 |
org.jfree.data.category, |
| 33 |
org.jfree.data.flow, |
|
| 33 | 34 |
org.jfree.data.function, |
| 34 | 35 |
org.jfree.data.gantt, |
| 35 | 36 |
org.jfree.data.general, |
| ... | ... | |
| 46 | 47 |
Bundle-RequiredExecutionEnvironment: JavaSE-16 |
| 47 | 48 |
Bundle-Vendor: www.jfree.org |
| 48 | 49 |
Bundle-ClassPath: ., |
| 49 |
lib/jfreechart-1.5.0.jar
|
|
| 50 |
lib/jfreechart-1.5.4.jar
|
|
| 50 | 51 |
Automatic-Module-Name: org.txm.libs.jfreechart |
Formats disponibles : Unified diff