From: <de...@us...> - 2008-09-03 20:14:35
|
Revision: 3880 http://fudaa.svn.sourceforge.net/fudaa/?rev=3880&view=rev Author: deniger Date: 2008-09-03 20:14:38 +0000 (Wed, 03 Sep 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueFlecheLegend.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueFlecheLegend.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueFlecheLegend.java 2008-09-03 18:47:34 UTC (rev 3879) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueFlecheLegend.java 2008-09-03 20:14:38 UTC (rev 3880) @@ -8,7 +8,7 @@ package org.fudaa.ebli.calque; import java.awt.Color; -import java.awt.Dimension; +import java.awt.Component; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Insets; @@ -16,21 +16,17 @@ import java.beans.PropertyChangeListener; import javax.swing.BorderFactory; +import javax.swing.Icon; import javax.swing.JComponent; +import javax.swing.JLabel; import javax.swing.SwingConstants; -import com.memoire.bu.BuBorders; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuPanel; -import com.memoire.bu.BuVerticalLayout; - import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluNumberFormatFortran; import org.fudaa.ctulu.CtuluNumberFormatI; import org.fudaa.ctulu.CtuluRange; import org.fudaa.ctulu.gui.CtuluValueEditorI; import org.fudaa.ctulu.iterator.NumberIterator; - import org.fudaa.ebli.geometrie.GrPoint; import org.fudaa.ebli.geometrie.GrSegment; import org.fudaa.ebli.palette.BPalettePlageInterface; @@ -40,27 +36,52 @@ import org.fudaa.ebli.trace.BPlageInterface; import org.fudaa.ebli.trace.TraceLigne; +import com.memoire.bu.BuBorders; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuVerticalLayout; + /** * @author fred deniger * @version $Id: ZCalqueFlecheLegend.java,v 1.13 2007-06-20 12:23:11 deniger Exp $ */ public class ZCalqueFlecheLegend implements PropertyChangeListener { - public class FlecheComponent extends JComponent { + public class FlecheComponent implements Icon { int max_; final TraceLigne l_ = new TraceLigne(TraceLigne.LISSE, 1.5f, Color.BLACK); + int w_; + int h_; public FlecheComponent() { super(); - setPreferredSize(new Dimension(75, 10)); + w_ = 75; + h_ = 10; } - protected void paintComponent(final Graphics _g) { + public int getIconHeight() { + return h_; + } + + public void setIconHeight(int _h) { + h_ = _h; + } + + public void setIconWidth(int _w) { + w_ = _w; + } + + public int getIconWidth() { + return w_; + } + + public void paintIcon(Component _c, Graphics _g, int _x, int _y) { if (max_ > 0) { - final int middle = getHeight() / 2 - 1; + _g.translate(_x, _y); + final int middle = h_ / 2 - 1; final Graphics2D g2d = (Graphics2D) _g; - final int deb = (int) ((((double) getWidth()) - max_) / 2d); + final int deb = (int) ((((double) w_) - max_) / 2d); final int fin = deb + max_; Color c = support_.isPaletteUsed() ? support_.getPaletteColorFor(realLength_) : support_.getCouleur(); if (c == null) { @@ -70,11 +91,13 @@ l_.dessineTrait(g2d, deb, middle, fin, middle); l_.dessineTrait(g2d, fin, middle, fin - 3, middle - 3); l_.dessineTrait(g2d, fin, middle, fin - 3, middle + 3); + _g.translate(-_x, -_y); } } } FlecheComponent fleche_; + JLabel lbfleche_; BuLabel lbInfo_; CtuluRange minMax_ = new CtuluRange(); @@ -95,7 +118,8 @@ initLegendPalette(); pnSize_ = new BuPanel(); pnSize_.setLayout(new BuVerticalLayout(2, true, false)); - pnSize_.add(fleche_); + lbfleche_=new JLabel(fleche_); + pnSize_.add(lbfleche_); pnSize_.add(lbInfo_); pnSize_.setOpaque(false); pnSize_.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.GRAY @@ -106,6 +130,7 @@ } init(); } + final BuPanel pnSize_; protected void init() { @@ -142,8 +167,8 @@ final NumberIterator it = new NumberIterator(); it.init(val, minMax_.getMax(), 10); - int max = fleche_.getWidth() - 3; - final Insets set = fleche_.getInsets(); + int max = fleche_.getIconWidth() - 3; + final Insets set = lbfleche_.getInsets(); if (set != null) { max = max - (set.left + set.right); } @@ -217,6 +242,7 @@ private static boolean isScreenWidthOk(final int _flecheMax, final int _max) { return _flecheMax < 4 || _flecheMax > _max; } + final CtuluNumberFormatFortran fmt_ = new CtuluNumberFormatFortran(6); protected void initSeg(final GrSegment _seg, final double _v) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |