Revision 458 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/legendmanager/panels/FPreviewSymbol.java
FPreviewSymbol.java | ||
---|---|---|
16 | 16 |
|
17 | 17 |
import javax.swing.JComponent; |
18 | 18 |
|
19 |
import com.iver.cit.gvsig.fmap.core.FShape; |
|
20 |
import com.iver.cit.gvsig.fmap.drivers.shp.SHP; |
|
21 |
import com.iver.cit.gvsig.fmap.rendering.styling.FStyle2D; |
|
22 |
import com.iver.cit.gvsig.fmap.rendering.styling.SymbolPreviewDrawer; |
|
19 |
import com.iver.cit.gvsig.fmap.core.v02.FGraphicUtilities; |
|
20 |
import com.iver.cit.gvsig.fmap.core.v02.FSymbol; |
|
23 | 21 |
|
24 | 22 |
|
25 | 23 |
/** |
... | ... | |
29 | 27 |
* Window>Preferences>Java>Code Generation>Code and Comments |
30 | 28 |
*/ |
31 | 29 |
public class FPreviewSymbol extends JComponent { |
32 |
private FStyle2D m_FSymbol; |
|
30 |
|
|
31 |
private FSymbol m_FSymbol; |
|
33 | 32 |
private String m_Str; |
34 |
private int type; |
|
35 | 33 |
private boolean m_bUseFSymbol; |
36 |
private static SymbolPreviewDrawer pSD = new SymbolPreviewDrawer(); |
|
37 | 34 |
|
38 | 35 |
|
39 | 36 |
/** |
... | ... | |
59 | 56 |
} |
60 | 57 |
protected void paintComponent(Graphics g) { |
61 | 58 |
super.paintComponent(g); |
62 |
|
|
63 | 59 |
if (m_FSymbol == null) return; |
64 |
|
|
65 |
|
|
66 | 60 |
// Seg?n el tipo de s?mbolo, creamos un shape u otro y utilizamos |
67 | 61 |
// la funci?n com?n de dibujado de shape sobre un graphics con un simbolo |
68 | 62 |
|
... | ... | |
71 | 65 |
|
72 | 66 |
|
73 | 67 |
g.setClip(0,0,getWidth(), getHeight()); |
74 |
// Rectangle r = g.getClipBounds(); //getClipRect(); |
|
75 |
Rectangle r = new Rectangle(2,3,getWidth()-4,getHeight()-7); |
|
68 |
Rectangle r = g.getClipBounds(); //getClipRect(); |
|
76 | 69 |
// g.setColor(Color.WHITE); |
77 | 70 |
// g2.fillRect(0, 0,getWidth(), getHeight()); |
78 | 71 |
if (m_bUseFSymbol) |
79 | 72 |
{ |
80 |
// AffineTransform mT2 = AffineTransform.getScaleInstance(0.8, 0.8); |
|
81 |
// mT2.concatenate(AffineTransform.getTranslateInstance(r.width * 0.1, r.height * 0.1 )); |
|
82 |
|
|
83 |
pSD.setSymbol(m_FSymbol); |
|
84 |
switch (type) |
|
85 |
{ |
|
86 |
case FShape.POINT: |
|
87 |
pSD.drawPoint(g2,r); |
|
88 |
break; |
|
89 |
case FShape.LINE: |
|
90 |
pSD.drawLine(g2,r); |
|
91 |
break; |
|
92 |
case FShape.POLYGON: |
|
93 |
pSD.drawPolygon(g2,r); |
|
94 |
break; |
|
95 |
} |
|
96 |
// FGraphicUtilities.DrawSymbol((Graphics2D)g,mT2,r,m_FSymbol); |
|
73 |
AffineTransform mT2 = AffineTransform.getScaleInstance(0.8, 0.8); |
|
74 |
mT2.concatenate(AffineTransform.getTranslateInstance(r.width * 0.1, r.height * 0.1 )); |
|
75 |
|
|
76 |
FGraphicUtilities.DrawSymbol((Graphics2D)g,mT2,r,m_FSymbol); |
|
97 | 77 |
} |
98 | 78 |
else |
99 | 79 |
{ |
... | ... | |
107 | 87 |
|
108 | 88 |
} |
109 | 89 |
|
110 |
public void setSymbol(FStyle2D symbol) { |
|
90 |
/** |
|
91 |
* @param symbol |
|
92 |
*/ |
|
93 |
public void setSymbol(FSymbol symbol) { |
|
111 | 94 |
// Lo clonamos para que si viene en coordenadas de mundo real |
112 | 95 |
// (m_bUseSize = true), dibujarlo con un tama?o fijo en pixels. |
113 |
// TODO: TENER EN CUENTA LO DE LAS COORDENADAS EN MUNDO REAL |
|
114 |
/* FStyle2D cloneSym = symbol.cloneSymbol();
|
|
96 |
|
|
97 |
FSymbol cloneSym = symbol.cloneSymbol();
|
|
115 | 98 |
cloneSym.m_bUseSize = false; |
116 | 99 |
cloneSym.m_Size = 10; // pixels |
117 |
*/ |
|
118 |
m_FSymbol = symbol;
|
|
100 |
|
|
101 |
m_FSymbol = cloneSym;
|
|
119 | 102 |
m_bUseFSymbol = true; |
103 |
|
|
120 | 104 |
repaint(); |
121 | 105 |
} |
122 | 106 |
|
... | ... | |
125 | 109 |
m_bUseFSymbol = false; |
126 | 110 |
m_Str = str; |
127 | 111 |
} |
128 |
|
|
129 |
public void setType(int type) |
|
130 |
{ |
|
131 |
this.type = type; |
|
132 |
} |
|
133 | 112 |
|
134 | 113 |
/* (non-Javadoc) |
135 | 114 |
* @see java.awt.Component#isShowing() |
Also available in: Unified diff