Revision 458 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/legendmanager/panels/FPreviewSymbol.java

View differences:

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