Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.symbology / org.gvsig.symbology.lib / org.gvsig.symbology.lib.api / src / main / java / org / gvsig / symbology / SymbologyManager.java @ 44249

History | View | Annotate | Download (5.48 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 3 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23

    
24
package org.gvsig.symbology;
25

    
26
import java.awt.Shape;
27
import java.io.IOException;
28
import java.net.URL;
29
import java.util.Collection;
30

    
31
import org.gvsig.fmap.mapcontext.rendering.legend.IInterval;
32
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendReader;
33
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
34
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClassFactory;
35
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingMethod;
36
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingStrategy;
37
import org.gvsig.fmap.mapcontext.rendering.legend.styling.IZoomConstraints;
38
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.IBackgroundFileStyle;
39
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.ILabelStyle;
40
import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.IAttrInTableLabelingStrategy;
41
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.IMultiShapeSymbol;
42
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IMarkerFillSymbol;
43
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IPictureFillSymbol;
44
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.ISimpleFillSymbol;
45
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.IPictureLineSymbol;
46
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.ISimpleLineSymbol;
47
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IPictureMarkerSymbol;
48
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.ISimpleMarkerSymbol;
49
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IArrowDecoratorStyle;
50
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IMarkerFillPropertiesStyle;
51
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IMask;
52
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.ISimpleLineStyle;
53
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.ISimpleTextSymbol;
54
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendWriter;
55
import org.gvsig.symbology.fmap.mapcontext.rendering.dynamiclegend.DynamicSymbol;
56
import org.gvsig.symbology.fmap.mapcontext.rendering.dynamiclegend.DynamicVectorLegend;
57

    
58
/**
59
 * Basic symbology manager.
60
 *
61
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
62
 */
63
public interface SymbologyManager {
64

    
65
    /**
66
     * Creates a new interval with the given limit values
67
     *
68
     * @param min the minimum included interval value
69
     * @param max the maximum included interval value
70
     * @return a new interval
71
     */
72
    
73
    DynamicVectorLegend createDynamicVectorLegend();
74
    
75
    DynamicSymbol createDynamicSymbol();
76
    
77
    IInterval createInterval(double min, double max);
78

    
79
    IArrowDecoratorStyle createArrowDecoratorStyle();
80

    
81
//        IMarkerSymbol createMarkerSymbol();
82
    ISimpleMarkerSymbol createSimpleMarkerSymbol();
83

    
84
    IMask createMask();
85

    
86
    IMultiShapeSymbol createMultiShapeSymbol();
87

    
88
    ISimpleFillSymbol createSimpleFillSymbol();
89

    
90
    ISimpleLineSymbol createSimpleLineSymbol();
91

    
92
    ISimpleLineStyle createSimpleLineStyle();
93

    
94
    ISimpleTextSymbol createSimpleTextSymbol();
95

    
96
    IMarkerFillPropertiesStyle createSimpleMarkerFillPropertiesStyle();
97

    
98
    IBackgroundFileStyle createBackgroundFileStyle(URL imgURL) throws IOException;
99

    
100
    IPictureFillSymbol createPictureFillSymbol(URL imageURL, URL selImageURL) throws IOException;
101

    
102
    IPictureLineSymbol createPictureLineSymbol(URL imageURL, URL selImageURL) throws IOException;
103

    
104
    IPictureMarkerSymbol createPictureMarkerSymbol(URL imageURL, URL selImageURL) throws IOException;
105

    
106
    IMarkerFillSymbol createMarkerFillSymbol();
107

    
108
    IAttrInTableLabelingStrategy createAttrInTableLabelingStrategy();
109

    
110
    ILabelStyle createDefaultLabelStyle();
111

    
112
    ILabelingStrategy createDefaultLabelingStrategy();
113

    
114
    ILabelingMethod createDefaultLabelingMethod();
115

    
116
    IZoomConstraints createDefaultZoomConstraints();
117

    
118
    public void registerLabelClass(ILabelClassFactory factory);
119

    
120
    public Collection<ILabelClassFactory> getLabelClassFactories();
121

    
122
    public ILabelClassFactory getLabelClassFactory(String id);
123

    
124
    /**
125
     * Creates an instance of a class (provided by this manager) which
126
     * implements ILabelClass.
127
     *
128
     * @return
129
     */
130
    ILabelClass createDefaultLabel();
131

    
132
    public ILabelClassFactory getDefaultLabelFactory();
133

    
134
    public void setDefaultLabelFactory(String id);
135

    
136
    public void setDefaultLabelFactory(ILabelClassFactory factory);
137

    
138
    public PathLength createPathLength(Shape path);
139

    
140
    /**
141
     * @return
142
     */
143
    ILegendWriter getDefaultLegendWriter();
144
}