Revision 41670 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.impl/src/main/java/org/gvsig/symbology/swing/impl/DefaultSymbologySwingManager.java

View differences:

DefaultSymbologySwingManager.java
23 23
package org.gvsig.symbology.swing.impl;
24 24

  
25 25
import java.util.ArrayList;
26
import java.util.Collection;
26 27
import java.util.Collections;
27 28
import java.util.HashMap;
28 29
import java.util.Iterator;
29 30
import java.util.List;
30 31
import java.util.Map;
31
import java.util.logging.Level;
32
import org.gvsig.app.gui.labeling.LabelClassEditor;
33
import org.gvsig.app.gui.labeling.LabelClassEditorFactory;
32 34

  
33
import org.gvsig.app.gui.styling.SymbolEditor;
34 35
import org.gvsig.app.gui.styling.TypeSymbolEditor;
35 36
import org.gvsig.app.project.documents.view.legend.gui.ILabelingStrategyPanel;
36 37
import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
38
import org.gvsig.fmap.dal.feature.FeatureStore;
37 39
import org.gvsig.fmap.geom.type.GeometryType;
38 40
import org.gvsig.fmap.mapcontext.layers.FLayer;
39
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingStrategy;
41
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
42
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClassFactory;
40 43
import org.gvsig.gui.ColorTablePainter;
41 44
import org.gvsig.gui.ColorTablesFactory;
42 45
import org.gvsig.gui.DefaultColorTablesFactory;
......
68 71
    private static Map<Integer, List<Class<? extends TypeSymbolEditor>>> symbolEditorRegistry;
69 72
    private List<Class<? extends ILegendPanel>> legendEditorRegistry = null;
70 73
    private List<Class<? extends ILabelingStrategyPanel>> labelingEditorRegistry = null;
74
    private Map<String,LabelClassEditorFactory> labelClassEditorFactories = new HashMap<String, LabelClassEditorFactory>();
71 75

  
72 76
    public DefaultSymbologySwingManager() {
73 77
        this.manager = SymbologyLocator.getSymbologyManager();
......
205 209
        return labelingEditors;
206 210
    }
207 211

  
212
    public void registerLabelClassEditor(LabelClassEditorFactory factory) {
213
        this.labelClassEditorFactories.put(factory.getID().toLowerCase(), factory);
214
    }
215

  
216
    public Collection<LabelClassEditorFactory> getLabelClassEditorFactories() {
217
        return Collections.unmodifiableCollection( this.labelClassEditorFactories.values());
218
    }
219

  
220
    public LabelClassEditorFactory getLabelClassEditorFactory(String id) {
221
        if( id==null ) {
222
            return null;
223
        }
224
        return this.labelClassEditorFactories.get(id.toLowerCase());
225
    }
226

  
227
    public LabelClassEditorFactory getLabelClassEditorFactory(ILabelClass labelClass) {
228
        Iterator<LabelClassEditorFactory> it = this.labelClassEditorFactories.values().iterator();
229
        while( it.hasNext() ) {
230
            LabelClassEditorFactory labelClassEditorFactory = it.next();
231
            if( labelClassEditorFactory!=null && labelClassEditorFactory.accept(labelClass.getClass()) ) {
232
                return labelClassEditorFactory;
233
            }
234
        }
235
        return null;
236
    }
237

  
238
    public LabelClassEditor createLabelClassEditor(ILabelClass labelClass, FeatureStore store) {
239
        LabelClassEditorFactory f = this.getLabelClassEditorFactory(labelClass);
240
        if( f == null ) {
241
            return null;
242
        }
243
        return f.createEditor(labelClass, store);
244
    }
245
    
208 246
}

Also available in: Unified diff