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 @ 41670

History | View | Annotate | Download (5.86 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
/* gvSIG. Geographic Information System of the Valencian Government
24
 *
25
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
26
 * of the Valencian Government (CIT)
27
 * 
28
 * This program is free software; you can redistribute it and/or
29
 * modify it under the terms of the GNU General Public License
30
 * as published by the Free Software Foundation; either version 2
31
 * of the License, or (at your option) any later version.
32
 * 
33
 * This program is distributed in the hope that it will be useful,
34
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
35
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
36
 * GNU General Public License for more details.
37
 * 
38
 * You should have received a copy of the GNU General Public License
39
 * along with this program; if not, write to the Free Software
40
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
41
 * MA  02110-1301, USA.
42
 * 
43
 */
44

    
45
/*
46
 * AUTHORS (In addition to CIT):
47
 * 2009 {}  {{Task}}
48
 */
49
package org.gvsig.symbology;
50

    
51
import java.io.IOException;
52
import java.net.URL;
53
import java.util.Collection;
54

    
55
import org.gvsig.fmap.mapcontext.rendering.legend.IInterval;
56
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
57
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClassFactory;
58
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingMethod;
59
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingStrategy;
60
import org.gvsig.fmap.mapcontext.rendering.legend.styling.IZoomConstraints;
61
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.IBackgroundFileStyle;
62
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.ILabelStyle;
63
import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.IAttrInTableLabelingStrategy;
64
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.IMultiShapeSymbol;
65
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IMarkerFillSymbol;
66
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IPictureFillSymbol;
67
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.ISimpleFillSymbol;
68
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.IPictureLineSymbol;
69
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.ISimpleLineSymbol;
70
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IPictureMarkerSymbol;
71
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.ISimpleMarkerSymbol;
72
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IArrowDecoratorStyle;
73
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IMarkerFillPropertiesStyle;
74
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IMask;
75
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.ISimpleLineStyle;
76
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.ISimpleTextSymbol;
77

    
78
/**
79
 * Basic symbology manager.
80
 *
81
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
82
 */
83
public interface SymbologyManager {
84

    
85
    /**
86
     * Creates a new interval with the given limit values
87
     *
88
     * @param min the minimum included interval value
89
     * @param max the maximum included interval value
90
     * @return a new interval
91
     */
92
    IInterval createInterval(double min, double max);
93

    
94
    IArrowDecoratorStyle createArrowDecoratorStyle();
95

    
96
//        IMarkerSymbol createMarkerSymbol();
97
    ISimpleMarkerSymbol createSimpleMarkerSymbol();
98

    
99
    IMask createMask();
100

    
101
    IMultiShapeSymbol createMultiShapeSymbol();
102

    
103
    ISimpleFillSymbol createSimpleFillSymbol();
104

    
105
    ISimpleLineSymbol createSimpleLineSymbol();
106

    
107
    ISimpleLineStyle createSimpleLineStyle();
108

    
109
    ISimpleTextSymbol createSimpleTextSymbol();
110

    
111
    IMarkerFillPropertiesStyle createSimpleMarkerFillPropertiesStyle();
112

    
113
    IBackgroundFileStyle createBackgroundFileStyle(URL imgURL) throws IOException;
114

    
115
    IPictureFillSymbol createPictureFillSymbol(URL imageURL, URL selImageURL) throws IOException;
116

    
117
    IPictureLineSymbol createPictureLineSymbol(URL imageURL, URL selImageURL) throws IOException;
118

    
119
    IPictureMarkerSymbol createPictureMarkerSymbol(URL imageURL, URL selImageURL) throws IOException;
120

    
121
    IMarkerFillSymbol createMarkerFillSymbol();
122

    
123
    IAttrInTableLabelingStrategy createAttrInTableLabelingStrategy();
124

    
125
    ILabelStyle createDefaultLabelStyle();
126

    
127
    ILabelingStrategy createDefaultLabelingStrategy();
128

    
129
    ILabelingMethod createDefaultLabelingMethod();
130

    
131
    IZoomConstraints createDefaultZoomConstraints();
132

    
133
    public void registerLabelClass(ILabelClassFactory factory);
134

    
135
    public Collection<ILabelClassFactory> getLabelClassFactories();
136

    
137
    public ILabelClassFactory getLabelClassFactory(String id);
138

    
139
    /**
140
     * Creates an instance of a class (provided by this manager) which
141
     * implements ILabelClass.
142
     *
143
     */
144
    ILabelClass createDefaultLabel();
145
    
146
    public ILabelClassFactory getDefaultLabelFactory();
147

    
148
    public void setDefaultLabelFactory(String id);
149

    
150
    public void setDefaultLabelFactory(ILabelClassFactory factory);
151

    
152
}