Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.labeling.app / org.gvsig.labeling.app.mainplugin / src / main / java / org / gvsig / labeling / ExtendedLabelingExtension.java @ 43510

History | View | Annotate | Download (5.95 KB)

1
package org.gvsig.labeling;
2

    
3
import org.gvsig.andami.plugins.Extension;
4
import org.gvsig.app.gui.styling.StyleEditor;
5
import org.gvsig.app.project.documents.view.legend.gui.LabelingManager;
6
import org.gvsig.fmap.IconThemeHelper;
7
import org.gvsig.labeling.gui.layerproperties.DefaultLabeling;
8
import org.gvsig.labeling.gui.layerproperties.FeatureDependent;
9
import org.gvsig.labeling.gui.layerproperties.GeneralLabeling;
10
import org.gvsig.labeling.gui.layerproperties.LabelClassPropertiesFactory;
11
import org.gvsig.labeling.gui.layerproperties.OnSelection;
12
import org.gvsig.labeling.gui.styling.editortools.LabelStyleNewTextFieldTool;
13
import org.gvsig.labeling.gui.styling.editortools.LabelStyleOpenBackgroundFile;
14
import org.gvsig.labeling.gui.styling.editortools.LabelStylePanTool;
15
import org.gvsig.labeling.gui.styling.editortools.LabelStyleRemoveLastTextField;
16
import org.gvsig.labeling.gui.styling.editortools.PointLabelForbiddenPrecedenceTool;
17
import org.gvsig.labeling.gui.styling.editortools.PointLabelHighPrecedenceTool;
18
import org.gvsig.labeling.gui.styling.editortools.PointLabelLowPrecedenceTool;
19
import org.gvsig.labeling.gui.styling.editortools.PointLabelNormalPrecedenceTool;
20
import org.gvsig.labeling.label.FeatureDependentLabeled;
21
import org.gvsig.labeling.label.GeneralLabelingStrategy;
22
import org.gvsig.labeling.label.OnSelectionLabeled;
23
import org.gvsig.labeling.label.SmartTextSymbolLabelClass;
24
import org.gvsig.labeling.placements.AbstractPlacementConstraints;
25
import org.gvsig.labeling.placements.LinePlacementAtBest;
26
import org.gvsig.labeling.placements.LinePlacementAtExtremities;
27
import org.gvsig.labeling.placements.LinePlacementConstraints;
28
import org.gvsig.labeling.placements.LinePlacementInTheMiddle;
29
import org.gvsig.labeling.placements.MarkerPlacementAroundPoint;
30
import org.gvsig.labeling.placements.MarkerPlacementOnPoint;
31
import org.gvsig.labeling.placements.MultiShapePlacementConstraints;
32
import org.gvsig.labeling.placements.PlacementManager;
33
import org.gvsig.labeling.placements.PointLabelPositioner;
34
import org.gvsig.labeling.placements.PointPlacementConstraints;
35
import org.gvsig.labeling.placements.PolygonPlacementConstraints;
36
import org.gvsig.labeling.placements.PolygonPlacementInside;
37
import org.gvsig.labeling.placements.PolygonPlacementOnCentroid;
38
import org.gvsig.labeling.placements.PolygonPlacementParallel;
39
import org.gvsig.labeling.symbol.CharacterMarkerSymbol;
40
import org.gvsig.labeling.symbol.SmartTextSymbol;
41
import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.LabelingFactory;
42
import org.gvsig.symbology.swing.SymbologySwingLocator;
43
import org.gvsig.symbology.swing.SymbologySwingManager;
44

    
45

    
46
public class ExtendedLabelingExtension extends Extension {
47

    
48
        public void execute(String actionCommand) {
49

    
50
        }
51

    
52
        public void initialize() {
53
                
54
                registerPersistence();
55
                registerIcons();
56

    
57
                // Editor tools
58
                StyleEditor.addEditorTool(LabelStylePanTool.class);
59
                StyleEditor.addEditorTool(LabelStyleNewTextFieldTool.class);
60
                StyleEditor.addEditorTool(LabelStyleRemoveLastTextField.class);
61
                StyleEditor.addEditorTool(LabelStyleOpenBackgroundFile.class);
62
                StyleEditor.addEditorTool(PointLabelHighPrecedenceTool.class);
63
                StyleEditor.addEditorTool(PointLabelNormalPrecedenceTool.class);
64
                StyleEditor.addEditorTool(PointLabelLowPrecedenceTool.class);
65
                StyleEditor.addEditorTool(PointLabelForbiddenPrecedenceTool.class);
66

    
67
                LabelingManager.addLabelingStrategy(GeneralLabeling.class);
68

    
69
                // labeling methods in the labeling page
70
                //                                                (inverse order to the wanted to be shown)
71
                GeneralLabeling.addLabelingMethod(OnSelection.class);
72
                GeneralLabeling.addLabelingMethod(FeatureDependent.class);
73
                GeneralLabeling.addLabelingMethod(DefaultLabeling.class);
74

    
75
                PlacementManager.addLabelPlacement(LinePlacementAtExtremities.class);
76
                PlacementManager.addLabelPlacement(LinePlacementAtBest.class);
77
                PlacementManager.addLabelPlacement(LinePlacementInTheMiddle.class);
78
                PlacementManager.addLabelPlacement(MarkerPlacementOnPoint.class);
79
                // PlacementManager.addLabelPlacement(MarkerCenteredAtPoint.class);
80
                PlacementManager.addLabelPlacement(MarkerPlacementAroundPoint.class);
81
                PlacementManager.addLabelPlacement(PolygonPlacementOnCentroid.class);
82
                PlacementManager.addLabelPlacement(PolygonPlacementInside.class);
83
                PlacementManager.addLabelPlacement(PolygonPlacementParallel.class);
84

    
85
            // LabelingFactory.setDefaultLabelingStrategy(GeneralLabelingStrategy.class);
86
            SymbologySwingManager manager = SymbologySwingLocator.getSwingManager();
87
            manager.registerLabelClassEditor(new LabelClassPropertiesFactory());
88
        }
89

    
90
        private void registerIcons() {
91
                
92
                IconThemeHelper.registerIcon("action", "edit-add-text", this);
93
                IconThemeHelper.registerIcon("action", "edit-remove-text", this);
94
                IconThemeHelper.registerIcon("action", "set-forbidden-precedence", this);
95
                IconThemeHelper.registerIcon("action", "set-high-precedence", this);
96
                IconThemeHelper.registerIcon("action", "set-low-precedence", this);
97
                IconThemeHelper.registerIcon("action", "set-normal-precedence", this);
98
                
99
                IconThemeHelper.registerIcon("action", "edit-shift-component", this);
100
                IconThemeHelper.registerIcon("action", "edit-add-background-image", this);
101
        }
102

    
103
        private void registerPersistence() {
104
                
105
                AbstractPlacementConstraints.registerPersistent();
106
                PointPlacementConstraints.registerPersistent();
107
                LinePlacementConstraints.registerPersistent();
108
                PolygonPlacementConstraints.registerPersistent();
109
                MultiShapePlacementConstraints.registerPersistent();
110
                
111
                CharacterMarkerSymbol.registerPersistent();
112
                SmartTextSymbol.registerPersistent();
113
                SmartTextSymbolLabelClass.registerPersistent();
114

    
115
                PointLabelPositioner.registerPersistent();
116
                
117
                GeneralLabelingStrategy.registerPersistent();
118
                
119
                OnSelectionLabeled.registerPersistent();
120
                FeatureDependentLabeled.registerPersistent();
121
        }
122

    
123
        public boolean isEnabled() {
124
                return false;
125
        }
126

    
127
        public boolean isVisible() {
128
                return false;
129
        }
130

    
131

    
132

    
133
}
134

    
135