Révision 1693
| tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/preferences/ChartsEnginePreferencePage.java (revision 1693) | ||
|---|---|---|
| 74 | 74 |
this.addField(this.chartsEngineComboField); |
| 75 | 75 |
|
| 76 | 76 |
|
| 77 |
// export formats |
|
| 77 |
// current engine supported export formats
|
|
| 78 | 78 |
ArrayList<String> supportedExportFormats = new ArrayList<String>(); |
| 79 |
supportedExportFormats.addAll(ChartsEngine.getCurrent().getSupportedOutputFileFormats());
|
|
| 79 |
supportedExportFormats.addAll(((ChartsEngine) Toolbox.getEngineManager(EngineType.CHARTS).getCurrentEngine()).getSupportedOutputFileFormats());
|
|
| 80 | 80 |
|
| 81 | 81 |
// Sort the set |
| 82 | 82 |
TreeSet<String> formatsSet = new TreeSet <String>(supportedExportFormats); |
| ... | ... | |
| 97 | 97 |
// Monochrome color |
| 98 | 98 |
this.addField(new ColorFieldEditor(ChartsEnginePreferences.MONOCHROME_COLOR, SWTComponentsProviderMessages.monochromeRenderingColor, this.getFieldEditorParent())); |
| 99 | 99 |
|
| 100 |
FontFieldEditor font = new FontFieldEditor(ChartsEnginePreferences.FONT, "Font", "Specificities / Spécificités / Специфичность", this.getFieldEditorParent()); |
|
| 100 |
FontFieldEditor font = new FontFieldEditor(ChartsEnginePreferences.FONT, "Font", "Specificities / Spécificités / Специфичность", this.getFieldEditorParent()); //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 101 | 101 |
this.addField(font); |
| 102 | 102 |
// FIXME: preview area tests |
| 103 | 103 |
//font.fillIntoGrid(this.getFieldEditorParent(), 4); |
| ... | ... | |
| 112 | 112 |
public void propertyChange(PropertyChangeEvent event) {
|
| 113 | 113 |
super.propertyChange(event); |
| 114 | 114 |
|
| 115 |
// Store the property changed state for not recreating a new ChartsEngin if the property hasn't been changed |
|
| 116 |
this.hasChanged = true; |
|
| 115 |
// Store the property changed state for not recreating a new ChartsEngine if the property hasn't been changed |
|
| 116 |
// NOTE: SJ: warning, event.getProperty() seems bugged and does not return the correct property name but the string "field_value_editor" |
|
| 117 |
if(event.getSource() == this.chartsEngineComboField && !event.getNewValue().equals(event.getOldValue())) {
|
|
| 118 |
this.hasChanged = true; |
|
| 119 |
} |
|
| 117 | 120 |
} |
| 118 | 121 |
|
| 119 | 122 |
|
| ... | ... | |
| 127 | 130 |
@Override |
| 128 | 131 |
public boolean performOk() {
|
| 129 | 132 |
|
| 130 |
super.performOk();
|
|
| 133 |
super.performOk(); |
|
| 131 | 134 |
|
| 132 |
// Do nothing if the property has not been changed |
|
| 133 |
if(this.hasChanged) {
|
|
| 134 |
|
|
| 135 |
Log.info(SWTComponentsProviderMessages.recreatingChartsEngineAndSWTChartComponentsProvider); |
|
| 135 |
|
|
| 136 |
// Set the new monochrome color for all charts engine theme |
|
| 137 |
for(int i = 0; i < ChartsEngine.getChartsEngines().size(); i++) {
|
|
| 138 |
ChartsEngine.getChartsEngines().get(i).getTheme().setMonochromeColor(ChartsEnginePreferences.getInstance().getString(ChartsEnginePreferences.MONOCHROME_COLOR)); |
|
| 139 |
} |
|
| 140 |
|
|
| 136 | 141 |
|
| 137 |
Toolbox.getEngineManager(EngineType.CHARTS).setCurrentEngine(this.getPreferenceStore().getString(ChartsEnginePreferences.CURRENT_NAME)); |
|
| 138 |
|
|
| 139 |
// Sets the new current charts SWT component provider according to the new current charts engine |
|
| 140 |
SWTChartsComponentsProvider.setCurrrentComponentsProvider((ChartsEngine) Toolbox.getEngineManager(EngineType.CHARTS).getCurrentEngine()); |
|
| 141 |
|
|
| 142 |
// Set the first charts engine supported export file format as default charts export file format |
|
| 143 |
ChartsEnginePreferences.getInstance().put(ChartsEnginePreferences.DEFAULT_EXPORT_FORMAT, ChartsEngine.getCurrent().getSupportedOutputFileFormats().get(0)); |
|
| 144 |
|
|
| 145 |
|
|
| 146 |
// Set the new monochrome color for all charts engine theme |
|
| 147 |
for(int i = 0; i < ChartsEngine.getChartsEngines().size(); i++) {
|
|
| 148 |
ChartsEngine.getChartsEngines().get(i).getTheme().setMonochromeColor(ChartsEnginePreferences.getInstance().getString(ChartsEnginePreferences.MONOCHROME_COLOR)); |
|
| 149 |
} |
|
| 150 |
|
|
| 151 |
// FIXME: doesn't work, works only when we quit the page and go back to it |
|
| 152 |
// Refreshes the page to recreate the default export format combo box |
|
| 153 |
// PlatformUI.getWorkbench().getPreferenceManager(). |
|
| 154 |
// find("org.txm.rcp.preferences.TXMMainPreferencePage/org.txm.rcp.preferences.AdvancePreferencePage/ChartsEnginePreferencePage").createPage(); //$NON-NLS-1$
|
|
| 155 |
|
|
| 156 |
//FIXME: old code |
|
| 157 |
// Refresh the User\Export preference page to update "Default charts export file format" combo box |
|
| 158 |
// PlatformUI.getWorkbench().getPreferenceManager(). |
|
| 159 |
// find("org.txm.rcp.preferences.TXMMainPreferencePage/" + UserPreferencePage.ID + "/" + ExportPreferencePage.ID).createPage(); //$NON-NLS-1$ //$NON-NLS-2$
|
|
| 160 |
} |
|
| 142 |
// Only if the current engine has changed |
|
| 143 |
if(this.hasChanged) {
|
|
| 144 |
|
|
| 145 |
Log.info(SWTComponentsProviderMessages.recreatingChartsEngineAndSWTChartComponentsProvider); |
|
| 161 | 146 |
|
| 162 |
// // FIXME: useless ? |
|
| 163 |
// Explorer.refresh(); |
|
| 147 |
Toolbox.getEngineManager(EngineType.CHARTS).setCurrentEngine(this.getPreferenceStore().getString(ChartsEnginePreferences.CURRENT_NAME)); |
|
| 164 | 148 |
|
| 149 |
// Sets the new current charts SWT component provider according to the new current charts engine |
|
| 150 |
SWTChartsComponentsProvider.setCurrrentComponentsProvider((ChartsEngine) Toolbox.getEngineManager(EngineType.CHARTS).getCurrentEngine()); |
|
| 151 |
|
|
| 152 |
// Reset the default export format to the new charts engine first supported export file format |
|
| 153 |
ChartsEnginePreferences.getInstance().put(ChartsEnginePreferences.DEFAULT_EXPORT_FORMAT, ChartsEngine.getCurrent().getSupportedOutputFileFormats().get(0)); |
|
| 154 |
|
|
| 155 |
|
|
| 156 |
} |
|
| 157 |
|
|
| 165 | 158 |
return true; |
| 166 | 159 |
} |
| 167 | 160 |
} |
Formats disponibles : Unified diff