Revision 44074
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportLayerExtension.java | ||
---|---|---|
26 | 26 |
import java.awt.Dimension; |
27 | 27 |
import javax.swing.JComponent; |
28 | 28 |
import javax.swing.JOptionPane; |
29 |
import javax.swing.SwingUtilities; |
|
29 | 30 |
import org.cresques.cts.ICoordTrans; |
30 | 31 |
import org.cresques.cts.IProjection; |
31 | 32 |
|
... | ... | |
188 | 189 |
); |
189 | 190 |
} |
190 | 191 |
|
191 |
private void doAddlayer(ExportProcess process, MapContext mapContext) { |
|
192 |
private void doAddlayer(final ExportProcess process, final MapContext mapContext) { |
|
193 |
if (!SwingUtilities.isEventDispatchThread()) { |
|
194 |
SwingUtilities.invokeLater(new Runnable() { |
|
195 |
@Override |
|
196 |
public void run() { |
|
197 |
doAddlayer(process, mapContext); |
|
198 |
} |
|
199 |
}); |
|
200 |
return; |
|
201 |
} |
|
202 |
|
|
192 | 203 |
ApplicationManager application = ApplicationLocator.getManager(); |
193 | 204 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
194 | 205 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportPreferencesExtension.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.export.app.extension; |
25 | 25 |
|
26 |
import java.util.Set; |
|
27 | 26 |
|
28 | 27 |
import org.gvsig.andami.plugins.Extension; |
29 | 28 |
import org.gvsig.andami.preferences.IPreference; |
... | ... | |
32 | 31 |
import org.gvsig.export.app.extension.preferences.ExportPreferencesPage; |
33 | 32 |
import org.gvsig.export.spi.ExportServiceFactory; |
34 | 33 |
import org.gvsig.export.spi.ExportServiceManager; |
35 |
import org.gvsig.tools.dynobject.DynObject; |
|
36 | 34 |
|
37 | 35 |
/** |
38 | 36 |
* Andami extension to register the ExportTo preferences panel. |
... | ... | |
44 | 42 |
extends Extension |
45 | 43 |
implements IPreferenceExtension |
46 | 44 |
{ |
47 |
public static final String PREFERENCE_ENABLED_SERVICES = "enabledProviders"; |
|
48 | 45 |
|
49 | 46 |
@Override |
50 | 47 |
public void initialize() { |
51 | 48 |
ExportServiceManager manager = ExportLocator.getServiceManager(); |
52 | 49 |
|
53 |
DynObject preferences = this.getPlugin().getPluginProperties(); |
|
54 |
Set<String> enableds = (Set<String>) preferences.getDynValue(PREFERENCE_ENABLED_SERVICES); |
|
50 |
ExportPreferences preferences = new ExportPreferences(); |
|
55 | 51 |
for (ExportServiceFactory factory : manager.getAllServiceFactories()) { |
56 |
factory.setEnabled(enableds.contains(factory.getName())); |
|
52 |
if (preferences.exits(factory.getName())) { |
|
53 |
factory.setEnabled(preferences.isEnabled(factory.getName())); |
|
54 |
} else { |
|
55 |
factory.setEnabled(true); |
|
56 |
preferences.setEnabled(factory.getName(), true); |
|
57 |
} |
|
57 | 58 |
} |
58 | 59 |
} |
59 | 60 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/preferences/ExportPreferencesPage.java | ||
---|---|---|
24 | 24 |
package org.gvsig.export.app.extension.preferences; |
25 | 25 |
|
26 | 26 |
import java.awt.BorderLayout; |
27 |
import java.util.HashSet; |
|
28 | 27 |
import java.util.List; |
29 |
import java.util.Set; |
|
30 | 28 |
|
31 | 29 |
import javax.swing.ImageIcon; |
32 | 30 |
import javax.swing.JPanel; |
... | ... | |
34 | 32 |
import javax.swing.event.ChangeListener; |
35 | 33 |
|
36 | 34 |
import org.gvsig.andami.IconThemeHelper; |
37 |
import org.gvsig.andami.PluginsLocator; |
|
38 |
import org.gvsig.andami.PluginsManager; |
|
39 | 35 |
import org.gvsig.andami.preferences.AbstractPreferencePage; |
40 | 36 |
import org.gvsig.andami.preferences.StoreException; |
41 |
import org.gvsig.export.app.extension.ExportPreferencesExtension; |
|
37 |
import org.gvsig.export.ExportLocator; |
|
38 |
import org.gvsig.export.app.extension.ExportPreferences; |
|
39 |
import org.gvsig.export.spi.ExportServiceFactory; |
|
40 |
import org.gvsig.export.spi.ExportServiceManager; |
|
42 | 41 |
import org.gvsig.export.swing.ExportSwingLocator; |
43 | 42 |
import org.gvsig.export.swing.ExportSwingManager; |
44 | 43 |
import org.gvsig.export.swing.JExportConfigPanel; |
45 | 44 |
import org.gvsig.i18n.Messages; |
46 |
import org.gvsig.tools.dynobject.DynObject; |
|
47 | 45 |
|
48 | 46 |
/** |
49 | 47 |
* Exportto related preferences page. |
... | ... | |
120 | 118 |
|
121 | 119 |
// Persist them |
122 | 120 |
List<String> selecteds = this.config.getSelectedNames(); |
123 |
Set<String> enableds = new HashSet<>(); |
|
124 |
enableds.addAll(selecteds); |
|
121 |
ExportPreferences preferences = new ExportPreferences(); |
|
122 |
ExportServiceManager manager = ExportLocator.getServiceManager(); |
|
123 |
|
|
124 |
for (ExportServiceFactory factory : manager.getAllServiceFactories()) { |
|
125 |
preferences.setEnabled(factory.getName(),selecteds.contains(factory.getName())); |
|
126 |
} |
|
125 | 127 |
|
126 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
|
127 |
DynObject preferences = pluginManager.getPlugin(this).getPluginProperties(); |
|
128 |
preferences.setDynValue(ExportPreferencesExtension.PREFERENCE_ENABLED_SERVICES, |
|
129 |
enableds |
|
130 |
); |
|
131 | 128 |
} |
132 | 129 |
|
133 | 130 |
@Override |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportPreferences.java | ||
---|---|---|
1 |
/* |
|
2 |
* To change this license header, choose License Headers in Project Properties. |
|
3 |
* To change this template file, choose Tools | Templates |
|
4 |
* and open the template in the editor. |
|
5 |
*/ |
|
6 |
package org.gvsig.export.app.extension; |
|
7 |
|
|
8 |
import java.util.HashMap; |
|
9 |
import java.util.Map; |
|
10 |
import java.util.Set; |
|
11 |
import org.gvsig.andami.PluginsLocator; |
|
12 |
import org.gvsig.andami.PluginsManager; |
|
13 |
import org.gvsig.tools.dynobject.DynObject; |
|
14 |
|
|
15 |
/** |
|
16 |
* |
|
17 |
* @author osc |
|
18 |
*/ |
|
19 |
public class ExportPreferences { |
|
20 |
private DynObject preferences; |
|
21 |
public static final String PREFERENCE_ENABLED_SERVICES = "enabledProviders"; |
|
22 |
public static final String PREFERENCE_DISABLED_SERVICES = "disabledProviders"; |
|
23 |
|
|
24 |
public boolean exits(String factoryName) { |
|
25 |
Map<String, Boolean> enabledsState = this.getEnabledState(); |
|
26 |
return enabledsState.containsKey(factoryName); |
|
27 |
} |
|
28 |
public boolean isEnabled(String factoryName) { |
|
29 |
Map<String, Boolean> enabledsState = this.getEnabledState(); |
|
30 |
return enabledsState.get(factoryName); |
|
31 |
} |
|
32 |
|
|
33 |
public void setEnabled(String factoryName, boolean enabled) { |
|
34 |
Map<String, Boolean> enabledsState = this.getEnabledState(); |
|
35 |
enabledsState.put(factoryName, enabled); |
|
36 |
this.putEnabledState(enabledsState); |
|
37 |
} |
|
38 |
|
|
39 |
private DynObject getPreferences() { |
|
40 |
if (this.preferences == null) { |
|
41 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
|
42 |
|
|
43 |
this.preferences = pluginManager.getPlugin(ExportPreferencesExtension.class).getPluginProperties(); |
|
44 |
|
|
45 |
} |
|
46 |
return this.preferences; |
|
47 |
} |
|
48 |
|
|
49 |
private Map<String, Boolean> getEnabledState() { |
|
50 |
Map<String, Boolean> enabledsState = new HashMap<>(); |
|
51 |
Set<String> enableds = (Set<String>) this.getPreferences().getDynValue(PREFERENCE_ENABLED_SERVICES); |
|
52 |
for (String enabled : enableds) { |
|
53 |
enabledsState.put(enabled, true); |
|
54 |
} |
|
55 |
Set<String> disableds = (Set<String>) this.getPreferences().getDynValue(PREFERENCE_DISABLED_SERVICES); |
|
56 |
for (String disabled : disableds) { |
|
57 |
enabledsState.put(disabled, false); |
|
58 |
} |
|
59 |
return enabledsState; |
|
60 |
} |
|
61 |
|
|
62 |
private void putEnabledState(Map<String, Boolean> enabledsState) { |
|
63 |
Set<String> enableds = (Set<String>) this.getPreferences().getDynValue(PREFERENCE_ENABLED_SERVICES); |
|
64 |
Set<String> disableds = (Set<String>) this.getPreferences().getDynValue(PREFERENCE_DISABLED_SERVICES); |
|
65 |
for (Map.Entry<String, Boolean> entry : enabledsState.entrySet()) { |
|
66 |
if (entry.getValue()) { |
|
67 |
enableds.add(entry.getKey()); |
|
68 |
disableds.remove(entry.getKey()); |
|
69 |
} else { |
|
70 |
enableds.remove(entry.getKey()); |
|
71 |
disableds.add(entry.getKey()); |
|
72 |
} |
|
73 |
} |
|
74 |
} |
|
75 |
|
|
76 |
} |
Also available in: Unified diff