Revision 319 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/EditingExtension.java

View differences:

EditingExtension.java
23 23
 */
24 24
package org.gvsig.vectorediting.app.mainplugin;
25 25

  
26
import java.io.File;
27

  
28
import org.slf4j.Logger;
29
import org.slf4j.LoggerFactory;
30

  
26 31
import org.gvsig.andami.IconThemeHelper;
27 32
import org.gvsig.andami.PluginServices;
28 33
import org.gvsig.andami.plugins.Extension;
......
32 37
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
33 38
import org.gvsig.app.project.documents.view.gui.IView;
34 39
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener;
40
import org.gvsig.fmap.mapcontext.MapContextLocator;
35 41
import org.gvsig.fmap.mapcontext.layers.FLayer;
36 42
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
43
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
44
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolException;
45
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolManager;
37 46
import org.gvsig.fmap.mapcontrol.MapControl;
38 47
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior;
39 48
import org.gvsig.fmap.mapcontrol.tools.Behavior.MouseMovementBehavior;
40
import org.gvsig.tools.observer.BaseNotification;
41 49
import org.gvsig.tools.observer.Notification;
42 50
import org.gvsig.tools.observer.Observable;
43 51
import org.gvsig.tools.observer.Observer;
52
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
53
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
44 54
import org.gvsig.vectorediting.swing.api.EditingContext;
45 55
import org.gvsig.vectorediting.swing.api.EditingSwingLocator;
46 56
import org.gvsig.vectorediting.swing.api.EditingSwingManager;
47 57

  
48 58
public class EditingExtension extends Extension implements Observer {
49 59

  
60
    private static Logger logger = LoggerFactory.getLogger(EditingExtension.class);
61

  
50 62
    public void execute(String actionCommand) {
51 63

  
52 64
        IView view = getActiveView();
......
88 100
        DefaultViewPanel.setDisableConsole(true);
89 101
    }
90 102

  
103

  
91 104
    private void registerIcons() {
92 105
        IconThemeHelper.registerIcon("vectorediting", "vector-editing", this);
93 106
    }
94 107

  
108
    @Override
109
    public void postInitialize() {
110
        super.postInitialize();
111
        registerSymbols();
112

  
113
    }
114

  
115
    /**
116
     * Register all symbols in the plugin symbols folder in the providerManager.
117
     * The description of the symbols must be unique because the key used for registration is the proper description of the symbol.
118
     *
119
     */
120
    private void registerSymbols() {
121

  
122
        EditingProviderManager providerManager =
123
            EditingProviderLocator.getProviderManager();
124

  
125
        SymbolManager symbolManager = MapContextLocator.getSymbolManager();
126
        File pluginFolder = getPlugin().getPluginDirectory();
127
        String pathSeparator = System.getProperty("file.separator");
128
        String symbolsPath = pluginFolder.getAbsolutePath()+pathSeparator+"symbols"+pathSeparator+"editing";
129
        File symbolsFolder = new File(symbolsPath);
130
        ISymbol[] symbols = null;
131
        try {
132
            symbols = symbolManager.loadSymbols(symbolsFolder);
133
        } catch (SymbolException e) {
134
            logger.warn("No symbols loaded from "+symbolsPath, e);
135
        }
136

  
137
        if (symbols != null) {
138
            for (int i = 0; i < symbols.length; i++) {
139
                ISymbol symbol = symbols[i];
140
                String description = symbol.getDescription();
141
                providerManager.registerSymbol(description, symbol);
142
            }
143
        }
144
    }
145

  
95 146
    public boolean isEnabled() {
96 147
        return true;
97 148
    }

Also available in: Unified diff